CINXE.COM
vim/src/buffer.c at master · vim/vim · GitHub
<!DOCTYPE html> <html lang="en" 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-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-aaa714e5674d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-7eaba1d4847c.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-43ae85d4871b.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_quote_reply_fix","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","fgpat_form_ui_updates","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","hovercard_accessibility","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","report_hydro_web_vitals","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issues_react_assignee_warning","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","turbo_app_id_restore"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-3a4b3bfa0f10.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-9da652f58479.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-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-75968cfb5298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.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-0dbb79f97f8f.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-62d275b7ddd9.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-78748950cb0c.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_-8e9f78-a90ac05d2469.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-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.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-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-991161c61b06.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-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.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-a4a1922eb55f.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-a03ee12d659a.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-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.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_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-2a55124d5c52.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-768abe60b1f8.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-3e000c5d31a9.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-87a4ae-b8865f653f6b.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-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-c8912a318570.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-01e85cd1be94.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-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-1c0aedc134b1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-e05a7c4c5398.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-aaa76995a864.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.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-2df2f32ec596.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-9a233856b02c.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-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-4a736fde5c2f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-intersection-observer_react-intersection-observer_modern_mjs-node_-b27033-ba82cef135e3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-f2fece-29a0ceccb1f1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-17c672-34345cb18aac.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-e019c54eb886.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-7094d4-15017f02e61c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-b05d9274ce63.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_document-metadata_document-metadata_ts-ui_packag-4d8de9-984abad712fb.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-5f1d09-1ee828c2d6e8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-91468a3354f9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-4f972874bc82.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.a0633e3d36c876a6eaa1.module.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-58a0c58bfee4.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>vim/src/buffer.c at master · vim/vim · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> <meta name="route-controller" content="blob" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="E222:23F8B4:934677:B067CF:67E3C3BF" data-pjax-transient="true"/><meta name="html-safe-nonce" content="45818a7f26c3454dcc101039cd74c05cc2501899a21b258f74f643f75516a8be" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMjIyOjIzRjhCNDo5MzQ2Nzc6QjA2N0NGOjY3RTNDM0JGIiwidmlzaXRvcl9pZCI6IjM0MTQ5ODE3MDkxNDI0MTAxNzUiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="a885448bceed58c34800ab26be46815c84b64431c67a0b0e60b80433256e3c9d" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:40997482" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" 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>/blob/show" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub."> <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/vim/vim/blob/master/src/buffer.c" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/3c6549733fb5bfd484eed605de1c27af78051b8d1fcaa2c4c32a1968a19e77f2/vim/vim" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="vim/src/buffer.c at master · vim/vim" /><meta name="twitter:description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/3c6549733fb5bfd484eed605de1c27af78051b8d1fcaa2c4c32a1968a19e77f2/vim/vim" /><meta property="og:image:alt" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="vim/src/buffer.c at master · vim/vim" /><meta property="og:url" content="https://github.com/vim/vim/blob/master/src/buffer.c" /><meta property="og:description" content="The official Vim repository. Contribute to vim/vim development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="2cf3fd65e62446e9a9a844c0136a643e637b7dae189244e7bf20e405fc331edd" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="77190eb53eb47fc30bd2fcc17a7eefa2dfd8505869fee9299ba911be3a40a9eb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="1994cd18701e16e6efa87d97f308447f5b0f15b7ae2b58d73f3d026c94bd5edd" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="8b39049e1b028b833af0a9ef42267031e795982bde408b6fd73a1dcd6086140e" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/vim/vim git https://github.com/vim/vim.git"> <meta name="octolytics-dimension-user_id" content="11618545" /><meta name="octolytics-dimension-user_login" content="vim" /><meta name="octolytics-dimension-repository_id" content="40997482" /><meta name="octolytics-dimension-repository_nwo" content="vim/vim" /><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="40997482" /><meta name="octolytics-dimension-repository_network_root_nwo" content="vim/vim" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <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"> <meta name="release" content="e5133dbd8c951221fd235fbf8461b902a2631d7d"> <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" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" 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-9fbfacd366dd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-33dfb803e078.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.9df1783473f10f02fb62.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-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-730dca81d0a2.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 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fbuffer.c" 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/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="5b05e467400f572af7e29f1be6bc56ec730faa9fc6e4e8f9ee95ff0e00a65f60" 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> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </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":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & 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":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </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> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </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":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <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">Copilot for business</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:vim/vim" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="40qTMU83iAG9an9fxo5QaEOgEwfOjksn0NS1K_qCDdxUJDsVGobqsvhd7T9G0H7krfDoWE2lM8p5gBZ_GoYaxg" 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="vim/vim" data-current-org="vim" 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-91fbd6ac-180f-4de0-9d56-a2618642ec7c" 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-91fbd6ac-180f-4de0-9d56-a2618642ec7c" 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="WJyDvT/h51ZSyYJR/KzjREXmwnyh7OlmJBrgVF85tiYvKW9AQD7/T+x+g2O1jjXij8PAGLGwUsApVcxpFLDHbA==" /> <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="w19jiyW9wVBdND8i+0cGFA1/gUQpdbEHogLKx1sIuoEi14R2W0TxtMvY/kzMyYkm4LLF/f9LDL5U9eX+PAehXA==" /> <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 only-validate-on-blur="false"> <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="a1WhVIhUM73RHXelHPsh1rsR602j5Pbse7z9Ag3PEwzoLLRGduPeR2PjDkrGKzydTPlvqbVEX8+rE/Ndn1sSUQ==" /> </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%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fbuffer.c" 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/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="5b05e467400f572af7e29f1be6bc56ec730faa9fc6e4e8f9ee95ff0e00a65f60" 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%2Fblob%2Fshow&source=header-repo&source_repo=vim%2Fvim" 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/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="5b05e467400f572af7e29f1be6bc56ec730faa9fc6e4e8f9ee95ff0e00a65f60" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;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-92d40b55-820b-420a-b4fd-29c7d5ac5c14" aria-labelledby="tooltip-b9a355a4-2d20-43c9-ad9a-c3768b8dcdb7" 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-b9a355a4-2d20-43c9-ad9a-c3768b8dcdb7" for="icon-button-92d40b55-820b-420a-b4fd-29c7d5ac5c14" 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 data-project-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/vim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/vim"> vim </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="/vim/vim">vim</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> <include-fragment src="/vim/vim/sponsor_button"></include-fragment> </li> <li> <a href="/login?return_to=%2Fvim%2Fvim" 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/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="7c628788664ecc2d5cfd16f223638a2c47380898d2d3cde282dd92f34b1f168d" 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-e9a8e867-3f27-4910-9df4-aa6b0f10842a" 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=%2Fvim%2Fvim" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":40997482,"auth_type":"LOG_IN","originating_url":"https://github.com/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="63ee3f3e61d67d904663b51c1dc104cbf257bc410011606d60fe8a3548c31990" 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="5,611" data-view-component="true" class="Counter">5.6k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fvim%2Fvim" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":40997482,"auth_type":"LOG_IN","originating_url":"https://github.com/vim/vim/blob/master/src/buffer.c","user_id":null}}" data-hydro-click-hmac="2a0ed76128e32e8291b47e894abf57efad56c4e2cda18d83b01cd0f4e29dfe32" 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="37790 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="37,790" data-view-component="true" class="Counter js-social-count">37.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="/vim/vim" 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 /vim/vim" 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"}" 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-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="/vim/vim/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /vim/vim/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="1,476" data-view-component="true" class="Counter">1.5k</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/vim/vim/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /vim/vim/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"}" 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-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="56" data-view-component="true" class="Counter">56</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="discussions-tab" href="/vim/vim/discussions" data-tab-item="i3discussions-tab" data-selected-links="repo_discussions /vim/vim/discussions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g g" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Discussions","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-comment-discussion UnderlineNav-octicon d-none d-sm-inline"> <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> <span data-content="Discussions">Discussions</span> <span id="discussions-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="actions-tab" href="/vim/vim/actions" data-tab-item="i4actions-tab" data-selected-links="repo_actions /vim/vim/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="/vim/vim/projects" data-tab-item="i5projects-tab" data-selected-links="repo_projects new_repo_project repo_project /vim/vim/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="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/vim/vim/wiki" data-tab-item="i6wiki-tab" data-selected-links="repo_wiki /vim/vim/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="/vim/vim/security" data-tab-item="i7security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /vim/vim/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="/vim/vim/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="/vim/vim/pulse" data-tab-item="i8insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /vim/vim/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-71933dbe-1705-4312-b025-86d81a7a2f38-button" popovertarget="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-overlay" aria-controls="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-list" aria-haspopup="true" aria-labelledby="tooltip-5f8eedd2-006e-4a3d-990e-1684c83144fe" 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-5f8eedd2-006e-4a3d-990e-1684c83144fe" for="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-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 data-target="action-menu.overlay" id="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-overlay" anchor="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-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-71933dbe-1705-4312-b025-86d81a7a2f38-button" id="action-menu-71933dbe-1705-4312-b025-86d81a7a2f38-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-39f50092-21ce-4f54-a8bf-606c2b0de113" href="/vim/vim" 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-3455c5f7-321e-479c-a304-f306282473cf" href="/vim/vim/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-4199adee-6ebe-49db-902f-1a59445e49a1" href="/vim/vim/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="i3discussions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3d6469f9-c429-40f0-8a9b-f819594a00b2" href="/vim/vim/discussions" 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-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> </span> <span data-view-component="true" class="ActionListItem-label"> Discussions </span> </a> </li> <li hidden="hidden" data-menu-item="i4actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-50a64868-2ee2-4794-a75c-a2d3c46fd2ce" href="/vim/vim/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="i5projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-2d91a553-35e6-4109-ac18-e75a187a0eb3" href="/vim/vim/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="i6wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-cf31fa9e-50ff-47aa-aec0-9a3d9720e5dc" href="/vim/vim/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="i7security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-a8794ad4-20ff-43a4-bc2c-3e69041b82b8" href="/vim/vim/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="i8insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-c1201589-4a08-496b-8065-650c4852a76c" href="/vim/vim/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 " > <react-app app-name="react-code-view" initial-path="/vim/vim/blob/master/src/buffer.c" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false" data-data-router-enabled="false" > <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"src":{"items":[{"name":"GvimExt","path":"src/GvimExt","contentType":"directory"},{"name":"auto","path":"src/auto","contentType":"directory"},{"name":"libvterm","path":"src/libvterm","contentType":"directory"},{"name":"po","path":"src/po","contentType":"directory"},{"name":"proto","path":"src/proto","contentType":"directory"},{"name":"tee","path":"src/tee","contentType":"directory"},{"name":"testdir","path":"src/testdir","contentType":"directory"},{"name":"xdiff","path":"src/xdiff","contentType":"directory"},{"name":"xpm","path":"src/xpm","contentType":"directory"},{"name":"xxd","path":"src/xxd","contentType":"directory"},{"name":"INSTALL","path":"src/INSTALL","contentType":"file"},{"name":"INSTALLami.txt","path":"src/INSTALLami.txt","contentType":"file"},{"name":"INSTALLmac.txt","path":"src/INSTALLmac.txt","contentType":"file"},{"name":"INSTALLpc.txt","path":"src/INSTALLpc.txt","contentType":"file"},{"name":"INSTALLvms.txt","path":"src/INSTALLvms.txt","contentType":"file"},{"name":"INSTALLx.txt","path":"src/INSTALLx.txt","contentType":"file"},{"name":"Make_all.mak","path":"src/Make_all.mak","contentType":"file"},{"name":"Make_ami.mak","path":"src/Make_ami.mak","contentType":"file"},{"name":"Make_cyg.mak","path":"src/Make_cyg.mak","contentType":"file"},{"name":"Make_cyg_ming.mak","path":"src/Make_cyg_ming.mak","contentType":"file"},{"name":"Make_ming.mak","path":"src/Make_ming.mak","contentType":"file"},{"name":"Make_mvc.mak","path":"src/Make_mvc.mak","contentType":"file"},{"name":"Make_vms.mms","path":"src/Make_vms.mms","contentType":"file"},{"name":"Makefile","path":"src/Makefile","contentType":"file"},{"name":"README.md","path":"src/README.md","contentType":"file"},{"name":"alloc.c","path":"src/alloc.c","contentType":"file"},{"name":"alloc.h","path":"src/alloc.h","contentType":"file"},{"name":"arabic.c","path":"src/arabic.c","contentType":"file"},{"name":"arglist.c","path":"src/arglist.c","contentType":"file"},{"name":"ascii.h","path":"src/ascii.h","contentType":"file"},{"name":"autocmd.c","path":"src/autocmd.c","contentType":"file"},{"name":"beval.c","path":"src/beval.c","contentType":"file"},{"name":"beval.h","path":"src/beval.h","contentType":"file"},{"name":"bigvim.bat","path":"src/bigvim.bat","contentType":"file"},{"name":"bigvim64.bat","path":"src/bigvim64.bat","contentType":"file"},{"name":"blob.c","path":"src/blob.c","contentType":"file"},{"name":"blowfish.c","path":"src/blowfish.c","contentType":"file"},{"name":"buffer.c","path":"src/buffer.c","contentType":"file"},{"name":"bufwrite.c","path":"src/bufwrite.c","contentType":"file"},{"name":"change.c","path":"src/change.c","contentType":"file"},{"name":"channel.c","path":"src/channel.c","contentType":"file"},{"name":"charset.c","path":"src/charset.c","contentType":"file"},{"name":"cindent.c","path":"src/cindent.c","contentType":"file"},{"name":"clientserver.c","path":"src/clientserver.c","contentType":"file"},{"name":"clipboard.c","path":"src/clipboard.c","contentType":"file"},{"name":"cmdexpand.c","path":"src/cmdexpand.c","contentType":"file"},{"name":"cmdhist.c","path":"src/cmdhist.c","contentType":"file"},{"name":"config.h.in","path":"src/config.h.in","contentType":"file"},{"name":"config.mk.dist","path":"src/config.mk.dist","contentType":"file"},{"name":"config.mk.in","path":"src/config.mk.in","contentType":"file"},{"name":"configure","path":"src/configure","contentType":"file"},{"name":"configure.ac","path":"src/configure.ac","contentType":"file"},{"name":"create_cmdidxs.vim","path":"src/create_cmdidxs.vim","contentType":"file"},{"name":"create_nvcmdidxs.c","path":"src/create_nvcmdidxs.c","contentType":"file"},{"name":"create_nvcmdidxs.vim","path":"src/create_nvcmdidxs.vim","contentType":"file"},{"name":"crypt.c","path":"src/crypt.c","contentType":"file"},{"name":"crypt_zip.c","path":"src/crypt_zip.c","contentType":"file"},{"name":"debugger.c","path":"src/debugger.c","contentType":"file"},{"name":"dict.c","path":"src/dict.c","contentType":"file"},{"name":"diff.c","path":"src/diff.c","contentType":"file"},{"name":"digraph.c","path":"src/digraph.c","contentType":"file"},{"name":"dlldata.c","path":"src/dlldata.c","contentType":"file"},{"name":"dosinst.c","path":"src/dosinst.c","contentType":"file"},{"name":"dosinst.h","path":"src/dosinst.h","contentType":"file"},{"name":"drawline.c","path":"src/drawline.c","contentType":"file"},{"name":"drawscreen.c","path":"src/drawscreen.c","contentType":"file"},{"name":"edit.c","path":"src/edit.c","contentType":"file"},{"name":"errors.h","path":"src/errors.h","contentType":"file"},{"name":"eval.c","path":"src/eval.c","contentType":"file"},{"name":"evalbuffer.c","path":"src/evalbuffer.c","contentType":"file"},{"name":"evalfunc.c","path":"src/evalfunc.c","contentType":"file"},{"name":"evalvars.c","path":"src/evalvars.c","contentType":"file"},{"name":"evalwindow.c","path":"src/evalwindow.c","contentType":"file"},{"name":"ex_cmdidxs.h","path":"src/ex_cmdidxs.h","contentType":"file"},{"name":"ex_cmds.c","path":"src/ex_cmds.c","contentType":"file"},{"name":"ex_cmds.h","path":"src/ex_cmds.h","contentType":"file"},{"name":"ex_cmds2.c","path":"src/ex_cmds2.c","contentType":"file"},{"name":"ex_docmd.c","path":"src/ex_docmd.c","contentType":"file"},{"name":"ex_eval.c","path":"src/ex_eval.c","contentType":"file"},{"name":"ex_getln.c","path":"src/ex_getln.c","contentType":"file"},{"name":"feature.h","path":"src/feature.h","contentType":"file"},{"name":"fileio.c","path":"src/fileio.c","contentType":"file"},{"name":"filepath.c","path":"src/filepath.c","contentType":"file"},{"name":"findfile.c","path":"src/findfile.c","contentType":"file"},{"name":"float.c","path":"src/float.c","contentType":"file"},{"name":"fold.c","path":"src/fold.c","contentType":"file"},{"name":"gc.c","path":"src/gc.c","contentType":"file"},{"name":"getchar.c","path":"src/getchar.c","contentType":"file"},{"name":"globals.h","path":"src/globals.h","contentType":"file"},{"name":"gui.c","path":"src/gui.c","contentType":"file"},{"name":"gui.h","path":"src/gui.h","contentType":"file"},{"name":"gui_beval.c","path":"src/gui_beval.c","contentType":"file"},{"name":"gui_dwrite.cpp","path":"src/gui_dwrite.cpp","contentType":"file"},{"name":"gui_dwrite.h","path":"src/gui_dwrite.h","contentType":"file"},{"name":"gui_gtk.c","path":"src/gui_gtk.c","contentType":"file"},{"name":"gui_gtk_f.c","path":"src/gui_gtk_f.c","contentType":"file"},{"name":"gui_gtk_f.h","path":"src/gui_gtk_f.h","contentType":"file"},{"name":"gui_gtk_res.xml","path":"src/gui_gtk_res.xml","contentType":"file"},{"name":"gui_gtk_vms.h","path":"src/gui_gtk_vms.h","contentType":"file"},{"name":"gui_gtk_x11.c","path":"src/gui_gtk_x11.c","contentType":"file"},{"name":"gui_haiku.cc","path":"src/gui_haiku.cc","contentType":"file"},{"name":"gui_haiku.h","path":"src/gui_haiku.h","contentType":"file"},{"name":"gui_motif.c","path":"src/gui_motif.c","contentType":"file"},{"name":"gui_photon.c","path":"src/gui_photon.c","contentType":"file"},{"name":"gui_w32.c","path":"src/gui_w32.c","contentType":"file"},{"name":"gui_w32_rc.h","path":"src/gui_w32_rc.h","contentType":"file"},{"name":"gui_x11.c","path":"src/gui_x11.c","contentType":"file"},{"name":"gui_x11_pm.h","path":"src/gui_x11_pm.h","contentType":"file"},{"name":"gui_xim.c","path":"src/gui_xim.c","contentType":"file"},{"name":"gui_xmdlg.c","path":"src/gui_xmdlg.c","contentType":"file"},{"name":"gui_xmebw.c","path":"src/gui_xmebw.c","contentType":"file"},{"name":"gui_xmebw.h","path":"src/gui_xmebw.h","contentType":"file"},{"name":"gui_xmebwp.h","path":"src/gui_xmebwp.h","contentType":"file"},{"name":"gvimtutor","path":"src/gvimtutor","contentType":"file"},{"name":"hardcopy.c","path":"src/hardcopy.c","contentType":"file"},{"name":"hashtab.c","path":"src/hashtab.c","contentType":"file"},{"name":"help.c","path":"src/help.c","contentType":"file"},{"name":"highlight.c","path":"src/highlight.c","contentType":"file"},{"name":"if_cscope.c","path":"src/if_cscope.c","contentType":"file"},{"name":"if_lua.c","path":"src/if_lua.c","contentType":"file"},{"name":"if_mzsch.c","path":"src/if_mzsch.c","contentType":"file"},{"name":"if_mzsch.h","path":"src/if_mzsch.h","contentType":"file"},{"name":"if_ole.cpp","path":"src/if_ole.cpp","contentType":"file"},{"name":"if_ole.h","path":"src/if_ole.h","contentType":"file"},{"name":"if_ole.idl","path":"src/if_ole.idl","contentType":"file"},{"name":"if_perl.xs","path":"src/if_perl.xs","contentType":"file"},{"name":"if_perlsfio.c","path":"src/if_perlsfio.c","contentType":"file"},{"name":"if_py_both.h","path":"src/if_py_both.h","contentType":"file"},{"name":"if_python.c","path":"src/if_python.c","contentType":"file"},{"name":"if_python3.c","path":"src/if_python3.c","contentType":"file"},{"name":"if_ruby.c","path":"src/if_ruby.c","contentType":"file"},{"name":"if_tcl.c","path":"src/if_tcl.c","contentType":"file"},{"name":"if_xcmdsrv.c","path":"src/if_xcmdsrv.c","contentType":"file"},{"name":"iid_ole.c","path":"src/iid_ole.c","contentType":"file"},{"name":"indent.c","path":"src/indent.c","contentType":"file"},{"name":"insexpand.c","path":"src/insexpand.c","contentType":"file"},{"name":"install-sh","path":"src/install-sh","contentType":"file"},{"name":"installman.sh","path":"src/installman.sh","contentType":"file"},{"name":"installml.sh","path":"src/installml.sh","contentType":"file"},{"name":"iscygpty.c","path":"src/iscygpty.c","contentType":"file"},{"name":"iscygpty.h","path":"src/iscygpty.h","contentType":"file"},{"name":"job.c","path":"src/job.c","contentType":"file"},{"name":"json.c","path":"src/json.c","contentType":"file"},{"name":"json_test.c","path":"src/json_test.c","contentType":"file"},{"name":"keymap.h","path":"src/keymap.h","contentType":"file"},{"name":"kword_test.c","path":"src/kword_test.c","contentType":"file"},{"name":"linematch.c","path":"src/linematch.c","contentType":"file"},{"name":"link.390","path":"src/link.390","contentType":"file"},{"name":"link.sh","path":"src/link.sh","contentType":"file"},{"name":"list.c","path":"src/list.c","contentType":"file"},{"name":"locale.c","path":"src/locale.c","contentType":"file"},{"name":"logfile.c","path":"src/logfile.c","contentType":"file"},{"name":"macros.h","path":"src/macros.h","contentType":"file"},{"name":"main.c","path":"src/main.c","contentType":"file"},{"name":"map.c","path":"src/map.c","contentType":"file"},{"name":"mark.c","path":"src/mark.c","contentType":"file"},{"name":"match.c","path":"src/match.c","contentType":"file"},{"name":"mbyte.c","path":"src/mbyte.c","contentType":"file"},{"name":"memfile.c","path":"src/memfile.c","contentType":"file"},{"name":"memfile_test.c","path":"src/memfile_test.c","contentType":"file"},{"name":"memline.c","path":"src/memline.c","contentType":"file"},{"name":"menu.c","path":"src/menu.c","contentType":"file"},{"name":"message.c","path":"src/message.c","contentType":"file"},{"name":"message_test.c","path":"src/message_test.c","contentType":"file"},{"name":"misc1.c","path":"src/misc1.c","contentType":"file"},{"name":"misc2.c","path":"src/misc2.c","contentType":"file"},{"name":"mouse.c","path":"src/mouse.c","contentType":"file"},{"name":"move.c","path":"src/move.c","contentType":"file"},{"name":"msvc-latest.bat","path":"src/msvc-latest.bat","contentType":"file"},{"name":"msvc2015.bat","path":"src/msvc2015.bat","contentType":"file"},{"name":"msvc2017.bat","path":"src/msvc2017.bat","contentType":"file"},{"name":"msvc2019.bat","path":"src/msvc2019.bat","contentType":"file"},{"name":"msvc2022.bat","path":"src/msvc2022.bat","contentType":"file"},{"name":"msys32.bat","path":"src/msys32.bat","contentType":"file"},{"name":"msys64.bat","path":"src/msys64.bat","contentType":"file"},{"name":"mysign","path":"src/mysign","contentType":"file"},{"name":"nbdebug.c","path":"src/nbdebug.c","contentType":"file"},{"name":"nbdebug.h","path":"src/nbdebug.h","contentType":"file"},{"name":"netbeans.c","path":"src/netbeans.c","contentType":"file"},{"name":"normal.c","path":"src/normal.c","contentType":"file"},{"name":"nv_cmdidxs.h","path":"src/nv_cmdidxs.h","contentType":"file"},{"name":"nv_cmds.h","path":"src/nv_cmds.h","contentType":"file"},{"name":"ops.c","path":"src/ops.c","contentType":"file"},{"name":"option.c","path":"src/option.c","contentType":"file"},{"name":"option.h","path":"src/option.h","contentType":"file"},{"name":"optiondefs.h","path":"src/optiondefs.h","contentType":"file"},{"name":"optionstr.c","path":"src/optionstr.c","contentType":"file"},{"name":"os_amiga.c","path":"src/os_amiga.c","contentType":"file"},{"name":"os_amiga.h","path":"src/os_amiga.h","contentType":"file"},{"name":"os_dos.h","path":"src/os_dos.h","contentType":"file"},{"name":"os_haiku.h","path":"src/os_haiku.h","contentType":"file"},{"name":"os_haiku.rdef.in","path":"src/os_haiku.rdef.in","contentType":"file"},{"name":"os_mac.h","path":"src/os_mac.h","contentType":"file"},{"name":"os_mac_conv.c","path":"src/os_mac_conv.c","contentType":"file"},{"name":"os_macosx.m","path":"src/os_macosx.m","contentType":"file"},{"name":"os_mswin.c","path":"src/os_mswin.c","contentType":"file"},{"name":"os_qnx.c","path":"src/os_qnx.c","contentType":"file"},{"name":"os_qnx.h","path":"src/os_qnx.h","contentType":"file"},{"name":"os_unix.c","path":"src/os_unix.c","contentType":"file"},{"name":"os_unix.h","path":"src/os_unix.h","contentType":"file"},{"name":"os_unixx.h","path":"src/os_unixx.h","contentType":"file"},{"name":"os_vms.c","path":"src/os_vms.c","contentType":"file"},{"name":"os_vms_conf.h","path":"src/os_vms_conf.h","contentType":"file"},{"name":"os_vms_fix.com","path":"src/os_vms_fix.com","contentType":"file"},{"name":"os_vms_mms.c","path":"src/os_vms_mms.c","contentType":"file"},{"name":"os_w32dll.c","path":"src/os_w32dll.c","contentType":"file"},{"name":"os_w32exe.c","path":"src/os_w32exe.c","contentType":"file"},{"name":"os_win32.c","path":"src/os_win32.c","contentType":"file"},{"name":"os_win32.h","path":"src/os_win32.h","contentType":"file"},{"name":"osdef.sh","path":"src/osdef.sh","contentType":"file"},{"name":"osdef1.h.in","path":"src/osdef1.h.in","contentType":"file"},{"name":"osdef2.h.in","path":"src/osdef2.h.in","contentType":"file"},{"name":"pathdef.sh","path":"src/pathdef.sh","contentType":"file"},{"name":"popupmenu.c","path":"src/popupmenu.c","contentType":"file"},{"name":"popupwin.c","path":"src/popupwin.c","contentType":"file"},{"name":"profiler.c","path":"src/profiler.c","contentType":"file"},{"name":"proto.h","path":"src/proto.h","contentType":"file"},{"name":"protodef.h","path":"src/protodef.h","contentType":"file"},{"name":"pty.c","path":"src/pty.c","contentType":"file"},{"name":"quickfix.c","path":"src/quickfix.c","contentType":"file"},{"name":"regexp.c","path":"src/regexp.c","contentType":"file"},{"name":"regexp.h","path":"src/regexp.h","contentType":"file"},{"name":"regexp_bt.c","path":"src/regexp_bt.c","contentType":"file"},{"name":"regexp_nfa.c","path":"src/regexp_nfa.c","contentType":"file"},{"name":"register.c","path":"src/register.c","contentType":"file"},{"name":"screen.c","path":"src/screen.c","contentType":"file"},{"name":"scriptfile.c","path":"src/scriptfile.c","contentType":"file"},{"name":"search.c","path":"src/search.c","contentType":"file"},{"name":"session.c","path":"src/session.c","contentType":"file"},{"name":"sha256.c","path":"src/sha256.c","contentType":"file"},{"name":"sign.c","path":"src/sign.c","contentType":"file"},{"name":"sound.c","path":"src/sound.c","contentType":"file"},{"name":"spell.c","path":"src/spell.c","contentType":"file"},{"name":"spell.h","path":"src/spell.h","contentType":"file"},{"name":"spellfile.c","path":"src/spellfile.c","contentType":"file"},{"name":"spellsuggest.c","path":"src/spellsuggest.c","contentType":"file"},{"name":"strings.c","path":"src/strings.c","contentType":"file"},{"name":"structs.h","path":"src/structs.h","contentType":"file"},{"name":"syntax.c","path":"src/syntax.c","contentType":"file"},{"name":"tag.c","path":"src/tag.c","contentType":"file"},{"name":"tearoff.bmp","path":"src/tearoff.bmp","contentType":"file"},{"name":"term.c","path":"src/term.c","contentType":"file"},{"name":"termdefs.h","path":"src/termdefs.h","contentType":"file"},{"name":"terminal.c","path":"src/terminal.c","contentType":"file"},{"name":"termlib.c","path":"src/termlib.c","contentType":"file"},{"name":"testing.c","path":"src/testing.c","contentType":"file"},{"name":"textformat.c","path":"src/textformat.c","contentType":"file"},{"name":"textobject.c","path":"src/textobject.c","contentType":"file"},{"name":"textprop.c","path":"src/textprop.c","contentType":"file"},{"name":"time.c","path":"src/time.c","contentType":"file"},{"name":"toolbar.phi","path":"src/toolbar.phi","contentType":"file"},{"name":"toolcheck","path":"src/toolcheck","contentType":"file"},{"name":"tools.bmp","path":"src/tools.bmp","contentType":"file"},{"name":"tuple.c","path":"src/tuple.c","contentType":"file"},{"name":"typemap","path":"src/typemap","contentType":"file"},{"name":"typval.c","path":"src/typval.c","contentType":"file"},{"name":"ui.c","path":"src/ui.c","contentType":"file"},{"name":"undo.c","path":"src/undo.c","contentType":"file"},{"name":"uninstall.c","path":"src/uninstall.c","contentType":"file"},{"name":"usercmd.c","path":"src/usercmd.c","contentType":"file"},{"name":"userfunc.c","path":"src/userfunc.c","contentType":"file"},{"name":"version.c","path":"src/version.c","contentType":"file"},{"name":"version.h","path":"src/version.h","contentType":"file"},{"name":"vim.h","path":"src/vim.h","contentType":"file"},{"name":"vim.ico","path":"src/vim.ico","contentType":"file"},{"name":"vim.manifest","path":"src/vim.manifest","contentType":"file"},{"name":"vim.rc","path":"src/vim.rc","contentType":"file"},{"name":"vim.tlb","path":"src/vim.tlb","contentType":"file"},{"name":"vim9.h","path":"src/vim9.h","contentType":"file"},{"name":"vim9class.c","path":"src/vim9class.c","contentType":"file"},{"name":"vim9cmds.c","path":"src/vim9cmds.c","contentType":"file"},{"name":"vim9compile.c","path":"src/vim9compile.c","contentType":"file"},{"name":"vim9execute.c","path":"src/vim9execute.c","contentType":"file"},{"name":"vim9expr.c","path":"src/vim9expr.c","contentType":"file"},{"name":"vim9instr.c","path":"src/vim9instr.c","contentType":"file"},{"name":"vim9script.c","path":"src/vim9script.c","contentType":"file"},{"name":"vim9type.c","path":"src/vim9type.c","contentType":"file"},{"name":"vim_alert.ico","path":"src/vim_alert.ico","contentType":"file"},{"name":"vim_error.ico","path":"src/vim_error.ico","contentType":"file"},{"name":"vim_icon.xbm","path":"src/vim_icon.xbm","contentType":"file"},{"name":"vim_info.ico","path":"src/vim_info.ico","contentType":"file"},{"name":"vim_mask.xbm","path":"src/vim_mask.xbm","contentType":"file"},{"name":"vim_quest.ico","path":"src/vim_quest.ico","contentType":"file"},{"name":"viminfo.c","path":"src/viminfo.c","contentType":"file"},{"name":"vimrun.c","path":"src/vimrun.c","contentType":"file"},{"name":"vimtutor","path":"src/vimtutor","contentType":"file"},{"name":"which.sh","path":"src/which.sh","contentType":"file"},{"name":"winclip.c","path":"src/winclip.c","contentType":"file"},{"name":"window.c","path":"src/window.c","contentType":"file"},{"name":"xpm_w32.c","path":"src/xpm_w32.c","contentType":"file"},{"name":"xpm_w32.h","path":"src/xpm_w32.h","contentType":"file"}],"totalCount":291},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"READMEdir","path":"READMEdir","contentType":"directory"},{"name":"ci","path":"ci","contentType":"directory"},{"name":"lang","path":"lang","contentType":"directory"},{"name":"nsis","path":"nsis","contentType":"directory"},{"name":"pixmaps","path":"pixmaps","contentType":"directory"},{"name":"runtime","path":"runtime","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".appveyor.yml","path":".appveyor.yml","contentType":"file"},{"name":".cirrus.yml","path":".cirrus.yml","contentType":"file"},{"name":".clang-format","path":".clang-format","contentType":"file"},{"name":".codecov.yml","path":".codecov.yml","contentType":"file"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".hgignore","path":".hgignore","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Filelist","path":"Filelist","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"README.txt","path":"README.txt","contentType":"file"},{"name":"README_VIM9.md","path":"README_VIM9.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"configure","path":"configure","contentType":"file"},{"name":"uninstall.txt","path":"uninstall.txt","contentType":"file"},{"name":"vimtutor.bat","path":"vimtutor.bat","contentType":"file"},{"name":"vimtutor.com","path":"vimtutor.com","contentType":"file"}],"totalCount":30}},"fileTreeProcessingTime":39.846724,"foldersToFetch":[],"repo":{"id":40997482,"defaultBranch":"master","name":"vim","ownerLogin":"vim","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-08-18T21:03:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11618545?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1742930641.0","canEdit":false,"refType":"branch","currentOid":"9d5487f6fdc47760e6bc6ca7beb2d007f2e10066"},"path":"src/buffer.c","currentUser":null,"blob":{"rawLines":["/* vi:set ts=8 sts=4 sw=4 noet:"," *"," * VIM - Vi IMproved\tby Bram Moolenaar"," *"," * Do \":help uganda\" in Vim to read copying and usage conditions."," * Do \":help credits\" in Vim to see a list of people who contributed."," * See README.txt for an overview of the Vim source code."," */","","/*"," * buffer.c: functions for dealing with the buffer structure"," */","","/*"," * The buffer list is a double linked list of all buffers."," * Each buffer can be in one of these states:"," * never loaded: BF_NEVERLOADED is set, only the file name is valid"," * not loaded: b_ml.ml_mfp == NULL, no memfile allocated"," *\t hidden: b_nwindows == 0, loaded but not displayed in a window"," *\t normal: loaded and displayed in a window"," *"," * Instead of storing file names all over the place, each file name is"," * stored in the buffer list. It can be referenced by a number."," *"," * The current implementation remembers all file names ever used."," */","","#include \"vim.h\"","","","#ifdef FEAT_EVAL","// Determines how deeply nested %{} blocks will be evaluated in statusline.","# define MAX_STL_EVAL_DEPTH 100","#endif","","static void\tenter_buffer(buf_T *buf);","static void\tbuflist_getfpos(void);","static char_u\t*buflist_match(regmatch_T *rmp, buf_T *buf, int ignore_case);","static char_u\t*fname_match(regmatch_T *rmp, char_u *name, int ignore_case);","#ifdef UNIX","static buf_T\t*buflist_findname_stat(char_u *ffname, stat_T *st);","static int\totherfile_buf(buf_T *buf, char_u *ffname, stat_T *stp);","static int\tbuf_same_ino(buf_T *buf, stat_T *stp);","#else","static int\totherfile_buf(buf_T *buf, char_u *ffname);","#endif","static int\tvalue_changed(char_u *str, char_u **last);","static int\tappend_arg_number(win_T *wp, char_u *buf, int buflen, int add_file);","static void\tfree_buffer(buf_T *);","static void\tfree_buffer_stuff(buf_T *buf, int free_options);","static int\tbt_nofileread(buf_T *buf);","static void\tno_write_message_buf(buf_T *buf);","static int\tdo_buffer_ext(int action, int start, int dir, int count, int flags);","","#ifdef UNIX","# define dev_T dev_t","#else","# define dev_T unsigned","#endif","","#define FOR_ALL_BUFS_FROM_LAST(buf) \\"," for ((buf) = lastbuf; (buf) != NULL; (buf) = (buf)-\u003eb_prev)","","#if defined(FEAT_QUICKFIX)","static char *msg_loclist = N_(\"[Location List]\");","static char *msg_qflist = N_(\"[Quickfix List]\");","#endif","","// Number of times free_buffer() was called.","static int\tbuf_free_count = 0;","","static int\ttop_file_num = 1;\t// highest file number","static garray_T buf_reuse = GA_EMPTY;\t// file numbers to recycle","","/*"," * Return the highest possible buffer number."," */"," int","get_highest_fnum(void)","{"," return top_file_num - 1;","}","","/*"," * Read data from buffer for retrying."," */"," static int","read_buffer("," int\t\tread_stdin,\t // read file from stdin, otherwise fifo"," exarg_T\t*eap,\t\t // for forced 'ff' and 'fenc' or NULL"," int\t\tflags)\t\t // extra flags for readfile()","{"," int\t\tretval = OK;"," linenr_T\tline_count;",""," // Read from the buffer which the text is already filled in and append at"," // the end. This makes it possible to retry when 'fileformat' or"," // 'fileencoding' was guessed wrong."," line_count = curbuf-\u003eb_ml.ml_line_count;"," retval = readfile(","\t read_stdin ? NULL : curbuf-\u003eb_ffname,","\t read_stdin ? NULL : curbuf-\u003eb_fname,","\t line_count, (linenr_T)0, (linenr_T)MAXLNUM, eap,","\t flags | READ_BUFFER);"," if (retval == OK)"," {","\t// Delete the binary lines.","\twhile (--line_count \u003e= 0)","\t ml_delete((linenr_T)1);"," }"," else"," {","\t// Delete the converted lines.","\twhile (curbuf-\u003eb_ml.ml_line_count \u003e line_count)","\t ml_delete(line_count);"," }"," // Put the cursor on the first line."," curwin-\u003ew_cursor.lnum = 1;"," curwin-\u003ew_cursor.col = 0;",""," if (read_stdin)"," {","\t// Set or reset 'modified' before executing autocommands, so that","\t// it can be changed there.","\tif (!readonlymode \u0026\u0026 !BUFEMPTY())","\t changed();","\telse if (retval == OK)","\t unchanged(curbuf, FALSE, TRUE);","","\tif (retval == OK)","\t{","#ifdef FEAT_EVAL","\t apply_autocmds_retval(EVENT_STDINREADPOST, NULL, NULL, FALSE,","\t\t\t\t\t\t\t curbuf, \u0026retval);","#else","\t apply_autocmds(EVENT_STDINREADPOST, NULL, NULL, FALSE, curbuf);","#endif","\t}"," }"," return retval;","}","","#if defined(FEAT_EVAL) || defined(PROTO)","/*"," * Ensure buffer \"buf\" is loaded. Does not trigger the swap-exists action."," */"," void","buffer_ensure_loaded(buf_T *buf)","{"," if (buf-\u003eb_ml.ml_mfp != NULL)","\treturn;",""," aco_save_T\taco;",""," // Make sure the buffer is in a window. If not then skip it."," aucmd_prepbuf(\u0026aco, buf);"," if (curbuf == buf)"," {","\tif (swap_exists_action != SEA_READONLY)","\t swap_exists_action = SEA_NONE;","\topen_buffer(FALSE, NULL, 0);","\taucmd_restbuf(\u0026aco);"," }","}","#endif","","/*"," * Open current buffer, that is: open the memfile and read the file into"," * memory."," * Return FAIL for failure, OK otherwise."," */"," int","open_buffer("," int\t\tread_stdin,\t // read file from stdin"," exarg_T\t*eap,\t\t // for forced 'ff' and 'fenc' or NULL"," int\t\tflags_arg)\t // extra flags for readfile()","{"," int\t\tflags = flags_arg;"," int\t\tretval = OK;"," bufref_T\told_curbuf;","#ifdef FEAT_SYN_HL"," long\told_tw = curbuf-\u003eb_p_tw;","#endif"," int\t\tread_fifo = FALSE;",""," // The 'readonly' flag is only set when BF_NEVERLOADED is being reset."," // When re-entering the same buffer, it should not change, because the"," // user may have reset the flag by hand."," if (readonlymode \u0026\u0026 curbuf-\u003eb_ffname != NULL","\t\t\t\t\t\u0026\u0026 (curbuf-\u003eb_flags \u0026 BF_NEVERLOADED))","\tcurbuf-\u003eb_p_ro = TRUE;",""," if (ml_open(curbuf) == FAIL)"," {","\t// There MUST be a memfile, otherwise we can't do anything","\t// If we can't create one for the current buffer, take another buffer","\tclose_buffer(NULL, curbuf, 0, FALSE, FALSE);","\tFOR_ALL_BUFFERS(curbuf)","\t if (curbuf-\u003eb_ml.ml_mfp != NULL)","\t\tbreak;","\t// If there is no memfile at all, exit.","\t// This is OK, since there are no changes to lose.","\tif (curbuf == NULL)","\t{","\t emsg(_(e_cannot_allocate_any_buffer_exiting));","","\t // Don't try to do any saving, with \"curbuf\" NULL almost nothing","\t // will work.","\t v_dying = 2;","\t getout(2);","\t}","","\temsg(_(e_cannot_allocate_buffer_using_other_one));","\tenter_buffer(curbuf);","#ifdef FEAT_SYN_HL","\tif (old_tw != curbuf-\u003eb_p_tw)","\t check_colorcolumn(NULL, curwin);","#endif","\treturn FAIL;"," }",""," // Do not sync this buffer yet, may first want to read the file."," if (curbuf-\u003eb_ml.ml_mfp != NULL)","\tcurbuf-\u003eb_ml.ml_mfp-\u003emf_dirty = MF_DIRTY_YES_NOSYNC;",""," // The autocommands in readfile() may change the buffer, but only AFTER"," // reading the file."," set_bufref(\u0026old_curbuf, curbuf);"," curbuf-\u003eb_modified_was_set = FALSE;",""," // mark cursor position as being invalid"," curwin-\u003ew_valid = 0;",""," // A buffer without an actual file should not use the buffer name to read a"," // file."," if (bt_nofileread(curbuf))","\tflags |= READ_NOFILE;",""," // Read the file if there is one."," if (curbuf-\u003eb_ffname != NULL","#ifdef FEAT_NETBEANS_INTG","\t \u0026\u0026 netbeansReadFile","#endif"," )"," {","\tint old_msg_silent = msg_silent;","#ifdef UNIX","\tint save_bin = curbuf-\u003eb_p_bin;","\tint perm;","#endif","#ifdef FEAT_NETBEANS_INTG","\tint oldFire = netbeansFireChanges;","","\tnetbeansFireChanges = 0;","#endif","#ifdef UNIX","\tperm = mch_getperm(curbuf-\u003eb_ffname);","\tif (perm \u003e= 0 \u0026\u0026 (S_ISFIFO(perm)","\t\t || S_ISSOCK(perm)","# ifdef OPEN_CHR_FILES","\t\t || (S_ISCHR(perm) \u0026\u0026 is_dev_fd_file(curbuf-\u003eb_ffname))","# endif","\t\t ))","\t\tread_fifo = TRUE;","\tif (read_fifo)","\t curbuf-\u003eb_p_bin = TRUE;","#endif","\tif (shortmess(SHM_FILEINFO))","\t msg_silent = 1;","\tretval = readfile(curbuf-\u003eb_ffname, curbuf-\u003eb_fname,","\t\t (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM, eap,","\t\t flags | READ_NEW | (read_fifo ? READ_FIFO : 0));","#ifdef UNIX","\tif (read_fifo)","\t{","\t curbuf-\u003eb_p_bin = save_bin;","\t if (retval == OK)","\t\t// don't add READ_FIFO here, otherwise we won't be able to","\t\t// detect the encoding","\t\tretval = read_buffer(FALSE, eap, flags);","\t}","#endif","\tmsg_silent = old_msg_silent;","#ifdef FEAT_NETBEANS_INTG","\tnetbeansFireChanges = oldFire;","#endif","\t// Help buffer is filtered.","\tif (bt_help(curbuf))","\t fix_help_buffer();"," }"," else if (read_stdin)"," {","\tint\tsave_bin = curbuf-\u003eb_p_bin;","","\t// First read the text in binary mode into the buffer.","\t// Then read from that same buffer and append at the end. This makes","\t// it possible to retry when 'fileformat' or 'fileencoding' was","\t// guessed wrong.","\tcurbuf-\u003eb_p_bin = TRUE;","\tretval = readfile(NULL, NULL, (linenr_T)0,","\t\t (linenr_T)0, (linenr_T)MAXLNUM, NULL,","\t\t flags | (READ_NEW + READ_STDIN));","\tcurbuf-\u003eb_p_bin = save_bin;","\tif (retval == OK)","\t retval = read_buffer(TRUE, eap, flags);"," }",""," // Can now sync this buffer in ml_sync_all()."," if (curbuf-\u003eb_ml.ml_mfp != NULL","\t \u0026\u0026 curbuf-\u003eb_ml.ml_mfp-\u003emf_dirty == MF_DIRTY_YES_NOSYNC)","\tcurbuf-\u003eb_ml.ml_mfp-\u003emf_dirty = MF_DIRTY_YES;",""," // if first time loading this buffer, init b_chartab[]"," if (curbuf-\u003eb_flags \u0026 BF_NEVERLOADED)"," {","\t(void)buf_init_chartab(curbuf, FALSE);","\tparse_cino(curbuf);"," }",""," // Set/reset the Changed flag first, autocmds may change the buffer."," // Apply the automatic commands, before processing the modelines."," // So the modelines have priority over autocommands."," //"," // When reading stdin, the buffer contents always needs writing, so set"," // the changed flag. Unless in readonly mode: \"ls | gview -\"."," // When interrupted and 'cpoptions' contains 'i' set changed flag."," if ((got_int \u0026\u0026 vim_strchr(p_cpo, CPO_INTMOD) != NULL)","\t\t|| curbuf-\u003eb_modified_was_set\t// autocmd did \":set modified\"","#ifdef FEAT_EVAL","\t\t|| (aborting() \u0026\u0026 vim_strchr(p_cpo, CPO_INTMOD) != NULL)","#endif"," )","\tchanged();"," else if (retval == OK \u0026\u0026 !read_stdin \u0026\u0026 !read_fifo)","\tunchanged(curbuf, FALSE, TRUE);"," save_file_ff(curbuf);\t\t// keep this fileformat",""," // Set last_changedtick to avoid triggering a TextChanged autocommand right"," // after it was added."," curbuf-\u003eb_last_changedtick = CHANGEDTICK(curbuf);"," curbuf-\u003eb_last_changedtick_i = CHANGEDTICK(curbuf);"," curbuf-\u003eb_last_changedtick_pum = CHANGEDTICK(curbuf);",""," // require \"!\" to overwrite the file, because it wasn't read completely","#ifdef FEAT_EVAL"," if (aborting())","#else"," if (got_int)","#endif","\tcurbuf-\u003eb_flags |= BF_READERR;","","#ifdef FEAT_FOLDING"," // Need to update automatic folding. Do this before the autocommands,"," // they may use the fold info."," foldUpdateAll(curwin);","#endif",""," // need to set w_topline, unless some autocommand already did that."," if (!(curwin-\u003ew_valid \u0026 VALID_TOPLINE))"," {","\tcurwin-\u003ew_topline = 1;","#ifdef FEAT_DIFF","\tcurwin-\u003ew_topfill = 0;","#endif"," }","#ifdef FEAT_EVAL"," apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, \u0026retval);","#else"," apply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);","#endif",""," if (retval != OK)","\treturn retval;",""," // The autocommands may have changed the current buffer. Apply the"," // modelines to the correct buffer, if it still exists and is loaded."," if (bufref_valid(\u0026old_curbuf) \u0026\u0026 old_curbuf.br_buf-\u003eb_ml.ml_mfp != NULL)"," {","\taco_save_T\taco;","","\t// Go to the buffer that was opened, make sure it is in a window.","\t// If not then skip it.","\taucmd_prepbuf(\u0026aco, old_curbuf.br_buf);","\tif (curbuf == old_curbuf.br_buf)","\t{","\t do_modelines(0);","\t curbuf-\u003eb_flags \u0026= ~(BF_CHECK_RO | BF_NEVERLOADED);","","\t if ((flags \u0026 READ_NOWINENTER) == 0)","#ifdef FEAT_EVAL","\t\tapply_autocmds_retval(EVENT_BUFWINENTER, NULL, NULL,","\t\t\tFALSE, curbuf, \u0026retval);","#else","\t apply_autocmds(EVENT_BUFWINENTER, NULL, NULL,","\t\t FALSE, curbuf);","#endif","","\t // restore curwin/curbuf and a few other things","\t aucmd_restbuf(\u0026aco);","\t}"," }",""," return retval;","}","","/*"," * Store \"buf\" in \"bufref\" and set the free count."," */"," void","set_bufref(bufref_T *bufref, buf_T *buf)","{"," bufref-\u003ebr_buf = buf;"," bufref-\u003ebr_fnum = buf == NULL ? 0 : buf-\u003eb_fnum;"," bufref-\u003ebr_buf_free_count = buf_free_count;","}","","/*"," * Return TRUE if \"bufref-\u003ebr_buf\" points to the same buffer as when"," * set_bufref() was called and it is a valid buffer."," * Only goes through the buffer list if buf_free_count changed."," * Also checks if b_fnum is still the same, a :bwipe followed by :new might get"," * the same allocated memory, but it's a different buffer."," */"," int","bufref_valid(bufref_T *bufref)","{"," return bufref-\u003ebr_buf_free_count == buf_free_count","\t? TRUE : buf_valid(bufref-\u003ebr_buf)","\t\t\t\t \u0026\u0026 bufref-\u003ebr_fnum == bufref-\u003ebr_buf-\u003eb_fnum;","}","","/*"," * Return TRUE if \"buf\" points to a valid buffer (in the buffer list)."," * This can be slow if there are many buffers, prefer using bufref_valid()."," */"," int","buf_valid(buf_T *buf)","{"," buf_T\t*bp;",""," // Assume that we more often have a recent buffer, start with the last"," // one."," FOR_ALL_BUFS_FROM_LAST(bp)","\tif (bp == buf)","\t return TRUE;"," return FALSE;","}","","/*"," * A hash table used to quickly lookup a buffer by its number."," */","static hashtab_T buf_hashtab;",""," static void","buf_hashtab_add(buf_T *buf)","{"," sprintf((char *)buf-\u003eb_key, \"%x\", buf-\u003eb_fnum);"," if (hash_add(\u0026buf_hashtab, buf-\u003eb_key, \"create buffer\") == FAIL)","\temsg(_(e_buffer_cannot_be_registered));","}",""," static void","buf_hashtab_remove(buf_T *buf)","{"," hashitem_T *hi = hash_find(\u0026buf_hashtab, buf-\u003eb_key);",""," if (!HASHITEM_EMPTY(hi))","\thash_remove(\u0026buf_hashtab, hi, \"close buffer\");","}","","/*"," * Return TRUE when buffer \"buf\" can be unloaded."," * Give an error message and return FALSE when the buffer is locked or the"," * screen is being redrawn and the buffer is in a window."," */"," static int","can_unload_buffer(buf_T *buf)","{"," int\t can_unload = !buf-\u003eb_locked;",""," if (can_unload \u0026\u0026 updating_screen)"," {","\twin_T\t*wp;","","\tFOR_ALL_WINDOWS(wp)","\t if (wp-\u003ew_buffer == buf)","\t {","\t\tcan_unload = FALSE;","\t\tbreak;","\t }"," }"," if (!can_unload)"," {","\tchar_u *fname = buf-\u003eb_fname != NULL ? buf-\u003eb_fname : buf-\u003eb_ffname;","","\tsemsg(_(e_attempt_to_delete_buffer_that_is_in_use_str),","\t\t\t\tfname != NULL ? fname : (char_u *)\"[No Name]\");"," }"," return can_unload;","}",""," int","buf_locked(buf_T *buf)","{"," return buf-\u003eb_locked || buf-\u003eb_locked_split;","}","","/*"," * Close the link to a buffer."," * \"action\" is used when there is no longer a window for the buffer."," * It can be:"," * 0\t\t\tbuffer becomes hidden"," * DOBUF_UNLOAD\t\tbuffer is unloaded"," * DOBUF_DEL\t\tbuffer is unloaded and removed from buffer list"," * DOBUF_WIPE\t\tbuffer is unloaded and really deleted"," * DOBUF_WIPE_REUSE\tidem, and add to buf_reuse list"," * When doing all but the first one on the current buffer, the caller should"," * get a new buffer very soon!"," *"," * The 'bufhidden' option can force freeing and deleting."," *"," * When \"abort_if_last\" is TRUE then do not close the buffer if autocommands"," * cause there to be only one window with this buffer. e.g. when \":quit\" is"," * supposed to close the window but autocommands close all other windows."," *"," * When \"ignore_abort\" is TRUE don't abort even when aborting() returns TRUE."," *"," * Return TRUE when we got to the end and b_nwindows was decremented."," */"," int","close_buffer("," win_T\t*win,\t\t// if not NULL, set b_last_cursor"," buf_T\t*buf,"," int\t\taction,"," int\t\tabort_if_last,"," int\t\tignore_abort)","{"," int\t\tis_curbuf;"," int\t\tnwindows;"," bufref_T\tbufref;"," int\t\tis_curwin = (curwin != NULL \u0026\u0026 curwin-\u003ew_buffer == buf);"," win_T\t*the_curwin = curwin;"," tabpage_T\t*the_curtab = curtab;"," int\t\tunload_buf = (action != 0);"," int\t\twipe_buf = (action == DOBUF_WIPE || action == DOBUF_WIPE_REUSE);"," int\t\tdel_buf = (action == DOBUF_DEL || wipe_buf);",""," CHECK_CURBUF;",""," // Force unloading or deleting when 'bufhidden' says so."," // The caller must take care of NOT deleting/freeing when 'bufhidden' is"," // \"hide\" (otherwise we could never free or delete a buffer)."," if (buf-\u003eb_p_bh[0] == 'd')\t\t// 'bufhidden' == \"delete\""," {","\tdel_buf = TRUE;","\tunload_buf = TRUE;"," }"," else if (buf-\u003eb_p_bh[0] == 'w')\t// 'bufhidden' == \"wipe\""," {","\tdel_buf = TRUE;","\tunload_buf = TRUE;","\twipe_buf = TRUE;"," }"," else if (buf-\u003eb_p_bh[0] == 'u')\t// 'bufhidden' == \"unload\"","\tunload_buf = TRUE;","","#ifdef FEAT_TERMINAL"," // depending on how we get here b_nwindows may already be zero"," if (bt_terminal(buf) \u0026\u0026 (buf-\u003eb_nwindows \u003c= 1 || del_buf))"," {","\tCHECK_CURBUF;","\tif (term_job_running(buf-\u003eb_term))","\t{","\t if (wipe_buf || unload_buf)","\t {","\t\tif (!can_unload_buffer(buf))","\t\t return FALSE;","","\t\t// Wiping out or unloading a terminal buffer kills the job.","\t\tfree_terminal(buf);","","\t\t// A terminal buffer is wiped out when job has finished.","\t\tdel_buf = TRUE;","\t\tunload_buf = TRUE;","\t\twipe_buf = TRUE;","\t }","\t else","\t {","\t\t// The job keeps running, hide the buffer.","\t\tdel_buf = FALSE;","\t\tunload_buf = FALSE;","\t }","\t}","\telse if (buf-\u003eb_p_bh[0] == 'h' \u0026\u0026 !del_buf)","\t{","\t // Hide a terminal buffer.","\t unload_buf = FALSE;","\t}","\telse","\t{","\t if (del_buf || unload_buf)","\t {","\t\t// A terminal buffer is wiped out if the job has finished.","\t\t// We only do this when there's an intention to unload the","\t\t// buffer. This way, :hide and other similar commands won't","\t\t// wipe the buffer.","\t\tdel_buf = TRUE;","\t\tunload_buf = TRUE;","\t\twipe_buf = TRUE;","\t }","\t}","\tCHECK_CURBUF;"," }","#endif",""," // Disallow deleting the buffer when it is locked (already being closed or"," // halfway a command that relies on it). Unloading is allowed."," if ((del_buf || wipe_buf) \u0026\u0026 !can_unload_buffer(buf))","\treturn FALSE;",""," // check no autocommands closed the window"," if (win != NULL \u0026\u0026 win_valid_any_tab(win))"," {","\t// Set b_last_cursor when closing the last window for the buffer.","\t// Remember the last cursor position and window options of the buffer.","\t// This used to be only for the current window, but then options like","\t// 'foldmethod' may be lost with a \":only\" command.","\tif (buf-\u003eb_nwindows == 1)","\t set_last_cursor(win);","\tbuflist_setfpos(buf, win,","\t\t win-\u003ew_cursor.lnum == 1 ? 0 : win-\u003ew_cursor.lnum,","\t\t win-\u003ew_cursor.col, TRUE);"," }",""," set_bufref(\u0026bufref, buf);",""," // When the buffer is no longer in a window, trigger BufWinLeave"," if (buf-\u003eb_nwindows == 1)"," {","\t++buf-\u003eb_locked;","\t++buf-\u003eb_locked_split;","\tif (apply_autocmds(EVENT_BUFWINLEAVE, buf-\u003eb_fname, buf-\u003eb_fname,","\t\t\t\t\t\t\t\t FALSE, buf)","\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t{","\t // Autocommands deleted the buffer.","aucmd_abort:","\t emsg(_(e_autocommands_caused_command_to_abort));","\t return FALSE;","\t}","\t--buf-\u003eb_locked;","\t--buf-\u003eb_locked_split;","\tif (abort_if_last \u0026\u0026 one_window())","\t // Autocommands made this the only window.","\t goto aucmd_abort;","","\t// When the buffer becomes hidden, but is not unloaded, trigger","\t// BufHidden","\tif (!unload_buf)","\t{","\t ++buf-\u003eb_locked;","\t ++buf-\u003eb_locked_split;","\t if (apply_autocmds(EVENT_BUFHIDDEN, buf-\u003eb_fname, buf-\u003eb_fname,","\t\t\t\t\t\t\t\t FALSE, buf)","\t\t \u0026\u0026 !bufref_valid(\u0026bufref))","\t\t// Autocommands deleted the buffer.","\t\tgoto aucmd_abort;","\t --buf-\u003eb_locked;","\t --buf-\u003eb_locked_split;","\t if (abort_if_last \u0026\u0026 one_window())","\t\t// Autocommands made this the only window.","\t\tgoto aucmd_abort;","\t}","#ifdef FEAT_EVAL","\t// autocmds may abort script processing","\tif (!ignore_abort \u0026\u0026 aborting())","\t return FALSE;","#endif"," }",""," // If the buffer was in curwin and the window has changed, go back to that"," // window, if it still exists. This avoids that \":edit x\" triggering a"," // \"tabnext\" BufUnload autocmd leaves a window behind without a buffer."," if (is_curwin \u0026\u0026 curwin != the_curwin \u0026\u0026 win_valid_any_tab(the_curwin))"," {","\tblock_autocmds();","\tgoto_tabpage_win(the_curtab, the_curwin);","\tunblock_autocmds();"," }",""," nwindows = buf-\u003eb_nwindows;",""," // decrease the link count from windows (unless not in any window)"," if (buf-\u003eb_nwindows \u003e 0)","\t--buf-\u003eb_nwindows;","","#ifdef FEAT_DIFF"," if (diffopt_hiddenoff() \u0026\u0026 !unload_buf \u0026\u0026 buf-\u003eb_nwindows == 0)","\tdiff_buf_delete(buf);\t// Clear 'diff' for hidden buffer.","#endif",""," // Return when a window is displaying the buffer or when it's not"," // unloaded."," if (buf-\u003eb_nwindows \u003e 0 || !unload_buf)","\treturn FALSE;",""," // Always remove the buffer when there is no file name."," if (buf-\u003eb_ffname == NULL)","\tdel_buf = TRUE;",""," // When closing the current buffer stop Visual mode before freeing"," // anything."," if (buf == curbuf \u0026\u0026 VIsual_active","#if defined(EXITFREE)","\t \u0026\u0026 !entered_free_all_mem","#endif","\t )","\tend_visual_mode();",""," // Free all things allocated for this buffer."," // Also calls the \"BufDelete\" autocommands when del_buf is TRUE."," //"," // Remember if we are closing the current buffer. Restore the number of"," // windows, so that autocommands in buf_freeall() don't get confused."," is_curbuf = (buf == curbuf);"," buf-\u003eb_nwindows = nwindows;",""," buf_freeall(buf, (del_buf ? BFA_DEL : 0)","\t\t + (wipe_buf ? BFA_WIPE : 0)","\t\t + (ignore_abort ? BFA_IGNORE_ABORT : 0));",""," // Autocommands may have deleted the buffer."," if (!bufref_valid(\u0026bufref))","\treturn FALSE;","#ifdef FEAT_EVAL"," // autocmds may abort script processing"," if (!ignore_abort \u0026\u0026 aborting())","\treturn FALSE;","#endif",""," // It's possible that autocommands change curbuf to the one being deleted."," // This might cause the previous curbuf to be deleted unexpectedly. But"," // in some cases it's OK to delete the curbuf, because a new one is"," // obtained anyway. Therefore only return if curbuf changed to the"," // deleted buffer."," if (buf == curbuf \u0026\u0026 !is_curbuf)","\treturn FALSE;",""," if (win_valid_any_tab(win) \u0026\u0026 win-\u003ew_buffer == buf)","\twin-\u003ew_buffer = NULL; // make sure we don't use the buffer now",""," // Autocommands may have opened or closed windows for this buffer."," // Decrement the count for the close we do here."," if (buf-\u003eb_nwindows \u003e 0)","\t--buf-\u003eb_nwindows;",""," /*"," * Remove the buffer from the list."," */"," if (wipe_buf)"," {","\ttabpage_T\t*tp;","\twin_T\t\t*wp;","","\t// Do not wipe out the buffer if it is used in a window.","\tif (buf-\u003eb_nwindows \u003e 0)","\t return FALSE;","","\tFOR_ALL_TAB_WINDOWS(tp, wp)","\t mark_forget_file(wp, buf-\u003eb_fnum);","","\tif (action == DOBUF_WIPE_REUSE)","\t{","\t // we can re-use this buffer number, store it","\t if (buf_reuse.ga_itemsize == 0)","\t\tga_init2(\u0026buf_reuse, sizeof(int), 50);","\t if (ga_grow(\u0026buf_reuse, 1) == OK)","\t\t((int *)buf_reuse.ga_data)[buf_reuse.ga_len++] = buf-\u003eb_fnum;","\t}","\tif (buf-\u003eb_sfname != buf-\u003eb_ffname)","\t VIM_CLEAR(buf-\u003eb_sfname);","\telse","\t buf-\u003eb_sfname = NULL;","\tVIM_CLEAR(buf-\u003eb_ffname);","\tif (buf-\u003eb_prev == NULL)","\t firstbuf = buf-\u003eb_next;","\telse","\t buf-\u003eb_prev-\u003eb_next = buf-\u003eb_next;","\tif (buf-\u003eb_next == NULL)","\t lastbuf = buf-\u003eb_prev;","\telse","\t buf-\u003eb_next-\u003eb_prev = buf-\u003eb_prev;","\tfree_buffer(buf);"," }"," else"," {","\tif (del_buf)","\t{","\t // Free all internal variables and reset option values, to make","\t // \":bdel\" compatible with Vim 5.7.","\t free_buffer_stuff(buf, TRUE);","","\t // Make it look like a new buffer.","\t buf-\u003eb_flags = BF_CHECK_RO | BF_NEVERLOADED;","","\t // Init the options when loaded again.","\t buf-\u003eb_p_initialized = FALSE;","\t}","\tbuf_clear_file(buf);","\tif (del_buf)","\t buf-\u003eb_p_bl = FALSE;"," }"," // NOTE: at this point \"curbuf\" may be invalid!"," return TRUE;","}","","/*"," * Make buffer not contain a file."," */"," void","buf_clear_file(buf_T *buf)","{"," buf-\u003eb_ml.ml_line_count = 1;"," unchanged(buf, TRUE, TRUE);"," buf-\u003eb_shortname = FALSE;"," buf-\u003eb_p_eof = FALSE;"," buf-\u003eb_start_eof = FALSE;"," buf-\u003eb_p_eol = TRUE;"," buf-\u003eb_start_eol = TRUE;"," buf-\u003eb_p_bomb = FALSE;"," buf-\u003eb_start_bomb = FALSE;"," buf-\u003eb_ml.ml_mfp = NULL;"," buf-\u003eb_ml.ml_flags = ML_EMPTY;\t\t// empty buffer","#ifdef FEAT_NETBEANS_INTG"," netbeans_deleted_all_lines(buf);","#endif","}","","/*"," * buf_freeall() - free all things allocated for a buffer that are related to"," * the file. Careful: get here with \"curwin\" NULL when exiting."," * flags:"," * BFA_DEL\t buffer is going to be deleted"," * BFA_WIPE\t buffer is going to be wiped out"," * BFA_KEEP_UNDO do not free undo information"," * BFA_IGNORE_ABORT don't abort even when aborting() returns TRUE"," */"," void","buf_freeall(buf_T *buf, int flags)","{"," int\t\tis_curbuf = (buf == curbuf);"," bufref_T\tbufref;"," int\t\tis_curwin = (curwin != NULL \u0026\u0026 curwin-\u003ew_buffer == buf);"," win_T\t*the_curwin = curwin;"," tabpage_T\t*the_curtab = curtab;",""," // Make sure the buffer isn't closed by autocommands."," ++buf-\u003eb_locked;"," ++buf-\u003eb_locked_split;"," set_bufref(\u0026bufref, buf);"," if (buf-\u003eb_ml.ml_mfp != NULL)"," {","\tif (apply_autocmds(EVENT_BUFUNLOAD, buf-\u003eb_fname, buf-\u003eb_fname,","\t\t\t\t\t\t\t\t FALSE, buf)","\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t // autocommands deleted the buffer","\t return;"," }"," if ((flags \u0026 BFA_DEL) \u0026\u0026 buf-\u003eb_p_bl)"," {","\tif (apply_autocmds(EVENT_BUFDELETE, buf-\u003eb_fname, buf-\u003eb_fname,","\t\t\t\t\t\t\t\t FALSE, buf)","\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t // autocommands deleted the buffer","\t return;"," }"," if (flags \u0026 BFA_WIPE)"," {","\tif (apply_autocmds(EVENT_BUFWIPEOUT, buf-\u003eb_fname, buf-\u003eb_fname,","\t\t\t\t\t\t\t\t FALSE, buf)","\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t // autocommands deleted the buffer","\t return;"," }"," --buf-\u003eb_locked;"," --buf-\u003eb_locked_split;",""," // If the buffer was in curwin and the window has changed, go back to that"," // window, if it still exists. This avoids that \":edit x\" triggering a"," // \"tabnext\" BufUnload autocmd leaves a window behind without a buffer."," if (is_curwin \u0026\u0026 curwin != the_curwin \u0026\u0026 win_valid_any_tab(the_curwin))"," {","\tblock_autocmds();","\tgoto_tabpage_win(the_curtab, the_curwin);","\tunblock_autocmds();"," }","","#ifdef FEAT_EVAL"," // autocmds may abort script processing"," if ((flags \u0026 BFA_IGNORE_ABORT) == 0 \u0026\u0026 aborting())","\treturn;","#endif",""," // It's possible that autocommands change curbuf to the one being deleted."," // This might cause curbuf to be deleted unexpectedly. But in some cases"," // it's OK to delete the curbuf, because a new one is obtained anyway."," // Therefore only return if curbuf changed to the deleted buffer."," if (buf == curbuf \u0026\u0026 !is_curbuf)","\treturn;","#ifdef FEAT_DIFF"," diff_buf_delete(buf);\t // Can't use 'diff' for unloaded buffer.","#endif","#ifdef FEAT_SYN_HL"," // Remove any ownsyntax, unless exiting."," if (curwin != NULL \u0026\u0026 curwin-\u003ew_buffer == buf)","\treset_synblock(curwin);","#endif","","#ifdef FEAT_FOLDING"," // No folds in an empty buffer."," {","\twin_T\t\t*win;","\ttabpage_T\t*tp;","","\tFOR_ALL_TAB_WINDOWS(tp, win)","\t if (win-\u003ew_buffer == buf)","\t\tclearFolding(win);"," }","#endif","","#ifdef FEAT_TCL"," tcl_buffer_free(buf);","#endif"," ml_close(buf, TRUE);\t // close and delete the memline/memfile"," buf-\u003eb_ml.ml_line_count = 0; // no lines in buffer"," if ((flags \u0026 BFA_KEEP_UNDO) == 0)","\t// free the memory allocated for undo","\t// and reset all undo information","\tu_clearallandblockfree(buf);","#ifdef FEAT_SYN_HL"," syntax_clear(\u0026buf-\u003eb_s);\t // reset syntax info","#endif","#ifdef FEAT_PROP_POPUP"," clear_buf_prop_types(buf);","#endif"," buf-\u003eb_flags \u0026= ~BF_READERR; // a read error is no longer relevant","}","","/*"," * Free a buffer structure and the things it contains related to the buffer"," * itself (not the file, that must have been done already)."," */"," static void","free_buffer(buf_T *buf)","{"," ++buf_free_count;"," free_buffer_stuff(buf, TRUE);","#ifdef FEAT_EVAL"," // b:changedtick uses an item in buf_T, remove it now"," dictitem_remove(buf-\u003eb_vars, (dictitem_T *)\u0026buf-\u003eb_ct_di, \"free buffer\");"," unref_var_dict(buf-\u003eb_vars);"," remove_listeners(buf);","#endif","#ifdef FEAT_LUA"," lua_buffer_free(buf);","#endif","#ifdef FEAT_MZSCHEME"," mzscheme_buffer_free(buf);","#endif","#ifdef FEAT_PERL"," perl_buf_free(buf);","#endif","#ifdef FEAT_PYTHON"," python_buffer_free(buf);","#endif","#ifdef FEAT_PYTHON3"," python3_buffer_free(buf);","#endif","#ifdef FEAT_RUBY"," ruby_buffer_free(buf);","#endif","#ifdef FEAT_JOB_CHANNEL"," channel_buffer_free(buf);","#endif","#ifdef FEAT_TERMINAL"," free_terminal(buf);","#endif","#ifdef FEAT_JOB_CHANNEL"," vim_free(buf-\u003eb_prompt_text);"," free_callback(\u0026buf-\u003eb_prompt_callback);"," free_callback(\u0026buf-\u003eb_prompt_interrupt);","#endif",""," buf_hashtab_remove(buf);",""," aubuflocal_remove(buf);",""," if (autocmd_busy)"," {","\t// Do not free the buffer structure while autocommands are executing,","\t// it's still needed. Free it when autocmd_busy is reset.","\tbuf-\u003eb_next = au_pending_free_buf;","\tau_pending_free_buf = buf;"," }"," else"," {","\tvim_free(buf);","\tif (curbuf == buf)","\t curbuf = NULL; // make clear it's not to be used"," }","}","","/*"," * Initializes b:changedtick."," */"," static void","init_changedtick(buf_T *buf)","{"," dictitem_T *di = (dictitem_T *)\u0026buf-\u003eb_ct_di;",""," di-\u003edi_flags = DI_FLAGS_FIX | DI_FLAGS_RO;"," di-\u003edi_tv.v_type = VAR_NUMBER;"," di-\u003edi_tv.v_lock = VAR_FIXED;"," di-\u003edi_tv.vval.v_number = 0;","","#ifdef FEAT_EVAL"," STRCPY(buf-\u003eb_ct_di.di_key, \"changedtick\");"," (void)dict_add(buf-\u003eb_vars, di);","#endif","}","","/*"," * Free the b_wininfo list for buffer \"buf\"."," */"," static void","clear_wininfo(buf_T *buf)","{"," wininfo_T\t*wip;",""," while (buf-\u003eb_wininfo != NULL)"," {","\twip = buf-\u003eb_wininfo;","\tbuf-\u003eb_wininfo = wip-\u003ewi_next;","\tfree_wininfo(wip);"," }","}","","/*"," * Free stuff in the buffer for \":bdel\" and when wiping out the buffer."," */"," static void","free_buffer_stuff("," buf_T\t*buf,"," int\t\tfree_options)\t\t// free options as well","{"," if (free_options)"," {","\tclear_wininfo(buf);\t\t// including window-local options","\tfree_buf_options(buf, TRUE);","#ifdef FEAT_SPELL","\tga_clear(\u0026buf-\u003eb_s.b_langp);","#endif"," }","#ifdef FEAT_EVAL"," {","\tvarnumber_T tick = CHANGEDTICK(buf);","","\tvars_clear(\u0026buf-\u003eb_vars-\u003edv_hashtab); // free all buffer variables","\thash_init(\u0026buf-\u003eb_vars-\u003edv_hashtab);","\tinit_changedtick(buf);","\tCHANGEDTICK(buf) = tick;","\tremove_listeners(buf);"," }","#endif"," uc_clear(\u0026buf-\u003eb_ucmds);\t\t// clear local user commands","#ifdef FEAT_SIGNS"," buf_delete_signs(buf, (char_u *)\"*\");\t// delete any signs","#endif","#ifdef FEAT_NETBEANS_INTG"," netbeans_file_killed(buf);","#endif","#ifdef FEAT_PROP_POPUP"," ga_clear_strings(\u0026buf-\u003eb_textprop_text);","#endif"," map_clear_mode(buf, MAP_ALL_MODES, TRUE, FALSE); // clear local mappings"," map_clear_mode(buf, MAP_ALL_MODES, TRUE, TRUE); // clear local abbrevs"," VIM_CLEAR(buf-\u003eb_start_fenc);","}","","/*"," * Free one wininfo_T."," */"," void","free_wininfo(wininfo_T *wip)","{"," if (wip-\u003ewi_optset)"," {","\tclear_winopt(\u0026wip-\u003ewi_opt);","#ifdef FEAT_FOLDING","\tdeleteFoldRecurse(\u0026wip-\u003ewi_folds);","#endif"," }"," vim_free(wip);","}","","/*"," * Go to another buffer. Handles the result of the ATTENTION dialog."," */"," void","goto_buffer("," exarg_T\t*eap,"," int\t\tstart,"," int\t\tdir,"," int\t\tcount)","{"," bufref_T\told_curbuf;"," int\t\tsave_sea = swap_exists_action;"," int\t\tskip_help_buf;",""," switch (eap-\u003ecmdidx)"," {","\tcase CMD_bnext:","\tcase CMD_sbnext:","\tcase CMD_bNext:","\tcase CMD_bprevious:","\tcase CMD_sbNext:","\tcase CMD_sbprevious:","\t skip_help_buf = TRUE;","\t break;","\tdefault:","\t skip_help_buf = FALSE;","\t break;"," }",""," set_bufref(\u0026old_curbuf, curbuf);",""," if (swap_exists_action == SEA_NONE)","\tswap_exists_action = SEA_DIALOG;"," (void)do_buffer_ext(*eap-\u003ecmd == 's' ? DOBUF_SPLIT : DOBUF_GOTO, start, dir, count,","\t (eap-\u003eforceit ? DOBUF_FORCEIT : 0) |","\t (skip_help_buf ? DOBUF_SKIPHELP : 0));"," if (swap_exists_action == SEA_QUIT \u0026\u0026 *eap-\u003ecmd == 's')"," {","#if defined(FEAT_EVAL)","\tcleanup_T cs;","","\t// Reset the error/interrupt/exception state here so that","\t// aborting() returns FALSE when closing a window.","\tenter_cleanup(\u0026cs);","#endif","","\t// Quitting means closing the split window, nothing else.","\twin_close(curwin, TRUE);","\tswap_exists_action = save_sea;","\tswap_exists_did_quit = TRUE;","","#if defined(FEAT_EVAL)","\t// Restore the error/interrupt/exception state if not discarded by a","\t// new aborting error, interrupt, or uncaught exception.","\tleave_cleanup(\u0026cs);","#endif"," }"," else","\thandle_swap_exists(\u0026old_curbuf);","}","","/*"," * Handle the situation of swap_exists_action being set."," * It is allowed for \"old_curbuf\" to be NULL or invalid."," */"," void","handle_swap_exists(bufref_T *old_curbuf)","{","#if defined(FEAT_EVAL)"," cleanup_T\tcs;","#endif","#ifdef FEAT_SYN_HL"," long\told_tw = curbuf-\u003eb_p_tw;","#endif"," buf_T\t*buf;",""," if (swap_exists_action == SEA_QUIT)"," {","#if defined(FEAT_EVAL)","\t// Reset the error/interrupt/exception state here so that","\t// aborting() returns FALSE when closing a buffer.","\tenter_cleanup(\u0026cs);","#endif","","\t// User selected Quit at ATTENTION prompt. Go back to previous","\t// buffer. If that buffer is gone or the same as the current one,","\t// open a new, empty buffer.","\tswap_exists_action = SEA_NONE;\t// don't want it again","\tswap_exists_did_quit = TRUE;","\tclose_buffer(curwin, curbuf, DOBUF_UNLOAD, FALSE, FALSE);","\tif (old_curbuf == NULL || !bufref_valid(old_curbuf)","\t\t\t\t\t || old_curbuf-\u003ebr_buf == curbuf)","\t{","\t // Block autocommands here because curwin-\u003ew_buffer is NULL.","\t block_autocmds();","\t buf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED);","\t unblock_autocmds();","\t}","\telse","\t buf = old_curbuf-\u003ebr_buf;","\tif (buf != NULL)","\t{","\t int old_msg_silent = msg_silent;","","\t if (shortmess(SHM_FILEINFO))","\t\tmsg_silent = 1; // prevent fileinfo message","\t enter_buffer(buf);","\t // restore msg_silent, so that the command line will be shown","\t msg_silent = old_msg_silent;","","#ifdef FEAT_SYN_HL","\t if (old_tw != curbuf-\u003eb_p_tw)","\t\tcheck_colorcolumn(NULL, curwin);","#endif","\t}","\t// If \"old_curbuf\" is NULL we are in big trouble here...","","#if defined(FEAT_EVAL)","\t// Restore the error/interrupt/exception state if not discarded by a","\t// new aborting error, interrupt, or uncaught exception.","\tleave_cleanup(\u0026cs);","#endif"," }"," else if (swap_exists_action == SEA_RECOVER)"," {","#if defined(FEAT_EVAL)","\t// Reset the error/interrupt/exception state here so that","\t// aborting() returns FALSE when closing a buffer.","\tenter_cleanup(\u0026cs);","#endif","","\t// User selected Recover at ATTENTION prompt.","\tmsg_scroll = TRUE;","\tml_recover(FALSE);","\tmsg_puts(\"\\n\");\t// don't overwrite the last message","\tcmdline_row = msg_row;","\tdo_modelines(0);","","#if defined(FEAT_EVAL)","\t// Restore the error/interrupt/exception state if not discarded by a","\t// new aborting error, interrupt, or uncaught exception.","\tleave_cleanup(\u0026cs);","#endif"," }"," swap_exists_action = SEA_NONE;","}","","/*"," * Make the current buffer empty."," * Used when it is wiped out and it's the last buffer."," */"," static int","empty_curbuf("," int close_others,"," int forceit,"," int action)","{"," int\t retval;"," buf_T *buf = curbuf;"," bufref_T bufref;",""," if (action == DOBUF_UNLOAD)"," {","\temsg(_(e_cannot_unload_last_buffer));","\treturn FAIL;"," }",""," set_bufref(\u0026bufref, buf);"," if (close_others)","\t// Close any other windows on this buffer, then make it empty.","\tclose_windows(buf, TRUE);",""," setpcmark();"," retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE,","\t\t\t\t\t forceit ? ECMD_FORCEIT : 0, curwin);",""," // do_ecmd() may create a new buffer, then we have to delete"," // the old one. But do_ecmd() may have done that already, check"," // if the buffer still exists."," if (buf != curbuf \u0026\u0026 bufref_valid(\u0026bufref) \u0026\u0026 buf-\u003eb_nwindows == 0)","\tclose_buffer(NULL, buf, action, FALSE, FALSE);"," if (!close_others)","\tneed_fileinfo = FALSE;"," return retval;","}","","/*"," * Implementation of the commands for the buffer list."," *"," * action == DOBUF_GOTO\t go to specified buffer"," * action == DOBUF_SPLIT split window and go to specified buffer"," * action == DOBUF_UNLOAD unload specified buffer(s)"," * action == DOBUF_DEL\t delete specified buffer(s) from buffer list"," * action == DOBUF_WIPE\t delete specified buffer(s) really"," * action == DOBUF_WIPE_REUSE idem, and add number to \"buf_reuse\""," *"," * start == DOBUF_CURRENT go to \"count\" buffer from current buffer"," * start == DOBUF_FIRST\t go to \"count\" buffer from first buffer"," * start == DOBUF_LAST\t go to \"count\" buffer from last buffer"," * start == DOBUF_MOD\t go to \"count\" modified buffer from current buffer"," *"," * Return FAIL or OK."," */"," static int","do_buffer_ext("," int\t\taction,"," int\t\tstart,"," int\t\tdir,\t\t// FORWARD or BACKWARD"," int\t\tcount,\t\t// buffer number or number of buffers"," int\t\tflags)\t\t// DOBUF_FORCEIT etc.","{"," buf_T\t*buf;"," buf_T\t*bp;"," int\t\tunload = (action == DOBUF_UNLOAD || action == DOBUF_DEL","\t\t\t|| action == DOBUF_WIPE || action == DOBUF_WIPE_REUSE);",""," switch (start)"," {","\tcase DOBUF_FIRST: buf = firstbuf; break;","\tcase DOBUF_LAST: buf = lastbuf; break;","\tdefault:\t buf = curbuf; break;"," }"," if (start == DOBUF_MOD)\t // find next modified buffer"," {","\twhile (count-- \u003e 0)","\t{","\t do","\t {","\t\tbuf = buf-\u003eb_next;","\t\tif (buf == NULL)","\t\t buf = firstbuf;","\t }","\t while (buf != curbuf \u0026\u0026 !bufIsChanged(buf));","\t}","\tif (!bufIsChanged(buf))","\t{","\t emsg(_(e_no_modified_buffer_found));","\t return FAIL;","\t}"," }"," else if (start == DOBUF_FIRST \u0026\u0026 count) // find specified buffer number"," {","\twhile (buf != NULL \u0026\u0026 buf-\u003eb_fnum != count)","\t buf = buf-\u003eb_next;"," }"," else"," {","\tbp = NULL;","\twhile (count \u003e 0 || (!unload \u0026\u0026 !buf-\u003eb_p_bl \u0026\u0026 bp != buf))","\t{","\t // remember the buffer where we start, we come back there when all","\t // buffers are unlisted.","\t if (bp == NULL)","\t\tbp = buf;","\t if (dir == FORWARD)","\t {","\t\tbuf = buf-\u003eb_next;","\t\tif (buf == NULL)","\t\t buf = firstbuf;","\t }","\t else","\t {","\t\tbuf = buf-\u003eb_prev;","\t\tif (buf == NULL)","\t\t buf = lastbuf;","\t }","\t // Don't count unlisted buffers.","\t // Avoid non-help buffers if the starting point was a non-help buffer and","\t // vice-versa.","\t if (unload || (buf-\u003eb_p_bl","\t\t\t\u0026\u0026 ((flags \u0026 DOBUF_SKIPHELP) == 0 || buf-\u003eb_help == bp-\u003eb_help)))","\t {","\t\t --count;","\t\t bp = NULL;\t// use this buffer as new starting point","\t }","\t if (bp == buf)","\t {","\t\t// back where we started, didn't find anything.","\t\temsg(_(e_there_is_no_listed_buffer));","\t\treturn FAIL;","\t }","\t}"," }",""," if (buf == NULL)\t // could not find it"," {","\tif (start == DOBUF_FIRST)","\t{","\t // don't warn when deleting","\t if (!unload)","\t\tsemsg(_(e_buffer_nr_does_not_exist), count);","\t}","\telse if (dir == FORWARD)","\t emsg(_(e_cannot_go_beyond_last_buffer));","\telse","\t emsg(_(e_cannot_go_before_first_buffer));","\treturn FAIL;"," }","#ifdef FEAT_PROP_POPUP"," if ((flags \u0026 DOBUF_NOPOPUP) \u0026\u0026 bt_popup(buf) \u0026\u0026 !bt_terminal(buf))","\treturn OK;","#endif"," if (","\taction == DOBUF_GOTO","\t\u0026\u0026 buf != curbuf","\t\u0026\u0026 !check_can_set_curbuf_forceit((flags \u0026 DOBUF_FORCEIT) ? TRUE : FALSE))"," // disallow navigating to another buffer when 'winfixbuf' is applied"," return FAIL;",""," if ((action == DOBUF_GOTO || action == DOBUF_SPLIT)","\t\t\t\t\t\t \u0026\u0026 (buf-\u003eb_flags \u0026 BF_DUMMY))"," {","\t// disallow navigating to the dummy buffer","\tsemsg(_(e_buffer_nr_does_not_exist), count);","\treturn FAIL;"," }","","#ifdef FEAT_GUI"," need_mouse_correct = TRUE;","#endif",""," /*"," * delete buffer \"buf\" from memory and/or the list"," */"," if (unload)"," {","\tint\tforward;","\tbufref_T bufref;","","\tif (!can_unload_buffer(buf))","\t return FAIL;","","\tset_bufref(\u0026bufref, buf);","","\t// When unloading or deleting a buffer that's already unloaded and","\t// unlisted: fail silently.","\tif (action != DOBUF_WIPE \u0026\u0026 action != DOBUF_WIPE_REUSE","\t\t\t\t \u0026\u0026 buf-\u003eb_ml.ml_mfp == NULL \u0026\u0026 !buf-\u003eb_p_bl)","\t return FAIL;","","\tif ((flags \u0026 DOBUF_FORCEIT) == 0 \u0026\u0026 bufIsChanged(buf))","\t{","#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)","\t if ((p_confirm || (cmdmod.cmod_flags \u0026 CMOD_CONFIRM)) \u0026\u0026 p_write)","\t {","# ifdef FEAT_TERMINAL","\t\tif (term_job_running(buf-\u003eb_term))","\t\t{","\t\t if (term_confirm_stop(buf) == FAIL)","\t\t\treturn FAIL;","\t\t}","\t\telse","# endif","\t\t{","\t\t dialog_changed(buf, FALSE);","\t\t if (!bufref_valid(\u0026bufref))","\t\t\t// Autocommand deleted buffer, oops! It's not changed","\t\t\t// now.","\t\t\treturn FAIL;","\t\t // If it's still changed fail silently, the dialog already","\t\t // mentioned why it fails.","\t\t if (bufIsChanged(buf))","\t\t\treturn FAIL;","\t\t}","\t }","\t else","#endif","\t {","\t\tno_write_message_buf(buf);","\t\treturn FAIL;","\t }","\t}","","\t// When closing the current buffer stop Visual mode.","\tif (buf == curbuf \u0026\u0026 VIsual_active)","\t end_visual_mode();","","\t// If deleting the last (listed) buffer, make it empty.","\t// The last (listed) buffer cannot be unloaded.","\tFOR_ALL_BUFFERS(bp)","\t if (bp-\u003eb_p_bl \u0026\u0026 bp != buf)","\t\tbreak;","\tif (bp == NULL \u0026\u0026 buf == curbuf)","\t return empty_curbuf(TRUE, (flags \u0026 DOBUF_FORCEIT), action);","","\t// If the deleted buffer is the current one, close the current window","\t// (unless it's the only window). Repeat this so long as we end up in","\t// a window with this buffer.","\twhile (buf == curbuf","\t\t \u0026\u0026 !(win_locked(curwin) || curwin-\u003ew_buffer-\u003eb_locked \u003e 0)","\t\t \u0026\u0026 (!ONE_WINDOW || first_tabpage-\u003etp_next != NULL))","\t{","\t if (win_close(curwin, FALSE) == FAIL)","\t\tbreak;","\t}","","\t// If the buffer to be deleted is not the current one, delete it here.","\tif (buf != curbuf)","\t{","\t close_windows(buf, FALSE);","\t if (buf != curbuf \u0026\u0026 bufref_valid(\u0026bufref) \u0026\u0026 buf-\u003eb_nwindows \u003c= 0)","\t\t close_buffer(NULL, buf, action, FALSE, FALSE);","\t return OK;","\t}","","\t/*","\t * Deleting the current buffer: Need to find another buffer to go to.","\t * There should be another, otherwise it would have been handled","\t * above. However, autocommands may have deleted all buffers.","\t * First use au_new_curbuf.br_buf, if it is valid.","\t * Then prefer the buffer we most recently visited.","\t * Else try to find one that is loaded, after the current buffer,","\t * then before the current buffer.","\t * Finally use any buffer.","\t */","\tbuf = NULL;\t// selected buffer","\tbp = NULL;\t// used when no loaded buffer found","\tif (au_new_curbuf.br_buf != NULL \u0026\u0026 bufref_valid(\u0026au_new_curbuf))","\t buf = au_new_curbuf.br_buf;","\telse if (curwin-\u003ew_jumplistlen \u003e 0)","\t{","\t int jumpidx;","","\t jumpidx = curwin-\u003ew_jumplistidx - 1;","\t if (jumpidx \u003c 0)","\t\tjumpidx = curwin-\u003ew_jumplistlen - 1;","","\t forward = jumpidx;","\t while (jumpidx != curwin-\u003ew_jumplistidx)","\t {","\t\tbuf = buflist_findnr(curwin-\u003ew_jumplist[jumpidx].fmark.fnum);","\t\tif (buf != NULL)","\t\t{","\t\t // Skip current and unlisted bufs. Also skip a quickfix","\t\t // buffer, it might be deleted soon.","\t\t if (buf == curbuf || !buf-\u003eb_p_bl || bt_quickfix(buf))","\t\t\tbuf = NULL;","\t\t else if (buf-\u003eb_ml.ml_mfp == NULL)","\t\t {","\t\t\t// skip unloaded buf, but may keep it for later","\t\t\tif (bp == NULL)","\t\t\t bp = buf;","\t\t\tbuf = NULL;","\t\t }","\t\t}","\t\tif (buf != NULL) // found a valid buffer: stop searching","\t\t break;","\t\t// advance to older entry in jump list","\t\tif (!jumpidx \u0026\u0026 curwin-\u003ew_jumplistidx == curwin-\u003ew_jumplistlen)","\t\t break;","\t\tif (--jumpidx \u003c 0)","\t\t jumpidx = curwin-\u003ew_jumplistlen - 1;","\t\tif (jumpidx == forward)\t\t// List exhausted for sure","\t\t break;","\t }","\t}","","\tif (buf == NULL)\t// No previous buffer, Try 2'nd approach","\t{","\t forward = TRUE;","\t buf = curbuf-\u003eb_next;","\t for (;;)","\t {","\t\tif (buf == NULL)","\t\t{","\t\t if (!forward)\t// tried both directions","\t\t\tbreak;","\t\t buf = curbuf-\u003eb_prev;","\t\t forward = FALSE;","\t\t continue;","\t\t}","\t\t// in non-help buffer, try to skip help buffers, and vv","\t\tif (buf-\u003eb_help == curbuf-\u003eb_help \u0026\u0026 buf-\u003eb_p_bl","\t\t\t \u0026\u0026 !bt_quickfix(buf))","\t\t{","\t\t if (buf-\u003eb_ml.ml_mfp != NULL) // found loaded buffer","\t\t\tbreak;","\t\t if (bp == NULL)\t// remember unloaded buf for later","\t\t\tbp = buf;","\t\t}","\t\tif (forward)","\t\t buf = buf-\u003eb_next;","\t\telse","\t\t buf = buf-\u003eb_prev;","\t }","\t}","\tif (buf == NULL)\t// No loaded buffer, use unloaded one","\t buf = bp;","\tif (buf == NULL)\t// No loaded buffer, find listed one","\t{","\t FOR_ALL_BUFFERS(buf)","\t\tif (buf-\u003eb_p_bl \u0026\u0026 buf != curbuf \u0026\u0026 !bt_quickfix(buf))","\t\t break;","\t}","\tif (buf == NULL)\t// Still no buffer, just take one","\t{","\t if (curbuf-\u003eb_next != NULL)","\t\tbuf = curbuf-\u003eb_next;","\t else","\t\tbuf = curbuf-\u003eb_prev;","\t if (bt_quickfix(buf))","\t\tbuf = NULL;","\t}"," }",""," if (buf == NULL)"," {","\t// Autocommands must have wiped out all other buffers. Only option","\t// now is to make the current buffer empty.","\treturn empty_curbuf(FALSE, (flags \u0026 DOBUF_FORCEIT), action);"," }",""," /*"," * make \"buf\" the current buffer"," */"," if (action == DOBUF_SPLIT)\t // split window first"," {","\t// If 'switchbuf' is set jump to the window containing \"buf\".","\tif (swbuf_goto_win_with_buf(buf) != NULL)","\t return OK;","","\tif (win_split(0, 0) == FAIL)","\t return FAIL;"," }",""," // go to current buffer - nothing to do"," if (buf == curbuf)","\treturn OK;",""," // Check if the current buffer may be abandoned."," if (action == DOBUF_GOTO \u0026\u0026 !can_abandon(curbuf, (flags \u0026 DOBUF_FORCEIT)))"," {","#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)","\tif ((p_confirm || (cmdmod.cmod_flags \u0026 CMOD_CONFIRM)) \u0026\u0026 p_write)","\t{","# ifdef FEAT_TERMINAL","\t if (term_job_running(curbuf-\u003eb_term))","\t {","\t\tif (term_confirm_stop(curbuf) == FAIL)","\t\t return FAIL;","\t\t// Manually kill the terminal here because this command will","\t\t// hide it otherwise.","\t\tfree_terminal(curbuf);","\t }","\t else","# endif","\t {","\t\tbufref_T bufref;","","\t\tset_bufref(\u0026bufref, buf);","\t\tdialog_changed(curbuf, FALSE);","\t\tif (!bufref_valid(\u0026bufref))","\t\t // Autocommand deleted buffer, oops!","\t\t return FAIL;","","\t\tif (bufIsChanged(curbuf))","\t\t{","\t\t no_write_message();","\t\t return FAIL;","\t\t}","\t }","\t}","\telse","#endif","\t{","\t no_write_message();","\t return FAIL;","\t}"," }",""," // Go to the other buffer."," set_curbuf(buf, action);",""," if (action == DOBUF_SPLIT)","\tRESET_BINDING(curwin);\t// reset 'scrollbind' and 'cursorbind'","","#if defined(FEAT_EVAL)"," if (aborting())\t // autocmds may abort script processing","\treturn FAIL;","#endif",""," return OK;","}",""," int","do_buffer("," int\t\taction,"," int\t\tstart,"," int\t\tdir,\t\t// FORWARD or BACKWARD"," int\t\tcount,\t\t// buffer number or number of buffers"," int\t\tforceit)\t// TRUE when using !","{"," return do_buffer_ext(action, start, dir, count,","\t\t\t\t\t\t forceit ? DOBUF_FORCEIT : 0);","}","","/*"," * do_bufdel() - delete or unload buffer(s)"," *"," * addr_count == 0: \":bdel\" - delete current buffer"," * addr_count == 1: \":N bdel\" or \":bdel N [N ..]\" - first delete"," *\t\t buffer \"end_bnr\", then any other arguments."," * addr_count == 2: \":N,N bdel\" - delete buffers in range"," *"," * command can be DOBUF_UNLOAD (\":bunload\"), DOBUF_WIPE (\":bwipeout\") or"," * DOBUF_DEL (\":bdel\")"," *"," * Returns error message or NULL"," */"," char *","do_bufdel("," int\t\tcommand,"," char_u\t*arg,\t\t// pointer to extra arguments"," int\t\taddr_count,"," int\t\tstart_bnr,\t// first buffer number in a range"," int\t\tend_bnr,\t// buffer nr or last buffer nr in a range"," int\t\tforceit)","{"," int\t\tdo_current = 0;\t// delete current buffer?"," int\t\tdeleted = 0;\t// number of buffers deleted"," char\t*errormsg = NULL; // return value"," int\t\tbnr;\t\t// buffer number"," char_u\t*p;",""," if (addr_count == 0)"," {","\t(void)do_buffer(command, DOBUF_CURRENT, FORWARD, 0, forceit);"," }"," else"," {","\tif (addr_count == 2)","\t{","\t if (*arg)\t\t// both range and argument is not allowed","\t\treturn ex_errmsg(e_trailing_characters_str, arg);","\t bnr = start_bnr;","\t}","\telse\t// addr_count == 1","\t bnr = end_bnr;","","\tfor ( ;!got_int; ui_breakcheck())","\t{","\t // Delete the current buffer last, otherwise when the","\t // current buffer is deleted, the next buffer becomes","\t // the current one and will be loaded, which may then","\t // also be deleted, etc.","\t if (bnr == curbuf-\u003eb_fnum)","\t\tdo_current = bnr;","\t else if (do_buffer_ext(command, DOBUF_FIRST, FORWARD, bnr,","\t\t\t DOBUF_NOPOPUP | (forceit ? DOBUF_FORCEIT : 0)) == OK)","\t\t++deleted;","","\t // find next buffer number to delete/unload","\t if (addr_count == 2)","\t {","\t\tif (++bnr \u003e end_bnr)","\t\t break;","\t }","\t else // addr_count == 1","\t {","\t\targ = skipwhite(arg);","\t\tif (*arg == NUL)","\t\t break;","\t\tif (!VIM_ISDIGIT(*arg))","\t\t{","\t\t p = skiptowhite_esc(arg);","\t\t bnr = buflist_findpat(arg, p,","\t\t\t command == DOBUF_WIPE || command == DOBUF_WIPE_REUSE,","\t\t\t\t\t\t\t\tFALSE, FALSE);","\t\t if (bnr \u003c 0)\t // failed","\t\t\tbreak;","\t\t arg = p;","\t\t}","\t\telse","\t\t bnr = getdigits(\u0026arg);","\t }","\t}","\tif (!got_int \u0026\u0026 do_current \u0026\u0026 do_buffer(command, DOBUF_FIRST,","\t\t\t\t\t FORWARD, do_current, forceit) == OK)","\t ++deleted;","","\tif (deleted == 0)","\t{","\t if (command == DOBUF_UNLOAD)","\t\tSTRCPY(IObuff, _(e_no_buffers_were_unloaded));","\t else if (command == DOBUF_DEL)","\t\tSTRCPY(IObuff, _(e_no_buffers_were_deleted));","\t else","\t\tSTRCPY(IObuff, _(e_no_buffers_were_wiped_out));","\t errormsg = (char *)IObuff;","\t}","\telse if (deleted \u003e= p_report)","\t{","\t if (command == DOBUF_UNLOAD)","\t\tsmsg(NGETTEXT(\"%d buffer unloaded\",","\t\t\t \"%d buffers unloaded\", deleted), deleted);","\t else if (command == DOBUF_DEL)","\t\tsmsg(NGETTEXT(\"%d buffer deleted\",","\t\t\t \"%d buffers deleted\", deleted), deleted);","\t else","\t\tsmsg(NGETTEXT(\"%d buffer wiped out\",","\t\t\t \"%d buffers wiped out\", deleted), deleted);","\t}"," }",""," return errormsg;","}","","/*"," * Set current buffer to \"buf\". Executes autocommands and closes current"," * buffer. \"action\" tells how to close the current buffer:"," * DOBUF_GOTO\t free or hide it"," * DOBUF_SPLIT\t nothing"," * DOBUF_UNLOAD\t unload it"," * DOBUF_DEL\t delete it"," * DOBUF_WIPE\t wipe it out"," * DOBUF_WIPE_REUSE wipe it out and add to \"buf_reuse\""," */"," void","set_curbuf(buf_T *buf, int action)","{"," buf_T\t*prevbuf;"," int\t\tunload = (action == DOBUF_UNLOAD || action == DOBUF_DEL","\t\t\t|| action == DOBUF_WIPE || action == DOBUF_WIPE_REUSE);","#ifdef FEAT_SYN_HL"," long\told_tw = curbuf-\u003eb_p_tw;","#endif"," bufref_T\tnewbufref;"," bufref_T\tprevbufref;"," int\t\tvalid;"," int\t\tlast_winid = get_last_winid();",""," setpcmark();"," if ((cmdmod.cmod_flags \u0026 CMOD_KEEPALT) == 0)","\tcurwin-\u003ew_alt_fnum = curbuf-\u003eb_fnum; // remember alternate file"," buflist_altfpos(curwin);\t\t\t // remember curpos",""," // Don't restart Select mode after switching to another buffer."," VIsual_reselect = FALSE;",""," // close_windows() or apply_autocmds() may change curbuf and wipe out \"buf\""," prevbuf = curbuf;"," set_bufref(\u0026prevbufref, prevbuf);"," set_bufref(\u0026newbufref, buf);",""," // Autocommands may delete the current buffer and/or the buffer we want to"," // go to. In those cases don't close the buffer."," if (!apply_autocmds(EVENT_BUFLEAVE, NULL, NULL, FALSE, curbuf)","\t || (bufref_valid(\u0026prevbufref)","\t\t\u0026\u0026 bufref_valid(\u0026newbufref)","#ifdef FEAT_EVAL","\t\t\u0026\u0026 !aborting()","#endif","\t ))"," {","#ifdef FEAT_SYN_HL","\tif (prevbuf == curwin-\u003ew_buffer)","\t reset_synblock(curwin);","#endif","\t// autocommands may have opened a new window","\t// with prevbuf, grr","\tif (unload ||","\t (last_winid != get_last_winid() \u0026\u0026","\t strchr((char *)\"wdu\", prevbuf-\u003eb_p_bh[0]) != NULL))","\t close_windows(prevbuf, FALSE);","#if defined(FEAT_EVAL)","\tif (bufref_valid(\u0026prevbufref) \u0026\u0026 !aborting())","#else","\tif (bufref_valid(\u0026prevbufref))","#endif","\t{","\t win_T *previouswin = curwin;","","\t // Do not sync when in Insert mode and the buffer is open in","\t // another window, might be a timer doing something in another","\t // window.","\t if (prevbuf == curbuf","\t\t \u0026\u0026 ((State \u0026 MODE_INSERT) == 0 || curbuf-\u003eb_nwindows \u003c= 1))","\t\tu_sync(FALSE);","\t close_buffer(prevbuf == curwin-\u003ew_buffer ? curwin : NULL, prevbuf,","\t\t unload ? action : (action == DOBUF_GOTO","\t\t\t\u0026\u0026 !buf_hide(prevbuf)","\t\t\t\u0026\u0026 !bufIsChanged(prevbuf)) ? DOBUF_UNLOAD : 0,","\t\t FALSE, FALSE);","\t if (curwin != previouswin \u0026\u0026 win_valid(previouswin))","\t // autocommands changed curwin, Grr!","\t curwin = previouswin;","\t}"," }"," // An autocommand may have deleted \"buf\", already entered it (e.g., when"," // it did \":bunload\") or aborted the script processing."," // If curwin-\u003ew_buffer is null, enter_buffer() will make it valid again"," valid = buf_valid(buf);"," if ((valid \u0026\u0026 buf != curbuf","#ifdef FEAT_EVAL","\t\t\u0026\u0026 !aborting()","#endif","\t) || curwin-\u003ew_buffer == NULL)"," {","\t// autocommands changed curbuf and we will move to another","\t// buffer soon, so decrement curbuf-\u003eb_nwindows","\tif (curbuf != NULL \u0026\u0026 prevbuf != curbuf)","\t curbuf-\u003eb_nwindows--;","\t// If the buffer is not valid but curwin-\u003ew_buffer is NULL we must","\t// enter some buffer. Using the last one is hopefully OK.","\tif (!valid)","\t enter_buffer(lastbuf);","\telse","\t enter_buffer(buf);","#ifdef FEAT_SYN_HL","\tif (old_tw != curbuf-\u003eb_p_tw)","\t check_colorcolumn(NULL, curwin);","#endif"," }","}","","/*"," * Enter a new current buffer."," * Old curbuf must have been abandoned already! This also means \"curbuf\" may"," * be pointing to freed memory."," */"," static void","enter_buffer(buf_T *buf)","{"," // when closing the current buffer stop Visual mode"," if (VIsual_active","#if defined(EXITFREE)","\t \u0026\u0026 !entered_free_all_mem","#endif","\t )","\tend_visual_mode();",""," // Get the buffer in the current window."," curwin-\u003ew_buffer = buf;"," curbuf = buf;"," ++curbuf-\u003eb_nwindows;",""," // Copy buffer and window local option values. Not for a help buffer."," buf_copy_options(buf, BCO_ENTER | BCO_NOHELP);"," if (!buf-\u003eb_help)","\tget_winopts(buf);","#ifdef FEAT_FOLDING"," else","\t// Remove all folds in the window.","\tclearFolding(curwin);"," foldUpdateAll(curwin);\t// update folds (later).","#endif","","#ifdef FEAT_DIFF"," if (curwin-\u003ew_p_diff)","\tdiff_buf_add(curbuf);","#endif","","#ifdef FEAT_SYN_HL"," curwin-\u003ew_s = \u0026(curbuf-\u003eb_s);","#endif",""," // Cursor on first line by default."," curwin-\u003ew_cursor.lnum = 1;"," curwin-\u003ew_cursor.col = 0;"," curwin-\u003ew_cursor.coladd = 0;"," curwin-\u003ew_set_curswant = TRUE;"," curwin-\u003ew_topline_was_set = FALSE;",""," // mark cursor position as being invalid"," curwin-\u003ew_valid = 0;",""," buflist_setfpos(curbuf, curwin, curbuf-\u003eb_last_cursor.lnum,","\t\t\t\t\t curbuf-\u003eb_last_cursor.col, TRUE);",""," // Make sure the buffer is loaded."," if (curbuf-\u003eb_ml.ml_mfp == NULL)\t// need to load the file"," {","\t// If there is no filetype, allow for detecting one. Esp. useful for","\t// \":ball\" used in an autocommand. If there already is a filetype we","\t// might prefer to keep it.","\tif (*curbuf-\u003eb_p_ft == NUL)","\t curbuf-\u003eb_did_filetype = FALSE;","","\topen_buffer(FALSE, NULL, 0);"," }"," else"," {","\tif (!msg_silent \u0026\u0026 !shortmess(SHM_FILEINFO))","\t need_fileinfo = TRUE;\t// display file info after redraw","","\t// check if file changed","\t(void)buf_check_timestamp(curbuf, FALSE);","","\tcurwin-\u003ew_topline = 1;","#ifdef FEAT_DIFF","\tcurwin-\u003ew_topfill = 0;","#endif","\tapply_autocmds(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf);","\tapply_autocmds(EVENT_BUFWINENTER, NULL, NULL, FALSE, curbuf);"," }",""," // If autocommands did not change the cursor position, restore cursor lnum"," // and possibly cursor col."," if (curwin-\u003ew_cursor.lnum == 1 \u0026\u0026 inindent(0))","\tbuflist_getfpos();",""," check_arg_idx(curwin);\t\t// check for valid arg_idx"," maketitle();","\t// when autocmds didn't change it"," if (curwin-\u003ew_topline == 1 \u0026\u0026 !curwin-\u003ew_topline_was_set)","\tscroll_cursor_halfway(FALSE, FALSE);\t// redisplay at correct position","","#ifdef FEAT_NETBEANS_INTG"," // Send fileOpened event because we've changed buffers."," netbeans_file_activated(curbuf);","#endif",""," // Change directories when the 'acd' option is set."," DO_AUTOCHDIR;","","#ifdef FEAT_KEYMAP"," if (curbuf-\u003eb_kmap_state \u0026 KEYMAP_INIT)","\t(void)keymap_init();","#endif","#ifdef FEAT_SPELL"," // May need to set the spell language. Can only do this after the buffer"," // has been properly setup."," if (!curbuf-\u003eb_help \u0026\u0026 curwin-\u003ew_p_spell \u0026\u0026 *curwin-\u003ew_s-\u003eb_p_spl != NUL)","\t(void)parse_spelllang(curwin);","#endif","#ifdef FEAT_VIMINFO"," curbuf-\u003eb_last_used = vim_time();","#endif",""," redraw_later(UPD_NOT_VALID);","}","","#if defined(FEAT_AUTOCHDIR) || defined(PROTO)","/*"," * Change to the directory of the current buffer."," * Don't do this while still starting up."," */"," void","do_autochdir(void)","{"," if ((starting == 0 || test_autochdir)","\t \u0026\u0026 curbuf-\u003eb_ffname != NULL","\t \u0026\u0026 vim_chdirfile(curbuf-\u003eb_ffname, \"auto\") == OK)"," {","\tshorten_fnames(TRUE);","\tlast_chdir_reason = \"autochdir\";"," }","}","#endif",""," static void","no_write_message_buf(buf_T *buf UNUSED)","{","#ifdef FEAT_TERMINAL"," if (term_job_running(buf-\u003eb_term))","\temsg(_(e_job_still_running_add_bang_to_end_the_job));"," else","#endif","\tsemsg(_(e_no_write_since_last_change_for_buffer_nr_add_bang_to_override),","\t\tbuf-\u003eb_fnum);","}",""," void","no_write_message(void)","{","#ifdef FEAT_TERMINAL"," if (term_job_running(curbuf-\u003eb_term))","\temsg(_(e_job_still_running_add_bang_to_end_the_job));"," else","#endif","\temsg(_(e_no_write_since_last_change_add_bang_to_override));","}",""," void","no_write_message_nobang(buf_T *buf UNUSED)","{","#ifdef FEAT_TERMINAL"," if (term_job_running(buf-\u003eb_term))","\temsg(_(e_job_still_running));"," else","#endif","\temsg(_(e_no_write_since_last_change));","}","","/*"," * functions for dealing with the buffer list"," */","","/*"," * Return TRUE if the current buffer is empty, unnamed, unmodified and used in"," * only one window. That means it can be re-used."," */"," int","curbuf_reusable(void)","{"," return (curbuf != NULL","\t\u0026\u0026 curbuf-\u003eb_ffname == NULL","\t\u0026\u0026 curbuf-\u003eb_nwindows \u003c= 1","\t\u0026\u0026 (curbuf-\u003eb_ml.ml_mfp == NULL || BUFEMPTY())","\t\u0026\u0026 !bt_quickfix(curbuf)","\t\u0026\u0026 !curbufIsChanged());","}","","/*"," * Add a file name to the buffer list. Return a pointer to the buffer."," * If the same file name already exists return a pointer to that buffer."," * If it does not exist, or if fname == NULL, a new entry is created."," * If (flags \u0026 BLN_CURBUF) is TRUE, may use current buffer."," * If (flags \u0026 BLN_LISTED) is TRUE, add new buffer to buffer list."," * If (flags \u0026 BLN_DUMMY) is TRUE, don't count it as a real buffer."," * If (flags \u0026 BLN_NEW) is TRUE, don't use an existing buffer."," * If (flags \u0026 BLN_NOOPT) is TRUE, don't copy options from the current buffer"," *\t\t\t\t if the buffer already exists."," * If (flags \u0026 BLN_REUSE) is TRUE, may use buffer number from \"buf_reuse\"."," * This is the ONLY way to create a new buffer."," */"," buf_T *","buflist_new("," char_u\t*ffname_arg,\t// full path of fname or relative"," char_u\t*sfname_arg,\t// short fname or NULL"," linenr_T\tlnum,\t\t// preferred cursor line"," int\t\tflags)\t\t// BLN_ defines","{"," char_u\t*ffname = ffname_arg;"," char_u\t*sfname = sfname_arg;"," buf_T\t*buf;","#ifdef UNIX"," stat_T\tst;","#endif",""," if (top_file_num == 1)","\thash_init(\u0026buf_hashtab);",""," fname_expand(curbuf, \u0026ffname, \u0026sfname);\t// will allocate ffname",""," /*"," * If the file name already exists in the list, update the entry."," */","#ifdef UNIX"," // On Unix we can use inode numbers when the file exists. Works better"," // for hard links."," if (sfname == NULL || mch_stat((char *)sfname, \u0026st) \u003c 0)","\tst.st_dev = (dev_T)-1;","#endif"," if (ffname != NULL \u0026\u0026 !(flags \u0026 (BLN_DUMMY | BLN_NEW)) \u0026\u0026 (buf =","#ifdef UNIX","\t\tbuflist_findname_stat(ffname, \u0026st)","#else","\t\tbuflist_findname(ffname)","#endif","\t\t) != NULL)"," {","\tvim_free(ffname);","\tif (lnum != 0)","\t buflist_setfpos(buf, (flags \u0026 BLN_NOCURWIN) ? NULL : curwin,","\t\t\t\t\t\t lnum, (colnr_T)0, FALSE);","","\tif ((flags \u0026 BLN_NOOPT) == 0)","\t // copy the options now, if 'cpo' doesn't have 's' and not done","\t // already","\t buf_copy_options(buf, 0);","","\tif ((flags \u0026 BLN_LISTED) \u0026\u0026 !buf-\u003eb_p_bl)","\t{","\t bufref_T bufref;","","\t buf-\u003eb_p_bl = TRUE;","\t set_bufref(\u0026bufref, buf);","\t if (!(flags \u0026 BLN_DUMMY))","\t {","\t\tif (apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf)","\t\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t\t return NULL;","\t }","\t}","\treturn buf;"," }",""," /*"," * If the current buffer has no name and no contents, use the current"," * buffer.\tOtherwise: Need to allocate a new buffer structure."," *"," * This is the ONLY place where a new buffer structure is allocated!"," * (A spell file buffer is allocated in spell.c, but that's not a normal"," * buffer.)"," */"," buf = NULL;"," if ((flags \u0026 BLN_CURBUF) \u0026\u0026 curbuf_reusable())"," {","\tbuf = curbuf;","\t// It's like this buffer is deleted. Watch out for autocommands that","\t// change curbuf! If that happens, allocate a new buffer anyway.","\tbuf_freeall(buf, BFA_WIPE | BFA_DEL);","\tif (buf != curbuf) // autocommands deleted the buffer!","\t return NULL;","#ifdef FEAT_EVAL","\tif (aborting())\t\t// autocmds may abort script processing","\t{","\t vim_free(ffname);","\t return NULL;","\t}","#endif"," }"," if (buf != curbuf || curbuf == NULL)"," {","\tbuf = ALLOC_CLEAR_ONE(buf_T);","\tif (buf == NULL)","\t{","\t vim_free(ffname);","\t return NULL;","\t}","#ifdef FEAT_EVAL","\t// init b: variables","\tbuf-\u003eb_vars = dict_alloc_id(aid_newbuf_bvars);","\tif (buf-\u003eb_vars == NULL)","\t{","\t vim_free(ffname);","\t vim_free(buf);","\t return NULL;","\t}","\tinit_var_dict(buf-\u003eb_vars, \u0026buf-\u003eb_bufvar, VAR_SCOPE);","#endif","\tinit_changedtick(buf);"," }",""," if (ffname != NULL)"," {","\tbuf-\u003eb_ffname = ffname;","\tbuf-\u003eb_sfname = vim_strsave(sfname);"," }",""," clear_wininfo(buf);"," buf-\u003eb_wininfo = ALLOC_CLEAR_ONE(wininfo_T);",""," if ((ffname != NULL \u0026\u0026 (buf-\u003eb_ffname == NULL || buf-\u003eb_sfname == NULL))","\t || buf-\u003eb_wininfo == NULL)"," {","\tif (buf-\u003eb_sfname != buf-\u003eb_ffname)","\t VIM_CLEAR(buf-\u003eb_sfname);","\telse","\t buf-\u003eb_sfname = NULL;","\tVIM_CLEAR(buf-\u003eb_ffname);","\tif (buf != curbuf)","\t free_buffer(buf);","\treturn NULL;"," }",""," if (buf == curbuf)"," {","\tfree_buffer_stuff(buf, FALSE);\t// delete local variables et al.","","\t// Init the options.","\tbuf-\u003eb_p_initialized = FALSE;","\tbuf_copy_options(buf, BCO_ENTER);","","#ifdef FEAT_KEYMAP","\t// need to reload lmaps and set b:keymap_name","\tcurbuf-\u003eb_kmap_state |= KEYMAP_INIT;","#endif"," }"," else"," {","\t// put the new buffer at the end of the buffer list","\tbuf-\u003eb_next = NULL;","\tif (firstbuf == NULL)\t\t// buffer list is empty","\t{","\t buf-\u003eb_prev = NULL;","\t firstbuf = buf;","\t}","\telse\t\t\t\t// append new buffer at end of list","\t{","\t lastbuf-\u003eb_next = buf;","\t buf-\u003eb_prev = lastbuf;","\t}","\tlastbuf = buf;","","\tif ((flags \u0026 BLN_REUSE) \u0026\u0026 buf_reuse.ga_len \u003e 0)","\t{","\t // Recycle a previously used buffer number. Used for buffers which","\t // are normally hidden, e.g. in a popup window. Avoids that the","\t // buffer number grows rapidly.","\t --buf_reuse.ga_len;","\t buf-\u003eb_fnum = ((int *)buf_reuse.ga_data)[buf_reuse.ga_len];","","\t // Move buffer to the right place in the buffer list.","\t while (buf-\u003eb_prev != NULL \u0026\u0026 buf-\u003eb_fnum \u003c buf-\u003eb_prev-\u003eb_fnum)","\t {","\t\tbuf_T\t*prev = buf-\u003eb_prev;","","\t\tprev-\u003eb_next = buf-\u003eb_next;","\t\tif (prev-\u003eb_next != NULL)","\t\t prev-\u003eb_next-\u003eb_prev = prev;","\t\tbuf-\u003eb_next = prev;","\t\tbuf-\u003eb_prev = prev-\u003eb_prev;","\t\tif (buf-\u003eb_prev != NULL)","\t\t buf-\u003eb_prev-\u003eb_next = buf;","\t\tprev-\u003eb_prev = buf;","\t\tif (lastbuf == buf)","\t\t lastbuf = prev;","\t\tif (firstbuf == prev)","\t\t firstbuf = buf;","\t }","\t}","\telse","\t buf-\u003eb_fnum = top_file_num++;","\tif (top_file_num \u003c 0)\t\t// wrap around (may cause duplicates)","\t{","\t emsg(_(\"W14: Warning: List of file names overflow\"));","\t if (emsg_silent == 0 \u0026\u0026 !in_assert_fails)","\t {","\t\tout_flush();","\t\tui_delay(3001L, TRUE);\t// make sure it is noticed","\t }","\t top_file_num = 1;","\t}","\tbuf_hashtab_add(buf);","","\t// Always copy the options from the current buffer.","\tbuf_copy_options(buf, BCO_ALWAYS);"," }",""," buf-\u003eb_wininfo-\u003ewi_fpos.lnum = lnum;"," buf-\u003eb_wininfo-\u003ewi_win = curwin;","","#ifdef FEAT_SYN_HL"," hash_init(\u0026buf-\u003eb_s.b_keywtab);"," hash_init(\u0026buf-\u003eb_s.b_keywtab_ic);","#endif",""," buf-\u003eb_fname = buf-\u003eb_sfname;","#ifdef UNIX"," if (st.st_dev == (dev_T)-1)","\tbuf-\u003eb_dev_valid = FALSE;"," else"," {","\tbuf-\u003eb_dev_valid = TRUE;","\tbuf-\u003eb_dev = st.st_dev;","\tbuf-\u003eb_ino = st.st_ino;"," }","#endif"," buf-\u003eb_u_synced = TRUE;"," buf-\u003eb_flags = BF_CHECK_RO | BF_NEVERLOADED;"," if (flags \u0026 BLN_DUMMY)","\tbuf-\u003eb_flags |= BF_DUMMY;"," buf_clear_file(buf);"," clrallmarks(buf);\t\t\t// clear marks"," fmarks_check_names(buf);\t\t// check file marks for this file"," buf-\u003eb_p_bl = (flags \u0026 BLN_LISTED) ? TRUE : FALSE;\t// init 'buflisted'"," if (!(flags \u0026 BLN_DUMMY))"," {","\tbufref_T bufref;","","\t// Tricky: these autocommands may change the buffer list. They could","\t// also split the window with re-using the one empty buffer. This may","\t// result in unexpectedly losing the empty buffer.","\tset_bufref(\u0026bufref, buf);","\tif (apply_autocmds(EVENT_BUFNEW, NULL, NULL, FALSE, buf)","\t\t\u0026\u0026 !bufref_valid(\u0026bufref))","\t return NULL;","\tif (flags \u0026 BLN_LISTED)","\t{","\t if (apply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, buf)","\t\t \u0026\u0026 !bufref_valid(\u0026bufref))","\t\treturn NULL;","\t}","#ifdef FEAT_EVAL","\tif (aborting())\t\t// autocmds may abort script processing","\t return NULL;","#endif"," }",""," return buf;","}","","/*"," * Free the memory for the options of a buffer."," * If \"free_p_ff\" is TRUE also free 'fileformat', 'buftype' and"," * 'fileencoding'."," */"," void","free_buf_options("," buf_T\t*buf,"," int\t\tfree_p_ff)","{"," if (free_p_ff)"," {","\tclear_string_option(\u0026buf-\u003eb_p_fenc);","\tclear_string_option(\u0026buf-\u003eb_p_ff);","\tclear_string_option(\u0026buf-\u003eb_p_bh);","\tclear_string_option(\u0026buf-\u003eb_p_bt);"," }","#ifdef FEAT_FIND_ID"," clear_string_option(\u0026buf-\u003eb_p_def);"," clear_string_option(\u0026buf-\u003eb_p_inc);","# ifdef FEAT_EVAL"," clear_string_option(\u0026buf-\u003eb_p_inex);","# endif","#endif","#if defined(FEAT_EVAL)"," clear_string_option(\u0026buf-\u003eb_p_inde);"," clear_string_option(\u0026buf-\u003eb_p_indk);","#endif","#if defined(FEAT_BEVAL) \u0026\u0026 defined(FEAT_EVAL)"," clear_string_option(\u0026buf-\u003eb_p_bexpr);","#endif","#if defined(FEAT_CRYPT)"," clear_string_option(\u0026buf-\u003eb_p_cm);","#endif"," clear_string_option(\u0026buf-\u003eb_p_fp);","#if defined(FEAT_EVAL)"," clear_string_option(\u0026buf-\u003eb_p_fex);","#endif","#ifdef FEAT_CRYPT","# ifdef FEAT_SODIUM"," if (buf-\u003eb_p_key != NULL \u0026\u0026 *buf-\u003eb_p_key != NUL","\t\t\t \u0026\u0026 crypt_method_is_sodium(crypt_get_method_nr(buf)))","\tcrypt_sodium_munlock(buf-\u003eb_p_key, STRLEN(buf-\u003eb_p_key));","# endif"," clear_string_option(\u0026buf-\u003eb_p_key);","#endif"," clear_string_option(\u0026buf-\u003eb_p_kp);"," clear_string_option(\u0026buf-\u003eb_p_mps);"," clear_string_option(\u0026buf-\u003eb_p_fo);"," clear_string_option(\u0026buf-\u003eb_p_flp);"," clear_string_option(\u0026buf-\u003eb_p_isk);","#ifdef FEAT_VARTABS"," clear_string_option(\u0026buf-\u003eb_p_vsts);"," VIM_CLEAR(buf-\u003eb_p_vsts_nopaste);"," VIM_CLEAR(buf-\u003eb_p_vsts_array);"," clear_string_option(\u0026buf-\u003eb_p_vts);"," VIM_CLEAR(buf-\u003eb_p_vts_array);","#endif","#ifdef FEAT_KEYMAP"," clear_string_option(\u0026buf-\u003eb_p_keymap);"," keymap_clear(\u0026buf-\u003eb_kmap_ga);"," ga_clear(\u0026buf-\u003eb_kmap_ga);","#endif"," clear_string_option(\u0026buf-\u003eb_p_com);","#ifdef FEAT_FOLDING"," clear_string_option(\u0026buf-\u003eb_p_cms);","#endif"," clear_string_option(\u0026buf-\u003eb_p_nf);","#ifdef FEAT_SYN_HL"," clear_string_option(\u0026buf-\u003eb_p_syn);"," clear_string_option(\u0026buf-\u003eb_s.b_syn_isk);","#endif","#ifdef FEAT_SPELL"," clear_string_option(\u0026buf-\u003eb_s.b_p_spc);"," clear_string_option(\u0026buf-\u003eb_s.b_p_spf);"," vim_regfree(buf-\u003eb_s.b_cap_prog);"," buf-\u003eb_s.b_cap_prog = NULL;"," clear_string_option(\u0026buf-\u003eb_s.b_p_spl);"," clear_string_option(\u0026buf-\u003eb_s.b_p_spo);","#endif"," clear_string_option(\u0026buf-\u003eb_p_sua);"," clear_string_option(\u0026buf-\u003eb_p_ft);"," clear_string_option(\u0026buf-\u003eb_p_cink);"," clear_string_option(\u0026buf-\u003eb_p_cino);"," clear_string_option(\u0026buf-\u003eb_p_lop);"," clear_string_option(\u0026buf-\u003eb_p_cinsd);"," clear_string_option(\u0026buf-\u003eb_p_cinw);"," clear_string_option(\u0026buf-\u003eb_p_cot);"," clear_string_option(\u0026buf-\u003eb_p_cpt);","#ifdef FEAT_COMPL_FUNC"," clear_string_option(\u0026buf-\u003eb_p_cfu);"," free_callback(\u0026buf-\u003eb_cfu_cb);"," clear_string_option(\u0026buf-\u003eb_p_ofu);"," free_callback(\u0026buf-\u003eb_ofu_cb);"," clear_string_option(\u0026buf-\u003eb_p_tsrfu);"," free_callback(\u0026buf-\u003eb_tsrfu_cb);","#endif","#ifdef FEAT_QUICKFIX"," clear_string_option(\u0026buf-\u003eb_p_gp);"," clear_string_option(\u0026buf-\u003eb_p_mp);"," clear_string_option(\u0026buf-\u003eb_p_efm);","#endif"," clear_string_option(\u0026buf-\u003eb_p_ep);"," clear_string_option(\u0026buf-\u003eb_p_path);"," clear_string_option(\u0026buf-\u003eb_p_tags);"," clear_string_option(\u0026buf-\u003eb_p_tc);","#ifdef FEAT_EVAL"," clear_string_option(\u0026buf-\u003eb_p_tfu);"," free_callback(\u0026buf-\u003eb_tfu_cb);"," clear_string_option(\u0026buf-\u003eb_p_ffu);"," free_callback(\u0026buf-\u003eb_ffu_cb);","#endif"," clear_string_option(\u0026buf-\u003eb_p_dict);"," clear_string_option(\u0026buf-\u003eb_p_tsr);"," clear_string_option(\u0026buf-\u003eb_p_qe);"," buf-\u003eb_p_ar = -1;"," buf-\u003eb_p_ul = NO_LOCAL_UNDOLEVEL;"," clear_string_option(\u0026buf-\u003eb_p_lw);"," clear_string_option(\u0026buf-\u003eb_p_bkc);"," clear_string_option(\u0026buf-\u003eb_p_menc);","}","","/*"," * Get alternate file \"n\"."," * Set linenr to \"lnum\" or altfpos.lnum if \"lnum\" == 0."," *\tAlso set cursor column to altfpos.col if 'startofline' is not set."," * if (options \u0026 GETF_SETMARK) call setpcmark()"," * if (options \u0026 GETF_ALT) we are jumping to an alternate file."," * if (options \u0026 GETF_SWITCH) respect 'switchbuf' settings when jumping"," *"," * Return FAIL for failure, OK for success."," */"," int","buflist_getfile("," int\t\tn,"," linenr_T\tlnum,"," int\t\toptions,"," int\t\tforceit)","{"," buf_T\t*buf;"," win_T\t*wp = NULL;"," pos_T\t*fpos;"," colnr_T\tcol;",""," buf = buflist_findnr(n);"," if (buf == NULL)"," {","\tif ((options \u0026 GETF_ALT) \u0026\u0026 n == 0)","\t emsg(_(e_no_alternate_file));","\telse","\t semsg(_(e_buffer_nr_not_found), n);","\treturn FAIL;"," }",""," // if alternate file is the current buffer, nothing to do"," if (buf == curbuf)","\treturn OK;",""," if (text_or_buf_locked())","\treturn FAIL;",""," // altfpos may be changed by getfile(), get it now"," if (lnum == 0)"," {","\tfpos = buflist_findfpos(buf);","\tlnum = fpos-\u003elnum;","\tcol = fpos-\u003ecol;"," }"," else","\tcol = 0;",""," if (options \u0026 GETF_SWITCH)"," {","\t// If 'switchbuf' is set jump to the window containing \"buf\".","\twp = swbuf_goto_win_with_buf(buf);","","\t// If 'switchbuf' contains \"split\", \"vsplit\" or \"newtab\" and the","\t// current buffer isn't empty: open new tab or window","\tif (wp == NULL \u0026\u0026 (swb_flags \u0026 (SWB_VSPLIT | SWB_SPLIT | SWB_NEWTAB))","\t\t\t\t\t\t\t \u0026\u0026 !BUFEMPTY())","\t{","\t if (swb_flags \u0026 SWB_NEWTAB)","\t\ttabpage_new();","\t else if (win_split(0, (swb_flags \u0026 SWB_VSPLIT) ? WSP_VERT : 0)","\t\t\t\t\t\t\t\t == FAIL)","\t\treturn FAIL;","\t RESET_BINDING(curwin);","\t}"," }",""," ++RedrawingDisabled;"," int retval = FAIL;"," if (GETFILE_SUCCESS(getfile(buf-\u003eb_fnum, NULL, NULL,","\t\t\t\t (options \u0026 GETF_SETMARK), lnum, forceit)))"," {","\t// cursor is at to BOL and w_cursor.lnum is checked due to getfile()","\tif (!p_sol \u0026\u0026 col != 0)","\t{","\t curwin-\u003ew_cursor.col = col;","\t check_cursor_col();","\t curwin-\u003ew_cursor.coladd = 0;","\t curwin-\u003ew_set_curswant = TRUE;","\t}","\tretval = OK;"," }",""," if (RedrawingDisabled \u003e 0)","\t--RedrawingDisabled;"," return retval;","}","","/*"," * go to the last know line number for the current buffer"," */"," static void","buflist_getfpos(void)","{"," pos_T\t*fpos;",""," fpos = buflist_findfpos(curbuf);",""," curwin-\u003ew_cursor.lnum = fpos-\u003elnum;"," check_cursor_lnum();",""," if (p_sol)","\tcurwin-\u003ew_cursor.col = 0;"," else"," {","\tcurwin-\u003ew_cursor.col = fpos-\u003ecol;","\tcheck_cursor_col();","\tcurwin-\u003ew_cursor.coladd = 0;","\tcurwin-\u003ew_set_curswant = TRUE;"," }","}","","/*"," * Find file in buffer list by name (it has to be for the current window)."," * Returns NULL if not found."," */"," buf_T *","buflist_findname_exp(char_u *fname)","{"," char_u\t*ffname;"," buf_T\t*buf = NULL;",""," // First make the name into a full path name"," ffname = FullName_save(fname,","#ifdef UNIX","\t TRUE\t // force expansion, get rid of symbolic links","#else","\t FALSE","#endif","\t );"," if (ffname != NULL)"," {","\tbuf = buflist_findname(ffname);","\tvim_free(ffname);"," }"," return buf;","}","","/*"," * Find file in buffer list by name (it has to be for the current window)."," * \"ffname\" must have a full path."," * Skips dummy buffers."," * Returns NULL if not found."," */"," buf_T *","buflist_findname(char_u *ffname)","{","#ifdef UNIX"," stat_T\tst;",""," if (mch_stat((char *)ffname, \u0026st) \u003c 0)","\tst.st_dev = (dev_T)-1;"," return buflist_findname_stat(ffname, \u0026st);","}","","/*"," * Same as buflist_findname(), but pass the stat structure to avoid getting it"," * twice for the same file."," * Returns NULL if not found."," */"," static buf_T *","buflist_findname_stat("," char_u\t*ffname,"," stat_T\t*stp)","{","#endif"," buf_T\t*buf;",""," // Start at the last buffer, expect to find a match sooner."," FOR_ALL_BUFS_FROM_LAST(buf)","\tif ((buf-\u003eb_flags \u0026 BF_DUMMY) == 0 \u0026\u0026 !otherfile_buf(buf, ffname","#ifdef UNIX","\t\t , stp","#endif","\t\t ))","\t return buf;"," return NULL;","}","","/*"," * Find file in buffer list by a regexp pattern."," * Return fnum of the found buffer."," * Return \u003c 0 for error."," */"," int","buflist_findpat("," char_u\t*pattern,"," char_u\t*pattern_end,\t// pointer to first char after pattern"," int\t\tunlisted,\t// find unlisted buffers"," int\t\tdiffmode UNUSED, // find diff-mode buffers only"," int\t\tcurtab_only)\t// find buffers in current tab only","{"," buf_T\t*buf;"," int\t\tmatch = -1;"," int\t\tfind_listed;"," char_u\t*pat;"," char_u\t*patend;"," int\t\tattempt;"," char_u\t*p;"," int\t\ttoggledollar;",""," // \"%\" is current file, \"%%\" or \"#\" is alternate file"," if ((pattern_end == pattern + 1 \u0026\u0026 (*pattern == '%' || *pattern == '#'))","\t || (in_vim9script() \u0026\u0026 pattern_end == pattern + 2","\t\t\t\t \u0026\u0026 pattern[0] == '%' \u0026\u0026 pattern[1] == '%'))"," {","\tif (*pattern == '#' || pattern_end == pattern + 2)","\t match = curwin-\u003ew_alt_fnum;","\telse","\t match = curbuf-\u003eb_fnum;","#ifdef FEAT_DIFF","\tif (diffmode \u0026\u0026 !diff_mode_buf(buflist_findnr(match)))","\t match = -1;","#endif"," }",""," /*"," * Try four ways of matching a listed buffer:"," * attempt == 0: without '^' or '$' (at any position)"," * attempt == 1: with '^' at start (only at position 0)"," * attempt == 2: with '$' at end (only match at end)"," * attempt == 3: with '^' at start and '$' at end (only full match)"," * Repeat this for finding an unlisted buffer if there was no matching"," * listed buffer."," */"," else"," {","\tpat = file_pat_to_reg_pat(pattern, pattern_end, NULL, FALSE);","\tif (pat == NULL)","\t return -1;","\tpatend = pat + STRLEN(pat) - 1;","\ttoggledollar = (patend \u003e pat \u0026\u0026 *patend == '$');","","\t// First try finding a listed buffer. If not found and \"unlisted\"","\t// is TRUE, try finding an unlisted buffer.","\tfind_listed = TRUE;","\tfor (;;)","\t{","\t for (attempt = 0; attempt \u003c= 3; ++attempt)","\t {","\t\tregmatch_T\tregmatch;","","\t\t// may add '^' and '$'","\t\tif (toggledollar)","\t\t *patend = (attempt \u003c 2) ? NUL : '$'; // add/remove '$'","\t\tp = pat;","\t\tif (*p == '^' \u0026\u0026 !(attempt \u0026 1))\t // add/remove '^'","\t\t ++p;","\t\tregmatch.regprog = vim_regcomp(p, magic_isset() ? RE_MAGIC : 0);","","\t\tFOR_ALL_BUFS_FROM_LAST(buf)","\t\t{","\t\t if (regmatch.regprog == NULL)","\t\t {","\t\t\t// invalid pattern, possibly after switching engine","\t\t\tvim_free(pat);","\t\t\treturn -1;","\t\t }","\t\t if (buf-\u003eb_p_bl == find_listed","#ifdef FEAT_DIFF","\t\t\t \u0026\u0026 (!diffmode || diff_mode_buf(buf))","#endif","\t\t\t \u0026\u0026 buflist_match(\u0026regmatch, buf, FALSE) != NULL)","\t\t {","\t\t\tif (curtab_only)","\t\t\t{","\t\t\t // Ignore the match if the buffer is not open in","\t\t\t // the current tab.","\t\t\t win_T\t*wp;","","\t\t\t FOR_ALL_WINDOWS(wp)","\t\t\t\tif (wp-\u003ew_buffer == buf)","\t\t\t\t break;","\t\t\t if (wp == NULL)","\t\t\t\tcontinue;","\t\t\t}","\t\t\tif (match \u003e= 0)\t\t// already found a match","\t\t\t{","\t\t\t match = -2;","\t\t\t break;","\t\t\t}","\t\t\tmatch = buf-\u003eb_fnum;\t// remember first match","\t\t }","\t\t}","","\t\tvim_regfree(regmatch.regprog);","\t\tif (match \u003e= 0)\t\t\t// found one match","\t\t break;","\t }","","\t // Only search for unlisted buffers if there was no match with","\t // a listed buffer.","\t if (!unlisted || !find_listed || match != -1)","\t\tbreak;","\t find_listed = FALSE;","\t}","","\tvim_free(pat);"," }",""," if (match == -2)","\tsemsg(_(e_more_than_one_match_for_str), pattern);"," else if (match \u003c 0)","\tsemsg(_(e_no_matching_buffer_for_str), pattern);"," return match;","}","","#ifdef FEAT_VIMINFO","typedef struct {"," buf_T *buf;"," char_u *match;","} bufmatch_T;","#endif","","/*"," * Find all buffer names that match."," * For command line expansion of \":buf\" and \":sbuf\"."," * Return OK if matches found, FAIL otherwise."," */"," int","ExpandBufnames("," char_u\t*pat,"," int\t\t*num_file,"," char_u\t***file,"," int\t\toptions)","{"," int\t\tcount;"," buf_T\t*buf;"," int\t\tround;"," char_u\t*p;"," char_u\t*patc = NULL;","#ifdef FEAT_VIMINFO"," bufmatch_T\t*matches = NULL;","#endif"," int\t\tfuzzy;"," fuzmatch_str_T *fuzmatch = NULL;"," regmatch_T\tregmatch;"," int\t\tscore = 0;"," int\t\tto_free = FALSE;",""," *num_file = 0;\t\t // return values in case of FAIL"," *file = NULL;","","#ifdef FEAT_DIFF"," if ((options \u0026 BUF_DIFF_FILTER) \u0026\u0026 !curwin-\u003ew_p_diff)","\treturn FAIL;","#endif",""," fuzzy = cmdline_fuzzy_complete(pat);",""," // Make a copy of \"pat\" and change \"^\" to \"\\(^\\|[\\/]\\)\" (if doing regular"," // expression matching)"," if (!fuzzy)"," {","\tif (*pat == '^' \u0026\u0026 pat[1] != NUL)","\t{","\t int len = (int)STRLEN(pat);","\t patc = alloc(len);","\t if (patc == NULL)","\t\treturn FAIL;","\t STRNCPY(patc, pat + 1, len - 1);","\t patc[len - 1] = NUL;","\t to_free = TRUE;","\t}","\telse if (*pat == '^')","\t patc = (char_u *)\"\";","\telse","\t patc = pat;","\tregmatch.regprog = vim_regcomp(patc, RE_MAGIC);"," }",""," // round == 1: Count the matches."," // round == 2: Build the array to keep the matches."," for (round = 1; round \u003c= 2; ++round)"," {","\tcount = 0;","\tFOR_ALL_BUFFERS(buf)","\t{","\t if (!buf-\u003eb_p_bl)\t// skip unlisted buffers","\t\tcontinue;","#ifdef FEAT_DIFF","\t if (options \u0026 BUF_DIFF_FILTER)","\t\t// Skip buffers not suitable for","\t\t// :diffget or :diffput completion.","\t\tif (buf == curbuf || !diff_mode_buf(buf))","\t\t continue;","#endif","","\t if (!fuzzy)","\t {","\t\tif (regmatch.regprog == NULL)","\t\t{","\t\t // invalid pattern, possibly after recompiling","\t\t if (to_free)","\t\t\tvim_free(patc);","\t\t return FAIL;","\t\t}","\t\tp = buflist_match(\u0026regmatch, buf, p_wic);","\t }","\t else","\t {","\t\tp = NULL;","\t\t// first try matching with the short file name","\t\tif ((score = fuzzy_match_str(buf-\u003eb_sfname, pat)) != 0)","\t\t p = buf-\u003eb_sfname;","\t\tif (p == NULL)","\t\t{","\t\t // next try matching with the full path file name","\t\t if ((score = fuzzy_match_str(buf-\u003eb_ffname, pat)) != 0)","\t\t\tp = buf-\u003eb_ffname;","\t\t}","\t }","","\t if (p == NULL)","\t\tcontinue;","","\t if (round == 1)","\t {","\t\t++count;","\t\tcontinue;","\t }","","\t if (options \u0026 WILD_HOME_REPLACE)","\t\tp = home_replace_save(buf, p);","\t else","\t\tp = vim_strsave(p);","","\t if (!fuzzy)","\t {","#ifdef FEAT_VIMINFO","\t\tif (matches != NULL)","\t\t{","\t\t matches[count].buf = buf;","\t\t matches[count].match = p;","\t\t count++;","\t\t}","\t\telse","#endif","\t\t (*file)[count++] = p;","\t }","\t else","\t {","\t\tfuzmatch[count].idx = count;","\t\tfuzmatch[count].str = p;","\t\tfuzmatch[count].score = score;","\t\tcount++;","\t }","\t}","\tif (count == 0)\t// no match found, break here","\t break;","\tif (round == 1)","\t{","\t if (!fuzzy)","\t {","\t\t*file = ALLOC_MULT(char_u *, count);","\t\tif (*file == NULL)","\t\t{","\t\t vim_regfree(regmatch.regprog);","\t\t if (to_free)","\t\t\tvim_free(patc);","\t\t return FAIL;","\t\t}","#ifdef FEAT_VIMINFO","\t\tif (options \u0026 WILD_BUFLASTUSED)","\t\t matches = ALLOC_MULT(bufmatch_T, count);","#endif","\t }","\t else","\t {","\t\tfuzmatch = ALLOC_MULT(fuzmatch_str_T, count);","\t\tif (fuzmatch == NULL)","\t\t{","\t\t *num_file = 0;","\t\t *file = NULL;","\t\t return FAIL;","\t\t}","\t }","\t}"," }",""," if (!fuzzy)"," {","\tvim_regfree(regmatch.regprog);","\tif (to_free)","\t vim_free(patc);"," }",""," if (!fuzzy)"," {","#ifdef FEAT_VIMINFO","\tif (matches != NULL)","\t{","\t int i;","\t if (count \u003e 1)","\t\tqsort(matches, count, sizeof(bufmatch_T), buf_compare);","\t // if the current buffer is first in the list, place it at the end","\t if (matches[0].buf == curbuf)","\t {","\t\tfor (i = 1; i \u003c count; i++)","\t\t (*file)[i-1] = matches[i].match;","\t\t(*file)[count-1] = matches[0].match;","\t }","\t else","\t {","\t\tfor (i = 0; i \u003c count; i++)","\t\t (*file)[i] = matches[i].match;","\t }","\t vim_free(matches);","\t}","#endif"," }"," else"," {","\tif (fuzzymatches_to_strmatches(fuzmatch, file, count, FALSE) == FAIL)","\t return FAIL;"," }",""," *num_file = count;"," return (count == 0 ? FAIL : OK);","}","","/*"," * Check for a match on the file name for buffer \"buf\" with regprog \"prog\"."," * Note that rmp-\u003eregprog may become NULL when switching regexp engine."," */"," static char_u *","buflist_match("," regmatch_T\t*rmp,"," buf_T\t*buf,"," int\t\tignore_case) // when TRUE ignore case, when FALSE use 'fic'","{"," char_u\t*match;",""," // First try the short file name, then the long file name."," match = fname_match(rmp, buf-\u003eb_sfname, ignore_case);"," if (match == NULL \u0026\u0026 rmp-\u003eregprog != NULL)","\tmatch = fname_match(rmp, buf-\u003eb_ffname, ignore_case);",""," return match;","}","","/*"," * Try matching the regexp in \"rmp-\u003eregprog\" with file name \"name\"."," * Note that rmp-\u003eregprog may become NULL when switching regexp engine."," * Return \"name\" when there is a match, NULL when not."," */"," static char_u *","fname_match("," regmatch_T\t*rmp,"," char_u\t*name,"," int\t\tignore_case) // when TRUE ignore case, when FALSE use 'fic'","{"," char_u\t*match = NULL;"," char_u\t*p;",""," // extra check for valid arguments"," if (name == NULL || rmp-\u003eregprog == NULL)","\treturn NULL;",""," // Ignore case when 'fileignorecase' or the argument is set."," rmp-\u003erm_ic = p_fic || ignore_case;"," if (vim_regexec(rmp, name, (colnr_T)0))","\tmatch = name;"," else if (rmp-\u003eregprog != NULL)"," {","\t// Replace $(HOME) with '~' and try matching again.","\tp = home_replace_save(NULL, name);","\tif (p != NULL \u0026\u0026 vim_regexec(rmp, p, (colnr_T)0))","\t match = name;","\tvim_free(p);"," }",""," return match;","}","","/*"," * Find a file in the buffer list by buffer number."," */"," buf_T *","buflist_findnr(int nr)","{"," char_u\tkey[VIM_SIZEOF_INT * 2 + 1];"," hashitem_T\t*hi;",""," if (nr == 0)","\tnr = curwin-\u003ew_alt_fnum;"," sprintf((char *)key, \"%x\", nr);"," hi = hash_find(\u0026buf_hashtab, key);",""," if (!HASHITEM_EMPTY(hi))","\treturn (buf_T *)(hi-\u003ehi_key","\t\t\t - ((unsigned)(curbuf-\u003eb_key - (char_u *)curbuf)));"," return NULL;","}","","/*"," * Get name of file 'n' in the buffer list."," * When the file has no name an empty string is returned."," * home_replace() is used to shorten the file name (used for marks)."," * Returns a pointer to allocated memory, of NULL when failed."," */"," char_u *","buflist_nr2name("," int\t\tn,"," int\t\tfullname,"," int\t\thelptail)\t// for help buffers return tail only","{"," buf_T\t*buf;",""," buf = buflist_findnr(n);"," if (buf == NULL)","\treturn NULL;"," return home_replace_save(helptail ? buf : NULL,","\t\t\t\t fullname ? buf-\u003eb_ffname : buf-\u003eb_fname);","}","","/*"," * Set the \"lnum\" and \"col\" for the buffer \"buf\" and the current window."," * When \"copy_options\" is TRUE save the local window option values."," * When \"lnum\" is 0 only do the options."," */"," void","buflist_setfpos("," buf_T\t*buf,"," win_T\t*win,\t\t// may be NULL when using :badd"," linenr_T\tlnum,"," colnr_T\tcol,"," int\t\tcopy_options)","{"," wininfo_T\t*wip;",""," FOR_ALL_BUF_WININFO(buf, wip)","\tif (wip-\u003ewi_win == win)","\t break;"," if (wip == NULL)"," {","\t// allocate a new entry","\twip = ALLOC_CLEAR_ONE(wininfo_T);","\tif (wip == NULL)","\t return;","\twip-\u003ewi_win = win;","\tif (lnum == 0)\t\t// set lnum even when it's 0","\t lnum = 1;"," }"," else"," {","\t// remove the entry from the list","\tif (wip-\u003ewi_prev)","\t wip-\u003ewi_prev-\u003ewi_next = wip-\u003ewi_next;","\telse","\t buf-\u003eb_wininfo = wip-\u003ewi_next;","\tif (wip-\u003ewi_next)","\t wip-\u003ewi_next-\u003ewi_prev = wip-\u003ewi_prev;","\tif (copy_options \u0026\u0026 wip-\u003ewi_optset)","\t{","\t clear_winopt(\u0026wip-\u003ewi_opt);","#ifdef FEAT_FOLDING","\t deleteFoldRecurse(\u0026wip-\u003ewi_folds);","#endif","\t}"," }"," if (lnum != 0)"," {","\twip-\u003ewi_fpos.lnum = lnum;","\twip-\u003ewi_fpos.col = col;"," }"," if (win != NULL)","\twip-\u003ewi_changelistidx = win-\u003ew_changelistidx;"," if (copy_options \u0026\u0026 win != NULL)"," {","\t// Save the window-specific option values.","\tcopy_winopt(\u0026win-\u003ew_onebuf_opt, \u0026wip-\u003ewi_opt);","#ifdef FEAT_FOLDING","\twip-\u003ewi_fold_manual = win-\u003ew_fold_manual;","\tcloneFoldGrowArray(\u0026win-\u003ew_folds, \u0026wip-\u003ewi_folds);","#endif","\twip-\u003ewi_optset = TRUE;"," }",""," // insert the entry in front of the list"," wip-\u003ewi_next = buf-\u003eb_wininfo;"," buf-\u003eb_wininfo = wip;"," wip-\u003ewi_prev = NULL;"," if (wip-\u003ewi_next)","\twip-\u003ewi_next-\u003ewi_prev = wip;","}","","#ifdef FEAT_DIFF","/*"," * Return TRUE when \"wip\" has 'diff' set and the diff is only for another tab"," * page. That's because a diff is local to a tab page."," */"," static int","wininfo_other_tab_diff(wininfo_T *wip)","{"," win_T\t*wp;",""," if (!wip-\u003ewi_opt.wo_diff)","\treturn FALSE;",""," FOR_ALL_WINDOWS(wp)","\t// return FALSE when it's a window in the current tab page, thus","\t// the buffer was in diff mode here","\tif (wip-\u003ewi_win == wp)","\t return FALSE;"," return TRUE;","}","#endif","","/*"," * Find info for the current window in buffer \"buf\"."," * If not found, return the info for the most recently used window."," * When \"need_options\" is TRUE skip entries where wi_optset is FALSE."," * When \"skip_diff_buffer\" is TRUE avoid windows with 'diff' set that is in"," * another tab page."," * Returns NULL when there isn't any info."," */"," static wininfo_T *","find_wininfo("," buf_T\t*buf,"," int\t\tneed_options,"," int\t\tskip_diff_buffer UNUSED)","{"," wininfo_T\t*wip;",""," FOR_ALL_BUF_WININFO(buf, wip)","\tif (wip-\u003ewi_win == curwin","#ifdef FEAT_DIFF","\t\t\u0026\u0026 (!skip_diff_buffer || !wininfo_other_tab_diff(wip))","#endif","","\t\t\u0026\u0026 (!need_options || wip-\u003ewi_optset))","\t break;",""," if (wip != NULL)","\treturn wip;",""," // If no wininfo for curwin, use the first in the list (that doesn't have"," // 'diff' set and is in another tab page)."," // If \"need_options\" is TRUE skip entries that don't have options set,"," // unless the window is editing \"buf\", so we can copy from the window"," // itself.","#ifdef FEAT_DIFF"," if (skip_diff_buffer)"," {","\tFOR_ALL_BUF_WININFO(buf, wip)","\t if (!wininfo_other_tab_diff(wip)","\t\t \u0026\u0026 (!need_options || wip-\u003ewi_optset","\t\t\t|| (wip-\u003ewi_win != NULL","\t\t\t \u0026\u0026 wip-\u003ewi_win-\u003ew_buffer == buf)))","\t\tbreak;"," }"," else","#endif","\twip = buf-\u003eb_wininfo;"," return wip;","}","","/*"," * Reset the local window options to the values last used in this window."," * If the buffer wasn't used in this window before, use the values from"," * the most recently used window. If the values were never set, use the"," * global values for the window."," */"," void","get_winopts(buf_T *buf)","{"," wininfo_T\t*wip;",""," clear_winopt(\u0026curwin-\u003ew_onebuf_opt);","#ifdef FEAT_FOLDING"," clearFolding(curwin);","#endif",""," wip = find_wininfo(buf, TRUE, TRUE);"," if (wip != NULL \u0026\u0026 wip-\u003ewi_win != NULL","\t \u0026\u0026 wip-\u003ewi_win != curwin \u0026\u0026 wip-\u003ewi_win-\u003ew_buffer == buf)"," {","\t// The buffer is currently displayed in the window: use the actual","\t// option values instead of the saved (possibly outdated) values.","\twin_T *wp = wip-\u003ewi_win;","","\tcopy_winopt(\u0026wp-\u003ew_onebuf_opt, \u0026curwin-\u003ew_onebuf_opt);","#ifdef FEAT_FOLDING","\tcurwin-\u003ew_fold_manual = wp-\u003ew_fold_manual;","\tcurwin-\u003ew_foldinvalid = TRUE;","\tcloneFoldGrowArray(\u0026wp-\u003ew_folds, \u0026curwin-\u003ew_folds);","#endif"," }"," else if (wip != NULL \u0026\u0026 wip-\u003ewi_optset)"," {","\t// the buffer was displayed in the current window earlier","\tcopy_winopt(\u0026wip-\u003ewi_opt, \u0026curwin-\u003ew_onebuf_opt);","#ifdef FEAT_FOLDING","\tcurwin-\u003ew_fold_manual = wip-\u003ewi_fold_manual;","\tcurwin-\u003ew_foldinvalid = TRUE;","\tcloneFoldGrowArray(\u0026wip-\u003ewi_folds, \u0026curwin-\u003ew_folds);","#endif"," }"," else","\tcopy_winopt(\u0026curwin-\u003ew_allbuf_opt, \u0026curwin-\u003ew_onebuf_opt);"," if (wip != NULL)","\tcurwin-\u003ew_changelistidx = wip-\u003ewi_changelistidx;","","#ifdef FEAT_FOLDING"," // Set 'foldlevel' to 'foldlevelstart' if it's not negative."," if (p_fdls \u003e= 0)","\tcurwin-\u003ew_p_fdl = p_fdls;","#endif"," after_copy_winopt(curwin);","}","","/*"," * Find the position (lnum and col) for the buffer 'buf' for the current"," * window."," * Returns a pointer to no_position if no position is found."," */"," pos_T *","buflist_findfpos(buf_T *buf)","{"," wininfo_T\t*wip;"," static pos_T no_position = {1, 0, 0};",""," wip = find_wininfo(buf, FALSE, FALSE);"," if (wip != NULL)","\treturn \u0026(wip-\u003ewi_fpos);"," else","\treturn \u0026no_position;","}","","/*"," * Find the lnum for the buffer 'buf' for the current window."," */"," linenr_T","buflist_findlnum(buf_T *buf)","{"," return buflist_findfpos(buf)-\u003elnum;","}","","/*"," * List all known file names (for :files and :buffers command)."," */"," void","buflist_list(exarg_T *eap)","{"," buf_T\t*buf = firstbuf;"," int\t\tlen;"," int\t\ti;"," int\t\tro_char;"," int\t\tchanged_char;","#ifdef FEAT_TERMINAL"," int\t\tjob_running;"," int\t\tjob_none_open;","#endif","","#ifdef FEAT_VIMINFO"," garray_T\tbuflist;"," buf_T\t**buflist_data = NULL, **p;",""," if (vim_strchr(eap-\u003earg, 't'))"," {","\tga_init2(\u0026buflist, sizeof(buf_T *), 50);","\tFOR_ALL_BUFFERS(buf)","\t{","\t if (ga_grow(\u0026buflist, 1) == OK)","\t\t((buf_T **)buflist.ga_data)[buflist.ga_len++] = buf;","\t}","","\tqsort(buflist.ga_data, (size_t)buflist.ga_len,","\t\tsizeof(buf_T *), buf_compare);","","\tbuflist_data = (buf_T **)buflist.ga_data;","\tbuf = *buflist_data;"," }"," p = buflist_data;",""," for (; buf != NULL \u0026\u0026 !got_int; buf = buflist_data != NULL","\t ? (++p \u003c buflist_data + buflist.ga_len ? *p : NULL)","\t : buf-\u003eb_next)","#else"," for (buf = firstbuf; buf != NULL \u0026\u0026 !got_int; buf = buf-\u003eb_next)","#endif"," {","#ifdef FEAT_TERMINAL","\tjob_running = term_job_running(buf-\u003eb_term);","\tjob_none_open = term_none_open(buf-\u003eb_term);","#endif","\t// skip unlisted buffers, unless ! was used","\tif ((!buf-\u003eb_p_bl \u0026\u0026 !eap-\u003eforceit \u0026\u0026 !vim_strchr(eap-\u003earg, 'u'))","\t\t|| (vim_strchr(eap-\u003earg, 'u') \u0026\u0026 buf-\u003eb_p_bl)","\t\t|| (vim_strchr(eap-\u003earg, '+')","\t\t\t\u0026\u0026 ((buf-\u003eb_flags \u0026 BF_READERR) || !bufIsChanged(buf)))","\t\t|| (vim_strchr(eap-\u003earg, 'a')","\t\t\t\u0026\u0026 (buf-\u003eb_ml.ml_mfp == NULL || buf-\u003eb_nwindows == 0))","\t\t|| (vim_strchr(eap-\u003earg, 'h')","\t\t\t\u0026\u0026 (buf-\u003eb_ml.ml_mfp == NULL || buf-\u003eb_nwindows != 0))","#ifdef FEAT_TERMINAL","\t\t|| (vim_strchr(eap-\u003earg, 'R')","\t\t\t\u0026\u0026 (!job_running || (job_running \u0026\u0026 job_none_open)))","\t\t|| (vim_strchr(eap-\u003earg, '?')","\t\t\t\u0026\u0026 (!job_running || (job_running \u0026\u0026 !job_none_open)))","\t\t|| (vim_strchr(eap-\u003earg, 'F')","\t\t\t\u0026\u0026 (job_running || buf-\u003eb_term == NULL))","#endif","\t\t|| (vim_strchr(eap-\u003earg, '-') \u0026\u0026 buf-\u003eb_p_ma)","\t\t|| (vim_strchr(eap-\u003earg, '=') \u0026\u0026 !buf-\u003eb_p_ro)","\t\t|| (vim_strchr(eap-\u003earg, 'x') \u0026\u0026 !(buf-\u003eb_flags \u0026 BF_READERR))","\t\t|| (vim_strchr(eap-\u003earg, '%') \u0026\u0026 buf != curbuf)","\t\t|| (vim_strchr(eap-\u003earg, '#')","\t\t \u0026\u0026 (buf == curbuf || curwin-\u003ew_alt_fnum != buf-\u003eb_fnum)))","\t continue;","\tif (buf_spname(buf) != NULL)","\t vim_strncpy(NameBuff, buf_spname(buf), MAXPATHL - 1);","\telse","\t home_replace(buf, buf-\u003eb_fname, NameBuff, MAXPATHL, TRUE);","\tif (message_filtered(NameBuff))","\t continue;","","\tchanged_char = (buf-\u003eb_flags \u0026 BF_READERR) ? 'x'","\t\t\t\t\t : (bufIsChanged(buf) ? '+' : ' ');","#ifdef FEAT_TERMINAL","\tif (job_running)","\t{","\t if (job_none_open)","\t\tro_char = '?';","\t else","\t\tro_char = 'R';","\t changed_char = ' '; // bufIsChanged() returns TRUE to avoid","\t\t\t\t // closing, but it's not actually changed.","\t}","\telse if (buf-\u003eb_term != NULL)","\t ro_char = 'F';","\telse","#endif","\t ro_char = !buf-\u003eb_p_ma ? '-' : (buf-\u003eb_p_ro ? '=' : ' ');","","\tmsg_putchar('\\n');","\tlen = vim_snprintf((char *)IObuff, IOSIZE - 20, \"%3d%c%c%c%c%c \\\"%s\\\"\",","\t\tbuf-\u003eb_fnum,","\t\tbuf-\u003eb_p_bl ? ' ' : 'u',","\t\tbuf == curbuf ? '%' :","\t\t\t(curwin-\u003ew_alt_fnum == buf-\u003eb_fnum ? '#' : ' '),","\t\tbuf-\u003eb_ml.ml_mfp == NULL ? ' ' :","\t\t\t(buf-\u003eb_nwindows == 0 ? 'h' : 'a'),","\t\tro_char,","\t\tchanged_char,","\t\tNameBuff);","\tif (len \u003e IOSIZE - 20)","\t len = IOSIZE - 20;","","\t// put \"line 999\" in column 40 or after the file name","\ti = 40 - vim_strsize(IObuff);","\tdo","\t IObuff[len++] = ' ';","\twhile (--i \u003e 0 \u0026\u0026 len \u003c IOSIZE - 18);","#ifdef FEAT_VIMINFO","\tif (vim_strchr(eap-\u003earg, 't') \u0026\u0026 buf-\u003eb_last_used)","\t add_time(IObuff + len, (size_t)(IOSIZE - len), buf-\u003eb_last_used);","\telse","#endif","\t vim_snprintf((char *)IObuff + len, (size_t)(IOSIZE - len),","\t\t _(\"line %ld\"), buf == curbuf ? curwin-\u003ew_cursor.lnum","\t\t\t\t\t : (long)buflist_findlnum(buf));","\tmsg_outtrans(IObuff);","\tout_flush();\t // output one line at a time","\tui_breakcheck();"," }","","#ifdef FEAT_VIMINFO"," if (buflist_data)","\tga_clear(\u0026buflist);","#endif","}","","/*"," * Get file name and line number for file 'fnum'."," * Used by DoOneCmd() for translating '%' and '#'."," * Used by insert_reg() and cmdline_paste() for '#' register."," * Return FAIL if not found, OK for success."," */"," int","buflist_name_nr("," int\t\tfnum,"," char_u\t**fname,"," linenr_T\t*lnum)","{"," buf_T\t*buf;",""," buf = buflist_findnr(fnum);"," if (buf == NULL || buf-\u003eb_fname == NULL)","\treturn FAIL;",""," *fname = buf-\u003eb_fname;"," *lnum = buflist_findlnum(buf);",""," return OK;","}","","/*"," * Set the file name for \"buf\"' to \"ffname_arg\", short file name to"," * \"sfname_arg\"."," * The file name with the full path is also remembered, for when :cd is used."," * Returns FAIL for failure (file name already in use by other buffer)"," *\tOK otherwise."," */"," int","setfname("," buf_T\t*buf,"," char_u\t*ffname_arg,"," char_u\t*sfname_arg,"," int\t\tmessage)\t// give message when buffer already exists","{"," char_u\t*ffname = ffname_arg;"," char_u\t*sfname = sfname_arg;"," buf_T\t*obuf = NULL;","#ifdef UNIX"," stat_T\tst;","#endif",""," if (ffname == NULL || *ffname == NUL)"," {","\t// Removing the name.","\tif (buf-\u003eb_sfname != buf-\u003eb_ffname)","\t VIM_CLEAR(buf-\u003eb_sfname);","\telse","\t buf-\u003eb_sfname = NULL;","\tVIM_CLEAR(buf-\u003eb_ffname);","#ifdef UNIX","\tst.st_dev = (dev_T)-1;","#endif"," }"," else"," {","\tfname_expand(buf, \u0026ffname, \u0026sfname); // will allocate ffname","\tif (ffname == NULL)\t\t // out of memory","\t return FAIL;","","\t/*","\t * If the file name is already used in another buffer:","\t * - if the buffer is loaded, fail","\t * - if the buffer is not loaded, delete it from the list","\t */","#ifdef UNIX","\tif (mch_stat((char *)ffname, \u0026st) \u003c 0)","\t st.st_dev = (dev_T)-1;","#endif","\tif (!(buf-\u003eb_flags \u0026 BF_DUMMY))","#ifdef UNIX","\t obuf = buflist_findname_stat(ffname, \u0026st);","#else","\t obuf = buflist_findname(ffname);","#endif","\tif (obuf != NULL \u0026\u0026 obuf != buf)","\t{","\t win_T\t*win;","\t tabpage_T *tab;","\t int\t\tin_use = FALSE;","","\t // during startup a window may use a buffer that is not loaded yet","\t FOR_ALL_TAB_WINDOWS(tab, win)","\t\tif (win-\u003ew_buffer == obuf)","\t\t in_use = TRUE;","","\t // it's loaded or used in a window, fail","\t if (obuf-\u003eb_ml.ml_mfp != NULL || in_use)","\t {","\t\tif (message)","\t\t emsg(_(e_buffer_with_this_name_already_exists));","\t\tvim_free(ffname);","\t\treturn FAIL;","\t }","\t // delete from the list","\t close_buffer(NULL, obuf, DOBUF_WIPE, FALSE, FALSE);","\t}","\tsfname = vim_strsave(sfname);","\tif (ffname == NULL || sfname == NULL)","\t{","\t vim_free(sfname);","\t vim_free(ffname);","\t return FAIL;","\t}","#ifdef USE_FNAME_CASE","\tfname_case(sfname, 0); // set correct case for short file name","#endif","\tif (buf-\u003eb_sfname != buf-\u003eb_ffname)","\t vim_free(buf-\u003eb_sfname);","\tvim_free(buf-\u003eb_ffname);","\tbuf-\u003eb_ffname = ffname;","\tbuf-\u003eb_sfname = sfname;"," }"," buf-\u003eb_fname = buf-\u003eb_sfname;","#ifdef UNIX"," if (st.st_dev == (dev_T)-1)","\tbuf-\u003eb_dev_valid = FALSE;"," else"," {","\tbuf-\u003eb_dev_valid = TRUE;","\tbuf-\u003eb_dev = st.st_dev;","\tbuf-\u003eb_ino = st.st_ino;"," }","#endif",""," buf-\u003eb_shortname = FALSE;",""," buf_name_changed(buf);"," return OK;","}","","/*"," * Crude way of changing the name of a buffer. Use with care!"," * The name should be relative to the current directory."," */"," void","buf_set_name(int fnum, char_u *name)","{"," buf_T\t*buf;",""," buf = buflist_findnr(fnum);"," if (buf == NULL)","\treturn;",""," if (buf-\u003eb_sfname != buf-\u003eb_ffname)","\tvim_free(buf-\u003eb_sfname);"," vim_free(buf-\u003eb_ffname);"," buf-\u003eb_ffname = vim_strsave(name);"," buf-\u003eb_sfname = NULL;"," // Allocate ffname and expand into full path. Also resolves .lnk"," // files on Win32."," fname_expand(buf, \u0026buf-\u003eb_ffname, \u0026buf-\u003eb_sfname);"," buf-\u003eb_fname = buf-\u003eb_sfname;","}","","/*"," * Take care of what needs to be done when the name of buffer \"buf\" has"," * changed."," */"," void","buf_name_changed(buf_T *buf)","{"," /*"," * If the file name changed, also change the name of the swapfile"," */"," if (buf-\u003eb_ml.ml_mfp != NULL)","\tml_setname(buf);","","#ifdef FEAT_TERMINAL"," if (buf-\u003eb_term != NULL)","\tterm_clear_status_text(buf-\u003eb_term);","#endif",""," if (curwin-\u003ew_buffer == buf)","\tcheck_arg_idx(curwin);\t// check file name for arg list"," maketitle();\t\t// set window title"," status_redraw_all();\t// status lines need to be redrawn"," fmarks_check_names(buf);\t// check named file marks"," ml_timestamp(buf);\t\t// reset timestamp","}","","/*"," * set alternate file name for current window"," *"," * Used by do_one_cmd(), do_write() and do_ecmd()."," * Return the buffer."," */"," buf_T *","setaltfname("," char_u\t*ffname,"," char_u\t*sfname,"," linenr_T\tlnum)","{"," buf_T\t*buf;",""," // Create a buffer. 'buflisted' is not set if it's a new buffer"," buf = buflist_new(ffname, sfname, lnum, 0);"," if (buf != NULL \u0026\u0026 (cmdmod.cmod_flags \u0026 CMOD_KEEPALT) == 0)","\tcurwin-\u003ew_alt_fnum = buf-\u003eb_fnum;"," return buf;","}","","/*"," * Get alternate file name for current window."," * Return NULL if there isn't any, and give error message if requested."," */"," char_u *","getaltfname("," int\t\terrmsg)\t\t// give error message","{"," char_u\t*fname;"," linenr_T\tdummy;",""," if (buflist_name_nr(0, \u0026fname, \u0026dummy) == FAIL)"," {","\tif (errmsg)","\t emsg(_(e_no_alternate_file));","\treturn NULL;"," }"," return fname;","}","","/*"," * Add a file name to the buflist and return its number."," * Uses same flags as buflist_new(), except BLN_DUMMY."," *"," * used by qf_init(), main() and doarglist()"," */"," int","buflist_add(char_u *fname, int flags)","{"," buf_T\t*buf;",""," buf = buflist_new(fname, NULL, (linenr_T)0, flags);"," if (buf != NULL)","\treturn buf-\u003eb_fnum;"," return 0;","}","","#if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)","/*"," * Adjust slashes in file names. Called after 'shellslash' was set."," */"," void","buflist_slash_adjust(void)","{"," buf_T\t*bp;",""," FOR_ALL_BUFFERS(bp)"," {","\tif (bp-\u003eb_ffname != NULL)","\t slash_adjust(bp-\u003eb_ffname);","\tif (bp-\u003eb_sfname != NULL)","\t slash_adjust(bp-\u003eb_sfname);"," }","}","#endif","","/*"," * Set alternate cursor position for the current buffer and window \"win\"."," * Also save the local window option values."," */"," void","buflist_altfpos(win_T *win)","{"," buflist_setfpos(curbuf, win, win-\u003ew_cursor.lnum, win-\u003ew_cursor.col, TRUE);","}","","/*"," * Return TRUE if 'ffname' is not the same file as current file."," * Fname must have a full path (expanded by mch_FullName())."," */"," int","otherfile(char_u *ffname)","{"," return otherfile_buf(curbuf, ffname","#ifdef UNIX","\t , NULL","#endif","\t );","}",""," static int","otherfile_buf("," buf_T\t\t*buf,"," char_u\t\t*ffname","#ifdef UNIX"," , stat_T\t\t*stp","#endif"," )","{"," // no name is different"," if (ffname == NULL || *ffname == NUL || buf-\u003eb_ffname == NULL)","\treturn TRUE;"," if (fnamecmp(ffname, buf-\u003eb_ffname) == 0)","\treturn FALSE;","#ifdef UNIX"," {","\tstat_T\t st;","","\t// If no stat_T given, get it now","\tif (stp == NULL)","\t{","\t if (!buf-\u003eb_dev_valid || mch_stat((char *)ffname, \u0026st) \u003c 0)","\t\tst.st_dev = (dev_T)-1;","\t stp = \u0026st;","\t}","\t// Use dev/ino to check if the files are the same, even when the names","\t// are different (possible with links). Still need to compare the","\t// name above, for when the file doesn't exist yet.","\t// Problem: The dev/ino changes when a file is deleted (and created","\t// again) and remains the same when renamed/moved. We don't want to","\t// mch_stat() each buffer each time, that would be too slow. Get the","\t// dev/ino again when they appear to match, but not when they appear","\t// to be different: Could skip a buffer when it's actually the same","\t// file.","\tif (buf_same_ino(buf, stp))","\t{","\t buf_setino(buf);","\t if (buf_same_ino(buf, stp))","\t\treturn FALSE;","\t}"," }","#endif"," return TRUE;","}","","#if defined(UNIX) || defined(PROTO)","/*"," * Set inode and device number for a buffer."," * Must always be called when b_fname is changed!."," */"," void","buf_setino(buf_T *buf)","{"," stat_T\tst;",""," if (buf-\u003eb_fname != NULL \u0026\u0026 mch_stat((char *)buf-\u003eb_fname, \u0026st) \u003e= 0)"," {","\tbuf-\u003eb_dev_valid = TRUE;","\tbuf-\u003eb_dev = st.st_dev;","\tbuf-\u003eb_ino = st.st_ino;"," }"," else","\tbuf-\u003eb_dev_valid = FALSE;","}","","/*"," * Return TRUE if dev/ino in buffer \"buf\" matches with \"stp\"."," */"," static int","buf_same_ino("," buf_T\t*buf,"," stat_T\t*stp)","{"," return (buf-\u003eb_dev_valid","\t \u0026\u0026 stp-\u003est_dev == buf-\u003eb_dev","\t \u0026\u0026 stp-\u003est_ino == buf-\u003eb_ino);","}","#endif","","/*"," * Print info about the current buffer."," */"," void","fileinfo("," int fullname,\t // when non-zero print full path"," int shorthelp,"," int\tdont_truncate)","{"," char_u\t*name;"," int\t\tn;"," char\t*p;"," char\t*buffer;"," size_t\tlen;",""," buffer = alloc(IOSIZE);"," if (buffer == NULL)","\treturn;",""," if (fullname \u003e 1)\t // 2 CTRL-G: include buffer number"," {","\tvim_snprintf(buffer, IOSIZE, \"buf %d: \", curbuf-\u003eb_fnum);","\tp = buffer + STRLEN(buffer);"," }"," else","\tp = buffer;",""," *p++ = '\"';"," if (buf_spname(curbuf) != NULL)","\tvim_strncpy((char_u *)p, buf_spname(curbuf), IOSIZE - (p - buffer) - 1);"," else"," {","\tif (!fullname \u0026\u0026 curbuf-\u003eb_fname != NULL)","\t name = curbuf-\u003eb_fname;","\telse","\t name = curbuf-\u003eb_ffname;","\thome_replace(shorthelp ? curbuf : NULL, name, (char_u *)p,","\t\t\t\t\t (int)(IOSIZE - (p - buffer)), TRUE);"," }",""," vim_snprintf_add(buffer, IOSIZE, \"\\\"%s%s%s%s%s%s\",","\t curbufIsChanged() ? (shortmess(SHM_MOD)","\t\t\t\t\t ? \" [+]\" : _(\" [Modified]\")) : \" \",","\t (curbuf-\u003eb_flags \u0026 BF_NOTEDITED) \u0026\u0026 !bt_dontwrite(curbuf)","\t\t\t\t\t? _(\"[Not edited]\") : \"\",","\t (curbuf-\u003eb_flags \u0026 BF_NEW) \u0026\u0026 !bt_dontwrite(curbuf)","\t\t\t\t\t ? new_file_message() : \"\",","\t (curbuf-\u003eb_flags \u0026 BF_READERR) ? _(\"[Read errors]\") : \"\",","\t curbuf-\u003eb_p_ro ? (shortmess(SHM_RO) ? _(\"[RO]\")","\t\t\t\t\t\t : _(\"[readonly]\")) : \"\",","\t (curbufIsChanged() || (curbuf-\u003eb_flags \u0026 BF_WRITE_MASK)","\t\t\t\t\t\t\t || curbuf-\u003eb_p_ro) ?","\t\t\t\t\t\t\t\t \" \" : \"\");"," // With 32 bit longs and more than 21,474,836 lines multiplying by 100"," // causes an overflow, thus for large numbers divide instead."," if (curwin-\u003ew_cursor.lnum \u003e 1000000L)","\tn = (int)(((long)curwin-\u003ew_cursor.lnum) /","\t\t\t\t ((long)curbuf-\u003eb_ml.ml_line_count / 100L));"," else","\tn = (int)(((long)curwin-\u003ew_cursor.lnum * 100L) /","\t\t\t\t\t (long)curbuf-\u003eb_ml.ml_line_count);"," if (curbuf-\u003eb_ml.ml_flags \u0026 ML_EMPTY)","\tvim_snprintf_add(buffer, IOSIZE, \"%s\", _(no_lines_msg));"," else if (p_ru)","\t// Current line and column are already on the screen -- webb","\tvim_snprintf_add(buffer, IOSIZE,","\t\tNGETTEXT(\"%ld line --%d%%--\", \"%ld lines --%d%%--\",","\t\t\t\t\t\t curbuf-\u003eb_ml.ml_line_count),","\t\t(long)curbuf-\u003eb_ml.ml_line_count, n);"," else"," {","\tvim_snprintf_add(buffer, IOSIZE,","\t\t_(\"line %ld of %ld --%d%%-- col \"),","\t\t(long)curwin-\u003ew_cursor.lnum,","\t\t(long)curbuf-\u003eb_ml.ml_line_count,","\t\tn);","\tvalidate_virtcol();","\tlen = STRLEN(buffer);","\t(void)col_print((char_u *)buffer + len, IOSIZE - len,","\t\t (int)curwin-\u003ew_cursor.col + 1, (int)curwin-\u003ew_virtcol + 1);"," }",""," (void)append_arg_number(curwin, (char_u *)buffer, IOSIZE,","\t\t\t\t\t\t\t !shortmess(SHM_FILE));",""," if (dont_truncate)"," {","\t// Temporarily set msg_scroll to avoid the message being truncated.","\t// First call msg_start() to get the message in the right place.","\tmsg_start();","\tn = msg_scroll;","\tmsg_scroll = TRUE;","\tmsg(buffer);","\tmsg_scroll = n;"," }"," else"," {","\tp = msg_trunc_attr(buffer, FALSE, 0);","\tif (restart_edit != 0 || (msg_scrolled \u0026\u0026 !need_wait_return))","\t // Need to repeat the message after redrawing when:","\t // - When restart_edit is set (otherwise there will be a delay","\t // before redrawing).","\t // - When the screen was scrolled but there is no wait-return","\t // prompt.","\t set_keep_msg((char_u *)p, 0);"," }",""," vim_free(buffer);","}",""," int","col_print("," char_u *buf,"," size_t buflen,"," int\t col,"," int\t vcol)","{"," if (col == vcol)","\treturn vim_snprintf((char *)buf, buflen, \"%d\", col);",""," return vim_snprintf((char *)buf, buflen, \"%d-%d\", col, vcol);","}","","static char_u *lasttitle = NULL;","static char_u *lasticon = NULL;","","/*"," * Put the file name in the title bar and icon of the window."," */"," void","maketitle(void)","{"," char_u\t*p;"," char_u\t*title_str = NULL;"," char_u\t*icon_str = NULL;"," int\t\tmaxlen = 0;"," int\t\tlen;"," int\t\tmustset;"," char_u\tbuf[IOSIZE];"," int\t\toff;",""," if (!redrawing())"," {","\t// Postpone updating the title when 'lazyredraw' is set.","\tneed_maketitle = TRUE;","\treturn;"," }",""," need_maketitle = FALSE;"," if (!p_title \u0026\u0026 !p_icon \u0026\u0026 lasttitle == NULL \u0026\u0026 lasticon == NULL)","\treturn; // nothing to do",""," if (p_title)"," {","\tif (p_titlelen \u003e 0)","\t{","\t maxlen = p_titlelen * Columns / 100;","\t if (maxlen \u003c 10)","\t\tmaxlen = 10;","\t}","","\ttitle_str = buf;","\tif (*p_titlestring != NUL)","\t{","#ifdef FEAT_STL_OPT","\t if (stl_syntax \u0026 STL_IN_TITLE)","\t\tbuild_stl_str_hl(curwin, title_str, sizeof(buf), p_titlestring,","\t\t\t\t (char_u *)\"titlestring\", 0,","\t\t\t\t 0, maxlen, NULL, NULL);","\t else","#endif","\t\ttitle_str = p_titlestring;","\t}","\telse","\t{","\t // format: \"fname + (path) (1 of 2) - VIM\"","","#define SPACE_FOR_FNAME (IOSIZE - 100)","#define SPACE_FOR_DIR (IOSIZE - 20)","#define SPACE_FOR_ARGNR (IOSIZE - 10) // at least room for \" - VIM\"","\t if (curbuf-\u003eb_fname == NULL)","\t\tvim_strncpy(buf, (char_u *)_(\"[No Name]\"), SPACE_FOR_FNAME);","#ifdef FEAT_TERMINAL","\t else if (curbuf-\u003eb_term != NULL)","\t {","\t\tvim_strncpy(buf, term_get_status_text(curbuf-\u003eb_term),","\t\t\t\t\t\t\t SPACE_FOR_FNAME);","\t }","#endif","\t else","\t {","\t\tp = transstr(gettail(curbuf-\u003eb_fname));","\t\tvim_strncpy(buf, p, SPACE_FOR_FNAME);","\t\tvim_free(p);","\t }","","#ifdef FEAT_TERMINAL","\t if (curbuf-\u003eb_term == NULL)","#endif","\t\tswitch (bufIsChanged(curbuf)","\t\t\t+ (curbuf-\u003eb_p_ro * 2)","\t\t\t+ (!curbuf-\u003eb_p_ma * 4))","\t\t{","\t\t case 1: STRCAT(buf, \" +\"); break;","\t\t case 2: STRCAT(buf, \" =\"); break;","\t\t case 3: STRCAT(buf, \" =+\"); break;","\t\t case 4:","\t\t case 6: STRCAT(buf, \" -\"); break;","\t\t case 5:","\t\t case 7: STRCAT(buf, \" -+\"); break;","\t\t}","","\t if (curbuf-\u003eb_fname != NULL","#ifdef FEAT_TERMINAL","\t\t \u0026\u0026 curbuf-\u003eb_term == NULL","#endif","\t\t )","\t {","\t\t// Get path of file, replace home dir with ~","\t\toff = (int)STRLEN(buf);","\t\tbuf[off++] = ' ';","\t\tbuf[off++] = '(';","\t\thome_replace(curbuf, curbuf-\u003eb_ffname,","\t\t\t\t\tbuf + off, SPACE_FOR_DIR - off, TRUE);","#ifdef BACKSLASH_IN_FILENAME","\t\t// avoid \"c:/name\" to be reduced to \"c\"","\t\tif (SAFE_isalpha(buf[off]) \u0026\u0026 buf[off + 1] == ':')","\t\t off += 2;","#endif","\t\t// remove the file name","\t\tp = gettail_sep(buf + off);","\t\tif (p == buf + off)","\t\t{","\t\t // must be a help buffer","\t\t vim_strncpy(buf + off, (char_u *)_(\"help\"),","\t\t\t\t\t (size_t)(SPACE_FOR_DIR - off - 1));","\t\t}","\t\telse","\t\t *p = NUL;","","\t\t// Translate unprintable chars and concatenate. Keep some","\t\t// room for the server name. When there is no room (very long","\t\t// file name) use (...).","\t\tif (off \u003c SPACE_FOR_DIR)","\t\t{","\t\t p = transstr(buf + off);","\t\t vim_strncpy(buf + off, p, (size_t)(SPACE_FOR_DIR - off));","\t\t vim_free(p);","\t\t}","\t\telse","\t\t{","\t\t vim_strncpy(buf + off, (char_u *)\"...\",","\t\t\t\t\t (size_t)(SPACE_FOR_ARGNR - off));","\t\t}","\t\tSTRCAT(buf, \")\");","\t }","","\t append_arg_number(curwin, buf, SPACE_FOR_ARGNR, FALSE);","","#if defined(FEAT_CLIENTSERVER)","\t if (serverName != NULL)","\t {","\t\tSTRCAT(buf, \" - \");","\t\tvim_strcat(buf, serverName, IOSIZE);","\t }","\t else","#endif","\t\tSTRCAT(buf, \" - VIM\");","","\t if (maxlen \u003e 0)","\t {","\t\t// make it shorter by removing a bit in the middle","\t\tif (vim_strsize(buf) \u003e maxlen)","\t\t trunc_string(buf, buf, maxlen, IOSIZE);","\t }","\t}"," }"," mustset = value_changed(title_str, \u0026lasttitle);",""," if (p_icon)"," {","\ticon_str = buf;","\tif (*p_iconstring != NUL)","\t{","#ifdef FEAT_STL_OPT","\t if (stl_syntax \u0026 STL_IN_ICON)","\t\tbuild_stl_str_hl(curwin, icon_str, sizeof(buf), p_iconstring,","\t\t\t\t (char_u *)\"iconstring\", 0, 0, 0, NULL, NULL);","\t else","#endif","\t\ticon_str = p_iconstring;","\t}","\telse","\t{","\t if (buf_spname(curbuf) != NULL)","\t\tp = buf_spname(curbuf);","\t else\t\t // use file name only in icon","\t\tp = gettail(curbuf-\u003eb_ffname);","\t *icon_str = NUL;","\t // Truncate name at 100 bytes.","\t len = (int)STRLEN(p);","\t if (len \u003e 100)","\t {","\t\tlen -= 100;","\t\tif (has_mbyte)","\t\t len += (*mb_tail_off)(p, p + len) + 1;","\t\tp += len;","\t }","\t STRCPY(icon_str, p);","\t trans_characters(icon_str, IOSIZE);","\t}"," }",""," mustset |= value_changed(icon_str, \u0026lasticon);",""," if (mustset)","\tresettitle();","}","","/*"," * Used for title and icon: Check if \"str\" differs from \"*last\". Set \"*last\""," * from \"str\" if it does."," * Return TRUE if resettitle() is to be called."," */"," static int","value_changed(char_u *str, char_u **last)","{"," if ((str == NULL) != (*last == NULL)","\t || (str != NULL \u0026\u0026 *last != NULL \u0026\u0026 STRCMP(str, *last) != 0))"," {","\tvim_free(*last);","\tif (str == NULL)","\t{","\t *last = NULL;","\t mch_restore_title(","\t\t last == \u0026lasttitle ? SAVE_RESTORE_TITLE : SAVE_RESTORE_ICON);","\t}","\telse","\t{","\t *last = vim_strsave(str);","\t return TRUE;","\t}"," }"," return FALSE;","}","","/*"," * Put current window title back (used after calling a shell)"," */"," void","resettitle(void)","{"," mch_settitle(lasttitle, lasticon);","}","","# if defined(EXITFREE) || defined(PROTO)"," void","free_titles(void)","{"," vim_free(lasttitle);"," vim_free(lasticon);","}","# endif","","","#if defined(FEAT_STL_OPT) || defined(FEAT_GUI_TABLINE) || defined(PROTO)","","/*"," * Used for building in the status line."," */","typedef struct","{"," char_u\t*stl_start;"," int\t\tstl_minwid;"," int\t\tstl_maxwid;"," enum {","\tNormal,","\tEmpty,","\tGroup,","\tSeparate,","\tHighlight,","\tTabPage,","\tTrunc"," }\t\tstl_type;","} stl_item_T;","","static size_t\t\tstl_items_len = 20; // Initial value, grows as needed.","static stl_item_T *stl_items = NULL;","static int\t *stl_groupitem = NULL;","static stl_hlrec_T *stl_hltab = NULL;","static stl_hlrec_T *stl_tabtab = NULL;","static int\t\t*stl_separator_locations = NULL;","","/*"," * Build a string from the status line items in \"fmt\"."," * Return length of string in screen cells."," *"," * Normally works for window \"wp\", except when working for 'tabline' then it"," * is \"curwin\"."," *"," * Items are drawn interspersed with the text that surrounds it"," * Specials: %-\u003cwid\u003e(xxx%) =\u003e group, %= =\u003e separation marker, %\u003c =\u003e truncation"," * Item: %-\u003cminwid\u003e.\u003cmaxwid\u003e\u003citemch\u003e All but \u003citemch\u003e are optional"," *"," * If maxwidth is not zero, the string will be filled at any middle marker"," * or truncated if too long, fillchar is used for all whitespace."," */"," int","build_stl_str_hl("," win_T\t*wp,"," char_u\t*out,\t\t// buffer to write into != NameBuff"," size_t\toutlen,\t\t// length of out[]"," char_u\t*fmt,"," char_u\t*opt_name, // option name corresponding to \"fmt\""," int\t\topt_scope,\t// scope for \"opt_name\""," int\t\tfillchar,"," int\t\tmaxwidth,"," stl_hlrec_T **hltab,\t// return: HL attributes (can be NULL)"," stl_hlrec_T **tabtab)\t// return: tab page nrs (can be NULL)","{"," linenr_T\tlnum;"," colnr_T\tlen;"," char_u\t*p;"," char_u\t*s;"," char_u\t*t;"," int\t\tbyteval;","#ifdef FEAT_EVAL"," int\t\tuse_sandbox;"," win_T\t*save_curwin;"," buf_T\t*save_curbuf;"," int\t\tsave_VIsual_active;","#endif"," int\t\tempty_line;"," colnr_T\tvirtcol;"," long\tl;"," long\tn;"," int\t\tprevchar_isflag;"," int\t\tprevchar_isitem;"," int\t\titemisflag;"," int\t\tfillable;"," char_u\t*str;"," long\tnum;"," int\t\twidth;"," int\t\titemcnt;"," int\t\tcuritem;"," int\t\tgroup_end_userhl;"," int\t\tgroup_start_userhl;"," int\t\tgroupdepth;","#ifdef FEAT_EVAL"," int\t\tevaldepth;","#endif"," int\t\tminwid;"," int\t\tmaxwid;"," int\t\tzeropad;"," char_u\tbase;"," char_u\topt;","#define TMPLEN 70"," char_u\tbuf_tmp[TMPLEN];"," char_u\twin_tmp[TMPLEN];"," char_u\t*usefmt = fmt;"," stl_hlrec_T *sp;"," int\t\tsave_redraw_not_allowed = redraw_not_allowed;"," int\t\tsave_KeyTyped = KeyTyped;"," // TODO: find out why using called_emsg_before makes tests fail, does it"," // matter?"," // int\tcalled_emsg_before = called_emsg;"," int\t\tdid_emsg_before = did_emsg;",""," // When inside update_screen() we do not want redrawing a statusline,"," // ruler, title, etc. to trigger another redraw, it may cause an endless"," // loop."," if (updating_screen)","\tredraw_not_allowed = TRUE;",""," if (stl_items == NULL)"," {","\tstl_items = ALLOC_MULT(stl_item_T, stl_items_len);","\tstl_groupitem = ALLOC_MULT(int, stl_items_len);","","\t// Allocate one more, because the last element is used to indicate the","\t// end of the list.","\tstl_hltab = ALLOC_MULT(stl_hlrec_T, stl_items_len + 1);","\tstl_tabtab = ALLOC_MULT(stl_hlrec_T, stl_items_len + 1);","","\tstl_separator_locations = ALLOC_MULT(int, stl_items_len);"," }","","#ifdef FEAT_EVAL"," // if \"fmt\" was set insecurely it needs to be evaluated in the sandbox"," use_sandbox = was_set_insecurely(opt_name, opt_scope);",""," // When the format starts with \"%!\" then evaluate it as an expression and"," // use the result as the actual format string."," if (fmt[0] == '%' \u0026\u0026 fmt[1] == '!')"," {","\ttypval_T\ttv;","","\ttv.v_type = VAR_NUMBER;","\ttv.vval.v_number = wp-\u003ew_id;","\tset_var((char_u *)\"g:statusline_winid\", \u0026tv, FALSE);","","\tusefmt = eval_to_string_safe(fmt + 2, use_sandbox, FALSE, FALSE);","\tif (usefmt == NULL)","\t usefmt = fmt;","","\tdo_unlet((char_u *)\"g:statusline_winid\", TRUE);"," }","#endif",""," if (fillchar == 0)","\tfillchar = ' ';",""," // The cursor in windows other than the current one isn't always"," // up-to-date, esp. because of autocommands and timers."," lnum = wp-\u003ew_cursor.lnum;"," if (lnum \u003e wp-\u003ew_buffer-\u003eb_ml.ml_line_count)"," {","\tlnum = wp-\u003ew_buffer-\u003eb_ml.ml_line_count;","\twp-\u003ew_cursor.lnum = lnum;"," }",""," // Get line \u0026 check if empty (cursorpos will show \"0-1\"). Note that"," // p will become invalid when getting another buffer line."," p = ml_get_buf(wp-\u003ew_buffer, lnum, FALSE);"," empty_line = (*p == NUL);",""," // Get the byte value now, in case we need it below. This is more efficient"," // than making a copy of the line."," len = ml_get_buf_len(wp-\u003ew_buffer, lnum);"," if (wp-\u003ew_cursor.col \u003e len)"," {","\t// Line may have changed since checking the cursor column, or the lnum","\t// was adjusted above.","\twp-\u003ew_cursor.col = len;","\twp-\u003ew_cursor.coladd = 0;","\tbyteval = 0;"," }"," else","\tbyteval = (*mb_ptr2char)(p + wp-\u003ew_cursor.col);",""," groupdepth = 0;","#ifdef FEAT_EVAL"," evaldepth = 0;","#endif"," p = out;"," curitem = 0;"," prevchar_isflag = TRUE;"," prevchar_isitem = FALSE;"," for (s = usefmt; *s != NUL; )"," {","\tif (curitem == (int)stl_items_len)","\t{","\t size_t\tnew_len = stl_items_len * 3 / 2;","","\t stl_item_T *new_items =","\t\t\t vim_realloc(stl_items, sizeof(stl_item_T) * new_len);","\t if (new_items == NULL)","\t\tbreak;","\t stl_items = new_items;","","\t int *new_groupitem =","\t\t\t vim_realloc(stl_groupitem, sizeof(int) * new_len);","\t if (new_groupitem == NULL)","\t\tbreak;","\t stl_groupitem = new_groupitem;","","\t stl_hlrec_T\t*new_hlrec = vim_realloc(stl_hltab,","\t\t\t\t\t sizeof(stl_hlrec_T) * (new_len + 1));","\t if (new_hlrec == NULL)","\t\tbreak;","\t stl_hltab = new_hlrec;","\t new_hlrec = vim_realloc(stl_tabtab,","\t\t\t\t\t sizeof(stl_hlrec_T) * (new_len + 1));","\t if (new_hlrec == NULL)","\t\tbreak;","\t stl_tabtab = new_hlrec;","","\t int *new_separator_locs = vim_realloc(stl_separator_locations,","\t\t\t\t\t sizeof(int) * new_len);","\t if (new_separator_locs == NULL)","\t\tbreak;","\t stl_separator_locations = new_separator_locs;;","","\t stl_items_len = new_len;","\t}","","\tif (*s != '%')","\t prevchar_isflag = prevchar_isitem = FALSE;","","\t/*","\t * Handle up to the next '%' or the end.","\t */","\twhile (*s != NUL \u0026\u0026 *s != '%' \u0026\u0026 p + 1 \u003c out + outlen)","\t *p++ = *s++;","\tif (*s == NUL || p + 1 \u003e= out + outlen)","\t break;","","\t/*","\t * Handle one '%' item.","\t */","\ts++;","\tif (*s == NUL) // ignore trailing %","\t break;","\tif (*s == '%')","\t{","\t if (p + 1 \u003e= out + outlen)","\t\tbreak;","\t *p++ = *s++;","\t prevchar_isflag = prevchar_isitem = FALSE;","\t continue;","\t}","\t// STL_SEPARATE: Separation between items, filled with white space.","\tif (*s == STL_SEPARATE)","\t{","\t s++;","\t if (groupdepth \u003e 0)","\t\tcontinue;","\t stl_items[curitem].stl_type = Separate;","\t stl_items[curitem++].stl_start = p;","\t continue;","\t}","\tif (*s == STL_TRUNCMARK)","\t{","\t s++;","\t stl_items[curitem].stl_type = Trunc;","\t stl_items[curitem++].stl_start = p;","\t continue;","\t}","\tif (*s == ')')","\t{","\t s++;","\t if (groupdepth \u003c 1)","\t\tcontinue;","\t groupdepth--;","","\t t = stl_items[stl_groupitem[groupdepth]].stl_start;","\t *p = NUL;","\t l = vim_strsize(t);","\t if (curitem \u003e stl_groupitem[groupdepth] + 1","\t\t \u0026\u0026 stl_items[stl_groupitem[groupdepth]].stl_minwid == 0)","\t {","\t\t// remove group if all items are empty and highlight group","\t\t// doesn't change","\t\tgroup_start_userhl = group_end_userhl = 0;","\t\tfor (n = stl_groupitem[groupdepth] - 1; n \u003e= 0; n--)","\t\t{","\t\t if (stl_items[n].stl_type == Highlight)","\t\t {","\t\t\tgroup_start_userhl = group_end_userhl =","\t\t\t\t\t\t stl_items[n].stl_minwid;","\t\t\tbreak;","\t\t }","\t\t}","\t\tfor (n = stl_groupitem[groupdepth] + 1; n \u003c curitem; n++)","\t\t{","\t\t if (stl_items[n].stl_type == Normal)","\t\t\tbreak;","\t\t if (stl_items[n].stl_type == Highlight)","\t\t\tgroup_end_userhl = stl_items[n].stl_minwid;","\t\t}","\t\tif (n == curitem \u0026\u0026 group_start_userhl == group_end_userhl)","\t\t{","\t\t // empty group","\t\t p = t;","\t\t l = 0;","\t\t for (n = stl_groupitem[groupdepth] + 1; n \u003c curitem; n++)","\t\t {","\t\t\t// do not use the highlighting from the removed group","\t\t\tif (stl_items[n].stl_type == Highlight)","\t\t\t stl_items[n].stl_type = Empty;","\t\t\t// adjust the start position of TabPage to the next","\t\t\t// item position","\t\t\tif (stl_items[n].stl_type == TabPage)","\t\t\t stl_items[n].stl_start = p;","\t\t }","\t\t}","\t }","\t if (l \u003e stl_items[stl_groupitem[groupdepth]].stl_maxwid)","\t {","\t\t// truncate, remove n bytes of text at the start","\t\tif (has_mbyte)","\t\t{","\t\t // Find the first character that should be included.","\t\t n = 0;","\t\t while (l \u003e= stl_items[stl_groupitem[groupdepth]].stl_maxwid)","\t\t {","\t\t\tl -= ptr2cells(t + n);","\t\t\tn += (*mb_ptr2len)(t + n);","\t\t }","\t\t}","\t\telse","\t\t n = (long)(p - t) - stl_items[stl_groupitem[groupdepth]]","\t\t\t\t\t\t\t .stl_maxwid + 1;","","\t\t*t = '\u003c';","\t\tmch_memmove(t + 1, t + n, (size_t)(p - (t + n)));","\t\tp = p - n + 1;","","\t\t// Fill up space left over by half a double-wide char.","\t\twhile (++l \u003c stl_items[stl_groupitem[groupdepth]].stl_minwid)","\t\t MB_CHAR2BYTES(fillchar, p);","","\t\t// correct the start of the items for the truncation","\t\tfor (l = stl_groupitem[groupdepth] + 1; l \u003c curitem; l++)","\t\t{","\t\t // Minus one for the leading '\u003c' added above.","\t\t stl_items[l].stl_start -= n - 1;","\t\t if (stl_items[l].stl_start \u003c t)","\t\t\tstl_items[l].stl_start = t;","\t\t}","\t }","\t else if (abs(stl_items[stl_groupitem[groupdepth]].stl_minwid) \u003e l)","\t {","\t\t// fill","\t\tn = stl_items[stl_groupitem[groupdepth]].stl_minwid;","\t\tif (n \u003c 0)","\t\t{","\t\t // fill by appending characters","\t\t n = 0 - n;","\t\t while (l++ \u003c n \u0026\u0026 p + 1 \u003c out + outlen)","\t\t\tMB_CHAR2BYTES(fillchar, p);","\t\t}","\t\telse","\t\t{","\t\t // fill by inserting characters","\t\t l = (n - l) * MB_CHAR2LEN(fillchar);","\t\t mch_memmove(t + l, t, (size_t)(p - t));","\t\t if (p + l \u003e= out + outlen)","\t\t\tl = (long)((out + outlen) - p - 1);","\t\t p += l;","\t\t for (n = stl_groupitem[groupdepth] + 1; n \u003c curitem; n++)","\t\t\tstl_items[n].stl_start += l;","\t\t for ( ; l \u003e 0; l--)","\t\t\tMB_CHAR2BYTES(fillchar, t);","\t\t}","\t }","\t continue;","\t}","\tminwid = 0;","\tmaxwid = 9999;","\tzeropad = FALSE;","\tl = 1;","\tif (*s == '0')","\t{","\t s++;","\t zeropad = TRUE;","\t}","\tif (*s == '-')","\t{","\t s++;","\t l = -1;","\t}","\tif (VIM_ISDIGIT(*s))","\t{","\t minwid = (int)getdigits(\u0026s);","\t if (minwid \u003c 0)\t// overflow","\t\tminwid = 0;","\t}","\tif (*s == STL_USER_HL)","\t{","\t stl_items[curitem].stl_type = Highlight;","\t stl_items[curitem].stl_start = p;","\t stl_items[curitem].stl_minwid = minwid \u003e 9 ? 1 : minwid;","\t s++;","\t curitem++;","\t continue;","\t}","\tif (*s == STL_TABPAGENR || *s == STL_TABCLOSENR)","\t{","\t if (*s == STL_TABCLOSENR)","\t {","\t\tif (minwid == 0)","\t\t{","\t\t // %X ends the close label, go back to the previously","\t\t // define tab label nr.","\t\t for (n = curitem - 1; n \u003e= 0; --n)","\t\t\tif (stl_items[n].stl_type == TabPage","\t\t\t\t\t \u0026\u0026 stl_items[n].stl_minwid \u003e= 0)","\t\t\t{","\t\t\t minwid = stl_items[n].stl_minwid;","\t\t\t break;","\t\t\t}","\t\t}","\t\telse","\t\t // close nrs are stored as negative values","\t\t minwid = - minwid;","\t }","\t stl_items[curitem].stl_type = TabPage;","\t stl_items[curitem].stl_start = p;","\t stl_items[curitem].stl_minwid = minwid;","\t s++;","\t curitem++;","\t continue;","\t}","\tif (*s == '.')","\t{","\t s++;","\t if (VIM_ISDIGIT(*s))","\t {","\t\tmaxwid = (int)getdigits(\u0026s);","\t\tif (maxwid \u003c= 0)\t// overflow","\t\t maxwid = 50;","\t }","\t}","\tminwid = (minwid \u003e 50 ? 50 : minwid) * l;","\tif (*s == '(')","\t{","\t stl_groupitem[groupdepth++] = curitem;","\t stl_items[curitem].stl_type = Group;","\t stl_items[curitem].stl_start = p;","\t stl_items[curitem].stl_minwid = minwid;","\t stl_items[curitem].stl_maxwid = maxwid;","\t s++;","\t curitem++;","\t continue;","\t}","#ifdef FEAT_EVAL","\t// Denotes end of expanded %{} block","\tif (*s == '}' \u0026\u0026 evaldepth \u003e 0)","\t{","\t s++;","\t evaldepth--;","\t continue;","\t}","#endif","\tif (vim_strchr(STL_ALL, *s) == NULL)","\t{","\t if (*s == NUL) // can happen with \"%0\"","\t\tbreak;","\t s++;","\t continue;","\t}","\topt = *s++;","","\t// OK - now for the real work","\tbase = 'D';","\titemisflag = FALSE;","\tfillable = TRUE;","\tnum = -1;","\tstr = NULL;","\tswitch (opt)","\t{","\tcase STL_FILEPATH:","\tcase STL_FULLPATH:","\tcase STL_FILENAME:","\t fillable = FALSE;\t// don't change ' ' to fillchar","\t if (buf_spname(wp-\u003ew_buffer) != NULL)","\t\tvim_strncpy(NameBuff, buf_spname(wp-\u003ew_buffer), MAXPATHL - 1);","\t else","\t {","\t\tt = (opt == STL_FULLPATH) ? wp-\u003ew_buffer-\u003eb_ffname","\t\t\t\t\t : wp-\u003ew_buffer-\u003eb_fname;","\t\thome_replace(wp-\u003ew_buffer, t, NameBuff, MAXPATHL, TRUE);","\t }","\t trans_characters(NameBuff, MAXPATHL);","\t if (opt != STL_FILENAME)","\t\tstr = NameBuff;","\t else","\t\tstr = gettail(NameBuff);","\t break;","","\tcase STL_VIM_EXPR: // '{'","\t{","#ifdef FEAT_EVAL","\t char_u *block_start = s - 1;","#endif","\t int reevaluate = (*s == '%');","","\t if (reevaluate)","\t\ts++;","\t itemisflag = TRUE;","\t t = p;","\t while ((*s != '}' || (reevaluate \u0026\u0026 s[-1] != '%'))","\t\t\t\t\t \u0026\u0026 *s != NUL \u0026\u0026 p + 1 \u003c out + outlen)","\t\t*p++ = *s++;","\t if (*s != '}')\t// missing '}' or out of space","\t\tbreak;","\t s++;","\t if (reevaluate)","\t\tp[-1] = 0; // remove the % at the end of %{% expr %}","\t else","\t\t*p = 0;","\t p = t;","#ifdef FEAT_EVAL","\t vim_snprintf((char *)buf_tmp, sizeof(buf_tmp),","\t\t\t\t\t\t\t \"%d\", curbuf-\u003eb_fnum);","\t set_internal_string_var((char_u *)\"g:actual_curbuf\", buf_tmp);","\t vim_snprintf((char *)win_tmp, sizeof(win_tmp), \"%d\", curwin-\u003ew_id);","\t set_internal_string_var((char_u *)\"g:actual_curwin\", win_tmp);","","\t save_curbuf = curbuf;","\t save_curwin = curwin;","\t save_VIsual_active = VIsual_active;","\t curwin = wp;","\t curbuf = wp-\u003ew_buffer;","\t // Visual mode is only valid in the current window.","\t if (curwin != save_curwin)","\t\tVIsual_active = FALSE;","","\t str = eval_to_string_safe(p, use_sandbox, FALSE, FALSE);","","\t curwin = save_curwin;","\t curbuf = save_curbuf;","\t VIsual_active = save_VIsual_active;","\t do_unlet((char_u *)\"g:actual_curbuf\", TRUE);","\t do_unlet((char_u *)\"g:actual_curwin\", TRUE);","","\t if (str != NULL \u0026\u0026 *str != 0)","\t {","\t\tif (*skipdigits(str) == NUL)","\t\t{","\t\t num = atoi((char *)str);","\t\t VIM_CLEAR(str);","\t\t itemisflag = FALSE;","\t\t}","\t }","","\t // If the output of the expression needs to be evaluated","\t // replace the %{} block with the result of evaluation","\t if (reevaluate \u0026\u0026 str != NULL \u0026\u0026 *str != 0","\t\t \u0026\u0026 strchr((const char *)str, '%') != NULL","\t\t \u0026\u0026 evaldepth \u003c MAX_STL_EVAL_DEPTH)","\t {","\t\tsize_t parsed_usefmt = (size_t)(block_start - usefmt);","\t\tsize_t str_length = strlen((const char *)str);","\t\tsize_t fmt_length = strlen((const char *)s);","\t\tsize_t new_fmt_len = parsed_usefmt","\t\t\t\t\t\t + str_length + fmt_length + 3;","\t\tchar_u *new_fmt = (char_u *)alloc(new_fmt_len * sizeof(char_u));","\t\tchar_u *new_fmt_p = new_fmt;","","\t\tnew_fmt_p = (char_u *)memcpy(new_fmt_p, usefmt, parsed_usefmt)","\t\t\t\t\t\t\t + parsed_usefmt;","\t\tnew_fmt_p = (char_u *)memcpy(new_fmt_p , str, str_length)","\t\t\t\t\t\t\t\t + str_length;","\t\tnew_fmt_p = (char_u *)memcpy(new_fmt_p, \"%}\", 2) + 2;","\t\tnew_fmt_p = (char_u *)memcpy(new_fmt_p , s, fmt_length)","\t\t\t\t\t\t\t\t + fmt_length;","\t\t*new_fmt_p = 0;","\t\tnew_fmt_p = NULL;","","\t\tif (usefmt != fmt)","\t\t vim_free(usefmt);","\t\tVIM_CLEAR(str);","\t\tusefmt = new_fmt;","\t\ts = usefmt + parsed_usefmt;","\t\tevaldepth++;","\t\tcontinue;","\t }","#endif","\t break;","\t}","\tcase STL_LINE:","\t num = (wp-\u003ew_buffer-\u003eb_ml.ml_flags \u0026 ML_EMPTY)","\t\t ? 0L : (long)(wp-\u003ew_cursor.lnum);","\t break;","","\tcase STL_NUMLINES:","\t num = wp-\u003ew_buffer-\u003eb_ml.ml_line_count;","\t break;","","\tcase STL_COLUMN:","\t num = (State \u0026 MODE_INSERT) == 0 \u0026\u0026 empty_line","\t\t\t\t\t ? 0 : (int)wp-\u003ew_cursor.col + 1;","\t break;","","\tcase STL_VIRTCOL:","\tcase STL_VIRTCOL_ALT:","\t virtcol = wp-\u003ew_virtcol + 1;","\t // Don't display %V if it's the same as %c.","\t if (opt == STL_VIRTCOL_ALT","\t\t \u0026\u0026 (virtcol == (colnr_T)((State \u0026 MODE_INSERT) == 0","\t\t\t \u0026\u0026 empty_line ? 0 : (int)wp-\u003ew_cursor.col + 1)))","\t\tbreak;","\t num = (long)virtcol;","\t break;","","\tcase STL_PERCENTAGE:","\t num = (int)(((long)wp-\u003ew_cursor.lnum * 100L) /","\t\t\t(long)wp-\u003ew_buffer-\u003eb_ml.ml_line_count);","\t break;","","\tcase STL_ALTPERCENT:","\t str = buf_tmp;","\t (void)get_rel_pos(wp, str, TMPLEN);","\t break;","","\tcase STL_SHOWCMD:","\t if (p_sc \u0026\u0026 STRCMP(opt_name, p_sloc) == 0)","\t\tstr = showcmd_buf;","\t break;","","\tcase STL_ARGLISTSTAT:","\t fillable = FALSE;","\t buf_tmp[0] = 0;","\t if (append_arg_number(wp, buf_tmp, (int)sizeof(buf_tmp), FALSE))","\t\tstr = buf_tmp;","\t break;","","\tcase STL_KEYMAP:","\t fillable = FALSE;","\t if (get_keymap_str(wp, (char_u *)\"\u003c%s\u003e\", buf_tmp, TMPLEN) \u003e 0)","\t\tstr = buf_tmp;","\t break;","\tcase STL_PAGENUM:","#if defined(FEAT_PRINTER) || defined(FEAT_GUI_TABLINE)","\t num = printer_page_num;","#else","\t num = 0;","#endif","\t break;","","\tcase STL_BUFNO:","\t num = wp-\u003ew_buffer-\u003eb_fnum;","\t break;","","\tcase STL_OFFSET_X:","\t base = 'X';","\t // FALLTHROUGH","\tcase STL_OFFSET:","#ifdef FEAT_BYTEOFF","\t l = ml_find_line_or_offset(wp-\u003ew_buffer, wp-\u003ew_cursor.lnum, NULL);","\t num = (wp-\u003ew_buffer-\u003eb_ml.ml_flags \u0026 ML_EMPTY) || l \u003c 0","\t\t ? 0L : l + 1 + ((State \u0026 MODE_INSERT) == 0 \u0026\u0026 empty_line","\t\t\t\t? 0 : (int)wp-\u003ew_cursor.col);","#endif","\t break;","","\tcase STL_BYTEVAL_X:","\t base = 'X';","\t // FALLTHROUGH","\tcase STL_BYTEVAL:","\t num = byteval;","\t if (num == NL)","\t\tnum = 0;","\t else if (num == CAR \u0026\u0026 get_fileformat(wp-\u003ew_buffer) == EOL_MAC)","\t\tnum = NL;","\t break;","","\tcase STL_ROFLAG:","\tcase STL_ROFLAG_ALT:","\t itemisflag = TRUE;","\t if (wp-\u003ew_buffer-\u003eb_p_ro)","\t\tstr = (char_u *)((opt == STL_ROFLAG_ALT) ? \",RO\" : _(\"[RO]\"));","\t break;","","\tcase STL_HELPFLAG:","\tcase STL_HELPFLAG_ALT:","\t itemisflag = TRUE;","\t if (wp-\u003ew_buffer-\u003eb_help)","\t\tstr = (char_u *)((opt == STL_HELPFLAG_ALT) ? \",HLP\"","\t\t\t\t\t\t\t : _(\"[Help]\"));","\t break;","","\tcase STL_FILETYPE:","\t if (*wp-\u003ew_buffer-\u003eb_p_ft != NUL","\t\t \u0026\u0026 STRLEN(wp-\u003ew_buffer-\u003eb_p_ft) \u003c TMPLEN - 3)","\t {","\t\tvim_snprintf((char *)buf_tmp, sizeof(buf_tmp), \"[%s]\",","\t\t\t\t\t\t\twp-\u003ew_buffer-\u003eb_p_ft);","\t\tstr = buf_tmp;","\t }","\t break;","","\tcase STL_FILETYPE_ALT:","\t itemisflag = TRUE;","\t if (*wp-\u003ew_buffer-\u003eb_p_ft != NUL","\t\t \u0026\u0026 STRLEN(wp-\u003ew_buffer-\u003eb_p_ft) \u003c TMPLEN - 2)","\t {","\t\tvim_snprintf((char *)buf_tmp, sizeof(buf_tmp), \",%s\",","\t\t\t\t\t\t\twp-\u003ew_buffer-\u003eb_p_ft);","\t\tfor (t = buf_tmp; *t != 0; t++)","\t\t *t = TOUPPER_LOC(*t);","\t\tstr = buf_tmp;","\t }","\t break;","","#if defined(FEAT_QUICKFIX)","\tcase STL_PREVIEWFLAG:","\tcase STL_PREVIEWFLAG_ALT:","\t itemisflag = TRUE;","\t if (wp-\u003ew_p_pvw)","\t\tstr = (char_u *)((opt == STL_PREVIEWFLAG_ALT) ? \",PRV\"","\t\t\t\t\t\t\t : _(\"[Preview]\"));","\t break;","","\tcase STL_QUICKFIX:","\t if (bt_quickfix(wp-\u003ew_buffer))","\t\tstr = (char_u *)(wp-\u003ew_llist_ref","\t\t\t ? _(msg_loclist)","\t\t\t : _(msg_qflist));","\t break;","#endif","","\tcase STL_MODIFIED:","\tcase STL_MODIFIED_ALT:","\t itemisflag = TRUE;","\t switch ((opt == STL_MODIFIED_ALT)","\t\t + bufIsChanged(wp-\u003ew_buffer) * 2","\t\t + (!wp-\u003ew_buffer-\u003eb_p_ma) * 4)","\t {","\t\tcase 2: str = (char_u *)\"[+]\"; break;","\t\tcase 3: str = (char_u *)\",+\"; break;","\t\tcase 4: str = (char_u *)\"[-]\"; break;","\t\tcase 5: str = (char_u *)\",-\"; break;","\t\tcase 6: str = (char_u *)\"[+-]\"; break;","\t\tcase 7: str = (char_u *)\",+-\"; break;","\t }","\t break;","","\tcase STL_HIGHLIGHT:","\t t = s;","\t while (*s != '#' \u0026\u0026 *s != NUL)","\t\t++s;","\t if (*s == '#')","\t {","\t\tstl_items[curitem].stl_type = Highlight;","\t\tstl_items[curitem].stl_start = p;","\t\tstl_items[curitem].stl_minwid = -syn_namen2id(t, (int)(s - t));","\t\tcuritem++;","\t }","\t if (*s != NUL)","\t\t++s;","\t continue;","\t}","","\tstl_items[curitem].stl_start = p;","\tstl_items[curitem].stl_type = Normal;","\tif (str != NULL \u0026\u0026 *str)","\t{","\t t = str;","\t if (itemisflag)","\t {","\t\tif ((t[0] \u0026\u0026 t[1])","\t\t\t\u0026\u0026 ((!prevchar_isitem \u0026\u0026 *t == ',')","\t\t\t || (prevchar_isflag \u0026\u0026 *t == ' ')))","\t\t t++;","\t\tprevchar_isflag = TRUE;","\t }","\t l = vim_strsize(t);","\t if (l \u003e 0)","\t\tprevchar_isitem = TRUE;","\t if (l \u003e maxwid)","\t {","\t\twhile (l \u003e= maxwid)","\t\t if (has_mbyte)","\t\t {","\t\t\tl -= ptr2cells(t);","\t\t\tt += (*mb_ptr2len)(t);","\t\t }","\t\t else","\t\t\tl -= byte2cells(*t++);","\t\tif (p + 1 \u003e= out + outlen)","\t\t break;","\t\t*p++ = '\u003c';","\t }","\t if (minwid \u003e 0)","\t {","\t\tfor (; l \u003c minwid \u0026\u0026 p + 1 \u003c out + outlen; l++)","\t\t{","\t\t // Don't put a \"-\" in front of a digit.","\t\t if (l + 1 == minwid \u0026\u0026 fillchar == '-' \u0026\u0026 VIM_ISDIGIT(*t))","\t\t\t*p++ = ' ';","\t\t else","\t\t\tMB_CHAR2BYTES(fillchar, p);","\t\t}","\t\tminwid = 0;","\t }","\t else","\t\tminwid *= -1;","\t for (; *t \u0026\u0026 p + 1 \u003c out + outlen; t++)","\t {","\t\t// Change a space by fillchar, unless fillchar is '-' and a","\t\t// digit follows.","\t\tif (fillable \u0026\u0026 *t == ' '","\t\t\t\t\u0026\u0026 (!VIM_ISDIGIT(*(t + 1)) || fillchar != '-'))","\t\t MB_CHAR2BYTES(fillchar, p);","\t\telse","\t\t *p++ = *t;","\t }","\t for (; l \u003c minwid \u0026\u0026 p + 1 \u003c out + outlen; l++)","\t\tMB_CHAR2BYTES(fillchar, p);","\t}","\telse if (num \u003e= 0)","\t{","\t int nbase = (base == 'D' ? 10 : (base == 'O' ? 8 : 16));","\t char_u nstr[20];","","\t if (p + 20 \u003e= out + outlen)","\t\tbreak;\t\t// not sufficient space","\t prevchar_isitem = TRUE;","\t t = nstr;","\t if (opt == STL_VIRTCOL_ALT)","\t {","\t\t*t++ = '-';","\t\tminwid--;","\t }","\t *t++ = '%';","\t if (zeropad)","\t\t*t++ = '0';","\t *t++ = '*';","\t *t++ = nbase == 16 ? base : (char_u)(nbase == 8 ? 'o' : 'd');","\t *t = 0;","","\t for (n = num, l = 1; n \u003e= nbase; n /= nbase)","\t\tl++;","\t if (opt == STL_VIRTCOL_ALT)","\t\tl++;","\t if (l \u003e maxwid)","\t {","\t\tl += 2;","\t\tn = l - maxwid;","\t\twhile (l-- \u003e maxwid)","\t\t num /= nbase;","\t\t*t++ = '\u003e';","\t\t*t++ = '%';","\t\t*t = t[-3];","\t\t*++t = 0;","\t\tvim_snprintf((char *)p, outlen - (p - out), (char *)nstr,","\t\t\t\t\t\t\t\t 0, num, n);","\t }","\t else","\t\tvim_snprintf((char *)p, outlen - (p - out), (char *)nstr,","\t\t\t\t\t\t\t\t minwid, num);","\t p += STRLEN(p);","\t}","\telse","\t stl_items[curitem].stl_type = Empty;","","\tif (num \u003e= 0 || (!itemisflag \u0026\u0026 str != NULL \u0026\u0026 *str != NUL))","\t prevchar_isflag = FALSE;\t // Item not NULL, but not a flag","\t\t\t\t\t //","\tif (opt == STL_VIM_EXPR)","\t vim_free(str);","\tcuritem++;"," }"," *p = NUL;"," itemcnt = curitem;","","#ifdef FEAT_EVAL"," if (usefmt != fmt)","\tvim_free(usefmt);","#endif",""," width = vim_strsize(out);"," if (maxwidth \u003e 0 \u0026\u0026 width \u003e maxwidth)"," {","\t// Result is too long, must truncate somewhere.","\tl = 0;","\tif (itemcnt == 0)","\t s = out;","\telse","\t{","\t for ( ; l \u003c itemcnt; l++)","\t\tif (stl_items[l].stl_type == Trunc)","\t\t{","\t\t // Truncate at %\u003c item.","\t\t s = stl_items[l].stl_start;","\t\t break;","\t\t}","\t if (l == itemcnt)","\t {","\t\t// No %\u003c item, truncate first item.","\t\ts = stl_items[0].stl_start;","\t\tl = 0;","\t }","\t}","","\tif (width - vim_strsize(s) \u003e= maxwidth)","\t{","\t // Truncation mark is beyond max length","\t if (has_mbyte)","\t {","\t\ts = out;","\t\twidth = 0;","\t\tfor (;;)","\t\t{","\t\t width += ptr2cells(s);","\t\t if (width \u003e= maxwidth)","\t\t\tbreak;","\t\t s += (*mb_ptr2len)(s);","\t\t}","\t\t// Fill up for half a double-wide character.","\t\twhile (++width \u003c maxwidth)","\t\t MB_CHAR2BYTES(fillchar, s);","\t }","\t else","\t\ts = out + maxwidth - 1;","\t for (l = 0; l \u003c itemcnt; l++)","\t\tif (stl_items[l].stl_start \u003e s)","\t\t break;","\t itemcnt = l;","\t *s++ = '\u003e';","\t *s = 0;","\t}","\telse","\t{","\t if (has_mbyte)","\t {","\t\tn = 0;","\t\twhile (width \u003e= maxwidth)","\t\t{","\t\t width -= ptr2cells(s + n);","\t\t n += (*mb_ptr2len)(s + n);","\t\t}","\t }","\t else","\t\tn = width - maxwidth + 1;","\t p = s + n;","\t STRMOVE(s + 1, p);","\t *s = '\u003c';","","\t --n;\t// count the '\u003c'","\t for (; l \u003c itemcnt; l++)","\t {","\t\tif (stl_items[l].stl_start - n \u003e= s)","\t\t stl_items[l].stl_start -= n;","\t\telse","\t\t stl_items[l].stl_start = s;","\t }","","\t // Fill up for half a double-wide character.","\t while (++width \u003c maxwidth)","\t {","\t\ts = s + STRLEN(s);","\t\tMB_CHAR2BYTES(fillchar, s);","\t\t*s = NUL;","\t }","\t}","\twidth = maxwidth;"," }"," else if (width \u003c maxwidth \u0026\u0026 STRLEN(out) + maxwidth - width + 1 \u003c outlen)"," {","\t// Find how many separators there are, which we will use when","\t// figuring out how many groups there are.","\tint num_separators = 0;","","\tfor (l = 0; l \u003c itemcnt; l++)","\t{","\t if (stl_items[l].stl_type == Separate)","\t {","\t\t// Create an array of the start location for each separator","\t\t// mark.","\t\tstl_separator_locations[num_separators] = l;","\t\tnum_separators++;","\t }","\t}","","\t// If we have separated groups, then we deal with it now","\tif (num_separators)","\t{","\t int standard_spaces;","\t int final_spaces;","","\t standard_spaces = (maxwidth - width) / num_separators;","\t final_spaces = (maxwidth - width) -","\t\t\t\t\tstandard_spaces * (num_separators - 1);","\t for (l = 0; l \u003c num_separators; l++)","\t {","\t\tint dislocation = (l == (num_separators - 1)) ?","\t\t\t\t\tfinal_spaces : standard_spaces;","\t\tdislocation *= MB_CHAR2LEN(fillchar);","\t\tchar_u *start = stl_items[stl_separator_locations[l]].stl_start;","\t\tchar_u *seploc = start + dislocation;","\t\tSTRMOVE(seploc, start);","\t\tfor (s = start; s \u003c seploc;)","\t\t MB_CHAR2BYTES(fillchar, s);","","\t\tfor (int i = stl_separator_locations[l] + 1; i \u003c itemcnt; i++)","\t\t stl_items[i].stl_start += dislocation;","\t }","","\t width = maxwidth;","\t}"," }",""," // Store the info about highlighting."," if (hltab != NULL)"," {","\t*hltab = stl_hltab;","\tsp = stl_hltab;","\tfor (l = 0; l \u003c itemcnt; l++)","\t{","\t if (stl_items[l].stl_type == Highlight)","\t {","\t\tsp-\u003estart = stl_items[l].stl_start;","\t\tsp-\u003euserhl = stl_items[l].stl_minwid;","\t\tsp++;","\t }","\t}","\tsp-\u003estart = NULL;","\tsp-\u003euserhl = 0;"," }",""," // Store the info about tab pages labels."," if (tabtab != NULL)"," {","\t*tabtab = stl_tabtab;","\tsp = stl_tabtab;","\tfor (l = 0; l \u003c itemcnt; l++)","\t{","\t if (stl_items[l].stl_type == TabPage)","\t {","\t\tsp-\u003estart = stl_items[l].stl_start;","\t\tsp-\u003euserhl = stl_items[l].stl_minwid;","\t\tsp++;","\t }","\t}","\tsp-\u003estart = NULL;","\tsp-\u003euserhl = 0;"," }",""," redraw_not_allowed = save_redraw_not_allowed;",""," // A user function may reset KeyTyped, restore it."," KeyTyped = save_KeyTyped;",""," // Check for an error. If there is one the display will be messed up and"," // might loop redrawing. Avoid that by making the corresponding option"," // empty."," // TODO: find out why using called_emsg_before makes tests fail, does it"," // matter?"," // if (called_emsg \u003e called_emsg_before)"," if (did_emsg \u003e did_emsg_before)","\tset_string_option_direct(opt_name, -1, (char_u *)\"\",","\t\t\t\t\t OPT_FREE | opt_scope, SID_ERROR);",""," return width;","}","#endif // FEAT_STL_OPT","","/*"," * Get relative cursor position in window into \"buf[buflen]\", in the localized"," * percentage form like %99, 99%; using \"Top\", \"Bot\" or \"All\" when appropriate."," */"," int","get_rel_pos("," win_T\t*wp,"," char_u\t*buf,"," int\t\tbuflen)","{"," long\tabove; // number of lines above window"," long\tbelow; // number of lines below window"," int\t\tlen;",""," if (buflen \u003c 3) // need at least 3 chars for writing","\treturn 0;"," above = wp-\u003ew_topline - 1;","#ifdef FEAT_DIFF"," above += diff_check_fill(wp, wp-\u003ew_topline) - wp-\u003ew_topfill;"," if (wp-\u003ew_topline == 1 \u0026\u0026 wp-\u003ew_topfill \u003e= 1)","\tabove = 0; // All buffer lines are displayed and there is an","\t\t // indication of filler lines, that can be considered","\t\t // seeing all lines.","#endif"," below = wp-\u003ew_buffer-\u003eb_ml.ml_line_count - wp-\u003ew_botline + 1;"," if (below \u003c= 0)","\tlen = vim_snprintf((char *)buf, buflen, \"%s\", (above == 0) ? _(\"All\") : _(\"Bot\"));"," else if (above \u003c= 0)","\tlen = vim_snprintf((char *)buf, buflen, \"%s\", _(\"Top\"));"," else"," {","\tint perc = (above \u003e 1000000L)","\t\t ? (int)(above / ((above + below) / 100L))","\t\t : (int)(above * 100L / (above + below));","","\t// localized percentage value","\tlen = vim_snprintf((char *)buf, buflen, _(\"%s%d%%\"), (perc \u003c 10) ? \" \" : \"\", perc);"," }"," if (len \u003c 0)"," {","\tbuf[0] = NUL;","\tlen = 0;"," }"," else if (len \u003e buflen - 1)","\tlen = buflen - 1;",""," return len;","}","","/*"," * Append (file 2 of 8) to \"buf[buflen]\", if editing more than one file."," * Return TRUE if it was appended."," */"," static int","append_arg_number("," win_T\t*wp,"," char_u\t*buf,"," int\t\tbuflen,"," int\t\tadd_file)\t// Add \"file\" before the arg number","{"," if (ARGCOUNT \u003c= 1)\t\t// nothing to do","\treturn FALSE;",""," char *msg;"," switch ((wp-\u003ew_arg_idx_invalid ? 1 : 0) + (add_file ? 2 : 0))"," {","\tcase 0: msg = _(\" (%d of %d)\"); break;","\tcase 1: msg = _(\" ((%d) of %d)\"); break;","\tcase 2: msg = _(\" (file %d of %d)\"); break;","\tcase 3: msg = _(\" (file (%d) of %d)\"); break;"," }",""," char_u *p = buf + STRLEN(buf);\t// go to the end of the buffer"," vim_snprintf((char *)p, (size_t)(buflen - (p - buf)), msg,","\t\t\t\t\t\t wp-\u003ew_arg_idx + 1, ARGCOUNT);"," return TRUE;","}","","/*"," * If fname is not a full path, make it a full path."," * Returns pointer to allocated memory (NULL for failure)."," */"," char_u *","fix_fname(char_u *fname)","{"," /*"," * Force expanding the path always for Unix, because symbolic links may"," * mess up the full path name, even though it starts with a '/'."," * Also expand when there is \"..\" in the file name, try to remove it,"," * because \"c:/src/../README\" is equal to \"c:/README\"."," * Similarly \"c:/src//file\" is equal to \"c:/src/file\"."," * For MS-Windows also expand names like \"longna~1\" to \"longname\"."," */","#ifdef UNIX"," return FullName_save(fname, TRUE);","#else"," if (!vim_isAbsName(fname)","\t || strstr((char *)fname, \"..\") != NULL","\t || strstr((char *)fname, \"//\") != NULL","# ifdef BACKSLASH_IN_FILENAME","\t || strstr((char *)fname, \"\\\\\\\\\") != NULL","# endif","# if defined(MSWIN)","\t || vim_strchr(fname, '~') != NULL","# endif","\t )","\treturn FullName_save(fname, FALSE);",""," fname = vim_strsave(fname);","","# ifdef USE_FNAME_CASE"," if (fname != NULL)","\tfname_case(fname, 0);\t// set correct case for file name","# endif",""," return fname;","#endif","}","","/*"," * Make \"*ffname\" a full file name, set \"*sfname\" to \"*ffname\" if not NULL."," * \"*ffname\" becomes a pointer to allocated memory (or NULL)."," * When resolving a link both \"*sfname\" and \"*ffname\" will point to the same"," * allocated memory."," * The \"*ffname\" and \"*sfname\" pointer values on call will not be freed."," * Note that the resulting \"*ffname\" pointer should be considered not allocated."," */"," void","fname_expand("," buf_T\t*buf UNUSED,"," char_u\t**ffname,"," char_u\t**sfname)","{"," if (*ffname == NULL)\t // no file name given, nothing to do","\treturn;"," if (*sfname == NULL)\t // no short file name given, use ffname","\t*sfname = *ffname;"," *ffname = fix_fname(*ffname); // expand to full path","","#ifdef FEAT_SHORTCUT"," if (!buf-\u003eb_p_bin)"," {","\tchar_u *rfname;","","\t// If the file name is a shortcut file, use the file it links to.","\trfname = mch_resolve_path(*ffname, FALSE);","\tif (rfname != NULL)","\t{","\t vim_free(*ffname);","\t *ffname = rfname;","\t *sfname = rfname;","\t}"," }","#endif","}","","/*"," * Open a window for a number of buffers."," */"," void","ex_buffer_all(exarg_T *eap)","{"," buf_T\t*buf;"," win_T\t*wp, *wpnext;"," int\t\tsplit_ret = OK;"," int\t\tp_ea_save;"," int\t\topen_wins = 0;"," int\t\tr;"," int\t\tcount;\t\t// Maximum number of windows to open."," int\t\tall;\t\t// When TRUE also load inactive buffers."," int\t\thad_tab = cmdmod.cmod_tab;"," tabpage_T\t*tpnext;",""," if (eap-\u003eaddr_count == 0)\t// make as many windows as possible","\tcount = 9999;"," else","\tcount = eap-\u003eline2;\t// make as many windows as specified"," if (eap-\u003ecmdidx == CMD_unhide || eap-\u003ecmdidx == CMD_sunhide)","\tall = FALSE;"," else","\tall = TRUE;",""," // Stop Visual mode, the cursor and \"VIsual\" may very well be invalid after"," // switching to another buffer."," reset_VIsual_and_resel();",""," setpcmark();","","#ifdef FEAT_GUI"," need_mouse_correct = TRUE;","#endif",""," /*"," * Close superfluous windows (two windows for the same buffer)."," * Also close windows that are not full-width."," */"," if (had_tab \u003e 0)","\tgoto_tabpage_tp(first_tabpage, TRUE, TRUE);"," for (;;)"," {","\ttpnext = curtab-\u003etp_next;","\tfor (wp = firstwin; wp != NULL; wp = wpnext)","\t{","\t wpnext = wp-\u003ew_next;","\t if ((wp-\u003ew_buffer-\u003eb_nwindows \u003e 1","\t\t\t|| ((cmdmod.cmod_split \u0026 WSP_VERT)","\t\t\t ? wp-\u003ew_height + wp-\u003ew_status_height \u003c Rows - p_ch","\t\t\t\t\t\t\t - tabline_height()","\t\t\t : wp-\u003ew_width != Columns)","\t\t\t|| (had_tab \u003e 0 \u0026\u0026 wp != firstwin))","\t\t \u0026\u0026 !ONE_WINDOW","\t\t \u0026\u0026 !(win_locked(wp) || wp-\u003ew_buffer-\u003eb_locked \u003e 0)","\t\t \u0026\u0026 !win_unlisted(wp))","\t {","\t\tif (win_close(wp, FALSE) == FAIL)","\t\t break;","\t\t// Just in case an autocommand does something strange with","\t\t// windows: start all over...","\t\twpnext = firstwin;","\t\ttpnext = first_tabpage;","\t\topen_wins = 0;","\t }","\t else","\t\t++open_wins;","\t}","","\t// Without the \":tab\" modifier only do the current tab page.","\tif (had_tab == 0 || tpnext == NULL)","\t break;","\tgoto_tabpage_tp(tpnext, TRUE, TRUE);"," }",""," /*"," * Go through the buffer list. When a buffer doesn't have a window yet,"," * open one. Otherwise move the window to the right position."," * Watch out for autocommands that delete buffers or windows!"," */"," // Don't execute Win/Buf Enter/Leave autocommands here."," ++autocmd_no_enter;"," win_enter(lastwin, FALSE);"," ++autocmd_no_leave;"," for (buf = firstbuf; buf != NULL \u0026\u0026 open_wins \u003c count; buf = buf-\u003eb_next)"," {","\t// Check if this buffer needs a window","\tif ((!all \u0026\u0026 buf-\u003eb_ml.ml_mfp == NULL) || !buf-\u003eb_p_bl)","\t continue;","","\tif (had_tab != 0)","\t{","\t // With the \":tab\" modifier don't move the window.","\t if (buf-\u003eb_nwindows \u003e 0)","\t\twp = lastwin;\t // buffer has a window, skip it","\t else","\t\twp = NULL;","\t}","\telse","\t{","\t // Check if this buffer already has a window","\t FOR_ALL_WINDOWS(wp)","\t\tif (wp-\u003ew_buffer == buf)","\t\t break;","\t // If the buffer already has a window, move it","\t if (wp != NULL)","\t\twin_move_after(wp, curwin);","\t}","","\tif (wp == NULL \u0026\u0026 split_ret == OK)","\t{","\t bufref_T\tbufref;","","\t set_bufref(\u0026bufref, buf);","","\t // Split the window and put the buffer in it","\t p_ea_save = p_ea;","\t p_ea = TRUE;\t\t// use space from all windows","\t split_ret = win_split(0, WSP_ROOM | WSP_BELOW);","\t ++open_wins;","\t p_ea = p_ea_save;","\t if (split_ret == FAIL)","\t\tcontinue;","","\t // Open the buffer in this window.","\t swap_exists_action = SEA_DIALOG;","\t set_curbuf(buf, DOBUF_GOTO);","\t if (!bufref_valid(\u0026bufref))","\t {","\t\t// autocommands deleted the buffer!!!","\t\tswap_exists_action = SEA_NONE;","\t\tbreak;","\t }","\t if (swap_exists_action == SEA_QUIT)","\t {","#if defined(FEAT_EVAL)","\t\tcleanup_T cs;","","\t\t// Reset the error/interrupt/exception state here so that","\t\t// aborting() returns FALSE when closing a window.","\t\tenter_cleanup(\u0026cs);","#endif","","\t\t// User selected Quit at ATTENTION prompt; close this window.","\t\twin_close(curwin, TRUE);","\t\t--open_wins;","\t\tswap_exists_action = SEA_NONE;","\t\tswap_exists_did_quit = TRUE;","","#if defined(FEAT_EVAL)","\t\t// Restore the error/interrupt/exception state if not","\t\t// discarded by a new aborting error, interrupt, or uncaught","\t\t// exception.","\t\tleave_cleanup(\u0026cs);","#endif","\t }","\t else","\t\thandle_swap_exists(NULL);","\t}","","\tui_breakcheck();","\tif (got_int)","\t{","\t (void)vgetc();\t// only break the file loading, not the rest","\t break;","\t}","#ifdef FEAT_EVAL","\t// Autocommands deleted the buffer or aborted script processing!!!","\tif (aborting())","\t break;","#endif","\t// When \":tab\" was used open a new tab for a new window repeatedly.","\tif (had_tab \u003e 0 \u0026\u0026 tabpage_index(NULL) \u003c= p_tpm)","\t cmdmod.cmod_tab = 9999;"," }"," --autocmd_no_enter;"," win_enter(firstwin, FALSE);\t\t// back to first window"," --autocmd_no_leave;",""," /*"," * Close superfluous windows."," */"," for (wp = lastwin; open_wins \u003e count; )"," {","\tr = (buf_hide(wp-\u003ew_buffer) || !bufIsChanged(wp-\u003ew_buffer)","\t\t\t\t || autowrite(wp-\u003ew_buffer, FALSE) == OK);","\tif (!win_valid(wp))","\t{","\t // BufWrite Autocommands made the window invalid, start over","\t wp = lastwin;","\t}","\telse if (r)","\t{","\t win_close(wp, !buf_hide(wp-\u003ew_buffer));","\t --open_wins;","\t wp = lastwin;","\t}","\telse","\t{","\t wp = wp-\u003ew_prev;","\t if (wp == NULL)","\t\tbreak;","\t}"," }","}","","","static int chk_modeline(linenr_T, int);","","/*"," * do_modelines() - process mode lines for the current file"," *"," * \"flags\" can be:"," * OPT_WINONLY\t only set options local to window"," * OPT_NOWIN\t don't set options local to window"," *"," * Returns immediately if the \"ml\" option isn't set."," */"," void","do_modelines(int flags)","{"," linenr_T\tlnum;"," int\t\tnmlines;"," static int\tentered = 0;",""," if (!curbuf-\u003eb_p_ml || (nmlines = (int)p_mls) == 0)","\treturn;",""," // Disallow recursive entry here. Can happen when executing a modeline"," // triggers an autocommand, which reloads modelines with a \":do\"."," if (entered)","\treturn;",""," ++entered;"," for (lnum = 1; curbuf-\u003eb_p_ml \u0026\u0026 lnum \u003c= curbuf-\u003eb_ml.ml_line_count \u0026\u0026 lnum \u003c= nmlines;","\t\t\t\t\t\t\t\t ++lnum)","\tif (chk_modeline(lnum, flags) == FAIL)","\t nmlines = 0;",""," for (lnum = curbuf-\u003eb_ml.ml_line_count; curbuf-\u003eb_p_ml \u0026\u0026 lnum \u003e 0 \u0026\u0026 lnum \u003e nmlines","\t\t \u0026\u0026 lnum \u003e curbuf-\u003eb_ml.ml_line_count - nmlines; --lnum)","\tif (chk_modeline(lnum, flags) == FAIL)","\t nmlines = 0;"," --entered;","}","","#include \"version.h\"\t\t// for version number","","/*"," * chk_modeline() - check a single line for a mode string"," * Return FAIL if an error encountered."," */"," static int","chk_modeline("," linenr_T\tlnum,"," int\t\tflags)\t\t// Same as for do_modelines().","{"," char_u\t*s;"," char_u\t*e;"," char_u\t*linecopy;\t\t// local copy of any modeline found"," int\t\tprev;"," int\t\tvers;"," int\t\tend;"," int\t\tretval = OK;"," sctx_T\tsave_current_sctx;"," ESTACK_CHECK_DECLARATION;",""," prev = -1;"," for (s = ml_get(lnum); *s != NUL; ++s)"," {","\tif (prev == -1 || vim_isspace(prev))","\t{","\t if ((prev != -1 \u0026\u0026 STRNCMP(s, \"ex:\", (size_t)3) == 0)","\t\t || STRNCMP(s, \"vi:\", (size_t)3) == 0)","\t\tbreak;","\t // Accept both \"vim\" and \"Vim\".","\t if ((s[0] == 'v' || s[0] == 'V') \u0026\u0026 s[1] == 'i' \u0026\u0026 s[2] == 'm')","\t {","\t\tif (s[3] == '\u003c' || s[3] == '=' || s[3] == '\u003e')","\t\t e = s + 4;","\t\telse","\t\t e = s + 3;","\t\tvers = getdigits(\u0026e);","\t\tif (*e == ':'","\t\t\t\u0026\u0026 (s[0] != 'V'","\t\t\t\t || STRNCMP(skipwhite(e + 1), \"set\", 3) == 0)","\t\t\t\u0026\u0026 (s[3] == ':'","\t\t\t || (VIM_VERSION_100 \u003e= vers \u0026\u0026 SAFE_isdigit(s[3]))","\t\t\t || (VIM_VERSION_100 \u003c vers \u0026\u0026 s[3] == '\u003c')","\t\t\t || (VIM_VERSION_100 \u003e vers \u0026\u0026 s[3] == '\u003e')","\t\t\t || (VIM_VERSION_100 == vers \u0026\u0026 s[3] == '=')))","\t\t break;","\t }","\t}","\tprev = *s;"," }",""," if (*s)"," {","\tdo\t\t\t\t// skip over \"ex:\", \"vi:\" or \"vim:\"","\t ++s;","\twhile (s[-1] != ':');","","\ts = linecopy = vim_strsave(s);\t// copy the line, it will change","\tif (linecopy == NULL)","\t return FAIL;","","\t// prepare for emsg()","\testack_push(ETYPE_MODELINE, (char_u *)\"modelines\", lnum);","\tESTACK_CHECK_SETUP;","","\tend = FALSE;","\twhile (end == FALSE)","\t{","\t s = skipwhite(s);","\t if (*s == NUL)","\t\tbreak;","","\t /*","\t * Find end of set command: ':' or end of line.","\t * Skip over \"\\:\", replacing it with \":\".","\t */","\t for (e = s; *e != ':' \u0026\u0026 *e != NUL; ++e)","\t\tif (e[0] == '\\\\' \u0026\u0026 e[1] == ':')","\t\t STRMOVE(e, e + 1);","\t if (*e == NUL)","\t\tend = TRUE;","","\t /*","\t * If there is a \"set\" command, require a terminating ':' and","\t * ignore the stuff after the ':'.","\t * \"vi:set opt opt opt: foo\" -- foo not interpreted","\t * \"vi:opt opt opt: foo\" -- foo interpreted","\t * Accept \"se\" for compatibility with Elvis.","\t */","\t if (STRNCMP(s, \"set \", (size_t)4) == 0","\t\t || STRNCMP(s, \"se \", (size_t)3) == 0)","\t {","\t\tif (*e != ':')\t\t// no terminating ':'?","\t\t break;","\t\tend = TRUE;","\t\ts = vim_strchr(s, ' ') + 1;","\t }","\t *e = NUL;\t\t\t// truncate the set command","","\t if (*s != NUL)\t\t// skip over an empty \"::\"","\t {","\t\tint secure_save = secure;","","\t\tsave_current_sctx = current_sctx;","\t\tcurrent_sctx.sc_version = 1;","#ifdef FEAT_EVAL","\t\tcurrent_sctx.sc_sid = SID_MODELINE;","\t\tcurrent_sctx.sc_seq = 0;","\t\tcurrent_sctx.sc_lnum = lnum;","#endif","","\t\t// Make sure no risky things are executed as a side effect.","\t\tsecure = 1;","","\t\tretval = do_set(s, OPT_MODELINE | OPT_LOCAL | flags);","","\t\tsecure = secure_save;","\t\tcurrent_sctx = save_current_sctx;","\t\tif (retval == FAIL)\t\t// stop if error found","\t\t break;","\t }","\t s = e + 1;\t\t\t// advance to next part","\t}","","\tESTACK_CHECK_NOW;","\testack_pop();","\tvim_free(linecopy);"," }"," return retval;","}","","/*"," * Return TRUE if \"buf\" is a normal buffer, 'buftype' is empty."," */"," int","bt_normal(buf_T *buf)","{"," return buf != NULL \u0026\u0026 buf-\u003eb_p_bt[0] == NUL;","}","","/*"," * Return TRUE if \"buf\" is the quickfix buffer."," */"," int","bt_quickfix(buf_T *buf UNUSED)","{","#ifdef FEAT_QUICKFIX"," return buf != NULL \u0026\u0026 buf_valid(buf) \u0026\u0026 buf-\u003eb_p_bt[0] == 'q';","#else"," return FALSE;","#endif","}","","/*"," * Return TRUE if \"buf\" is a terminal buffer."," */"," int","bt_terminal(buf_T *buf UNUSED)","{","#if defined(FEAT_TERMINAL)"," return buf != NULL \u0026\u0026 buf-\u003eb_p_bt[0] == 't';","#else"," return FALSE;","#endif","}","","/*"," * Return TRUE if \"buf\" is a help buffer."," */"," int","bt_help(buf_T *buf)","{"," return buf != NULL \u0026\u0026 buf-\u003eb_help;","}","","/*"," * Return TRUE if \"buf\" is a prompt buffer."," */"," int","bt_prompt(buf_T *buf)","{"," return buf != NULL \u0026\u0026 buf-\u003eb_p_bt[0] == 'p' \u0026\u0026 buf-\u003eb_p_bt[1] == 'r';","}","","#if defined(FEAT_PROP_POPUP) || defined(PROTO)","/*"," * Return TRUE if \"buf\" is a buffer for a popup window."," */"," int","bt_popup(buf_T *buf)","{"," return buf != NULL \u0026\u0026 buf-\u003eb_p_bt != NULL","\t\u0026\u0026 buf-\u003eb_p_bt[0] == 'p' \u0026\u0026 buf-\u003eb_p_bt[1] == 'o';","}","#endif","","/*"," * Return TRUE if \"buf\" is a \"nofile\", \"acwrite\", \"terminal\" or \"prompt\""," * buffer. This means the buffer name may not be a file name, at least not for"," * writing the buffer."," */"," int","bt_nofilename(buf_T *buf)","{"," return buf != NULL \u0026\u0026 ((buf-\u003eb_p_bt[0] == 'n' \u0026\u0026 buf-\u003eb_p_bt[2] == 'f')","\t || buf-\u003eb_p_bt[0] == 'a'","\t || buf-\u003eb_p_bt[0] == 't'","\t || buf-\u003eb_p_bt[0] == 'p');","}","","/*"," * Return TRUE if \"buf\" is a \"nofile\", \"quickfix\", \"terminal\" or \"prompt\""," * buffer. This means the buffer is not to be read from a file."," */"," static int","bt_nofileread(buf_T *buf)","{"," return buf != NULL \u0026\u0026 ((buf-\u003eb_p_bt[0] == 'n' \u0026\u0026 buf-\u003eb_p_bt[2] == 'f')","\t || buf-\u003eb_p_bt[0] == 't'","\t || buf-\u003eb_p_bt[0] == 'q'","\t || buf-\u003eb_p_bt[0] == 'p');","}","","#if defined(FEAT_QUICKFIX) || defined(PROTO)","/*"," * Return TRUE if \"buf\" has 'buftype' set to \"nofile\"."," */"," int","bt_nofile(buf_T *buf)","{"," return buf != NULL \u0026\u0026 buf-\u003eb_p_bt[0] == 'n' \u0026\u0026 buf-\u003eb_p_bt[2] == 'f';","}","#endif","","/*"," * Return TRUE if \"buf\" is a \"nowrite\", \"nofile\", \"terminal\", \"prompt\", or"," * \"popup\" buffer."," */"," int","bt_dontwrite(buf_T *buf)","{"," return buf != NULL \u0026\u0026 (buf-\u003eb_p_bt[0] == 'n'","\t\t || buf-\u003eb_p_bt[0] == 't'","\t\t || buf-\u003eb_p_bt[0] == 'p');","}",""," int","bt_dontwrite_msg(buf_T *buf)","{"," if (bt_dontwrite(buf))"," {","\temsg(_(e_cannot_write_buftype_option_is_set));","\treturn TRUE;"," }"," return FALSE;","}","","/*"," * Return TRUE if the buffer should be hidden, according to 'hidden', \":hide\""," * and 'bufhidden'."," */"," int","buf_hide(buf_T *buf)","{"," // 'bufhidden' overrules 'hidden' and \":hide\", check it first"," switch (buf-\u003eb_p_bh[0])"," {","\tcase 'u':\t\t // \"unload\"","\tcase 'w':\t\t // \"wipe\"","\tcase 'd': return FALSE;\t // \"delete\"","\tcase 'h': return TRUE;\t // \"hide\""," }"," return (p_hid || (cmdmod.cmod_flags \u0026 CMOD_HIDE));","}","","/*"," * Return special buffer name."," * Returns NULL when the buffer has a normal file name."," */"," char_u *","buf_spname(buf_T *buf)","{","#if defined(FEAT_QUICKFIX)"," if (bt_quickfix(buf))"," {","\t/*","\t * Differentiate between the quickfix and location list buffers using","\t * the buffer number stored in the global quickfix stack.","\t */","\tif (buf-\u003eb_fnum == qf_stack_get_bufnr())","\t return (char_u *)_(msg_qflist);","\telse","\t return (char_u *)_(msg_loclist);"," }","#endif",""," // There is no _file_ when 'buftype' is \"nofile\", b_sfname"," // contains the name as specified by the user."," if (bt_nofilename(buf))"," {","#ifdef FEAT_TERMINAL","\tif (buf-\u003eb_term != NULL)","\t return term_get_status_text(buf-\u003eb_term);","#endif","\tif (buf-\u003eb_fname != NULL)","\t return buf-\u003eb_fname;","\tif (buf == cmdwin_buf)","\t return (char_u *)_(\"[Command Line]\");","#ifdef FEAT_JOB_CHANNEL","\tif (bt_prompt(buf))","\t return (char_u *)_(\"[Prompt]\");","#endif","#ifdef FEAT_PROP_POPUP","\tif (bt_popup(buf))","\t return (char_u *)_(\"[Popup]\");","#endif","\treturn (char_u *)_(\"[Scratch]\");"," }",""," if (buf-\u003eb_fname == NULL)","\treturn buf_get_fname(buf);"," return NULL;","}","","/*"," * Get \"buf-\u003eb_fname\", use \"[No Name]\" if it is NULL."," */"," char_u *","buf_get_fname(buf_T *buf)","{"," if (buf-\u003eb_fname == NULL)","\treturn (char_u *)_(\"[No Name]\");"," return buf-\u003eb_fname;","}","","/*"," * Set 'buflisted' for curbuf to \"on\" and trigger autocommands if it changed."," */"," void","set_buflisted(int on)","{"," if (on == curbuf-\u003eb_p_bl)","\treturn;",""," curbuf-\u003eb_p_bl = on;"," if (on)","\tapply_autocmds(EVENT_BUFADD, NULL, NULL, FALSE, curbuf);"," else","\tapply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf);","}","","/*"," * Read the file for \"buf\" again and check if the contents changed."," * Return TRUE if it changed or this could not be checked."," */"," int","buf_contents_changed(buf_T *buf)","{"," buf_T\t*newbuf;"," int\t\tdiffer = TRUE;"," linenr_T\tlnum;"," aco_save_T\taco;"," exarg_T\tea;",""," // Allocate a buffer without putting it in the buffer list."," newbuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY);"," if (newbuf == NULL)","\treturn TRUE;",""," // Force the 'fileencoding' and 'fileformat' to be equal."," if (prep_exarg(\u0026ea, buf) == FAIL)"," {","\twipe_buffer(newbuf, FALSE);","\treturn TRUE;"," }",""," // Set curwin/curbuf to buf and save a few things."," aucmd_prepbuf(\u0026aco, newbuf);"," if (curbuf != newbuf)"," {","\t// Failed to find a window for \"newbuf\".","\twipe_buffer(newbuf, FALSE);","\treturn TRUE;"," }",""," // We don't want to trigger autocommands now, they may have nasty"," // side-effects like wiping buffers"," block_autocmds();"," if (ml_open(curbuf) == OK","\t \u0026\u0026 readfile(buf-\u003eb_ffname, buf-\u003eb_fname,","\t\t\t\t (linenr_T)0, (linenr_T)0, (linenr_T)MAXLNUM,","\t\t\t\t\t \u0026ea, READ_NEW | READ_DUMMY) == OK)"," {","\t// compare the two files line by line","\tif (buf-\u003eb_ml.ml_line_count == curbuf-\u003eb_ml.ml_line_count)","\t{","\t differ = FALSE;","\t for (lnum = 1; lnum \u003c= curbuf-\u003eb_ml.ml_line_count; ++lnum)","\t\tif (STRCMP(ml_get_buf(buf, lnum, FALSE), ml_get(lnum)) != 0)","\t\t{","\t\t differ = TRUE;","\t\t break;","\t\t}","\t}"," }"," vim_free(ea.cmd);",""," // restore curwin/curbuf and a few other things"," aucmd_restbuf(\u0026aco);",""," if (curbuf != newbuf)\t// safety check","\twipe_buffer(newbuf, FALSE);",""," unblock_autocmds();",""," return differ;","}","","/*"," * Wipe out a buffer and decrement the last buffer number if it was used for"," * this buffer. Call this to wipe out a temp buffer that does not contain any"," * marks."," */"," void","wipe_buffer("," buf_T\t*buf,"," int\t\taucmd)\t // When TRUE trigger autocommands.","{"," if (buf-\u003eb_fnum == top_file_num - 1)","\t--top_file_num;",""," if (!aucmd)\t\t // Don't trigger BufDelete autocommands here.","\tblock_autocmds();",""," close_buffer(NULL, buf, DOBUF_WIPE, FALSE, TRUE);",""," if (!aucmd)","\tunblock_autocmds();","}"],"stylingDirectives":[[[0,31,"pl-c"]],[[0,2,"pl-c"]],[[0,38,"pl-c"]],[[0,2,"pl-c"]],[[0,66,"pl-c"]],[[0,69,"pl-c"]],[[0,57,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,60,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,58,"pl-c"]],[[0,45,"pl-c"]],[[0,67,"pl-c"]],[[0,58,"pl-c"]],[[0,65,"pl-c"]],[[0,44,"pl-c"]],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,63,"pl-c"]],[[0,2,"pl-c"]],[[0,65,"pl-c"]],[[0,3,"pl-c"]],[],[[0,8,"pl-k"],[9,16,"pl-s"]],[],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[0,75,"pl-c"]],[[0,8,"pl-k"],[9,27,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,24,"pl-en"],[25,30,"pl-smi"],[31,32,"pl-c1"],[32,35,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,27,"pl-en"],[28,32,"pl-smi"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,15,"pl-c1"],[15,28,"pl-en"],[29,39,"pl-smi"],[40,41,"pl-c1"],[41,44,"pl-s1"],[46,51,"pl-smi"],[52,53,"pl-c1"],[53,56,"pl-s1"],[58,61,"pl-smi"],[62,73,"pl-s1"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,15,"pl-c1"],[15,26,"pl-en"],[27,37,"pl-smi"],[38,39,"pl-c1"],[39,42,"pl-s1"],[44,50,"pl-smi"],[51,52,"pl-c1"],[52,56,"pl-s1"],[58,61,"pl-smi"],[62,73,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[0,6,"pl-k"],[7,12,"pl-smi"],[13,14,"pl-c1"],[14,35,"pl-en"],[36,42,"pl-smi"],[43,44,"pl-c1"],[44,50,"pl-s1"],[52,58,"pl-smi"],[59,60,"pl-c1"],[60,62,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,30,"pl-smi"],[31,32,"pl-c1"],[32,35,"pl-s1"],[37,43,"pl-smi"],[44,45,"pl-c1"],[45,51,"pl-s1"],[53,59,"pl-smi"],[60,61,"pl-c1"],[61,64,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,23,"pl-en"],[24,29,"pl-smi"],[30,31,"pl-c1"],[31,34,"pl-s1"],[36,42,"pl-smi"],[43,44,"pl-c1"],[44,47,"pl-s1"]],[[0,5,"pl-k"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,30,"pl-smi"],[31,32,"pl-c1"],[32,35,"pl-s1"],[37,43,"pl-smi"],[44,45,"pl-c1"],[45,51,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,31,"pl-smi"],[32,33,"pl-c1"],[33,36,"pl-s1"],[38,44,"pl-smi"],[45,46,"pl-c1"],[46,47,"pl-c1"],[47,51,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,28,"pl-en"],[29,34,"pl-smi"],[35,36,"pl-c1"],[36,38,"pl-s1"],[40,46,"pl-smi"],[47,48,"pl-c1"],[48,51,"pl-s1"],[53,56,"pl-smi"],[57,63,"pl-s1"],[65,68,"pl-smi"],[69,77,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,23,"pl-en"],[24,29,"pl-smi"],[30,31,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,29,"pl-en"],[30,35,"pl-smi"],[36,37,"pl-c1"],[37,40,"pl-s1"],[42,45,"pl-smi"],[46,58,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,30,"pl-smi"],[31,32,"pl-c1"],[32,35,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,32,"pl-en"],[33,38,"pl-smi"],[39,40,"pl-c1"],[40,43,"pl-s1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,24,"pl-en"],[25,28,"pl-smi"],[29,35,"pl-s1"],[37,40,"pl-smi"],[41,46,"pl-s1"],[48,51,"pl-smi"],[52,55,"pl-s1"],[57,60,"pl-smi"],[61,66,"pl-s1"],[68,71,"pl-smi"],[72,77,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[0,8,"pl-k"],[9,14,"pl-s1"]],[[0,5,"pl-k"]],[[0,8,"pl-k"],[9,14,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,7,"pl-k"],[8,30,"pl-en"],[31,34,"pl-s1"]],[],[],[[0,3,"pl-k"],[12,25,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,13,"pl-c1"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,29,"pl-en"],[30,47,"pl-s"]],[[0,6,"pl-k"],[7,11,"pl-smi"],[12,13,"pl-c1"],[13,23,"pl-s1"],[24,25,"pl-c1"],[26,28,"pl-en"],[29,46,"pl-s"]],[[0,6,"pl-k"]],[],[[0,44,"pl-c"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[11,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[29,51,"pl-c"]],[[0,6,"pl-k"],[7,15,"pl-smi"],[16,25,"pl-s1"],[26,27,"pl-c1"],[28,36,"pl-c1"],[38,64,"pl-c"]],[],[[0,2,"pl-c"]],[[0,45,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[4,10,"pl-k"],[11,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,38,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,11,"pl-en"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[25,64,"pl-c"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[23,60,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[21,50,"pl-c"]],[],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[4,12,"pl-smi"],[13,23,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,69,"pl-c"]],[[4,40,"pl-c"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,23,"pl-s1"],[23,25,"pl-c1"],[25,29,"pl-c1"],[30,43,"pl-c1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,21,"pl-en"]],[[5,15,"pl-s1"],[18,22,"pl-c1"],[25,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"]],[[5,15,"pl-s1"],[18,22,"pl-c1"],[25,31,"pl-s1"],[31,33,"pl-c1"],[33,40,"pl-c1"]],[[5,15,"pl-s1"],[18,26,"pl-smi"],[27,28,"pl-c1"],[31,39,"pl-smi"],[40,47,"pl-c1"],[49,52,"pl-s1"]],[[5,10,"pl-s1"],[13,24,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,20,"pl-c1"]],[],[[1,28,"pl-c"]],[[1,6,"pl-k"],[8,10,"pl-c1"],[10,20,"pl-s1"],[24,25,"pl-c1"]],[[5,14,"pl-en"],[16,24,"pl-smi"],[25,26,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,31,"pl-c"]],[[1,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,34,"pl-c1"],[35,36,"pl-c1"],[37,47,"pl-s1"]],[[5,14,"pl-en"],[15,25,"pl-s1"]],[],[[4,40,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[[4,6,"pl-k"],[8,18,"pl-s1"]],[],[[1,66,"pl-c"]],[[1,28,"pl-c"]],[[1,3,"pl-k"],[6,18,"pl-s1"],[19,21,"pl-c1"],[23,31,"pl-en"]],[[5,12,"pl-en"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,16,"pl-s1"],[17,19,"pl-c1"],[20,22,"pl-c1"]],[[5,14,"pl-en"],[15,21,"pl-s1"]],[],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,26,"pl-en"],[27,46,"pl-c1"],[48,52,"pl-c1"],[54,58,"pl-c1"]],[[13,19,"pl-s1"],[21,22,"pl-c1"],[22,28,"pl-s1"]],[[0,5,"pl-k"]],[[5,19,"pl-en"],[20,39,"pl-c1"],[41,45,"pl-c1"],[47,51,"pl-c1"],[60,66,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,3,"pl-k"],[12,21,"pl-c1"],[23,25,"pl-c1"],[34,39,"pl-c1"]],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,20,"pl-en"],[21,26,"pl-smi"],[27,28,"pl-c1"],[28,31,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,14,"pl-smi"],[15,18,"pl-s1"]],[],[[4,65,"pl-c"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[24,27,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"]],[],[[1,3,"pl-k"],[5,23,"pl-s1"],[24,26,"pl-c1"],[27,39,"pl-c1"]],[[5,23,"pl-s1"],[24,25,"pl-c1"],[26,34,"pl-c1"]],[[1,12,"pl-en"],[20,24,"pl-c1"],[26,27,"pl-c1"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,10,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,11,"pl-en"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[25,48,"pl-c"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[23,60,"pl-c"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[24,53,"pl-c"]],[],[[4,7,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[4,12,"pl-smi"],[13,23,"pl-s1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"]],[[0,6,"pl-k"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"]],[],[[4,74,"pl-c"]],[[4,74,"pl-c"]],[[4,44,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,30,"pl-s1"],[30,32,"pl-c1"],[32,40,"pl-c1"],[41,43,"pl-c1"],[44,48,"pl-c1"]],[[5,7,"pl-c1"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"],[25,26,"pl-c1"],[27,41,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"]],[],[[4,6,"pl-k"],[8,15,"pl-en"],[16,22,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[],[[1,59,"pl-c"]],[[1,70,"pl-c"]],[[1,13,"pl-en"],[14,18,"pl-c1"],[20,26,"pl-s1"],[28,29,"pl-c1"]],[[1,16,"pl-c1"],[17,23,"pl-smi"]],[[5,7,"pl-en"],[9,15,"pl-smi"],[15,17,"pl-c1"],[17,21,"pl-s1"],[22,28,"pl-s1"],[29,31,"pl-c1"]],[[2,7,"pl-s1"]],[[1,40,"pl-c"]],[[1,51,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[5,9,"pl-en"],[10,11,"pl-en"],[12,48,"pl-s1"]],[],[[5,69,"pl-c"]],[[5,18,"pl-c"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[5,11,"pl-en"],[12,13,"pl-c1"]],[],[],[[1,5,"pl-en"],[6,7,"pl-en"],[8,48,"pl-s1"]],[[1,13,"pl-en"],[14,20,"pl-s1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[5,22,"pl-en"],[23,27,"pl-c1"],[29,35,"pl-s1"]],[[0,6,"pl-k"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[],[[4,68,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,27,"pl-c1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,20,"pl-c1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,32,"pl-c1"],[33,52,"pl-c1"]],[],[[4,75,"pl-c"]],[[4,24,"pl-c"]],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,26,"pl-s1"],[28,34,"pl-s1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,30,"pl-c1"],[31,32,"pl-c1"]],[],[[4,44,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[],[[4,79,"pl-c"]],[[4,12,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-en"],[22,28,"pl-s1"]],[[1,6,"pl-s1"],[10,21,"pl-c1"]],[],[[4,37,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[5,7,"pl-c1"],[8,24,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[1,4,"pl-smi"],[5,19,"pl-s1"],[20,21,"pl-c1"],[22,32,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[1,4,"pl-smi"],[5,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"]],[[1,4,"pl-smi"],[5,9,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[1,4,"pl-smi"],[5,12,"pl-s1"],[13,14,"pl-c1"],[15,34,"pl-s1"]],[],[[1,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,19,"pl-en"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"],[19,27,"pl-en"],[28,32,"pl-s1"]],[[8,10,"pl-c1"],[11,19,"pl-en"],[20,24,"pl-s1"]],[[0,7,"pl-k"],[8,22,"pl-c1"]],[[8,10,"pl-c1"],[12,19,"pl-en"],[20,24,"pl-s1"],[26,28,"pl-c1"],[29,43,"pl-en"],[44,50,"pl-s1"],[50,52,"pl-c1"],[52,60,"pl-c1"]],[[0,7,"pl-k"]],[],[[2,11,"pl-s1"],[12,13,"pl-c1"]],[[1,3,"pl-k"],[5,14,"pl-s1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,14,"pl-en"],[15,27,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,18,"pl-en"],[19,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"]],[[5,13,"pl-smi"],[14,15,"pl-c1"],[18,26,"pl-smi"],[27,28,"pl-c1"],[31,39,"pl-smi"],[40,47,"pl-c1"],[49,52,"pl-s1"]],[[4,9,"pl-s1"],[12,20,"pl-c1"],[24,33,"pl-s1"],[36,45,"pl-c1"],[48,49,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[1,3,"pl-k"],[5,14,"pl-s1"]],[],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,22,"pl-c1"],[23,31,"pl-s1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,21,"pl-c1"]],[[2,60,"pl-c"]],[[2,24,"pl-c"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,22,"pl-en"],[30,33,"pl-s1"],[35,40,"pl-s1"]],[],[[0,6,"pl-k"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,28,"pl-s1"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[1,20,"pl-s1"],[21,22,"pl-c1"],[23,30,"pl-s1"]],[[0,6,"pl-k"]],[[1,28,"pl-c"]],[[1,3,"pl-k"],[5,12,"pl-en"],[13,19,"pl-s1"]],[[5,20,"pl-en"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,23,"pl-s1"]],[],[[1,4,"pl-smi"],[5,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,31,"pl-c1"]],[],[[1,55,"pl-c"]],[[1,70,"pl-c"]],[[1,64,"pl-c"]],[[1,18,"pl-c"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,18,"pl-en"],[19,23,"pl-c1"],[25,29,"pl-c1"],[32,40,"pl-smi"],[41,42,"pl-c1"]],[[5,13,"pl-smi"],[14,15,"pl-c1"],[18,26,"pl-smi"],[27,34,"pl-c1"],[36,40,"pl-c1"]],[[4,9,"pl-s1"],[13,21,"pl-c1"],[22,23,"pl-c1"],[24,34,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,27,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,17,"pl-c1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,25,"pl-en"],[32,35,"pl-s1"],[37,42,"pl-s1"]],[],[],[[4,49,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,27,"pl-c1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,27,"pl-c1"],[27,29,"pl-c1"],[29,37,"pl-c1"],[38,40,"pl-c1"],[41,60,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,20,"pl-c1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,32,"pl-c1"],[33,45,"pl-c1"]],[],[[4,58,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,25,"pl-c1"],[26,40,"pl-c1"]],[],[[2,6,"pl-smi"],[7,23,"pl-en"],[24,30,"pl-s1"]],[[1,11,"pl-en"],[12,18,"pl-s1"]],[],[],[[4,72,"pl-c"]],[[4,69,"pl-c"]],[[4,56,"pl-c"]],[[4,6,"pl-c"]],[[4,75,"pl-c"]],[[4,66,"pl-c"]],[[4,70,"pl-c"]],[[4,6,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,30,"pl-en"],[31,36,"pl-s1"],[38,48,"pl-c1"],[50,52,"pl-c1"],[53,57,"pl-c1"]],[[2,4,"pl-c1"],[5,11,"pl-s1"],[11,13,"pl-c1"],[13,31,"pl-c1"],[32,62,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,4,"pl-c1"],[6,14,"pl-en"],[17,19,"pl-c1"],[20,30,"pl-en"],[31,36,"pl-s1"],[38,48,"pl-c1"],[50,52,"pl-c1"],[53,57,"pl-c1"]],[[0,6,"pl-k"]],[],[[1,8,"pl-en"]],[[4,8,"pl-k"],[9,11,"pl-k"],[13,19,"pl-s1"],[20,22,"pl-c1"],[23,25,"pl-c1"],[26,28,"pl-c1"],[30,40,"pl-s1"],[41,43,"pl-c1"],[45,54,"pl-s1"]],[[1,10,"pl-en"],[11,17,"pl-s1"]],[[4,16,"pl-en"],[17,23,"pl-s1"],[27,50,"pl-c"]],[],[[4,79,"pl-c"]],[[4,26,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,30,"pl-c1"],[31,32,"pl-c1"],[33,44,"pl-en"],[45,51,"pl-s1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,32,"pl-c1"],[33,34,"pl-c1"],[35,46,"pl-en"],[47,53,"pl-s1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,34,"pl-c1"],[35,36,"pl-c1"],[37,48,"pl-en"],[49,55,"pl-s1"]],[],[[4,75,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-en"]],[[0,5,"pl-k"]],[[4,6,"pl-k"],[8,15,"pl-s1"]],[[0,6,"pl-k"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[20,30,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,74,"pl-c"]],[[4,34,"pl-c"]],[[4,17,"pl-en"],[18,24,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,71,"pl-c"]],[[4,6,"pl-k"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,25,"pl-c1"],[26,27,"pl-c1"],[28,41,"pl-c1"]],[],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,25,"pl-en"],[26,40,"pl-c1"],[42,46,"pl-c1"],[48,52,"pl-c1"],[61,67,"pl-s1"],[69,70,"pl-c1"],[70,76,"pl-s1"]],[[0,5,"pl-k"]],[[4,18,"pl-en"],[19,33,"pl-c1"],[35,39,"pl-c1"],[41,45,"pl-c1"],[54,60,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,20,"pl-c1"]],[[1,7,"pl-k"],[8,14,"pl-s1"]],[],[[4,71,"pl-c"]],[[4,73,"pl-c"]],[[4,6,"pl-k"],[8,20,"pl-en"],[21,22,"pl-c1"],[22,32,"pl-s1"],[34,36,"pl-c1"],[37,47,"pl-s1"],[48,54,"pl-c1"],[54,56,"pl-c1"],[56,60,"pl-c1"],[61,67,"pl-c1"],[68,70,"pl-c1"],[71,75,"pl-c1"]],[],[[1,11,"pl-smi"],[12,15,"pl-s1"]],[],[[1,66,"pl-c"]],[[1,24,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,19,"pl-s1"],[21,31,"pl-s1"],[32,38,"pl-c1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,25,"pl-s1"],[26,32,"pl-c1"]],[],[[5,17,"pl-en"],[18,19,"pl-c1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[26,37,"pl-c1"],[40,54,"pl-c1"]],[],[[5,7,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,33,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,23,"pl-en"],[24,41,"pl-c1"],[43,47,"pl-c1"],[49,53,"pl-c1"]],[[10,16,"pl-s1"],[18,19,"pl-c1"],[19,25,"pl-s1"]],[[0,5,"pl-k"]],[[5,19,"pl-en"],[20,37,"pl-c1"],[39,43,"pl-c1"],[45,49,"pl-c1"]],[[13,19,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,52,"pl-c"]],[[5,18,"pl-en"],[19,20,"pl-c1"],[20,23,"pl-s1"]],[],[],[],[[4,10,"pl-k"],[11,17,"pl-s1"],[18,18,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,50,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,10,"pl-en"],[11,19,"pl-smi"],[20,21,"pl-c1"],[21,27,"pl-s1"],[29,34,"pl-smi"],[35,36,"pl-c1"],[36,39,"pl-s1"]],[],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[26,28,"pl-c1"],[29,33,"pl-c1"],[36,37,"pl-c1"],[40,43,"pl-s1"],[43,45,"pl-c1"],[45,51,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,29,"pl-c1"],[30,31,"pl-c1"],[32,46,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,68,"pl-c"]],[[0,52,"pl-c"]],[[0,63,"pl-c"]],[[0,79,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,12,"pl-en"],[13,21,"pl-smi"],[22,23,"pl-c1"],[23,29,"pl-s1"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,36,"pl-c1"],[37,39,"pl-c1"],[40,54,"pl-s1"]],[[10,19,"pl-en"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"],[25,27,"pl-c1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,42,"pl-c1"],[42,44,"pl-c1"],[44,50,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,70,"pl-c"]],[[0,75,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,9,"pl-en"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,74,"pl-c"]],[[4,11,"pl-c"]],[[4,26,"pl-c1"],[27,29,"pl-smi"]],[[1,3,"pl-en"],[5,7,"pl-smi"],[8,10,"pl-c1"],[11,14,"pl-s1"]],[[5,11,"pl-s1"],[12,16,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,62,"pl-c"]],[[0,3,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-smi"],[17,28,"pl-s1"]],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,15,"pl-en"],[16,21,"pl-smi"],[22,23,"pl-c1"],[23,26,"pl-s1"]],[],[[4,11,"pl-en"],[13,17,"pl-smi"],[18,19,"pl-c1"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,30,"pl-c1"],[32,36,"pl-s"],[38,41,"pl-s1"],[41,43,"pl-c1"],[43,49,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-en"],[17,18,"pl-c1"],[18,29,"pl-s1"],[31,34,"pl-s1"],[34,36,"pl-c1"],[36,41,"pl-c1"],[43,58,"pl-s"],[60,62,"pl-c1"],[63,67,"pl-c1"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,37,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,18,"pl-en"],[19,24,"pl-smi"],[25,26,"pl-c1"],[26,29,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,18,"pl-s1"],[19,20,"pl-c1"],[21,30,"pl-en"],[31,32,"pl-c1"],[32,43,"pl-s1"],[45,48,"pl-s1"],[48,50,"pl-c1"],[50,55,"pl-c1"]],[],[[4,6,"pl-k"],[9,23,"pl-en"],[24,26,"pl-s1"]],[[1,12,"pl-en"],[13,14,"pl-c1"],[14,25,"pl-s1"],[27,29,"pl-s1"],[31,45,"pl-s"]],[],[],[[0,2,"pl-c"]],[[0,49,"pl-c"]],[[0,74,"pl-c"]],[[0,57,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,17,"pl-en"],[18,23,"pl-smi"],[24,25,"pl-c1"],[25,28,"pl-s1"]],[],[[4,7,"pl-smi"],[12,22,"pl-s1"],[23,24,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,21,"pl-c1"],[22,37,"pl-s1"]],[],[[1,6,"pl-smi"],[7,8,"pl-c1"],[8,10,"pl-s1"]],[],[[1,16,"pl-c1"],[17,19,"pl-smi"]],[[5,7,"pl-en"],[9,11,"pl-smi"],[11,13,"pl-c1"],[13,21,"pl-s1"],[22,24,"pl-c1"],[25,28,"pl-s1"]],[],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[[2,7,"pl-k"]],[],[],[[4,6,"pl-k"],[9,19,"pl-s1"]],[],[[1,7,"pl-smi"],[8,9,"pl-c1"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,29,"pl-c1"],[30,32,"pl-c1"],[33,37,"pl-c1"],[40,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"],[55,58,"pl-s1"],[58,60,"pl-c1"],[60,68,"pl-c1"]],[],[[1,6,"pl-en"],[7,8,"pl-en"],[9,54,"pl-s1"]],[[4,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"],[20,25,"pl-s1"],[29,35,"pl-smi"],[36,37,"pl-c1"],[38,49,"pl-s"]],[],[[4,10,"pl-k"],[11,21,"pl-s1"]],[],[],[[4,7,"pl-smi"]],[[0,10,"pl-en"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,47,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,30,"pl-c"]],[[0,68,"pl-c"]],[[0,13,"pl-c"]],[[0,28,"pl-c"]],[[0,35,"pl-c"]],[[0,61,"pl-c"]],[[0,52,"pl-c"]],[[0,51,"pl-c"]],[[0,76,"pl-c"]],[[0,30,"pl-c"]],[[0,2,"pl-c"]],[[0,57,"pl-c"]],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,76,"pl-c"]],[[0,73,"pl-c"]],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,2,"pl-c"]],[[0,69,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,12,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[17,50,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"]],[],[[4,7,"pl-smi"],[9,18,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,12,"pl-smi"],[13,19,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[22,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"],[37,39,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"],[57,59,"pl-c1"],[60,63,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[23,29,"pl-s1"],[30,32,"pl-c1"],[33,34,"pl-c1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"],[21,27,"pl-s1"],[28,30,"pl-c1"],[31,41,"pl-c1"],[42,44,"pl-c1"],[45,51,"pl-s1"],[52,54,"pl-c1"],[55,71,"pl-c1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"],[20,26,"pl-s1"],[27,29,"pl-c1"],[30,39,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-s1"]],[],[[4,16,"pl-c1"]],[],[[4,60,"pl-c"]],[[4,76,"pl-c"]],[[4,65,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"],[32,58,"pl-c"]],[],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,26,"pl-c1"],[28,30,"pl-c1"],[31,34,"pl-c1"],[36,60,"pl-c"]],[],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,26,"pl-c1"],[28,30,"pl-c1"],[31,34,"pl-c1"],[36,62,"pl-c"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,66,"pl-c"]],[[4,6,"pl-k"],[8,19,"pl-en"],[20,23,"pl-s1"],[25,27,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,44,"pl-c1"],[48,49,"pl-c1"],[50,52,"pl-c1"],[53,60,"pl-s1"]],[],[[1,13,"pl-c1"]],[[1,3,"pl-k"],[5,21,"pl-en"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[],[[5,7,"pl-k"],[9,17,"pl-s1"],[18,20,"pl-c1"],[21,31,"pl-s1"]],[],[[2,4,"pl-k"],[7,24,"pl-en"],[25,28,"pl-s1"]],[[6,12,"pl-k"]],[],[[2,61,"pl-c"]],[[2,15,"pl-en"],[16,19,"pl-s1"]],[],[[2,58,"pl-c"]],[[2,9,"pl-s1"],[10,11,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[[2,10,"pl-s1"],[11,12,"pl-c1"]],[],[[5,9,"pl-k"]],[],[[2,44,"pl-c"]],[[2,9,"pl-s1"],[10,11,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-c1"],[32,34,"pl-c1"],[36,43,"pl-s1"]],[],[[5,31,"pl-c"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,30,"pl-s1"]],[],[[2,60,"pl-c"]],[[2,60,"pl-c"]],[[2,61,"pl-c"]],[[2,21,"pl-c"]],[[2,9,"pl-s1"],[10,11,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"]],[[2,10,"pl-s1"],[11,12,"pl-c1"]],[],[],[[1,13,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,78,"pl-c"]],[[4,66,"pl-c"]],[[4,6,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,28,"pl-s1"],[30,32,"pl-c1"],[34,51,"pl-en"],[52,55,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,46,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,40,"pl-en"],[41,44,"pl-s1"]],[],[[1,66,"pl-c"]],[[1,71,"pl-c"]],[[1,70,"pl-c"]],[[1,52,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-c1"]],[[5,20,"pl-en"],[21,24,"pl-s1"]],[[1,16,"pl-en"],[17,20,"pl-s1"],[22,25,"pl-s1"]],[[6,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[20,24,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-c1"],[32,33,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,49,"pl-c1"],[50,54,"pl-c1"]],[[6,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[20,23,"pl-c1"]],[],[],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,22,"pl-s1"],[24,27,"pl-s1"]],[],[[4,68,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[24,26,"pl-c1"],[27,28,"pl-c1"]],[],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,16,"pl-c1"]],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,22,"pl-c1"]],[[1,3,"pl-k"],[5,19,"pl-en"],[20,37,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,51,"pl-c1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,65,"pl-c1"]],[[17,20,"pl-s1"]],[[2,4,"pl-c1"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[],[[5,40,"pl-c"]],[[0,11,"pl-ent"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,50,"pl-s1"]],[[5,11,"pl-k"]],[],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,16,"pl-c1"]],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,22,"pl-c1"]],[[1,3,"pl-k"],[5,18,"pl-s1"],[19,21,"pl-c1"],[22,32,"pl-en"]],[[5,47,"pl-c"]],[[10,21,"pl-ent"]],[],[[1,64,"pl-c"]],[[1,13,"pl-c"]],[[1,3,"pl-k"],[6,16,"pl-s1"]],[],[[5,7,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"]],[[5,7,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,26,"pl-c1"]],[[5,7,"pl-k"],[9,23,"pl-en"],[24,39,"pl-c1"],[41,44,"pl-s1"],[44,46,"pl-c1"],[46,53,"pl-c1"],[55,58,"pl-s1"],[58,60,"pl-c1"],[60,67,"pl-c1"]],[[17,20,"pl-s1"]],[[6,8,"pl-c1"],[10,22,"pl-en"],[23,24,"pl-c1"],[24,30,"pl-s1"]],[[2,37,"pl-c"]],[[7,18,"pl-ent"]],[[5,7,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"]],[[5,7,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,26,"pl-c1"]],[[5,7,"pl-k"],[9,22,"pl-s1"],[23,25,"pl-c1"],[26,36,"pl-en"]],[[2,44,"pl-c"]],[[7,18,"pl-ent"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,40,"pl-c"]],[[1,3,"pl-k"],[6,18,"pl-s1"],[19,21,"pl-c1"],[22,30,"pl-en"]],[[5,11,"pl-k"]],[[0,6,"pl-k"]],[],[],[[4,78,"pl-c"]],[[4,75,"pl-c"]],[[4,75,"pl-c"]],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[28,30,"pl-c1"],[31,41,"pl-s1"],[42,44,"pl-c1"],[46,63,"pl-en"],[64,74,"pl-s1"]],[],[[1,15,"pl-en"]],[[1,17,"pl-en"],[18,28,"pl-s1"],[30,40,"pl-s1"]],[[1,17,"pl-en"]],[],[],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,30,"pl-c1"]],[],[[4,70,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,18,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,25,"pl-en"],[28,30,"pl-c1"],[32,42,"pl-s1"],[43,45,"pl-c1"],[46,49,"pl-s1"],[49,51,"pl-c1"],[51,61,"pl-c1"],[62,64,"pl-c1"],[65,66,"pl-c1"]],[[1,16,"pl-en"],[17,20,"pl-s1"],[23,57,"pl-c"]],[[0,6,"pl-k"]],[],[[4,69,"pl-c"]],[[4,16,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"],[28,30,"pl-c1"],[32,42,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,59,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[],[[4,70,"pl-c"]],[[4,16,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[25,38,"pl-s1"]],[[0,3,"pl-k"],[12,20,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-c1"],[9,29,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,16,"pl-en"]],[],[[4,49,"pl-c"]],[[4,68,"pl-c"]],[[4,6,"pl-c"]],[[4,76,"pl-c"]],[[4,73,"pl-c"]],[[4,13,"pl-s1"],[14,15,"pl-c1"],[17,20,"pl-s1"],[21,23,"pl-c1"],[24,30,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,30,"pl-s1"]],[],[[4,15,"pl-en"],[16,19,"pl-s1"],[22,29,"pl-s1"],[32,39,"pl-c1"],[42,43,"pl-c1"]],[[5,6,"pl-c1"],[8,16,"pl-s1"],[19,27,"pl-c1"],[30,31,"pl-c1"]],[[5,6,"pl-c1"],[8,20,"pl-s1"],[23,39,"pl-c1"],[42,43,"pl-c1"]],[],[[4,48,"pl-c"]],[[4,6,"pl-k"],[9,21,"pl-en"],[22,23,"pl-c1"],[23,29,"pl-s1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,43,"pl-c"]],[[4,6,"pl-k"],[9,21,"pl-s1"],[22,24,"pl-c1"],[25,33,"pl-en"]],[[1,7,"pl-k"]],[[0,6,"pl-k"]],[],[[4,78,"pl-c"]],[[4,76,"pl-c"]],[[4,71,"pl-c"]],[[4,71,"pl-c"]],[[4,22,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[26,35,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,25,"pl-en"],[26,29,"pl-s1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[48,50,"pl-c1"],[51,54,"pl-s1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,21,"pl-c1"],[24,64,"pl-c"]],[],[[4,70,"pl-c"]],[[4,52,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[24,25,"pl-c1"],[26,27,"pl-c1"]],[[1,3,"pl-c1"],[3,6,"pl-s1"],[6,8,"pl-c1"],[8,18,"pl-c1"]],[],[[4,6,"pl-c"]],[[0,39,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,16,"pl-s1"]],[],[[1,10,"pl-smi"],[11,12,"pl-c1"],[12,14,"pl-s1"]],[[1,6,"pl-smi"],[8,9,"pl-c1"],[9,11,"pl-s1"]],[],[[1,57,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[5,11,"pl-k"]],[],[[1,20,"pl-en"],[21,23,"pl-s1"],[25,27,"pl-s1"]],[[5,21,"pl-en"],[22,24,"pl-s1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"]],[],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,31,"pl-c1"]],[],[[5,50,"pl-c"]],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,30,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-c1"]],[[2,10,"pl-en"],[11,12,"pl-c1"],[12,21,"pl-s1"],[23,29,"pl-k"],[30,33,"pl-smi"],[36,38,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-en"],[17,18,"pl-c1"],[18,27,"pl-s1"],[29,30,"pl-c1"],[32,34,"pl-c1"],[35,37,"pl-c1"]],[[4,7,"pl-smi"],[8,9,"pl-c1"],[10,19,"pl-s1"],[20,27,"pl-c1"],[29,38,"pl-s1"],[39,45,"pl-c1"],[45,47,"pl-c1"],[49,50,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,62,"pl-c1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[5,14,"pl-en"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-c1"]],[[1,10,"pl-en"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,27,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"]],[[1,12,"pl-en"],[13,16,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,3,"pl-k"],[5,12,"pl-s1"]],[],[[5,68,"pl-c"]],[[5,40,"pl-c"]],[[5,22,"pl-en"],[23,26,"pl-s1"]],[],[[5,39,"pl-c"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"],[18,19,"pl-c1"],[20,31,"pl-c1"],[34,48,"pl-c1"]],[],[[5,43,"pl-c"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,25,"pl-c1"],[26,27,"pl-c1"]],[],[[1,15,"pl-en"],[16,19,"pl-s1"]],[[1,3,"pl-k"],[5,12,"pl-s1"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"]],[],[[4,51,"pl-c"]],[[4,10,"pl-k"],[16,16,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,34,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,14,"pl-en"],[15,20,"pl-smi"],[21,22,"pl-c1"],[22,25,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[4,13,"pl-en"],[14,17,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,21,"pl-c1"],[22,23,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,22,"pl-c1"],[23,24,"pl-c1"],[25,33,"pl-c1"],[36,51,"pl-c"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[4,30,"pl-en"],[31,34,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,64,"pl-c"]],[[0,9,"pl-c"]],[[0,45,"pl-c"]],[[0,48,"pl-c"]],[[0,49,"pl-c"]],[[0,66,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"],[12,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[24,27,"pl-smi"],[28,33,"pl-s1"]],[],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[22,25,"pl-s1"],[26,28,"pl-c1"],[29,35,"pl-s1"]],[[4,12,"pl-smi"],[13,19,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[22,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"],[37,39,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"],[57,59,"pl-c1"],[60,63,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-s1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,25,"pl-s1"],[26,27,"pl-c1"],[28,34,"pl-s1"]],[],[[4,57,"pl-c"]],[[4,6,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"]],[[4,6,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,25,"pl-c1"]],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,22,"pl-s1"],[24,27,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[],[[1,3,"pl-k"],[5,19,"pl-en"],[20,35,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,49,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,63,"pl-c1"]],[[17,20,"pl-s1"]],[[2,4,"pl-c1"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[[5,39,"pl-c"]],[[5,11,"pl-k"]],[],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-c1"],[26,28,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,40,"pl-c1"]],[],[[1,3,"pl-k"],[5,19,"pl-en"],[20,35,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,49,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,63,"pl-c1"]],[[18,21,"pl-s1"]],[[2,4,"pl-c1"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[[5,39,"pl-c"]],[[5,11,"pl-k"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,24,"pl-c1"]],[],[[1,3,"pl-k"],[5,19,"pl-en"],[20,36,"pl-c1"],[38,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"],[52,55,"pl-s1"],[55,57,"pl-c1"],[57,64,"pl-c1"]],[[17,20,"pl-s1"]],[[2,4,"pl-c1"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[[5,39,"pl-c"]],[[5,11,"pl-k"]],[],[[4,6,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"]],[[4,6,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,25,"pl-c1"]],[],[[4,78,"pl-c"]],[[4,75,"pl-c"]],[[4,75,"pl-c"]],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[28,30,"pl-c1"],[31,41,"pl-s1"],[42,44,"pl-c1"],[46,63,"pl-en"],[64,74,"pl-s1"]],[],[[1,15,"pl-en"]],[[1,17,"pl-en"],[18,28,"pl-s1"],[30,40,"pl-s1"]],[[1,17,"pl-en"]],[],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,43,"pl-c"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,33,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"],[40,42,"pl-c1"],[43,51,"pl-en"]],[[1,7,"pl-k"]],[[0,6,"pl-k"]],[],[[4,78,"pl-c"]],[[4,77,"pl-c"]],[[4,74,"pl-c"]],[[4,69,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[26,35,"pl-s1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,19,"pl-en"],[20,23,"pl-s1"],[30,70,"pl-c"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,44,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-s1"]],[[1,15,"pl-en"],[16,22,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,35,"pl-c"]],[],[[1,6,"pl-smi"],[8,9,"pl-c1"],[9,12,"pl-s1"]],[[1,10,"pl-smi"],[11,12,"pl-c1"],[12,14,"pl-s1"]],[],[[1,20,"pl-en"],[21,23,"pl-s1"],[25,28,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"]],[[2,14,"pl-en"],[15,18,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,15,"pl-c1"]],[[4,19,"pl-en"],[20,23,"pl-s1"]],[[0,6,"pl-k"]],[[4,12,"pl-en"],[13,16,"pl-s1"],[29,68,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,13,"pl-c1"],[14,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[36,57,"pl-c"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,30,"pl-c1"],[32,34,"pl-c1"],[35,36,"pl-c1"]],[[1,38,"pl-c"]],[[1,34,"pl-c"]],[[1,23,"pl-en"],[24,27,"pl-s1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,16,"pl-en"],[17,18,"pl-c1"],[18,21,"pl-s1"],[21,23,"pl-c1"],[23,26,"pl-c1"],[33,53,"pl-c"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,24,"pl-en"],[25,28,"pl-s1"]],[[0,6,"pl-k"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[21,31,"pl-c1"],[36,73,"pl-c"]],[],[],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,59,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,11,"pl-en"],[12,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"]],[],[[4,6,"pl-c1"],[6,20,"pl-s1"]],[[4,21,"pl-en"],[22,25,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,57,"pl-c"]],[[4,19,"pl-en"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,31,"pl-c1"],[34,44,"pl-smi"],[45,46,"pl-c1"],[47,48,"pl-c1"],[48,51,"pl-s1"],[51,53,"pl-c1"],[53,60,"pl-c1"],[62,75,"pl-s"]],[[4,18,"pl-en"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"]],[[4,20,"pl-en"],[21,24,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,15,"pl-c1"]],[[4,19,"pl-en"],[20,23,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,24,"pl-en"],[25,28,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,17,"pl-en"],[18,21,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,22,"pl-en"],[23,26,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,23,"pl-en"],[24,27,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,20,"pl-en"],[21,24,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[4,23,"pl-en"],[24,27,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,17,"pl-en"],[18,21,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[4,12,"pl-en"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,31,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,41,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,42,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,22,"pl-en"],[23,26,"pl-s1"]],[],[[4,21,"pl-en"],[22,25,"pl-s1"]],[],[[4,6,"pl-k"],[8,20,"pl-s1"]],[],[[1,70,"pl-c"]],[[1,58,"pl-c"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,34,"pl-s1"]],[[1,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,9,"pl-en"],[10,13,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,18,"pl-c1"],[21,54,"pl-c"]],[],[],[],[[0,2,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,16,"pl-en"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,18,"pl-s1"],[19,20,"pl-c1"],[22,32,"pl-smi"],[33,34,"pl-c1"],[35,36,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,48,"pl-c1"]],[],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,16,"pl-c1"],[17,18,"pl-c1"],[19,31,"pl-c1"],[34,45,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,33,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,32,"pl-c1"]],[[4,6,"pl-s1"],[6,8,"pl-c1"],[8,13,"pl-c1"],[14,18,"pl-c1"],[19,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,10,"pl-en"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"],[24,30,"pl-c1"],[32,45,"pl-s"]],[[5,9,"pl-smi"],[10,18,"pl-en"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[32,34,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,44,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,13,"pl-en"],[14,19,"pl-smi"],[20,21,"pl-c1"],[21,24,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[],[[4,9,"pl-k"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,28,"pl-c1"],[29,33,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,21,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,15,"pl-c1"],[16,17,"pl-c1"],[18,21,"pl-s1"],[21,23,"pl-c1"],[23,30,"pl-c1"]],[[1,13,"pl-en"],[14,17,"pl-s1"]],[],[],[],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,17,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"],[24,47,"pl-c"]],[],[[4,6,"pl-k"],[8,20,"pl-s1"]],[],[[1,14,"pl-en"],[15,18,"pl-s1"],[22,55,"pl-c"]],[[1,17,"pl-en"],[18,21,"pl-s1"]],[[0,6,"pl-k"],[7,17,"pl-c1"]],[[1,9,"pl-en"],[10,11,"pl-c1"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,19,"pl-c1"],[20,27,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[],[[1,12,"pl-smi"],[13,17,"pl-s1"],[18,19,"pl-c1"],[20,31,"pl-en"],[32,35,"pl-s1"]],[],[[1,11,"pl-en"],[12,13,"pl-c1"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"],[24,26,"pl-c1"],[26,36,"pl-c1"],[39,67,"pl-c"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[23,25,"pl-c1"],[25,35,"pl-c1"]],[[1,17,"pl-en"],[18,21,"pl-s1"]],[[1,12,"pl-en"],[13,16,"pl-s1"],[18,19,"pl-c1"],[20,24,"pl-s1"]],[[1,17,"pl-en"],[18,21,"pl-s1"]],[],[[0,6,"pl-k"]],[[4,12,"pl-en"],[13,14,"pl-c1"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[30,58,"pl-c"]],[[0,6,"pl-k"],[7,17,"pl-c1"]],[[4,20,"pl-en"],[21,24,"pl-s1"],[27,33,"pl-smi"],[34,35,"pl-c1"],[36,39,"pl-s"],[42,61,"pl-c"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[4,24,"pl-en"],[25,28,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,20,"pl-en"],[21,22,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,42,"pl-c1"]],[[0,6,"pl-k"]],[[4,18,"pl-en"],[19,22,"pl-s1"],[24,37,"pl-c1"],[54,77,"pl-c"]],[[4,18,"pl-en"],[19,22,"pl-s1"],[24,37,"pl-c1"],[54,76,"pl-c"]],[[4,13,"pl-en"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,31,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,22,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"],[13,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,22,"pl-c1"]],[],[[1,13,"pl-en"],[14,15,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,18,"pl-en"],[19,20,"pl-c1"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,12,"pl-en"],[13,16,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,69,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"]],[[4,11,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[],[[4,12,"pl-smi"],[13,23,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[18,19,"pl-c1"],[20,38,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[],[[4,10,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"]],[],[[1,5,"pl-k"],[6,15,"pl-s1"]],[[1,5,"pl-k"],[6,16,"pl-s1"]],[[1,5,"pl-k"],[6,15,"pl-s1"]],[[1,5,"pl-k"],[6,19,"pl-s1"]],[[1,5,"pl-k"],[6,16,"pl-s1"]],[[1,5,"pl-k"],[6,20,"pl-s1"]],[[5,18,"pl-s1"],[19,20,"pl-c1"]],[[5,10,"pl-k"]],[[1,8,"pl-k"]],[[5,18,"pl-s1"],[19,20,"pl-c1"]],[[5,10,"pl-k"]],[],[],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,26,"pl-s1"],[28,34,"pl-s1"]],[],[[4,6,"pl-k"],[8,26,"pl-s1"],[27,29,"pl-c1"],[30,38,"pl-c1"]],[[1,19,"pl-s1"],[20,21,"pl-c1"],[22,32,"pl-c1"]],[[5,9,"pl-smi"],[10,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,36,"pl-c1"],[37,40,"pl-c1"],[43,54,"pl-c1"],[57,67,"pl-c1"],[69,74,"pl-s1"],[76,79,"pl-s1"],[81,86,"pl-s1"]],[[6,9,"pl-s1"],[9,11,"pl-c1"],[11,18,"pl-c1"],[21,34,"pl-c1"],[37,38,"pl-c1"]],[[6,19,"pl-s1"],[22,36,"pl-c1"],[39,40,"pl-c1"]],[[4,6,"pl-k"],[8,26,"pl-s1"],[27,29,"pl-c1"],[30,38,"pl-c1"],[39,41,"pl-c1"],[42,43,"pl-c1"],[43,46,"pl-s1"],[46,48,"pl-c1"],[48,51,"pl-c1"],[52,54,"pl-c1"],[55,58,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,10,"pl-smi"],[13,15,"pl-s1"]],[],[[1,58,"pl-c"]],[[1,51,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,58,"pl-c"]],[[1,10,"pl-en"],[11,17,"pl-s1"]],[[1,19,"pl-s1"],[20,21,"pl-c1"],[22,30,"pl-s1"]],[[1,21,"pl-s1"],[22,23,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,69,"pl-c"]],[[1,57,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[[1,19,"pl-en"],[20,21,"pl-c1"],[21,31,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,56,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,18,"pl-en"],[19,27,"pl-smi"],[28,29,"pl-c1"],[29,39,"pl-s1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[4,13,"pl-smi"],[14,16,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"]],[[0,6,"pl-k"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,6,"pl-k"],[8,26,"pl-s1"],[27,29,"pl-c1"],[30,38,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,58,"pl-c"]],[[1,51,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,64,"pl-c"]],[[1,67,"pl-c"]],[[1,29,"pl-c"]],[[1,19,"pl-s1"],[20,21,"pl-c1"],[22,30,"pl-c1"],[32,54,"pl-c"]],[[1,21,"pl-s1"],[22,23,"pl-c1"]],[[1,13,"pl-en"],[14,20,"pl-s1"],[22,28,"pl-s1"],[30,42,"pl-c1"]],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[24,26,"pl-c1"],[28,40,"pl-en"],[41,51,"pl-s1"]],[[11,13,"pl-c1"],[14,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"],[33,35,"pl-c1"],[36,42,"pl-s1"]],[],[[5,65,"pl-c"]],[[5,19,"pl-en"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,22,"pl-en"],[23,27,"pl-c1"],[29,33,"pl-c1"],[35,37,"pl-c1"],[39,49,"pl-c1"],[52,62,"pl-c1"]],[[5,21,"pl-en"]],[],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,21,"pl-s1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[],[[5,8,"pl-smi"],[9,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-s1"]],[],[[5,7,"pl-k"],[9,18,"pl-en"],[19,31,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[19,46,"pl-c"]],[[5,17,"pl-en"],[18,21,"pl-s1"]],[[5,66,"pl-c"]],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,32,"pl-s1"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[2,19,"pl-en"],[20,24,"pl-c1"],[26,32,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,57,"pl-c"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,69,"pl-c"]],[[1,57,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,31,"pl-s1"],[32,34,"pl-c1"],[35,46,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,58,"pl-c"]],[[1,51,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,46,"pl-c"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[[1,11,"pl-en"]],[[1,9,"pl-en"],[10,14,"pl-s"],[17,52,"pl-c"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,22,"pl-s1"]],[[1,13,"pl-en"],[14,15,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,69,"pl-c"]],[[1,57,"pl-c"]],[[1,14,"pl-en"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,22,"pl-s1"],[23,24,"pl-c1"],[25,33,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,33,"pl-c"]],[[0,54,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,12,"pl-en"]],[[4,7,"pl-smi"],[8,20,"pl-s1"]],[[4,7,"pl-smi"],[8,15,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"]],[],[[4,7,"pl-smi"],[12,18,"pl-s1"]],[[4,9,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"]],[[4,12,"pl-smi"],[13,19,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,30,"pl-c1"]],[],[[1,5,"pl-en"],[6,7,"pl-en"],[8,35,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,22,"pl-s1"],[24,27,"pl-s1"]],[[4,6,"pl-k"],[8,20,"pl-s1"]],[[1,63,"pl-c"]],[[1,14,"pl-en"],[15,18,"pl-s1"]],[],[[4,13,"pl-en"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,20,"pl-en"],[21,22,"pl-c1"],[24,28,"pl-c1"],[30,34,"pl-c1"],[36,40,"pl-c1"],[42,50,"pl-c1"]],[[7,14,"pl-s1"],[17,29,"pl-c1"],[32,33,"pl-c1"],[35,41,"pl-s1"]],[],[[4,64,"pl-c"]],[[4,68,"pl-c"]],[[4,34,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[25,37,"pl-en"],[38,39,"pl-c1"],[39,45,"pl-s1"],[47,49,"pl-c1"],[50,53,"pl-s1"],[53,55,"pl-c1"],[55,65,"pl-c1"],[66,68,"pl-c1"],[69,70,"pl-c1"]],[[1,13,"pl-en"],[14,18,"pl-c1"],[20,23,"pl-s1"],[25,31,"pl-s1"]],[[4,6,"pl-k"],[9,21,"pl-s1"]],[[1,14,"pl-s1"],[15,16,"pl-c1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,54,"pl-c"]],[[0,2,"pl-c"]],[[0,50,"pl-c"]],[[0,67,"pl-c"]],[[0,54,"pl-c"]],[[0,70,"pl-c"]],[[0,61,"pl-c"]],[[0,65,"pl-c"]],[[0,2,"pl-c"]],[[0,68,"pl-c"]],[[0,66,"pl-c"]],[[0,64,"pl-c"]],[[0,75,"pl-c"]],[[0,2,"pl-c"]],[[0,21,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[15,37,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,54,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,38,"pl-c"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[19,25,"pl-s1"],[26,28,"pl-c1"],[29,41,"pl-c1"],[42,44,"pl-c1"],[45,51,"pl-s1"],[52,54,"pl-c1"],[55,64,"pl-c1"]],[[3,5,"pl-c1"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,26,"pl-c1"],[27,29,"pl-c1"],[30,36,"pl-s1"],[37,39,"pl-c1"],[40,56,"pl-c1"]],[],[[4,10,"pl-k"],[12,17,"pl-s1"]],[],[[1,5,"pl-k"],[6,17,"pl-c1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,35,"pl-s1"],[37,42,"pl-k"]],[[1,5,"pl-k"],[6,16,"pl-c1"],[21,24,"pl-s1"],[25,26,"pl-c1"],[27,34,"pl-s1"],[37,42,"pl-k"]],[[1,8,"pl-k"],[14,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[30,35,"pl-k"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,26,"pl-c1"],[32,60,"pl-c"]],[],[[1,6,"pl-k"],[8,13,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[[5,7,"pl-k"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,20,"pl-s1"]],[],[[5,10,"pl-k"],[12,15,"pl-s1"],[16,18,"pl-c1"],[19,25,"pl-s1"],[26,28,"pl-c1"],[30,42,"pl-en"],[43,46,"pl-s1"]],[],[[1,3,"pl-k"],[6,18,"pl-en"],[19,22,"pl-s1"]],[],[[5,9,"pl-en"],[10,11,"pl-en"],[12,38,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,18,"pl-s1"],[19,21,"pl-c1"],[22,33,"pl-c1"],[34,36,"pl-c1"],[37,42,"pl-s1"],[44,75,"pl-c"]],[],[[1,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"],[35,37,"pl-c1"],[38,43,"pl-s1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,10,"pl-c1"]],[[1,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[23,29,"pl-s1"],[30,32,"pl-c1"],[34,37,"pl-s1"],[37,39,"pl-c1"],[39,45,"pl-c1"],[46,48,"pl-c1"],[49,51,"pl-s1"],[52,54,"pl-c1"],[55,58,"pl-s1"]],[],[[5,71,"pl-c"]],[[5,29,"pl-c"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[2,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,23,"pl-c1"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,20,"pl-s1"]],[],[[5,9,"pl-k"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,19,"pl-s1"]],[],[[5,37,"pl-c"]],[[5,78,"pl-c"]],[[5,19,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,31,"pl-c1"]],[[3,5,"pl-c1"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,30,"pl-c1"],[32,34,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[40,43,"pl-s1"],[43,45,"pl-c1"],[45,51,"pl-c1"],[52,54,"pl-c1"],[55,57,"pl-s1"],[57,59,"pl-c1"],[59,65,"pl-c1"]],[],[[3,5,"pl-c1"],[5,10,"pl-s1"]],[[3,5,"pl-s1"],[6,7,"pl-c1"],[8,12,"pl-c1"],[14,54,"pl-c"]],[],[[5,7,"pl-k"],[9,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"]],[],[[2,49,"pl-c"]],[[2,6,"pl-en"],[7,8,"pl-en"],[9,36,"pl-s1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[],[],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[25,45,"pl-c"]],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,25,"pl-c1"]],[],[[5,32,"pl-c"]],[[5,7,"pl-k"],[10,16,"pl-s1"]],[[2,7,"pl-en"],[8,9,"pl-en"],[10,36,"pl-s1"],[39,44,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,13,"pl-s1"],[14,16,"pl-c1"],[17,24,"pl-c1"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,42,"pl-s1"]],[[1,5,"pl-k"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,43,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,30,"pl-c1"],[32,34,"pl-c1"],[35,43,"pl-en"],[44,47,"pl-s1"],[49,51,"pl-c1"],[53,64,"pl-en"],[65,68,"pl-s1"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[[0,6,"pl-k"]],[[4,6,"pl-k"]],[[1,7,"pl-s1"],[8,10,"pl-c1"],[11,21,"pl-c1"]],[[1,3,"pl-c1"],[4,7,"pl-s1"],[8,10,"pl-c1"],[11,17,"pl-s1"]],[[1,3,"pl-c1"],[5,33,"pl-en"],[35,40,"pl-s1"],[41,42,"pl-c1"],[43,56,"pl-c1"]],[[6,74,"pl-c"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[[4,6,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,29,"pl-c1"],[30,32,"pl-c1"],[33,39,"pl-s1"],[40,42,"pl-c1"],[43,54,"pl-c1"]],[[8,10,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"],[25,26,"pl-c1"],[27,35,"pl-c1"]],[],[[1,43,"pl-c"]],[[1,6,"pl-en"],[7,8,"pl-en"],[9,35,"pl-s1"],[38,43,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[],[[0,6,"pl-k"],[7,15,"pl-c1"]],[[4,22,"pl-s1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-c"]],[[0,54,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"]],[],[[1,4,"pl-smi"],[5,12,"pl-s1"]],[[1,9,"pl-smi"],[10,16,"pl-s1"]],[],[[1,3,"pl-k"],[6,23,"pl-en"],[24,27,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[1,11,"pl-en"],[12,13,"pl-c1"],[13,19,"pl-s1"],[21,24,"pl-s1"]],[],[[1,67,"pl-c"]],[[1,28,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,25,"pl-c1"],[26,28,"pl-c1"],[29,35,"pl-s1"],[36,38,"pl-c1"],[39,55,"pl-c1"]],[[7,9,"pl-c1"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"],[35,37,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,50,"pl-c1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,27,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-c1"],[34,36,"pl-c1"],[37,49,"pl-en"],[50,53,"pl-s1"]],[],[[0,3,"pl-k"],[12,27,"pl-c1"],[29,31,"pl-c1"],[40,55,"pl-c1"]],[[5,7,"pl-k"],[10,19,"pl-s1"],[20,22,"pl-c1"],[24,30,"pl-s1"],[31,41,"pl-c1"],[42,43,"pl-c1"],[44,56,"pl-c1"],[59,61,"pl-c1"],[62,69,"pl-s1"]],[],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[2,4,"pl-k"],[6,22,"pl-en"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"]],[],[[6,8,"pl-k"],[10,27,"pl-en"],[28,31,"pl-s1"],[33,35,"pl-c1"],[36,40,"pl-c1"]],[[3,9,"pl-k"],[10,14,"pl-c1"]],[],[[2,6,"pl-k"]],[[0,7,"pl-k"]],[],[[6,20,"pl-en"],[21,24,"pl-s1"]],[[6,8,"pl-k"],[11,23,"pl-en"],[24,25,"pl-c1"],[25,31,"pl-s1"]],[[3,57,"pl-c"]],[[3,10,"pl-c"]],[[3,9,"pl-k"],[10,14,"pl-c1"]],[[6,64,"pl-c"]],[[6,32,"pl-c"]],[[6,8,"pl-k"],[10,22,"pl-en"],[23,26,"pl-s1"]],[[3,9,"pl-k"],[10,14,"pl-c1"]],[],[],[[5,9,"pl-k"]],[[0,6,"pl-k"]],[],[[2,22,"pl-en"],[23,26,"pl-s1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[],[],[],[[1,53,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,35,"pl-s1"]],[[5,20,"pl-en"]],[],[[1,56,"pl-c"]],[[1,48,"pl-c"]],[[1,16,"pl-c1"],[17,19,"pl-smi"]],[[5,7,"pl-en"],[9,11,"pl-smi"],[11,13,"pl-c1"],[13,19,"pl-s1"],[20,22,"pl-c1"],[23,25,"pl-s1"],[26,28,"pl-c1"],[29,32,"pl-s1"]],[[2,7,"pl-s1"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,25,"pl-c1"],[26,32,"pl-s1"]],[[5,11,"pl-k"],[12,24,"pl-en"],[32,37,"pl-s1"],[38,39,"pl-c1"],[40,53,"pl-c1"],[56,62,"pl-s1"]],[],[[1,70,"pl-c"]],[[1,71,"pl-c"]],[[1,30,"pl-c"]],[[1,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"]],[[5,7,"pl-c1"],[10,20,"pl-en"],[21,27,"pl-s1"],[29,31,"pl-c1"],[32,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"],[48,50,"pl-c1"],[50,58,"pl-c1"],[59,60,"pl-c1"],[61,62,"pl-c1"]],[[5,7,"pl-c1"],[10,20,"pl-c1"],[21,23,"pl-c1"],[24,37,"pl-s1"],[37,39,"pl-c1"],[39,46,"pl-c1"],[47,49,"pl-c1"],[50,54,"pl-c1"]],[],[[5,7,"pl-k"],[9,18,"pl-en"],[19,25,"pl-s1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[2,7,"pl-k"]],[],[],[[1,71,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,18,"pl-s1"]],[],[[5,18,"pl-en"],[19,22,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,22,"pl-s1"],[23,25,"pl-c1"],[26,38,"pl-en"],[39,40,"pl-c1"],[40,46,"pl-s1"],[48,50,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,66,"pl-c1"],[70,71,"pl-c1"]],[[6,18,"pl-en"],[19,23,"pl-c1"],[25,28,"pl-s1"],[30,36,"pl-s1"]],[[5,11,"pl-k"],[12,14,"pl-c1"]],[],[],[[1,3,"pl-c"]],[[0,70,"pl-c"]],[[0,65,"pl-c"]],[[0,63,"pl-c"]],[[0,51,"pl-c"]],[[0,52,"pl-c"]],[[0,66,"pl-c"]],[[0,35,"pl-c"]],[[0,27,"pl-c"]],[[0,4,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-c1"],[13,31,"pl-c"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,10,"pl-c1"],[12,47,"pl-c"]],[[1,3,"pl-k"],[5,18,"pl-s1"],[19,25,"pl-c1"],[26,28,"pl-c1"],[29,33,"pl-c1"],[34,36,"pl-c1"],[37,49,"pl-en"],[50,51,"pl-c1"],[51,64,"pl-s1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,24,"pl-s1"],[25,31,"pl-c1"]],[[1,5,"pl-k"],[6,8,"pl-k"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[],[[5,8,"pl-smi"],[13,20,"pl-s1"]],[],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"],[21,23,"pl-c1"],[23,36,"pl-c1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"]],[[2,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,22,"pl-s1"]],[[5,10,"pl-k"],[12,19,"pl-s1"],[20,22,"pl-c1"],[23,29,"pl-s1"],[29,31,"pl-c1"],[31,44,"pl-c1"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,22,"pl-en"],[23,29,"pl-s1"],[29,31,"pl-c1"],[31,41,"pl-c1"],[42,49,"pl-s1"],[51,56,"pl-c1"],[57,61,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[],[[6,62,"pl-c"]],[[6,42,"pl-c"]],[[6,8,"pl-k"],[10,13,"pl-s1"],[14,16,"pl-c1"],[17,23,"pl-s1"],[24,26,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"],[40,42,"pl-c1"],[43,54,"pl-en"],[55,58,"pl-s1"]],[[3,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-c1"]],[[6,10,"pl-k"],[11,13,"pl-k"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,24,"pl-c1"],[25,31,"pl-c1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[],[[3,50,"pl-c"]],[[3,5,"pl-k"],[7,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[[7,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"]],[[3,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-c1"]],[],[],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"],[21,60,"pl-c"]],[[6,11,"pl-k"]],[[2,40,"pl-c"]],[[2,4,"pl-k"],[7,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,39,"pl-c1"],[40,42,"pl-c1"],[43,49,"pl-s1"],[49,51,"pl-c1"],[51,64,"pl-c1"]],[[6,11,"pl-k"]],[[2,4,"pl-k"],[6,8,"pl-c1"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[6,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[2,4,"pl-k"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,24,"pl-s1"],[27,53,"pl-c"]],[[6,11,"pl-k"]],[],[],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[18,58,"pl-c"]],[],[[5,12,"pl-s1"],[13,14,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"]],[[5,8,"pl-k"]],[],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"]],[],[[6,8,"pl-k"],[11,18,"pl-s1"],[20,44,"pl-c"]],[[3,8,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[6,13,"pl-s1"],[14,15,"pl-c1"]],[[6,14,"pl-k"]],[],[[2,57,"pl-c"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"],[36,38,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,50,"pl-c1"]],[[7,9,"pl-c1"],[11,22,"pl-en"],[23,26,"pl-s1"]],[],[[6,8,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"],[38,60,"pl-c"]],[[3,8,"pl-k"]],[[6,8,"pl-k"],[10,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[22,56,"pl-c"]],[[3,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"]],[],[[2,4,"pl-k"],[6,13,"pl-s1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"]],[[2,6,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"]],[],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[18,55,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[18,54,"pl-c"]],[],[[5,20,"pl-c1"],[21,24,"pl-smi"]],[[2,4,"pl-en"],[6,9,"pl-smi"],[9,11,"pl-c1"],[11,17,"pl-s1"],[18,20,"pl-c1"],[21,24,"pl-s1"],[25,27,"pl-c1"],[28,34,"pl-s1"],[35,37,"pl-c1"],[39,50,"pl-en"],[51,54,"pl-smi"]],[[6,11,"pl-s1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[18,51,"pl-c"]],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"]],[[5,9,"pl-k"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"]],[[5,7,"pl-k"],[9,20,"pl-en"],[21,24,"pl-s1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,12,"pl-c1"]],[],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[1,68,"pl-c"]],[[1,44,"pl-c"]],[[1,7,"pl-k"],[8,20,"pl-en"],[29,34,"pl-s1"],[35,36,"pl-c1"],[37,50,"pl-c1"],[53,59,"pl-s1"]],[],[],[[4,6,"pl-c"]],[[0,36,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,29,"pl-c1"],[35,56,"pl-c"]],[],[[1,62,"pl-c"]],[[1,3,"pl-k"],[5,28,"pl-en"],[29,32,"pl-s1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[5,11,"pl-k"],[12,14,"pl-c1"]],[],[[1,3,"pl-k"],[5,14,"pl-en"],[15,16,"pl-c1"],[18,19,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[],[[4,43,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[],[[4,52,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,28,"pl-c1"],[29,31,"pl-c1"],[33,44,"pl-en"],[45,51,"pl-s1"],[54,59,"pl-s1"],[60,61,"pl-c1"],[62,75,"pl-c1"]],[],[[0,3,"pl-k"],[12,27,"pl-c1"],[29,31,"pl-c1"],[40,55,"pl-c1"]],[[1,3,"pl-k"],[6,15,"pl-s1"],[16,18,"pl-c1"],[20,26,"pl-s1"],[27,37,"pl-c1"],[38,39,"pl-c1"],[40,52,"pl-c1"],[55,57,"pl-c1"],[58,65,"pl-s1"]],[],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[5,7,"pl-k"],[9,25,"pl-en"],[26,32,"pl-s1"],[32,34,"pl-c1"],[34,40,"pl-c1"]],[],[[2,4,"pl-k"],[6,23,"pl-en"],[24,30,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[[2,62,"pl-c"]],[[2,23,"pl-c"]],[[2,15,"pl-en"],[16,22,"pl-s1"]],[],[[5,9,"pl-k"]],[[0,7,"pl-k"]],[],[[2,10,"pl-smi"],[11,17,"pl-s1"]],[],[[2,12,"pl-en"],[13,14,"pl-c1"],[14,20,"pl-s1"],[22,25,"pl-s1"]],[[2,16,"pl-en"],[17,23,"pl-s1"]],[[2,4,"pl-k"],[7,19,"pl-en"],[20,21,"pl-c1"],[21,27,"pl-s1"]],[[6,42,"pl-c"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[[2,4,"pl-k"],[6,18,"pl-en"],[19,25,"pl-s1"]],[],[[6,22,"pl-en"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[],[],[[1,5,"pl-k"]],[[0,6,"pl-k"]],[],[[5,21,"pl-en"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[],[],[[4,30,"pl-c"]],[[4,14,"pl-en"],[15,18,"pl-s1"],[20,26,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,29,"pl-c1"]],[[1,14,"pl-en"],[15,21,"pl-s1"],[24,62,"pl-c"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[4,6,"pl-k"],[8,16,"pl-en"],[24,63,"pl-c"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[4,7,"pl-smi"]],[[0,9,"pl-en"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[15,37,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,54,"pl-c"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[18,38,"pl-c"]],[],[[4,10,"pl-k"],[11,24,"pl-en"],[25,31,"pl-s1"],[33,38,"pl-s1"],[40,43,"pl-s1"],[45,50,"pl-s1"]],[[8,15,"pl-s1"],[18,31,"pl-c1"],[34,35,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,43,"pl-c"]],[[0,2,"pl-c"]],[[0,51,"pl-c"]],[[0,64,"pl-c"]],[[0,51,"pl-c"]],[[0,57,"pl-c"]],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,22,"pl-c"]],[[0,2,"pl-c"]],[[0,32,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"]],[[0,9,"pl-en"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"],[18,47,"pl-c"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[20,53,"pl-c"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[18,59,"pl-c"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[25,50,"pl-c"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[22,50,"pl-c"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,18,"pl-s1"],[19,20,"pl-c1"],[21,25,"pl-c1"],[27,42,"pl-c"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[15,31,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,18,"pl-s1"],[19,21,"pl-c1"],[22,23,"pl-c1"]],[],[[2,6,"pl-smi"],[7,16,"pl-en"],[17,24,"pl-s1"],[26,39,"pl-c1"],[41,48,"pl-c1"],[50,51,"pl-c1"],[53,60,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,18,"pl-c1"],[19,20,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,13,"pl-s1"],[16,57,"pl-c"]],[[2,8,"pl-k"],[9,18,"pl-en"],[19,44,"pl-s1"],[46,49,"pl-s1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,20,"pl-s1"]],[],[[1,5,"pl-k"],[6,24,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-s1"]],[],[[1,4,"pl-k"],[9,16,"pl-s1"],[18,31,"pl-en"]],[],[[5,58,"pl-c"]],[[5,58,"pl-c"]],[[5,58,"pl-c"]],[[5,29,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"]],[[2,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,27,"pl-en"],[28,35,"pl-s1"],[37,48,"pl-c1"],[50,57,"pl-c1"],[59,62,"pl-s1"]],[[5,18,"pl-c1"],[22,29,"pl-s1"],[32,45,"pl-c1"],[48,49,"pl-c1"],[52,54,"pl-c1"],[55,57,"pl-c1"]],[[2,4,"pl-c1"],[4,11,"pl-s1"]],[],[[5,48,"pl-c"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,22,"pl-c1"],[23,24,"pl-c1"]],[],[[2,4,"pl-k"],[6,8,"pl-c1"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,21,"pl-s1"]],[[6,11,"pl-k"]],[],[[5,9,"pl-k"],[13,31,"pl-c"]],[],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,17,"pl-en"],[18,21,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,10,"pl-s1"],[11,13,"pl-c1"],[14,17,"pl-c1"]],[[6,11,"pl-k"]],[[2,4,"pl-k"],[7,18,"pl-en"],[19,20,"pl-c1"],[20,23,"pl-s1"]],[],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,25,"pl-en"],[26,29,"pl-s1"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,27,"pl-en"],[28,31,"pl-s1"],[33,34,"pl-s1"]],[[5,12,"pl-s1"],[13,15,"pl-c1"],[16,26,"pl-c1"],[27,29,"pl-c1"],[30,37,"pl-s1"],[38,40,"pl-c1"],[41,57,"pl-c1"]],[],[[6,8,"pl-k"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[23,32,"pl-c"]],[[3,8,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-s1"]],[],[[2,6,"pl-k"]],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-en"],[22,23,"pl-c1"],[23,26,"pl-s1"]],[],[],[[1,3,"pl-k"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,27,"pl-s1"],[28,30,"pl-c1"],[31,40,"pl-en"],[41,48,"pl-s1"],[50,61,"pl-c1"]],[[7,14,"pl-c1"],[16,26,"pl-s1"],[28,35,"pl-s1"],[37,39,"pl-c1"],[40,42,"pl-c1"]],[[5,7,"pl-c1"],[7,14,"pl-s1"]],[],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,32,"pl-c1"]],[[2,8,"pl-en"],[9,15,"pl-s1"],[17,18,"pl-en"],[19,45,"pl-s1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,21,"pl-s1"],[22,24,"pl-c1"],[25,34,"pl-c1"]],[[2,8,"pl-en"],[9,15,"pl-s1"],[17,18,"pl-en"],[19,44,"pl-s1"]],[[5,9,"pl-k"]],[[2,8,"pl-en"],[9,15,"pl-s1"],[17,18,"pl-en"],[19,46,"pl-s1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[17,21,"pl-smi"],[22,23,"pl-c1"],[24,30,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,17,"pl-s1"],[21,29,"pl-s1"]],[],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,32,"pl-c1"]],[[2,6,"pl-en"],[7,15,"pl-en"],[16,36,"pl-s"]],[[7,28,"pl-s"],[30,37,"pl-s1"],[40,47,"pl-s1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,21,"pl-s1"],[22,24,"pl-c1"],[25,34,"pl-c1"]],[[2,6,"pl-en"],[7,15,"pl-en"],[16,35,"pl-s"]],[[7,27,"pl-s"],[29,36,"pl-s1"],[39,46,"pl-s1"]],[[5,9,"pl-k"]],[[2,6,"pl-en"],[7,15,"pl-en"],[16,37,"pl-s"]],[[7,29,"pl-s"],[31,38,"pl-s1"],[41,48,"pl-s1"]],[],[],[],[[4,10,"pl-k"],[11,19,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,59,"pl-c"]],[[0,33,"pl-c"]],[[0,26,"pl-c"]],[[0,29,"pl-c"]],[[0,26,"pl-c"]],[[0,29,"pl-c"]],[[0,54,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,10,"pl-en"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"],[23,26,"pl-smi"],[27,33,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,18,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[19,25,"pl-s1"],[26,28,"pl-c1"],[29,41,"pl-c1"],[42,44,"pl-c1"],[45,51,"pl-s1"],[52,54,"pl-c1"],[55,64,"pl-c1"]],[[3,5,"pl-c1"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,26,"pl-c1"],[27,29,"pl-c1"],[30,36,"pl-s1"],[37,39,"pl-c1"],[40,56,"pl-c1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,8,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,32,"pl-c1"]],[[0,6,"pl-k"]],[[4,12,"pl-smi"],[13,22,"pl-s1"]],[[4,12,"pl-smi"],[13,23,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,36,"pl-en"]],[],[[4,13,"pl-en"]],[[4,6,"pl-k"],[9,15,"pl-s1"],[16,26,"pl-c1"],[27,28,"pl-c1"],[29,41,"pl-c1"],[43,45,"pl-c1"],[46,47,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"],[38,64,"pl-c"]],[[4,19,"pl-en"],[20,26,"pl-s1"],[32,50,"pl-c"]],[],[[4,67,"pl-c"]],[[4,19,"pl-s1"],[20,21,"pl-c1"]],[],[[4,79,"pl-c"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,20,"pl-s1"]],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,26,"pl-s1"],[28,35,"pl-s1"]],[[4,14,"pl-en"],[15,16,"pl-c1"],[16,25,"pl-s1"],[27,30,"pl-s1"]],[],[[4,78,"pl-c"]],[[4,53,"pl-c"]],[[4,6,"pl-k"],[9,23,"pl-en"],[24,38,"pl-c1"],[40,44,"pl-c1"],[46,50,"pl-c1"],[59,65,"pl-s1"]],[[5,7,"pl-c1"],[9,21,"pl-en"],[22,23,"pl-c1"],[23,33,"pl-s1"]],[[2,4,"pl-c1"],[5,17,"pl-en"],[18,19,"pl-c1"],[19,28,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,4,"pl-c1"],[6,14,"pl-en"]],[[0,6,"pl-k"]],[],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[5,19,"pl-en"],[20,26,"pl-s1"]],[[0,6,"pl-k"]],[[1,45,"pl-c"]],[[1,21,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"]],[[6,16,"pl-s1"],[17,19,"pl-c1"],[20,34,"pl-en"],[37,39,"pl-c1"]],[[6,12,"pl-en"],[14,18,"pl-smi"],[19,20,"pl-c1"],[21,26,"pl-s"],[28,35,"pl-s1"],[35,37,"pl-c1"],[37,43,"pl-c1"],[44,45,"pl-c1"],[48,50,"pl-c1"],[51,55,"pl-c1"]],[[5,18,"pl-en"],[19,26,"pl-s1"]],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-en"],[18,19,"pl-c1"],[19,29,"pl-s1"],[31,33,"pl-c1"],[35,43,"pl-en"]],[[0,5,"pl-k"]],[[1,3,"pl-k"],[5,17,"pl-en"],[18,19,"pl-c1"],[19,29,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,10,"pl-smi"],[12,13,"pl-c1"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"]],[],[[5,65,"pl-c"]],[[5,67,"pl-c"]],[[5,15,"pl-c"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[20,26,"pl-s1"]],[[6,8,"pl-c1"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,30,"pl-c1"],[32,34,"pl-c1"],[35,36,"pl-c1"],[37,39,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,58,"pl-c1"],[62,63,"pl-c1"]],[[2,8,"pl-en"]],[[5,17,"pl-en"],[18,25,"pl-s1"],[26,28,"pl-c1"],[29,35,"pl-s1"],[35,37,"pl-c1"],[37,45,"pl-c1"],[48,54,"pl-s1"],[57,61,"pl-c1"],[63,70,"pl-s1"]],[[6,12,"pl-s1"],[15,21,"pl-s1"],[25,31,"pl-s1"],[32,34,"pl-c1"],[35,45,"pl-c1"]],[[3,5,"pl-c1"],[7,15,"pl-en"],[16,23,"pl-s1"]],[[3,5,"pl-c1"],[7,19,"pl-en"],[20,27,"pl-s1"],[32,44,"pl-c1"],[47,48,"pl-c1"]],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,30,"pl-s1"],[31,33,"pl-c1"],[34,43,"pl-en"],[44,55,"pl-s1"]],[[7,43,"pl-c"]],[[7,13,"pl-s1"],[14,15,"pl-c1"],[16,27,"pl-s1"]],[],[],[[4,76,"pl-c"]],[[4,59,"pl-c"]],[[4,75,"pl-c"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-en"],[22,25,"pl-s1"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"],[22,24,"pl-c1"],[25,31,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,4,"pl-c1"],[6,14,"pl-en"]],[[0,6,"pl-k"]],[[3,5,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[],[[1,59,"pl-c"]],[[1,48,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,30,"pl-s1"],[31,33,"pl-c1"],[34,40,"pl-s1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[23,25,"pl-c1"]],[[1,67,"pl-c"]],[[1,59,"pl-c"]],[[1,3,"pl-k"],[6,11,"pl-s1"]],[[5,17,"pl-en"],[18,25,"pl-s1"]],[[1,5,"pl-k"]],[[5,17,"pl-en"],[18,21,"pl-s1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[5,22,"pl-en"],[23,27,"pl-c1"],[29,35,"pl-s1"]],[[0,6,"pl-k"]],[],[],[],[[0,2,"pl-c"]],[[0,30,"pl-c"]],[[0,77,"pl-c"]],[[0,31,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,12,"pl-en"],[13,18,"pl-smi"],[19,20,"pl-c1"],[20,23,"pl-s1"]],[],[[4,55,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-s1"]],[[0,3,"pl-k"],[12,20,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-c1"],[9,29,"pl-s1"]],[[0,6,"pl-k"]],[],[[1,16,"pl-en"]],[],[[4,44,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,22,"pl-c1"],[23,26,"pl-s1"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"]],[[4,6,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,24,"pl-c1"]],[],[[4,74,"pl-c"]],[[4,20,"pl-en"],[21,24,"pl-s1"],[26,35,"pl-c1"],[38,48,"pl-c1"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"]],[[1,12,"pl-en"],[13,16,"pl-s1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,8,"pl-smi"]],[[1,35,"pl-c"]],[[1,13,"pl-en"],[14,20,"pl-smi"]],[[4,17,"pl-en"],[18,24,"pl-s1"],[27,51,"pl-c"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"]],[[1,13,"pl-en"],[14,20,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,15,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[20,26,"pl-s1"],[26,28,"pl-c1"],[28,31,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,39,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,26,"pl-c1"],[27,28,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,29,"pl-c1"],[30,31,"pl-c1"]],[],[[4,44,"pl-c"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[],[[4,19,"pl-en"],[20,26,"pl-s1"],[28,34,"pl-s1"],[36,42,"pl-s1"],[42,44,"pl-c1"],[44,57,"pl-c1"],[58,62,"pl-c1"]],[[11,17,"pl-s1"],[17,19,"pl-c1"],[19,32,"pl-c1"],[33,36,"pl-c1"]],[],[[4,38,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,27,"pl-c1"],[28,30,"pl-c1"],[31,35,"pl-c1"],[37,61,"pl-c"]],[],[[1,70,"pl-c"]],[[1,70,"pl-c"]],[[1,28,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,27,"pl-c1"],[28,29,"pl-c1"]],[],[[1,12,"pl-en"],[20,24,"pl-c1"],[26,27,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,3,"pl-k"],[6,16,"pl-s1"],[17,19,"pl-c1"],[21,30,"pl-en"],[31,43,"pl-c1"]],[[5,18,"pl-s1"],[19,20,"pl-c1"],[27,60,"pl-c"]],[],[[1,25,"pl-c"]],[[2,6,"pl-smi"],[7,26,"pl-en"],[27,33,"pl-s1"]],[],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[[1,15,"pl-en"],[16,30,"pl-c1"],[32,36,"pl-c1"],[38,42,"pl-c1"],[51,57,"pl-s1"]],[[1,15,"pl-en"],[16,33,"pl-c1"],[35,39,"pl-c1"],[41,45,"pl-c1"],[54,60,"pl-s1"]],[],[],[[4,78,"pl-c"]],[[4,31,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,29,"pl-c1"],[30,32,"pl-c1"],[33,34,"pl-c1"],[35,37,"pl-c1"],[38,46,"pl-en"],[47,48,"pl-c1"]],[[1,16,"pl-en"]],[],[[4,17,"pl-en"],[18,24,"pl-s1"],[28,54,"pl-c"]],[[4,13,"pl-en"]],[[1,34,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,28,"pl-c1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[35,41,"pl-s1"],[41,43,"pl-c1"],[43,60,"pl-c1"]],[[1,22,"pl-en"],[38,70,"pl-c"]],[],[[0,6,"pl-k"],[7,25,"pl-c1"]],[[4,59,"pl-c"]],[[4,27,"pl-en"],[28,34,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,55,"pl-c"]],[[4,16,"pl-c1"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,28,"pl-c1"],[29,30,"pl-c1"],[31,42,"pl-c1"]],[[2,6,"pl-smi"],[7,18,"pl-en"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,17,"pl-c1"]],[[4,77,"pl-c"]],[[4,31,"pl-c"]],[[4,6,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,33,"pl-s1"],[33,35,"pl-c1"],[35,44,"pl-c1"],[45,47,"pl-c1"],[48,49,"pl-c1"],[49,55,"pl-s1"],[55,57,"pl-c1"],[57,60,"pl-c1"],[60,62,"pl-c1"],[62,69,"pl-c1"],[70,72,"pl-c1"],[73,76,"pl-c1"]],[[2,6,"pl-smi"],[7,22,"pl-en"],[23,29,"pl-s1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,23,"pl-c1"],[24,25,"pl-c1"],[26,34,"pl-en"]],[[0,6,"pl-k"]],[],[[4,16,"pl-en"],[17,30,"pl-c1"]],[],[],[[0,3,"pl-k"],[12,26,"pl-c1"],[28,30,"pl-c1"],[39,44,"pl-c1"]],[[0,2,"pl-c"]],[[0,49,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"],[13,17,"pl-smi"]],[],[[4,6,"pl-k"],[9,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[26,40,"pl-s1"]],[[5,7,"pl-c1"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[5,7,"pl-c1"],[8,21,"pl-en"],[22,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[40,46,"pl-s"],[48,50,"pl-c1"],[51,53,"pl-c1"]],[],[[1,15,"pl-en"]],[[1,18,"pl-s1"],[19,20,"pl-c1"],[21,32,"pl-s"]],[],[],[[0,6,"pl-k"]],[],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,20,"pl-en"],[21,26,"pl-smi"],[27,28,"pl-c1"],[28,31,"pl-s1"],[32,38,"pl-c1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,24,"pl-en"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,51,"pl-s1"]],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,6,"pl-en"],[7,8,"pl-en"],[9,72,"pl-s1"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"]],[],[],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,21,"pl-smi"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,24,"pl-en"],[25,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,51,"pl-s1"]],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,57,"pl-s1"]],[],[],[[4,8,"pl-smi"]],[[0,23,"pl-en"],[24,29,"pl-smi"],[30,31,"pl-c1"],[31,34,"pl-s1"],[35,41,"pl-c1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,24,"pl-en"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,27,"pl-s1"]],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,5,"pl-en"],[6,7,"pl-en"],[8,36,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,45,"pl-c"]],[[0,3,"pl-c"]],[],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,50,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"],[16,20,"pl-smi"]],[],[[4,10,"pl-k"],[12,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[1,3,"pl-c1"],[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[1,3,"pl-c1"],[4,10,"pl-s1"],[10,12,"pl-c1"],[12,22,"pl-c1"],[26,27,"pl-c1"]],[[1,3,"pl-c1"],[5,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"],[33,35,"pl-c1"],[36,44,"pl-en"]],[[1,3,"pl-c1"],[5,16,"pl-en"],[17,23,"pl-s1"]],[[1,3,"pl-c1"],[5,20,"pl-en"]],[],[],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,72,"pl-c"]],[[0,69,"pl-c"]],[[0,59,"pl-c"]],[[0,66,"pl-c"]],[[0,67,"pl-c"]],[[0,62,"pl-c"]],[[0,77,"pl-c"]],[[0,39,"pl-c"]],[[0,74,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,11,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,22,"pl-s1"],[24,57,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,22,"pl-s1"],[24,46,"pl-c"]],[[4,12,"pl-smi"],[13,17,"pl-s1"],[20,44,"pl-c"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,32,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,10,"pl-smi"],[11,13,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-c1"]],[[1,10,"pl-en"],[11,12,"pl-c1"],[12,23,"pl-s1"]],[],[[4,16,"pl-en"],[17,23,"pl-s1"],[25,26,"pl-c1"],[26,32,"pl-s1"],[34,35,"pl-c1"],[35,41,"pl-s1"],[44,67,"pl-c"]],[],[[4,6,"pl-c"]],[[0,69,"pl-c"]],[[0,7,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,75,"pl-c"]],[[4,22,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,34,"pl-en"],[36,40,"pl-smi"],[41,42,"pl-c1"],[43,49,"pl-s1"],[51,52,"pl-c1"],[52,54,"pl-s1"],[56,57,"pl-c1"],[58,59,"pl-c1"]],[[1,3,"pl-s1"],[4,10,"pl-c1"],[11,12,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[28,33,"pl-s1"],[34,35,"pl-c1"],[37,46,"pl-c1"],[49,56,"pl-c1"],[59,61,"pl-c1"],[63,66,"pl-s1"],[67,68,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[2,23,"pl-en"],[24,30,"pl-s1"],[32,33,"pl-c1"],[33,35,"pl-s1"]],[[0,5,"pl-k"]],[[2,18,"pl-en"],[19,25,"pl-s1"]],[[0,6,"pl-k"]],[[4,6,"pl-c1"],[7,11,"pl-c1"]],[],[[1,9,"pl-en"],[10,16,"pl-s1"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"]],[[5,20,"pl-en"],[21,24,"pl-s1"],[27,32,"pl-s1"],[33,34,"pl-c1"],[35,47,"pl-c1"],[51,55,"pl-c1"],[58,64,"pl-s1"]],[[12,16,"pl-s1"],[19,26,"pl-smi"],[27,28,"pl-c1"]],[],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,23,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-c1"]],[[5,68,"pl-c"]],[[5,15,"pl-c"]],[[5,21,"pl-en"],[22,25,"pl-s1"],[27,28,"pl-c1"]],[],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,24,"pl-c1"],[26,28,"pl-c1"],[30,33,"pl-s1"],[33,35,"pl-c1"],[35,41,"pl-c1"]],[],[[5,13,"pl-smi"],[14,20,"pl-s1"]],[],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"]],[[5,15,"pl-en"],[16,17,"pl-c1"],[17,23,"pl-s1"],[25,28,"pl-s1"]],[[5,7,"pl-k"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,28,"pl-c1"]],[],[[2,4,"pl-k"],[6,20,"pl-en"],[21,33,"pl-c1"],[35,39,"pl-c1"],[41,45,"pl-c1"],[54,57,"pl-s1"]],[[3,5,"pl-c1"],[7,19,"pl-en"],[20,21,"pl-c1"],[21,27,"pl-s1"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[],[[1,7,"pl-k"],[8,11,"pl-s1"]],[],[],[[4,6,"pl-c"]],[[0,73,"pl-c"]],[[0,66,"pl-c"]],[[0,6,"pl-c"]],[[0,72,"pl-c"]],[[0,76,"pl-c"]],[[0,15,"pl-c"]],[[0,7,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,14,"pl-c1"]],[[4,6,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,27,"pl-c1"],[29,31,"pl-c1"],[32,47,"pl-en"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,13,"pl-s1"]],[[1,70,"pl-c"]],[[1,66,"pl-c"]],[[1,12,"pl-en"],[13,16,"pl-s1"],[18,26,"pl-c1"],[29,36,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,18,"pl-s1"],[22,57,"pl-c"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-en"],[18,57,"pl-c"]],[],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"],[22,24,"pl-c1"],[25,31,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,22,"pl-en"],[23,28,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,21,"pl-c"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,28,"pl-en"],[29,45,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,13,"pl-en"],[14,17,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[1,14,"pl-en"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[28,29,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[44,53,"pl-c1"]],[[0,6,"pl-k"]],[[1,17,"pl-en"],[18,21,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,23,"pl-s1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,28,"pl-en"],[29,35,"pl-s1"]],[],[],[[4,17,"pl-en"],[18,21,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,36,"pl-en"],[37,46,"pl-s1"]],[],[[4,6,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[24,26,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"],[42,44,"pl-c1"],[45,49,"pl-c1"],[50,52,"pl-c1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"],[67,69,"pl-c1"],[70,74,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,22,"pl-c1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[5,14,"pl-en"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-c1"]],[[1,10,"pl-en"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,18,"pl-s1"]],[[5,16,"pl-en"],[17,20,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"]],[],[[1,18,"pl-en"],[19,22,"pl-s1"],[32,64,"pl-c"]],[],[[1,21,"pl-c"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,21,"pl-c1"],[22,23,"pl-c1"]],[[1,17,"pl-en"],[18,21,"pl-s1"],[23,32,"pl-c1"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[1,46,"pl-c"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,21,"pl-c1"],[25,36,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[],[[1,52,"pl-c"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,19,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"],[24,47,"pl-c"]],[],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"]],[],[[1,5,"pl-k"],[9,44,"pl-c"]],[],[[5,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,26,"pl-s1"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"],[19,26,"pl-s1"]],[],[[1,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"]],[],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,23,"pl-c1"],[25,27,"pl-c1"],[28,37,"pl-s1"],[38,44,"pl-c1"],[45,46,"pl-c1"],[47,48,"pl-c1"]],[],[[5,72,"pl-c"]],[[5,69,"pl-c"]],[[5,36,"pl-c"]],[[5,7,"pl-c1"],[7,16,"pl-s1"],[17,23,"pl-c1"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"],[21,24,"pl-smi"],[25,26,"pl-c1"],[27,36,"pl-s1"],[37,44,"pl-c1"],[46,55,"pl-s1"],[56,62,"pl-c1"]],[],[[5,58,"pl-c"]],[[5,10,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,46,"pl-c1"],[47,48,"pl-c1"],[49,52,"pl-s1"],[52,54,"pl-c1"],[54,60,"pl-c1"],[60,62,"pl-c1"],[62,68,"pl-c1"]],[],[[2,7,"pl-smi"],[8,9,"pl-c1"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,27,"pl-c1"]],[],[[2,6,"pl-s1"],[6,8,"pl-c1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"]],[[2,4,"pl-k"],[6,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[6,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[14,15,"pl-c1"],[16,20,"pl-s1"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[14,15,"pl-c1"],[16,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[[6,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[26,27,"pl-c1"],[28,31,"pl-s1"]],[[2,6,"pl-s1"],[6,8,"pl-c1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[17,20,"pl-s1"]],[[2,4,"pl-k"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-s1"]],[[6,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-s1"]],[[2,4,"pl-k"],[6,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-s1"]],[[6,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"]],[],[],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,18,"pl-c1"],[19,31,"pl-s1"],[31,33,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[24,61,"pl-c"]],[],[[5,9,"pl-en"],[10,11,"pl-en"],[12,55,"pl-s"]],[[5,7,"pl-k"],[9,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[26,28,"pl-c1"],[30,45,"pl-s1"]],[],[[2,11,"pl-en"]],[[2,10,"pl-en"],[11,16,"pl-c1"],[25,51,"pl-c"]],[],[[5,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"]],[],[[1,16,"pl-en"],[17,20,"pl-s1"]],[],[[1,52,"pl-c"]],[[1,17,"pl-en"],[18,21,"pl-s1"],[23,33,"pl-c1"]],[],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[18,20,"pl-c1"],[20,27,"pl-c1"],[28,32,"pl-c1"],[33,34,"pl-c1"],[35,39,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[18,20,"pl-c1"],[20,26,"pl-c1"],[27,28,"pl-c1"],[29,35,"pl-s1"]],[],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,13,"pl-en"],[14,15,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,23,"pl-c1"],[24,33,"pl-c1"]],[[4,13,"pl-en"],[14,15,"pl-c1"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,23,"pl-c1"],[24,36,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[22,27,"pl-s1"],[28,29,"pl-c1"],[29,30,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[],[[0,6,"pl-k"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,21,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,30,"pl-c1"],[33,47,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,15,"pl-c1"],[16,25,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,13,"pl-c1"],[17,25,"pl-c1"]],[[4,18,"pl-en"],[19,22,"pl-s1"]],[[4,15,"pl-en"],[16,19,"pl-s1"],[24,38,"pl-c"]],[[4,22,"pl-en"],[23,26,"pl-s1"],[30,63,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,37,"pl-c1"],[55,74,"pl-c"]],[[4,6,"pl-k"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,27,"pl-c1"]],[],[[1,9,"pl-smi"],[10,16,"pl-s1"]],[],[[1,70,"pl-c"]],[[1,70,"pl-c"]],[[1,51,"pl-c"]],[[1,11,"pl-en"],[12,13,"pl-c1"],[13,19,"pl-s1"],[21,24,"pl-s1"]],[[1,3,"pl-k"],[5,19,"pl-en"],[20,32,"pl-c1"],[34,38,"pl-c1"],[40,44,"pl-c1"],[53,56,"pl-s1"]],[[2,4,"pl-c1"],[6,18,"pl-en"],[19,20,"pl-c1"],[20,26,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,23,"pl-c1"]],[],[[5,7,"pl-k"],[9,23,"pl-en"],[24,36,"pl-c1"],[38,42,"pl-c1"],[44,48,"pl-c1"],[57,60,"pl-s1"]],[[6,8,"pl-c1"],[10,22,"pl-en"],[23,24,"pl-c1"],[24,30,"pl-s1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-en"],[18,57,"pl-c"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,47,"pl-c"]],[[0,63,"pl-c"]],[[0,18,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"]],[],[[4,6,"pl-k"],[8,17,"pl-s1"]],[],[[1,20,"pl-en"],[21,22,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[1,20,"pl-en"],[21,22,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[1,20,"pl-en"],[21,22,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[1,20,"pl-en"],[21,22,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,7,"pl-k"],[8,17,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[0,7,"pl-k"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,22,"pl-c1"],[24,26,"pl-c1"],[35,44,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,39,"pl-c1"]],[[0,6,"pl-k"]],[[0,3,"pl-k"],[12,22,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,17,"pl-c1"]],[[0,7,"pl-k"],[8,19,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-c1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,45,"pl-c1"],[46,48,"pl-c1"],[49,52,"pl-c1"]],[[6,8,"pl-c1"],[9,31,"pl-en"],[32,51,"pl-en"],[52,55,"pl-s1"]],[[1,21,"pl-en"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"],[36,42,"pl-en"],[43,46,"pl-s1"],[46,48,"pl-c1"],[48,55,"pl-c1"]],[[0,7,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,13,"pl-en"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,35,"pl-c1"]],[[4,13,"pl-en"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,33,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,13,"pl-en"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,32,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,40,"pl-c1"]],[[4,16,"pl-en"],[17,18,"pl-c1"],[18,21,"pl-s1"],[21,23,"pl-c1"],[23,32,"pl-c1"]],[[4,12,"pl-en"],[13,14,"pl-c1"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,28,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[0,6,"pl-k"],[7,18,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,43,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,17,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,41,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,41,"pl-c1"]],[[4,15,"pl-en"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,24,"pl-c1"],[25,35,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,12,"pl-c1"],[13,23,"pl-c1"],[24,25,"pl-c1"],[26,30,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,41,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"],[34,41,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,39,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,39,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,34,"pl-c1"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[0,6,"pl-k"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[18,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,36,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"]],[[4,23,"pl-en"],[24,25,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,26,"pl-c"]],[[0,55,"pl-c"]],[[0,69,"pl-c"]],[[0,47,"pl-c"]],[[0,63,"pl-c"]],[[0,71,"pl-c"]],[[0,2,"pl-c"]],[[0,43,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"],[14,15,"pl-c1"],[16,20,"pl-c1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,15,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,26,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[1,3,"pl-k"],[6,13,"pl-s1"],[14,15,"pl-c1"],[16,24,"pl-c1"],[26,28,"pl-c1"],[29,30,"pl-s1"],[31,33,"pl-c1"],[34,35,"pl-c1"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,31,"pl-s1"]],[[1,5,"pl-k"]],[[5,10,"pl-en"],[11,12,"pl-en"],[13,34,"pl-s1"],[37,38,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[],[[4,61,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,21,"pl-s1"]],[[1,7,"pl-k"],[8,10,"pl-c1"]],[],[[4,6,"pl-k"],[8,26,"pl-en"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,54,"pl-c"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,24,"pl-en"],[25,28,"pl-s1"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,12,"pl-s1"],[12,14,"pl-c1"],[14,18,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-s1"],[11,13,"pl-c1"],[13,16,"pl-c1"]],[],[[4,8,"pl-k"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,29,"pl-c1"]],[],[[1,62,"pl-c"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,29,"pl-en"],[30,33,"pl-s1"]],[],[[1,65,"pl-c"]],[[1,54,"pl-c"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[20,29,"pl-s1"],[30,31,"pl-c1"],[33,43,"pl-c1"],[46,55,"pl-c1"],[58,68,"pl-c1"]],[[14,16,"pl-c1"],[18,26,"pl-en"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-c1"]],[[2,13,"pl-en"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,23,"pl-en"],[24,25,"pl-c1"],[28,37,"pl-s1"],[38,39,"pl-c1"],[40,50,"pl-c1"],[54,62,"pl-c1"],[65,66,"pl-c1"]],[[14,16,"pl-c1"],[17,21,"pl-c1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[[5,18,"pl-en"],[19,25,"pl-s1"]],[],[],[],[[4,6,"pl-c1"],[6,23,"pl-s1"]],[[4,7,"pl-smi"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-c1"]],[[4,6,"pl-k"],[8,23,"pl-en"],[24,31,"pl-en"],[32,35,"pl-s1"],[35,37,"pl-c1"],[37,43,"pl-c1"],[45,49,"pl-c1"],[51,55,"pl-c1"]],[[10,17,"pl-s1"],[18,19,"pl-c1"],[20,32,"pl-c1"],[35,39,"pl-s1"],[41,48,"pl-s1"]],[],[[1,69,"pl-c"]],[[1,3,"pl-k"],[6,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-s1"],[19,21,"pl-c1"],[22,23,"pl-c1"]],[],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,25,"pl-c1"],[26,27,"pl-c1"],[28,31,"pl-s1"]],[[5,21,"pl-en"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,27,"pl-c1"],[28,29,"pl-c1"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,12,"pl-c1"]],[],[],[[4,6,"pl-k"],[8,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[1,3,"pl-c1"],[3,20,"pl-s1"]],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,57,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,15,"pl-smi"]],[[0,15,"pl-en"],[16,20,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,15,"pl-s1"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,27,"pl-en"],[28,34,"pl-s1"]],[],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,25,"pl-c1"],[26,27,"pl-c1"],[28,32,"pl-s1"],[32,34,"pl-c1"],[34,38,"pl-c1"]],[[4,21,"pl-en"]],[],[[4,6,"pl-k"],[8,13,"pl-s1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,21,"pl-c1"],[22,23,"pl-c1"],[24,28,"pl-s1"],[28,30,"pl-c1"],[30,33,"pl-c1"]],[[1,17,"pl-en"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,23,"pl-c1"],[24,25,"pl-c1"]],[],[],[],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,20,"pl-en"],[21,27,"pl-smi"],[28,29,"pl-c1"],[29,34,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-c1"]],[],[[4,48,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,26,"pl-en"],[27,32,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[14,59,"pl-c"]],[[0,5,"pl-k"]],[],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,23,"pl-en"],[24,30,"pl-s1"]],[[1,9,"pl-en"],[10,16,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,34,"pl-c"]],[[0,23,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,16,"pl-en"],[17,23,"pl-smi"],[24,25,"pl-c1"],[25,31,"pl-s1"]],[],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,10,"pl-smi"],[11,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,16,"pl-en"],[18,22,"pl-smi"],[23,24,"pl-c1"],[25,31,"pl-s1"],[33,34,"pl-c1"],[34,36,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[1,3,"pl-s1"],[4,10,"pl-c1"],[11,12,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[21,22,"pl-c1"]],[[4,10,"pl-k"],[11,32,"pl-en"],[33,39,"pl-s1"],[41,42,"pl-c1"],[42,44,"pl-s1"],[46,46,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,27,"pl-c"]],[[0,29,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,16,"pl-smi"],[17,18,"pl-c1"]],[[0,21,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[],[[0,6,"pl-k"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,63,"pl-c"]],[[4,26,"pl-c1"],[27,30,"pl-smi"]],[[1,3,"pl-en"],[6,9,"pl-smi"],[9,11,"pl-c1"],[11,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-c1"],[36,38,"pl-c1"],[40,53,"pl-en"],[54,57,"pl-s1"],[59,65,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[8,11,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,11,"pl-k"],[12,15,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,48,"pl-c"]],[[0,35,"pl-c"]],[[0,24,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,19,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,23,"pl-s1"],[25,63,"pl-c"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[19,43,"pl-c"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[18,24,"pl-c1"],[26,56,"pl-c"]],[[4,7,"pl-smi"],[9,20,"pl-s1"],[22,57,"pl-c"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,19,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"]],[],[[4,57,"pl-c"]],[[4,6,"pl-k"],[9,20,"pl-s1"],[21,23,"pl-c1"],[24,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[36,38,"pl-c1"],[40,41,"pl-c1"],[41,48,"pl-s1"],[49,51,"pl-c1"],[52,55,"pl-c1"],[56,58,"pl-c1"],[59,60,"pl-c1"],[60,67,"pl-s1"],[68,70,"pl-c1"],[71,74,"pl-c1"]],[[5,7,"pl-c1"],[9,22,"pl-en"],[25,27,"pl-c1"],[28,39,"pl-s1"],[40,42,"pl-c1"],[43,50,"pl-s1"],[51,52,"pl-c1"],[53,54,"pl-c1"]],[[8,10,"pl-c1"],[11,18,"pl-s1"],[19,20,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-c1"],[29,31,"pl-c1"],[32,39,"pl-s1"],[40,41,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-c1"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,20,"pl-c1"],[21,23,"pl-c1"],[24,35,"pl-s1"],[36,38,"pl-c1"],[39,46,"pl-s1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"],[19,21,"pl-c1"],[21,31,"pl-c1"]],[[1,5,"pl-k"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"],[19,21,"pl-c1"],[21,27,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[18,31,"pl-en"],[32,46,"pl-en"],[47,52,"pl-s1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[4,6,"pl-c"]],[[0,49,"pl-c"]],[[0,57,"pl-c"]],[[0,59,"pl-c"]],[[0,56,"pl-c"]],[[0,71,"pl-c"]],[[0,74,"pl-c"]],[[0,21,"pl-c"]],[[0,7,"pl-c"]],[[4,8,"pl-k"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,26,"pl-en"],[27,34,"pl-s1"],[36,47,"pl-s1"],[49,53,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[[5,11,"pl-k"],[12,14,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-en"],[23,26,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[[1,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-s1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,32,"pl-c1"],[33,34,"pl-c1"],[34,40,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-c1"]],[],[[1,67,"pl-c"]],[[1,44,"pl-c"]],[[1,12,"pl-s1"],[13,14,"pl-c1"]],[[1,4,"pl-k"]],[],[[5,8,"pl-k"],[10,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[23,30,"pl-s1"],[34,35,"pl-c1"],[37,39,"pl-c1"],[39,46,"pl-s1"]],[],[[2,12,"pl-smi"],[13,21,"pl-s1"]],[],[[2,24,"pl-c"]],[[2,4,"pl-k"],[6,18,"pl-s1"]],[[6,7,"pl-c1"],[7,13,"pl-s1"],[14,15,"pl-c1"],[17,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[32,35,"pl-c1"],[38,41,"pl-c1"],[43,60,"pl-c"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,9,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,15,"pl-c1"],[16,18,"pl-c1"],[21,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[36,53,"pl-c"]],[[6,8,"pl-c1"],[8,9,"pl-s1"]],[[2,10,"pl-s1"],[11,18,"pl-c1"],[19,20,"pl-c1"],[21,32,"pl-en"],[33,34,"pl-s1"],[36,47,"pl-en"],[52,60,"pl-c1"],[63,64,"pl-c1"]],[],[[2,24,"pl-smi"],[25,28,"pl-s1"]],[],[[6,8,"pl-k"],[10,18,"pl-s1"],[19,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[],[[3,54,"pl-c"]],[[3,11,"pl-en"],[12,15,"pl-s1"]],[[3,9,"pl-k"],[10,12,"pl-c1"]],[],[[6,8,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,36,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[7,9,"pl-c1"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,37,"pl-en"],[38,41,"pl-s1"]],[[0,6,"pl-k"]],[[7,9,"pl-c1"],[10,23,"pl-en"],[24,25,"pl-c1"],[25,33,"pl-s1"],[35,38,"pl-s1"],[47,49,"pl-c1"],[50,54,"pl-c1"]],[],[[3,5,"pl-k"],[7,18,"pl-s1"]],[],[[7,55,"pl-c"]],[[7,26,"pl-c"]],[[7,12,"pl-smi"],[13,14,"pl-c1"],[14,16,"pl-s1"]],[],[[7,22,"pl-c1"],[23,25,"pl-smi"]],[[4,6,"pl-en"],[8,10,"pl-smi"],[10,12,"pl-c1"],[12,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-s1"]],[[8,13,"pl-s1"]],[[7,9,"pl-k"],[11,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[4,12,"pl-k"]],[],[[3,5,"pl-k"],[7,12,"pl-s1"],[16,17,"pl-c1"],[20,44,"pl-c"]],[],[[7,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"]],[[7,12,"pl-k"]],[],[[3,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,22,"pl-c1"],[24,47,"pl-c"]],[],[],[],[[2,13,"pl-en"],[14,22,"pl-s1"],[23,30,"pl-c1"]],[[2,4,"pl-k"],[6,11,"pl-s1"],[15,16,"pl-c1"],[20,38,"pl-c"]],[[6,11,"pl-k"]],[],[],[[5,67,"pl-c"]],[[5,24,"pl-c"]],[[5,7,"pl-k"],[10,18,"pl-s1"],[19,21,"pl-c1"],[23,34,"pl-s1"],[35,37,"pl-c1"],[38,43,"pl-s1"],[44,46,"pl-c1"],[47,49,"pl-c1"]],[[2,7,"pl-k"]],[[5,16,"pl-s1"],[17,18,"pl-c1"]],[],[],[[1,9,"pl-en"],[10,13,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,19,"pl-c1"]],[[1,6,"pl-en"],[7,8,"pl-en"],[9,38,"pl-s1"],[41,48,"pl-s1"]],[[4,8,"pl-k"],[9,11,"pl-k"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[1,6,"pl-en"],[7,8,"pl-en"],[9,37,"pl-s1"],[40,47,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[[4,9,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-c1"]],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,18,"pl-c1"]],[[2,12,"pl-smi"]],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,36,"pl-c"]],[[0,52,"pl-c"]],[[0,46,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,14,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-c1"],[10,18,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,14,"pl-c1"],[14,18,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,23,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-c1"]],[[0,6,"pl-k"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,18,"pl-smi"],[20,21,"pl-c1"],[21,29,"pl-s1"],[30,31,"pl-c1"],[32,36,"pl-c1"]],[[4,14,"pl-smi"],[15,23,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"]],[],[[4,5,"pl-c1"],[5,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[24,56,"pl-c"]],[[4,5,"pl-c1"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,16,"pl-c1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-c1"],[36,38,"pl-c1"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,56,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,34,"pl-en"],[35,38,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,27,"pl-c"]],[[4,6,"pl-k"],[9,14,"pl-s1"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,16,"pl-c1"],[17,19,"pl-c1"],[20,23,"pl-s1"],[24,25,"pl-c1"],[27,29,"pl-c1"],[30,33,"pl-c1"]],[],[[5,8,"pl-smi"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,20,"pl-smi"],[21,27,"pl-en"],[28,31,"pl-s1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,17,"pl-en"],[18,21,"pl-s1"]],[[5,7,"pl-k"],[9,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[[5,12,"pl-en"],[13,17,"pl-s1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,31,"pl-s1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[[5,9,"pl-s1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,11,"pl-c1"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,24,"pl-s"]],[[1,5,"pl-k"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"]],[[1,9,"pl-s1"],[10,17,"pl-c1"],[18,19,"pl-c1"],[20,31,"pl-en"],[32,36,"pl-s1"],[38,46,"pl-c1"]],[],[],[[4,37,"pl-c"]],[[4,55,"pl-c"]],[[4,7,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,25,"pl-s1"],[29,30,"pl-c1"],[32,34,"pl-c1"],[34,39,"pl-s1"]],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[1,16,"pl-smi"],[17,20,"pl-s1"]],[],[[5,7,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[23,47,"pl-c"]],[[2,10,"pl-k"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-c1"]],[[2,34,"pl-c"]],[[2,37,"pl-c"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,12,"pl-c1"],[13,19,"pl-s1"],[20,22,"pl-c1"],[24,37,"pl-en"],[38,41,"pl-s1"]],[[6,14,"pl-k"]],[[0,6,"pl-k"]],[],[[5,7,"pl-k"],[10,15,"pl-s1"]],[],[[2,4,"pl-k"],[6,14,"pl-s1"],[15,22,"pl-c1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[],[[6,52,"pl-c"]],[[6,8,"pl-k"],[10,17,"pl-s1"]],[[3,11,"pl-en"],[12,16,"pl-s1"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,19,"pl-en"],[20,21,"pl-c1"],[21,29,"pl-s1"],[31,34,"pl-s1"],[36,41,"pl-s1"]],[],[[5,9,"pl-k"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,10,"pl-c1"]],[[2,48,"pl-c"]],[[2,4,"pl-k"],[7,12,"pl-s1"],[13,14,"pl-c1"],[15,30,"pl-en"],[31,34,"pl-s1"],[34,36,"pl-c1"],[36,44,"pl-c1"],[46,49,"pl-s1"],[52,54,"pl-c1"],[55,56,"pl-c1"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"]],[],[[6,55,"pl-c"]],[[6,8,"pl-k"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-en"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,48,"pl-c1"],[50,53,"pl-s1"],[56,58,"pl-c1"],[59,60,"pl-c1"]],[[3,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"]],[],[],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,18,"pl-c1"]],[[2,10,"pl-k"]],[],[[5,7,"pl-k"],[9,14,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"]],[],[[2,4,"pl-c1"],[4,9,"pl-s1"]],[[2,10,"pl-k"]],[],[],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,36,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,23,"pl-en"],[24,27,"pl-s1"],[29,30,"pl-s1"]],[[5,9,"pl-k"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,17,"pl-en"],[18,19,"pl-s1"]],[],[[5,7,"pl-k"],[10,15,"pl-s1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[2,4,"pl-k"],[6,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[],[[6,13,"pl-s1"],[14,19,"pl-s1"],[21,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"]],[[6,13,"pl-s1"],[14,19,"pl-s1"],[21,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[6,11,"pl-s1"],[11,13,"pl-c1"]],[],[[2,6,"pl-k"]],[[0,6,"pl-k"]],[[7,8,"pl-c1"],[8,12,"pl-s1"],[14,19,"pl-s1"],[19,21,"pl-c1"],[23,24,"pl-c1"],[25,26,"pl-s1"]],[],[[5,9,"pl-k"]],[],[[2,10,"pl-s1"],[11,16,"pl-s1"],[18,21,"pl-c1"],[22,23,"pl-c1"],[24,29,"pl-s1"]],[[2,10,"pl-s1"],[11,16,"pl-s1"],[18,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-s1"]],[[2,10,"pl-s1"],[11,16,"pl-s1"],[18,23,"pl-c1"],[24,25,"pl-c1"],[26,31,"pl-s1"]],[[2,7,"pl-s1"],[7,9,"pl-c1"]],[],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,15,"pl-c1"],[17,46,"pl-c"]],[[5,10,"pl-k"]],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,13,"pl-c1"],[14,15,"pl-c1"]],[],[[5,7,"pl-k"],[10,15,"pl-s1"]],[],[[2,3,"pl-c1"],[3,7,"pl-s1"],[8,9,"pl-c1"],[10,20,"pl-en"],[21,27,"pl-s1"],[28,29,"pl-c1"],[31,36,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[6,17,"pl-en"],[18,26,"pl-s1"],[27,34,"pl-c1"]],[[6,8,"pl-k"],[10,17,"pl-s1"]],[[3,11,"pl-en"],[12,16,"pl-s1"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[2,4,"pl-k"],[6,13,"pl-s1"],[14,15,"pl-c1"],[16,32,"pl-c1"]],[[6,13,"pl-s1"],[14,15,"pl-c1"],[16,26,"pl-en"],[27,37,"pl-s1"],[39,44,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,9,"pl-k"]],[],[[2,10,"pl-s1"],[11,12,"pl-c1"],[13,23,"pl-en"],[24,38,"pl-s1"],[40,45,"pl-s1"]],[[2,4,"pl-k"],[6,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[],[[6,7,"pl-c1"],[7,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[6,7,"pl-c1"],[7,11,"pl-s1"],[12,13,"pl-c1"],[14,18,"pl-c1"]],[[6,12,"pl-k"],[13,17,"pl-c1"]],[],[],[],[],[],[[4,6,"pl-k"],[9,14,"pl-s1"]],[],[[1,12,"pl-en"],[13,21,"pl-s1"],[22,29,"pl-c1"]],[[1,3,"pl-k"],[5,12,"pl-s1"]],[[5,13,"pl-en"],[14,18,"pl-s1"]],[],[],[[4,6,"pl-k"],[9,14,"pl-s1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"]],[],[[5,8,"pl-smi"],[9,10,"pl-s1"]],[[5,7,"pl-k"],[9,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[2,7,"pl-en"],[8,15,"pl-s1"],[17,22,"pl-s1"],[24,30,"pl-k"],[31,41,"pl-s1"],[44,55,"pl-s1"]],[[5,71,"pl-c"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[20,23,"pl-c1"],[24,26,"pl-c1"],[27,33,"pl-s1"]],[],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-s1"],[25,26,"pl-s1"],[26,28,"pl-c1"]],[[7,8,"pl-c1"],[8,12,"pl-s1"],[14,15,"pl-s1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[21,28,"pl-s1"],[29,30,"pl-s1"],[32,37,"pl-c1"]],[[3,4,"pl-c1"],[4,8,"pl-s1"],[10,15,"pl-s1"],[15,16,"pl-c1"],[16,17,"pl-c1"],[19,20,"pl-c1"],[21,28,"pl-s1"],[29,30,"pl-c1"],[32,37,"pl-c1"]],[],[[5,9,"pl-k"]],[],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,23,"pl-s1"],[25,26,"pl-s1"],[26,28,"pl-c1"]],[[7,8,"pl-c1"],[8,12,"pl-s1"],[14,15,"pl-s1"],[17,18,"pl-c1"],[19,26,"pl-s1"],[27,28,"pl-s1"],[30,35,"pl-c1"]],[],[[5,13,"pl-en"],[14,21,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[],[[1,3,"pl-k"],[5,31,"pl-en"],[32,40,"pl-s1"],[42,46,"pl-s1"],[48,53,"pl-s1"],[62,64,"pl-c1"],[65,69,"pl-c1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[],[[4,5,"pl-c1"],[5,13,"pl-s1"],[14,15,"pl-c1"],[16,21,"pl-s1"]],[[4,10,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[25,29,"pl-c1"],[32,34,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,71,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,17,"pl-smi"],[18,19,"pl-c1"]],[[0,13,"pl-en"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"],[23,69,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,17,"pl-s1"]],[],[[4,62,"pl-c"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-en"],[24,27,"pl-s1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[44,55,"pl-s1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,37,"pl-c1"],[38,40,"pl-c1"],[41,45,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,20,"pl-en"],[21,24,"pl-s1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"],[41,52,"pl-s1"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,67,"pl-c"]],[[0,71,"pl-c"]],[[0,54,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,17,"pl-smi"],[18,19,"pl-c1"]],[[0,11,"pl-en"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,16,"pl-s1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"],[23,69,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,24,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[],[[4,38,"pl-c"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,36,"pl-c1"],[37,39,"pl-c1"],[40,44,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,64,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,14,"pl-c1"],[15,16,"pl-c1"],[17,22,"pl-s1"],[23,25,"pl-c1"],[26,37,"pl-s1"]],[[4,6,"pl-k"],[8,19,"pl-en"],[20,23,"pl-s1"],[25,29,"pl-s1"],[32,39,"pl-smi"],[40,41,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-s1"]],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,25,"pl-c1"],[26,28,"pl-c1"],[29,33,"pl-c1"]],[],[[1,52,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,22,"pl-en"],[23,27,"pl-c1"],[29,33,"pl-s1"]],[[1,3,"pl-k"],[5,6,"pl-s1"],[7,9,"pl-c1"],[10,14,"pl-c1"],[15,17,"pl-c1"],[18,29,"pl-en"],[30,33,"pl-s1"],[35,36,"pl-s1"],[39,46,"pl-smi"],[47,48,"pl-c1"]],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-s1"]],[[1,9,"pl-en"],[10,11,"pl-s1"]],[],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,51,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,14,"pl-en"],[15,18,"pl-smi"],[19,21,"pl-s1"]],[],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,29,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[[4,14,"pl-smi"],[15,16,"pl-c1"],[16,18,"pl-s1"]],[],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,15,"pl-c1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,24,"pl-c1"]],[[4,11,"pl-en"],[13,17,"pl-smi"],[18,19,"pl-c1"],[20,23,"pl-s1"],[25,29,"pl-s"],[31,33,"pl-s1"]],[[4,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-en"],[19,20,"pl-c1"],[20,31,"pl-s1"],[33,36,"pl-s1"]],[],[[4,6,"pl-k"],[9,23,"pl-en"],[24,26,"pl-s1"]],[[1,7,"pl-k"],[9,14,"pl-smi"],[15,16,"pl-c1"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"]],[[8,9,"pl-c1"],[12,20,"pl-smi"],[22,28,"pl-s1"],[28,30,"pl-c1"],[30,35,"pl-c1"],[36,37,"pl-c1"],[39,45,"pl-smi"],[46,47,"pl-c1"],[48,54,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,43,"pl-c"]],[[0,57,"pl-c"]],[[0,68,"pl-c"]],[[0,62,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[19,55,"pl-c"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,26,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[[4,10,"pl-k"],[11,28,"pl-en"],[29,37,"pl-s1"],[40,43,"pl-s1"],[46,50,"pl-c1"]],[[9,17,"pl-s1"],[20,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,48,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,67,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,15,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[17,48,"pl-c"]],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[],[[4,23,"pl-en"],[24,27,"pl-s1"],[29,32,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,23,"pl-s1"]],[[5,10,"pl-k"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[1,24,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,22,"pl-en"],[23,32,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[[5,11,"pl-k"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-s1"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[17,45,"pl-c"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,13,"pl-c1"]],[],[[4,8,"pl-k"]],[],[[1,34,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,28,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,19,"pl-c1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,34,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"],[17,19,"pl-c1"],[19,26,"pl-c1"],[27,28,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,41,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-s1"],[18,20,"pl-c1"],[21,24,"pl-s1"],[24,26,"pl-c1"],[26,35,"pl-c1"]],[],[[5,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,30,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,22,"pl-en"],[23,24,"pl-c1"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,37,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,13,"pl-c1"],[14,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-s1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,13,"pl-c1"],[14,17,"pl-c1"],[18,19,"pl-c1"],[20,23,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,22,"pl-c1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,45,"pl-c1"]],[[4,6,"pl-k"],[8,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[],[[1,43,"pl-c"]],[[1,12,"pl-en"],[13,14,"pl-c1"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,31,"pl-c1"],[33,34,"pl-c1"],[34,37,"pl-s1"],[37,39,"pl-c1"],[39,45,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,20,"pl-c1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,41,"pl-c1"]],[[1,19,"pl-en"],[20,21,"pl-c1"],[21,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[35,36,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,49,"pl-c1"]],[[0,6,"pl-k"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,15,"pl-c1"],[16,17,"pl-c1"]],[],[],[[4,44,"pl-c"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,33,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,18,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,23,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,13,"pl-c1"],[13,15,"pl-c1"],[15,22,"pl-c1"],[23,24,"pl-c1"],[25,28,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,55,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,22,"pl-en"],[23,32,"pl-smi"],[33,34,"pl-c1"],[34,37,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,28,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,19,"pl-c1"],[20,22,"pl-smi"]],[[1,65,"pl-c"]],[[1,36,"pl-c"]],[[1,3,"pl-en"],[5,8,"pl-smi"],[8,10,"pl-c1"],[10,16,"pl-s1"],[17,19,"pl-c1"],[20,22,"pl-s1"]],[[5,11,"pl-s1"],[12,17,"pl-c1"]],[[4,10,"pl-k"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,52,"pl-c"]],[[0,67,"pl-c"]],[[0,69,"pl-c"]],[[0,75,"pl-c"]],[[0,20,"pl-c"]],[[0,42,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,20,"pl-smi"],[21,22,"pl-c1"]],[[0,12,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"]],[[4,7,"pl-smi"],[9,25,"pl-s1"],[26,32,"pl-c1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[],[[4,23,"pl-en"],[24,27,"pl-s1"],[29,32,"pl-s1"]],[[1,3,"pl-s1"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,26,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,4,"pl-c1"],[7,23,"pl-s1"],[24,26,"pl-c1"],[28,50,"pl-en"],[51,54,"pl-s1"]],[[0,6,"pl-k"]],[],[[2,4,"pl-c1"],[7,19,"pl-s1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,37,"pl-c1"]],[[5,10,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-k"],[8,11,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,46,"pl-c"]],[[4,74,"pl-c"]],[[4,73,"pl-c"]],[[4,14,"pl-c"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,24,"pl-s1"]],[],[[1,20,"pl-en"],[21,24,"pl-s1"],[26,29,"pl-s1"]],[[5,7,"pl-k"],[10,32,"pl-en"],[33,36,"pl-s1"]],[[6,8,"pl-c1"],[11,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,41,"pl-c1"]],[[3,5,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[7,9,"pl-c1"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"]],[[2,7,"pl-k"]],[],[[4,8,"pl-k"]],[[0,6,"pl-k"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,21,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,71,"pl-c"]],[[0,72,"pl-c"]],[[0,32,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"],[12,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[],[[4,16,"pl-en"],[17,18,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,38,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,16,"pl-en"],[17,23,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,22,"pl-en"],[23,26,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,34,"pl-c1"],[35,37,"pl-c1"],[38,42,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,29,"pl-s1"],[30,32,"pl-c1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,44,"pl-c1"],[44,46,"pl-c1"],[46,54,"pl-c1"],[55,57,"pl-c1"],[58,61,"pl-s1"]],[],[[1,67,"pl-c"]],[[1,66,"pl-c"]],[[1,6,"pl-smi"],[7,8,"pl-c1"],[8,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"]],[],[[1,12,"pl-en"],[13,14,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,30,"pl-c1"],[32,33,"pl-c1"],[33,39,"pl-s1"],[39,41,"pl-c1"],[41,53,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,42,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"]],[[1,19,"pl-en"],[20,21,"pl-c1"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,32,"pl-c1"],[34,35,"pl-c1"],[35,41,"pl-s1"],[41,43,"pl-c1"],[43,50,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[17,19,"pl-c1"],[20,24,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,42,"pl-c1"]],[],[[1,58,"pl-c"]],[[1,12,"pl-en"],[13,14,"pl-c1"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,25,"pl-c1"],[27,28,"pl-c1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,48,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,44,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,22,"pl-c1"],[23,24,"pl-c1"]],[[1,19,"pl-en"],[20,21,"pl-c1"],[21,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[36,37,"pl-c1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,52,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[[1,12,"pl-en"],[13,14,"pl-c1"],[14,20,"pl-s1"],[20,22,"pl-c1"],[22,34,"pl-c1"],[36,37,"pl-c1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,57,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,48,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,64,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[18,19,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,25,"pl-s1"]],[[0,6,"pl-k"]],[[4,21,"pl-en"],[22,28,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,10,"pl-c"]],[[0,60,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,16,"pl-en"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[[4,10,"pl-k"],[11,16,"pl-smi"],[17,28,"pl-s1"],[29,30,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-c1"],[38,39,"pl-c1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,22,"pl-en"],[23,26,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-k"],[8,9,"pl-c1"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,22,"pl-c1"]],[[4,8,"pl-k"]],[[1,7,"pl-k"],[8,9,"pl-c1"],[9,20,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,12,"pl-smi"]],[[0,16,"pl-en"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,10,"pl-k"],[11,27,"pl-en"],[28,31,"pl-s1"],[32,34,"pl-c1"],[34,38,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"],[13,20,"pl-smi"],[21,22,"pl-c1"],[22,25,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,25,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,7,"pl-smi"],[9,21,"pl-s1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,12,"pl-smi"],[13,20,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,12,"pl-c1"],[12,24,"pl-s1"],[25,26,"pl-c1"],[27,31,"pl-c1"],[33,34,"pl-c1"],[34,35,"pl-c1"],[35,36,"pl-s1"]],[],[[4,6,"pl-k"],[8,18,"pl-en"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,27,"pl-c1"],[29,32,"pl-c1"]],[],[[1,9,"pl-en"],[10,11,"pl-c1"],[11,18,"pl-s1"],[20,26,"pl-k"],[27,32,"pl-smi"],[33,34,"pl-c1"],[37,39,"pl-c1"]],[[1,16,"pl-smi"],[17,20,"pl-s1"]],[],[[5,7,"pl-k"],[9,16,"pl-en"],[17,18,"pl-c1"],[18,25,"pl-s1"],[27,28,"pl-c1"],[30,32,"pl-c1"],[33,35,"pl-c1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,12,"pl-c1"],[13,20,"pl-s1"],[21,28,"pl-c1"],[30,37,"pl-s1"],[38,44,"pl-c1"],[44,46,"pl-c1"],[48,49,"pl-c1"],[50,53,"pl-s1"]],[],[],[[1,6,"pl-en"],[7,14,"pl-s1"],[15,22,"pl-c1"],[25,31,"pl-smi"],[32,39,"pl-s1"],[40,46,"pl-c1"]],[[2,8,"pl-k"],[9,14,"pl-smi"],[15,16,"pl-c1"],[19,30,"pl-s1"]],[],[[1,13,"pl-s1"],[14,15,"pl-c1"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,25,"pl-c1"],[26,33,"pl-s1"],[34,41,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"],[8,20,"pl-s1"]],[],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,20,"pl-s1"]],[],[[4,7,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[27,34,"pl-s1"],[36,39,"pl-s1"],[40,41,"pl-c1"],[42,54,"pl-s1"],[55,57,"pl-c1"],[58,62,"pl-c1"]],[[8,10,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,26,"pl-s1"],[27,28,"pl-c1"],[29,36,"pl-s1"],[37,43,"pl-c1"],[46,47,"pl-c1"],[47,48,"pl-s1"],[51,55,"pl-c1"]],[[7,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"]],[[0,5,"pl-k"]],[[4,7,"pl-k"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,23,"pl-s1"],[25,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"],[37,39,"pl-c1"],[41,48,"pl-s1"],[50,53,"pl-s1"],[54,55,"pl-c1"],[56,59,"pl-s1"],[59,61,"pl-c1"],[61,67,"pl-c1"]],[[0,6,"pl-k"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[1,12,"pl-s1"],[13,14,"pl-c1"],[15,31,"pl-en"],[32,35,"pl-s1"],[35,37,"pl-c1"],[37,43,"pl-c1"]],[[1,14,"pl-s1"],[15,16,"pl-c1"],[17,31,"pl-en"],[32,35,"pl-s1"],[35,37,"pl-c1"],[37,43,"pl-c1"]],[[0,6,"pl-k"]],[[1,44,"pl-c"]],[[1,3,"pl-k"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,38,"pl-c1"],[40,50,"pl-en"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,59,"pl-c1"],[61,64,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,46,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,22,"pl-c1"],[23,33,"pl-c1"],[35,37,"pl-c1"],[39,51,"pl-en"],[52,55,"pl-s1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,16,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,50,"pl-c1"],[51,53,"pl-c1"],[54,55,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,16,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,50,"pl-c1"],[51,53,"pl-c1"],[54,55,"pl-c1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[8,19,"pl-s1"],[20,22,"pl-c1"],[24,35,"pl-s1"],[36,38,"pl-c1"],[39,52,"pl-s1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[8,19,"pl-s1"],[20,22,"pl-c1"],[24,35,"pl-s1"],[36,38,"pl-c1"],[40,53,"pl-s1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[3,5,"pl-c1"],[7,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[0,6,"pl-k"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[38,40,"pl-c1"],[40,46,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-c1"],[36,39,"pl-s1"],[39,41,"pl-c1"],[41,47,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,49,"pl-c1"],[50,51,"pl-c1"],[52,62,"pl-c1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-s1"],[39,41,"pl-c1"],[42,48,"pl-s1"]],[[2,4,"pl-c1"],[6,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,25,"pl-c1"],[27,30,"pl-c1"]],[[8,10,"pl-c1"],[12,15,"pl-s1"],[16,18,"pl-c1"],[19,25,"pl-s1"],[26,28,"pl-c1"],[29,35,"pl-s1"],[35,37,"pl-c1"],[37,47,"pl-c1"],[48,50,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,62,"pl-c1"]],[[5,13,"pl-k"]],[[1,3,"pl-k"],[5,15,"pl-en"],[16,19,"pl-s1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[5,16,"pl-en"],[17,25,"pl-s1"],[27,37,"pl-en"],[38,41,"pl-s1"],[44,52,"pl-c1"],[53,54,"pl-c1"],[55,56,"pl-c1"]],[[1,5,"pl-k"]],[[5,17,"pl-en"],[18,21,"pl-s1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[37,45,"pl-s1"],[47,55,"pl-c1"]],[[1,3,"pl-k"],[5,21,"pl-en"],[22,30,"pl-s1"]],[[5,13,"pl-k"]],[],[[1,13,"pl-s1"],[14,15,"pl-c1"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,29,"pl-c1"],[30,31,"pl-c1"],[32,42,"pl-c1"],[46,49,"pl-c1"]],[[13,25,"pl-en"],[26,29,"pl-s1"],[33,36,"pl-c1"],[39,42,"pl-c1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[1,3,"pl-k"],[5,16,"pl-s1"]],[],[[5,7,"pl-k"],[9,22,"pl-s1"]],[[2,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,9,"pl-k"]],[[2,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,17,"pl-s1"],[18,19,"pl-c1"],[20,23,"pl-c1"],[26,65,"pl-c"]],[[5,47,"pl-c"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,24,"pl-c1"],[25,29,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[1,5,"pl-k"]],[[0,6,"pl-k"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,27,"pl-c1"],[30,33,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,48,"pl-c1"],[51,54,"pl-c1"],[57,60,"pl-c1"]],[],[[1,12,"pl-en"],[13,17,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,19,"pl-en"],[21,25,"pl-smi"],[26,27,"pl-c1"],[28,34,"pl-s1"],[36,42,"pl-c1"],[43,44,"pl-c1"],[45,47,"pl-c1"],[49,71,"pl-s"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,13,"pl-c1"],[16,19,"pl-c1"],[22,25,"pl-c1"]],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,15,"pl-s1"],[18,21,"pl-c1"]],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[40,43,"pl-c1"],[46,49,"pl-c1"]],[[2,5,"pl-s1"],[5,7,"pl-c1"],[7,11,"pl-c1"],[12,18,"pl-c1"],[19,21,"pl-c1"],[22,26,"pl-c1"],[29,32,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,22,"pl-c1"],[23,24,"pl-c1"],[27,30,"pl-c1"],[33,36,"pl-c1"]],[[2,9,"pl-s1"]],[[2,14,"pl-s1"]],[[2,10,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-c1"]],[],[[1,54,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,7,"pl-c1"],[8,9,"pl-c1"],[10,21,"pl-en"],[22,28,"pl-s1"]],[[1,3,"pl-k"]],[[5,11,"pl-s1"],[12,15,"pl-s1"],[15,17,"pl-c1"],[19,20,"pl-c1"],[21,24,"pl-c1"]],[[1,6,"pl-k"],[8,10,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-c1"],[32,33,"pl-c1"],[34,36,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[1,3,"pl-k"],[5,15,"pl-en"],[16,19,"pl-s1"],[19,21,"pl-c1"],[21,24,"pl-c1"],[26,29,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-s1"],[37,39,"pl-c1"],[39,50,"pl-c1"]],[[5,13,"pl-en"],[14,20,"pl-s1"],[21,22,"pl-c1"],[23,26,"pl-s1"],[29,35,"pl-smi"],[37,43,"pl-c1"],[44,45,"pl-c1"],[46,49,"pl-s1"],[52,55,"pl-s1"],[55,57,"pl-c1"],[57,68,"pl-c1"]],[[1,5,"pl-k"]],[[0,6,"pl-k"]],[[5,17,"pl-en"],[19,23,"pl-smi"],[24,25,"pl-c1"],[26,32,"pl-s1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[41,47,"pl-smi"],[49,55,"pl-c1"],[56,57,"pl-c1"],[58,61,"pl-s1"]],[[6,7,"pl-en"],[8,18,"pl-s"],[21,24,"pl-s1"],[25,27,"pl-c1"],[28,34,"pl-s1"],[37,43,"pl-s1"],[43,45,"pl-c1"],[45,53,"pl-c1"],[54,58,"pl-c1"]],[[15,19,"pl-smi"],[20,36,"pl-en"],[37,40,"pl-s1"]],[[1,13,"pl-en"],[14,20,"pl-s1"]],[[1,10,"pl-en"],[18,46,"pl-c"]],[[1,14,"pl-en"]],[],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[4,6,"pl-k"],[8,20,"pl-s1"]],[[1,9,"pl-en"],[10,11,"pl-c1"],[11,18,"pl-s1"]],[[0,6,"pl-k"],[6,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,49,"pl-c"]],[[0,50,"pl-c"]],[[0,61,"pl-c"]],[[0,44,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,15,"pl-en"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,18,"pl-s1"]],[[4,12,"pl-smi"],[13,14,"pl-c1"],[14,18,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,29,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,35,"pl-c1"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,5,"pl-c1"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,25,"pl-c1"]],[[4,5,"pl-c1"],[5,9,"pl-s1"],[10,11,"pl-c1"],[12,28,"pl-en"],[29,32,"pl-s1"]],[],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,67,"pl-c"]],[[0,16,"pl-c"]],[[0,77,"pl-c"]],[[0,70,"pl-c"]],[[0,16,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,8,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,22,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,22,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[18,60,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,31,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,15,"pl-s1"],[16,17,"pl-c1"],[18,22,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,10,"pl-smi"],[11,13,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[27,33,"pl-s1"],[34,36,"pl-c1"],[37,40,"pl-c1"]],[],[[1,22,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[5,14,"pl-en"],[15,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"]],[[1,5,"pl-k"]],[[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-c1"]],[[1,10,"pl-en"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[1,3,"pl-s1"],[4,10,"pl-c1"],[11,12,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[21,22,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,8,"pl-k"]],[],[[1,13,"pl-en"],[14,17,"pl-s1"],[19,20,"pl-c1"],[20,26,"pl-s1"],[28,29,"pl-c1"],[29,35,"pl-s1"],[38,61,"pl-c"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[26,42,"pl-c"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,55,"pl-c"]],[[0,35,"pl-c"]],[[0,58,"pl-c"]],[[0,4,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-en"],[15,19,"pl-smi"],[20,21,"pl-c1"],[22,28,"pl-s1"],[30,31,"pl-c1"],[31,33,"pl-s1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[5,7,"pl-s1"],[8,14,"pl-c1"],[15,16,"pl-c1"],[18,23,"pl-s1"],[24,25,"pl-c1"],[25,26,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[7,10,"pl-s1"],[10,12,"pl-c1"],[12,19,"pl-c1"],[20,21,"pl-c1"],[22,30,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,33,"pl-en"],[34,40,"pl-s1"],[42,43,"pl-c1"],[43,45,"pl-s1"]],[[0,5,"pl-k"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,28,"pl-en"],[29,35,"pl-s1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-s1"],[26,28,"pl-c1"],[29,32,"pl-s1"]],[],[[5,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[5,14,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"]],[[5,8,"pl-smi"],[10,16,"pl-s1"],[17,18,"pl-c1"]],[],[[5,71,"pl-c"]],[[5,24,"pl-en"],[25,28,"pl-s1"],[30,33,"pl-s1"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[20,22,"pl-c1"],[23,27,"pl-s1"]],[[6,12,"pl-s1"],[13,14,"pl-c1"]],[],[[5,45,"pl-c"]],[[5,7,"pl-k"],[9,13,"pl-s1"],[13,15,"pl-c1"],[15,19,"pl-c1"],[20,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-c1"],[35,37,"pl-c1"],[38,44,"pl-s1"]],[],[[2,4,"pl-k"],[6,13,"pl-s1"]],[[6,10,"pl-en"],[11,12,"pl-en"],[13,51,"pl-s1"]],[[2,10,"pl-en"],[11,17,"pl-s1"]],[[2,8,"pl-k"],[9,13,"pl-c1"]],[],[[5,28,"pl-c"]],[[5,17,"pl-en"],[18,22,"pl-c1"],[24,28,"pl-s1"],[30,40,"pl-c1"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,21,"pl-en"],[22,28,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[23,29,"pl-s1"],[30,32,"pl-c1"],[33,37,"pl-c1"]],[],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,13,"pl-en"],[14,20,"pl-s1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[0,6,"pl-k"],[7,21,"pl-c1"]],[[1,11,"pl-en"],[12,18,"pl-s1"],[20,21,"pl-c1"],[27,66,"pl-c"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,18,"pl-c1"],[19,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"]],[[5,13,"pl-en"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"]],[[1,9,"pl-en"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,23,"pl-s1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,14,"pl-c1"],[15,16,"pl-c1"],[17,23,"pl-s1"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,17,"pl-c1"],[18,20,"pl-c1"],[22,27,"pl-s1"],[28,29,"pl-c1"],[29,30,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,20,"pl-c1"],[21,22,"pl-c1"]],[],[[4,20,"pl-en"],[21,24,"pl-s1"]],[[4,10,"pl-k"],[11,13,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,62,"pl-c"]],[[0,56,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"],[13,16,"pl-smi"],[17,21,"pl-s1"],[23,29,"pl-smi"],[30,31,"pl-c1"],[31,35,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,29,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"]],[[1,9,"pl-en"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"]],[[4,12,"pl-en"],[13,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,19,"pl-c1"],[20,31,"pl-en"],[32,36,"pl-s1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,19,"pl-c1"],[20,24,"pl-c1"]],[[4,69,"pl-c"]],[[4,22,"pl-c"]],[[4,16,"pl-en"],[17,20,"pl-s1"],[22,23,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[38,39,"pl-c1"],[39,42,"pl-s1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[[4,7,"pl-s1"],[7,9,"pl-c1"],[9,16,"pl-c1"],[17,18,"pl-c1"],[19,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,71,"pl-c"]],[[0,11,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,16,"pl-en"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,69,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,17,"pl-c1"],[18,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[1,11,"pl-en"],[12,15,"pl-s1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[[1,23,"pl-en"],[24,27,"pl-s1"],[27,29,"pl-c1"],[29,35,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,27,"pl-c1"],[28,31,"pl-s1"]],[[1,14,"pl-en"],[15,21,"pl-s1"],[24,55,"pl-c"]],[[4,13,"pl-en"],[18,37,"pl-c"]],[[4,21,"pl-en"],[25,59,"pl-c"]],[[4,22,"pl-en"],[23,26,"pl-s1"],[29,54,"pl-c"]],[[4,16,"pl-en"],[17,20,"pl-s1"],[24,42,"pl-c"]],[],[],[[0,2,"pl-c"]],[[0,45,"pl-c"]],[[0,2,"pl-c"]],[[0,50,"pl-c"]],[[0,21,"pl-c"]],[[0,3,"pl-c"]],[[4,9,"pl-smi"],[10,11,"pl-c1"]],[[0,11,"pl-en"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,68,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,21,"pl-en"],[22,28,"pl-s1"],[30,36,"pl-s1"],[38,42,"pl-s1"],[44,45,"pl-c1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"],[20,22,"pl-c1"],[24,30,"pl-s1"],[31,41,"pl-c1"],[42,43,"pl-c1"],[44,56,"pl-c1"],[58,60,"pl-c1"],[61,62,"pl-c1"]],[[1,7,"pl-s1"],[7,9,"pl-c1"],[9,19,"pl-c1"],[20,21,"pl-c1"],[22,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,46,"pl-c"]],[[0,71,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[12,13,"pl-c1"]],[[0,11,"pl-en"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[18,39,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,17,"pl-s1"]],[[4,12,"pl-smi"],[13,18,"pl-s1"]],[],[[4,6,"pl-k"],[8,23,"pl-en"],[24,25,"pl-c1"],[27,28,"pl-c1"],[28,33,"pl-s1"],[35,36,"pl-c1"],[36,41,"pl-s1"],[43,45,"pl-c1"],[46,50,"pl-c1"]],[],[[1,3,"pl-k"],[5,11,"pl-s1"]],[[5,9,"pl-en"],[10,11,"pl-en"],[12,31,"pl-s1"]],[[1,7,"pl-k"],[8,12,"pl-c1"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,56,"pl-c"]],[[0,54,"pl-c"]],[[0,2,"pl-c"]],[[0,44,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,11,"pl-en"],[12,18,"pl-smi"],[19,20,"pl-c1"],[20,25,"pl-s1"],[27,30,"pl-smi"],[31,36,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,21,"pl-en"],[22,27,"pl-s1"],[29,33,"pl-c1"],[36,44,"pl-smi"],[45,46,"pl-c1"],[48,53,"pl-s1"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[1,7,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"]],[[4,10,"pl-k"],[11,12,"pl-c1"]],[],[],[[0,3,"pl-k"],[12,33,"pl-c1"],[35,37,"pl-c1"],[46,51,"pl-c1"]],[[0,2,"pl-c"]],[[0,68,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,20,"pl-en"],[21,25,"pl-smi"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[],[[4,19,"pl-smi"],[20,22,"pl-s1"]],[],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[[5,17,"pl-en"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[[1,3,"pl-k"],[5,7,"pl-s1"],[7,9,"pl-c1"],[9,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[[5,17,"pl-en"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,44,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,15,"pl-en"],[16,21,"pl-smi"],[22,23,"pl-c1"],[23,26,"pl-s1"]],[],[[4,19,"pl-en"],[20,26,"pl-s1"],[28,31,"pl-s1"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,46,"pl-c1"],[47,51,"pl-c1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,66,"pl-c1"],[67,70,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,64,"pl-c"]],[[0,60,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,9,"pl-en"],[10,16,"pl-smi"],[17,18,"pl-c1"],[18,24,"pl-s1"]],[],[[4,10,"pl-k"],[11,24,"pl-en"],[25,31,"pl-s1"],[33,39,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[7,11,"pl-c1"]],[[0,6,"pl-k"]],[],[],[],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"]],[[4,9,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,19,"pl-s1"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[6,12,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[4,27,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[27,33,"pl-s1"],[34,36,"pl-c1"],[37,40,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,57,"pl-c1"],[58,60,"pl-c1"],[61,65,"pl-c1"]],[[1,7,"pl-k"]],[[4,6,"pl-k"],[8,16,"pl-en"],[17,23,"pl-s1"],[25,28,"pl-s1"],[28,30,"pl-c1"],[30,38,"pl-c1"],[40,42,"pl-c1"],[43,44,"pl-c1"]],[[1,7,"pl-k"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[],[[1,7,"pl-smi"],[12,14,"pl-s1"]],[],[[1,34,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[],[[5,7,"pl-k"],[10,13,"pl-s1"],[13,15,"pl-c1"],[15,26,"pl-c1"],[27,29,"pl-c1"],[30,38,"pl-en"],[40,44,"pl-smi"],[45,46,"pl-c1"],[47,53,"pl-s1"],[55,56,"pl-c1"],[56,58,"pl-s1"],[60,61,"pl-c1"],[62,63,"pl-c1"]],[[2,4,"pl-s1"],[5,11,"pl-c1"],[12,13,"pl-c1"],[15,20,"pl-s1"],[21,22,"pl-c1"],[22,23,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[12,14,"pl-s1"]],[],[[1,71,"pl-c"]],[[1,67,"pl-c"]],[[1,52,"pl-c"]],[[1,68,"pl-c"]],[[1,69,"pl-c"]],[[1,70,"pl-c"]],[[1,69,"pl-c"]],[[1,68,"pl-c"]],[[1,9,"pl-c"]],[[1,3,"pl-k"],[5,17,"pl-en"],[18,21,"pl-s1"],[23,26,"pl-s1"]],[],[[5,15,"pl-en"],[16,19,"pl-s1"]],[[5,7,"pl-k"],[9,21,"pl-en"],[22,25,"pl-s1"],[27,30,"pl-s1"]],[[2,8,"pl-k"]],[],[],[[0,6,"pl-k"]],[[4,10,"pl-k"]],[],[],[[0,3,"pl-k"],[12,16,"pl-c1"],[18,20,"pl-c1"],[29,34,"pl-c1"]],[[0,2,"pl-c"]],[[0,44,"pl-c"]],[[0,50,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,10,"pl-en"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"]],[],[[4,10,"pl-smi"],[11,13,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"],[29,31,"pl-c1"],[32,40,"pl-en"],[42,46,"pl-smi"],[47,48,"pl-c1"],[49,52,"pl-s1"],[52,54,"pl-c1"],[54,61,"pl-c1"],[63,64,"pl-c1"],[64,66,"pl-s1"],[71,72,"pl-c1"]],[],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[17,23,"pl-c1"]],[],[[4,8,"pl-k"]],[[1,4,"pl-s1"],[4,6,"pl-c1"],[6,17,"pl-c1"],[18,19,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,12,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[],[[4,10,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,28,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,33,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[26,28,"pl-c1"],[28,33,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,39,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,8,"pl-en"]],[[4,7,"pl-smi"],[8,16,"pl-s1"],[22,54,"pl-c"]],[[4,7,"pl-smi"],[8,17,"pl-s1"]],[[4,7,"pl-smi"],[8,21,"pl-s1"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,16,"pl-s1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,11,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"]],[],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,18,"pl-en"],[19,25,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[26,60,"pl-c"]],[],[[1,13,"pl-en"],[14,20,"pl-s1"],[22,28,"pl-c1"],[30,40,"pl-s"],[42,48,"pl-s1"],[48,50,"pl-c1"],[50,56,"pl-c1"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,11,"pl-s1"],[12,13,"pl-c1"],[14,20,"pl-en"],[21,27,"pl-s1"]],[],[[4,8,"pl-k"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,11,"pl-s1"]],[],[[4,5,"pl-c1"],[5,6,"pl-s1"],[6,8,"pl-c1"],[9,10,"pl-c1"],[11,14,"pl-c1"]],[[4,6,"pl-k"],[8,18,"pl-en"],[19,25,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[1,12,"pl-en"],[14,20,"pl-smi"],[21,22,"pl-c1"],[23,24,"pl-s1"],[26,36,"pl-en"],[37,43,"pl-s1"],[46,52,"pl-c1"],[53,54,"pl-c1"],[56,57,"pl-s1"],[58,59,"pl-c1"],[60,66,"pl-s1"],[68,69,"pl-c1"],[70,71,"pl-c1"]],[[4,8,"pl-k"]],[],[[1,3,"pl-k"],[6,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,33,"pl-c1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,27,"pl-c1"]],[[1,5,"pl-k"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"]],[[1,13,"pl-en"],[14,23,"pl-s1"],[26,32,"pl-s1"],[35,39,"pl-c1"],[41,45,"pl-s1"],[48,54,"pl-smi"],[55,56,"pl-c1"],[57,58,"pl-s1"]],[[8,11,"pl-smi"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,33,"pl-s1"]],[],[],[[4,20,"pl-en"],[21,27,"pl-s1"],[29,35,"pl-c1"],[37,53,"pl-s"]],[[5,20,"pl-en"],[26,35,"pl-en"],[36,43,"pl-c1"]],[[10,16,"pl-s"],[19,20,"pl-en"],[21,34,"pl-s"],[39,42,"pl-s"]],[[6,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[22,23,"pl-c1"],[24,36,"pl-c1"],[38,40,"pl-c1"],[42,54,"pl-en"],[55,61,"pl-s1"]],[[7,8,"pl-en"],[9,23,"pl-s"],[27,29,"pl-s"]],[[6,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[22,23,"pl-c1"],[24,30,"pl-c1"],[32,34,"pl-c1"],[36,48,"pl-en"],[49,55,"pl-s1"]],[[10,26,"pl-en"],[31,33,"pl-s"]],[[6,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"],[22,23,"pl-c1"],[24,34,"pl-c1"],[38,39,"pl-en"],[40,55,"pl-s"],[59,61,"pl-s"]],[[5,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[23,32,"pl-en"],[33,39,"pl-c1"],[43,44,"pl-en"],[45,51,"pl-s"]],[[14,15,"pl-en"],[16,28,"pl-s"],[33,35,"pl-s"]],[[6,21,"pl-en"],[24,26,"pl-c1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,43,"pl-c1"],[44,45,"pl-c1"],[46,59,"pl-c1"]],[[9,11,"pl-c1"],[12,18,"pl-s1"],[18,20,"pl-c1"],[20,26,"pl-c1"]],[[12,15,"pl-s"],[18,20,"pl-s"]],[[4,74,"pl-c"]],[[4,65,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,29,"pl-c1"],[30,31,"pl-c1"],[32,40,"pl-c1"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[6,9,"pl-smi"],[13,17,"pl-smi"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,39,"pl-c1"]],[[9,13,"pl-smi"],[14,20,"pl-s1"],[20,22,"pl-c1"],[22,26,"pl-c1"],[27,40,"pl-c1"],[43,47,"pl-c1"]],[[4,8,"pl-k"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[6,9,"pl-smi"],[13,17,"pl-smi"],[18,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[35,39,"pl-c1"],[40,41,"pl-c1"],[42,46,"pl-c1"]],[[10,14,"pl-smi"],[15,21,"pl-s1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[28,41,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,29,"pl-c1"],[30,31,"pl-c1"],[32,40,"pl-c1"]],[[1,17,"pl-en"],[18,24,"pl-s1"],[26,32,"pl-c1"],[34,38,"pl-s"],[40,41,"pl-en"],[42,54,"pl-s1"]],[[4,8,"pl-k"],[9,11,"pl-k"],[13,17,"pl-s1"]],[[1,61,"pl-c"]],[[1,17,"pl-en"],[18,24,"pl-s1"],[26,32,"pl-c1"]],[[2,10,"pl-en"],[11,30,"pl-s"],[32,52,"pl-s"]],[[9,15,"pl-s1"],[15,17,"pl-c1"],[17,21,"pl-c1"],[22,35,"pl-c1"]],[[3,7,"pl-smi"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,34,"pl-c1"],[36,37,"pl-s1"]],[[4,8,"pl-k"]],[],[[1,17,"pl-en"],[18,24,"pl-s1"],[26,32,"pl-c1"]],[[2,3,"pl-en"],[4,35,"pl-s"]],[[3,7,"pl-smi"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[25,29,"pl-c1"]],[[3,7,"pl-smi"],[8,14,"pl-s1"],[14,16,"pl-c1"],[16,20,"pl-c1"],[21,34,"pl-c1"]],[[2,3,"pl-s1"]],[[1,17,"pl-en"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,13,"pl-en"],[14,20,"pl-s1"]],[[2,6,"pl-smi"],[7,16,"pl-en"],[18,24,"pl-smi"],[25,26,"pl-c1"],[27,33,"pl-s1"],[34,35,"pl-c1"],[36,39,"pl-s1"],[41,47,"pl-c1"],[48,49,"pl-c1"],[50,53,"pl-s1"]],[[6,9,"pl-smi"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"],[27,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-c1"],[37,40,"pl-smi"],[41,47,"pl-s1"],[47,49,"pl-c1"],[49,58,"pl-c1"],[59,60,"pl-c1"],[61,62,"pl-c1"]],[],[],[[5,9,"pl-smi"],[10,27,"pl-en"],[28,34,"pl-s1"],[37,43,"pl-smi"],[44,45,"pl-c1"],[46,52,"pl-s1"],[54,60,"pl-c1"]],[[9,18,"pl-en"],[19,27,"pl-c1"]],[],[[4,6,"pl-k"],[8,21,"pl-s1"]],[],[[1,68,"pl-c"]],[[1,65,"pl-c"]],[[1,10,"pl-en"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,15,"pl-s1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[[1,4,"pl-en"],[5,11,"pl-s1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"]],[],[[4,8,"pl-k"]],[],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,19,"pl-en"],[20,26,"pl-s1"],[35,36,"pl-c1"]],[[1,3,"pl-k"],[5,17,"pl-s1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[23,25,"pl-c1"],[27,39,"pl-s1"],[40,42,"pl-c1"],[44,60,"pl-s1"]],[[5,56,"pl-c"]],[[5,67,"pl-c"]],[[5,28,"pl-c"]],[[5,66,"pl-c"]],[[5,17,"pl-c"]],[[5,17,"pl-en"],[19,25,"pl-smi"],[26,27,"pl-c1"],[28,29,"pl-s1"],[31,32,"pl-c1"]],[],[],[[4,12,"pl-en"],[13,19,"pl-s1"]],[],[],[[4,7,"pl-smi"]],[[0,9,"pl-en"]],[[4,10,"pl-smi"],[12,13,"pl-c1"],[13,16,"pl-s1"]],[[4,10,"pl-smi"],[12,18,"pl-s1"]],[[4,7,"pl-smi"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[12,16,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-s1"]],[[1,7,"pl-k"],[8,20,"pl-en"],[22,26,"pl-smi"],[27,28,"pl-c1"],[29,32,"pl-s1"],[34,40,"pl-s1"],[42,46,"pl-s"],[48,51,"pl-s1"]],[],[[4,10,"pl-k"],[11,23,"pl-en"],[25,29,"pl-smi"],[30,31,"pl-c1"],[32,35,"pl-s1"],[37,43,"pl-s1"],[45,52,"pl-s"],[54,57,"pl-s1"],[59,63,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,15,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-c1"],[27,31,"pl-c1"]],[[0,6,"pl-k"],[7,13,"pl-smi"],[14,15,"pl-c1"],[15,23,"pl-s1"],[24,25,"pl-c1"],[26,30,"pl-c1"]],[],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,9,"pl-en"],[10,14,"pl-smi"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,21,"pl-s1"],[22,23,"pl-c1"],[24,28,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"],[15,21,"pl-c1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[],[[4,6,"pl-k"],[9,18,"pl-en"]],[],[[1,57,"pl-c"]],[[1,15,"pl-s1"],[16,17,"pl-c1"]],[[1,7,"pl-k"]],[],[],[[4,18,"pl-s1"],[19,20,"pl-c1"]],[[4,6,"pl-k"],[9,16,"pl-s1"],[17,19,"pl-c1"],[21,27,"pl-s1"],[28,30,"pl-c1"],[31,40,"pl-s1"],[41,43,"pl-c1"],[44,48,"pl-c1"],[49,51,"pl-c1"],[52,60,"pl-s1"],[61,63,"pl-c1"],[64,68,"pl-c1"]],[[1,7,"pl-k"],[10,26,"pl-c"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"]],[],[[1,3,"pl-k"],[5,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,24,"pl-s1"],[25,26,"pl-c1"],[27,34,"pl-s1"],[37,40,"pl-c1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-c1"]],[],[],[[1,10,"pl-s1"],[11,12,"pl-c1"],[13,16,"pl-s1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,19,"pl-s1"],[20,22,"pl-c1"],[23,26,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,34,"pl-c1"]],[[2,18,"pl-en"],[19,25,"pl-s1"],[27,36,"pl-s1"],[38,44,"pl-k"],[45,48,"pl-s1"],[51,64,"pl-s1"]],[[9,15,"pl-smi"],[16,17,"pl-c1"],[18,31,"pl-s"],[33,34,"pl-c1"]],[[8,9,"pl-c1"],[11,17,"pl-s1"],[19,23,"pl-c1"],[25,29,"pl-c1"]],[[5,9,"pl-k"]],[[0,6,"pl-k"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[14,27,"pl-s1"]],[],[[1,5,"pl-k"]],[],[[5,47,"pl-c"]],[],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[0,7,"pl-k"],[8,21,"pl-c1"]],[[0,7,"pl-k"],[8,23,"pl-c1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[2,13,"pl-en"],[14,17,"pl-s1"],[20,26,"pl-smi"],[27,28,"pl-c1"],[29,30,"pl-en"],[31,42,"pl-s"],[45,60,"pl-c1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[5,9,"pl-smi"],[10,12,"pl-en"],[14,20,"pl-smi"],[20,22,"pl-c1"],[22,28,"pl-s1"],[29,31,"pl-c1"]],[],[[2,13,"pl-en"],[14,17,"pl-s1"],[19,39,"pl-en"],[40,46,"pl-s1"],[46,48,"pl-c1"],[48,54,"pl-c1"]],[[13,28,"pl-c1"]],[],[[0,6,"pl-k"]],[[5,9,"pl-smi"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,14,"pl-en"],[15,22,"pl-en"],[23,29,"pl-s1"],[29,31,"pl-c1"],[31,38,"pl-c1"]],[[2,13,"pl-en"],[14,17,"pl-s1"],[19,20,"pl-s1"],[22,37,"pl-c1"]],[[2,10,"pl-en"],[11,12,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[0,6,"pl-k"]],[[2,8,"pl-k"],[10,22,"pl-en"],[23,29,"pl-s1"]],[[3,4,"pl-c1"],[6,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[3,4,"pl-c1"],[7,13,"pl-s1"],[13,15,"pl-c1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[],[[6,10,"pl-k"],[11,12,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-s1"],[26,30,"pl-s"],[33,38,"pl-k"]],[[6,10,"pl-k"],[11,12,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-s1"],[26,30,"pl-s"],[33,38,"pl-k"]],[[6,10,"pl-k"],[11,12,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-s1"],[26,31,"pl-s"],[34,39,"pl-k"]],[[6,10,"pl-k"],[11,12,"pl-c1"]],[[6,10,"pl-k"],[11,12,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-s1"],[26,30,"pl-s"],[33,38,"pl-k"]],[[6,10,"pl-k"],[11,12,"pl-c1"]],[[6,10,"pl-k"],[11,12,"pl-c1"],[14,20,"pl-en"],[21,24,"pl-s1"],[26,31,"pl-s"],[34,39,"pl-k"]],[],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"],[25,27,"pl-c1"],[28,32,"pl-c1"]],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[27,31,"pl-c1"]],[[0,6,"pl-k"]],[],[],[[2,46,"pl-c"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,12,"pl-smi"],[13,19,"pl-en"],[20,23,"pl-s1"]],[[2,5,"pl-s1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[2,5,"pl-s1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[[2,14,"pl-en"],[15,21,"pl-s1"],[23,29,"pl-s1"],[29,31,"pl-c1"],[31,39,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-s1"],[16,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-s1"]],[[0,6,"pl-k"],[7,28,"pl-c1"]],[[2,41,"pl-c"]],[[2,4,"pl-k"],[6,18,"pl-en"],[19,22,"pl-s1"],[23,26,"pl-s1"],[29,31,"pl-c1"],[32,35,"pl-s1"],[36,39,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"],[45,47,"pl-c1"],[48,51,"pl-c1"]],[[6,9,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"]],[[0,6,"pl-k"]],[[2,25,"pl-c"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,17,"pl-en"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-s1"]],[],[[6,30,"pl-c"]],[[6,17,"pl-en"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,40,"pl-en"],[41,47,"pl-s"]],[[9,15,"pl-smi"],[17,30,"pl-c1"],[31,32,"pl-c1"],[33,36,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"]],[],[[2,6,"pl-k"]],[[6,7,"pl-c1"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,14,"pl-c1"]],[],[[2,60,"pl-c"]],[[2,64,"pl-c"]],[[2,26,"pl-c"]],[[2,4,"pl-k"],[6,9,"pl-s1"],[10,11,"pl-c1"],[12,25,"pl-c1"]],[],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,18,"pl-en"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,28,"pl-s1"]],[[6,17,"pl-en"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[29,30,"pl-s1"],[33,39,"pl-smi"],[41,54,"pl-c1"],[55,56,"pl-c1"],[57,60,"pl-s1"]],[[6,14,"pl-en"],[15,16,"pl-s1"]],[],[[2,6,"pl-k"]],[],[[6,17,"pl-en"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,27,"pl-s1"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,44,"pl-s"]],[[11,17,"pl-smi"],[19,34,"pl-c1"],[35,36,"pl-c1"],[37,40,"pl-s1"]],[],[[2,8,"pl-en"],[9,12,"pl-s1"],[14,17,"pl-s"]],[],[],[[5,22,"pl-en"],[23,29,"pl-s1"],[31,34,"pl-s1"],[36,51,"pl-c1"]],[],[[0,3,"pl-k"],[12,29,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,22,"pl-c1"],[23,27,"pl-c1"]],[],[[2,8,"pl-en"],[9,12,"pl-s1"],[14,19,"pl-s"]],[[2,12,"pl-en"],[13,16,"pl-s1"],[18,28,"pl-s1"],[30,36,"pl-c1"]],[],[[5,9,"pl-k"]],[[0,6,"pl-k"]],[[2,8,"pl-en"],[9,12,"pl-s1"],[14,22,"pl-s"]],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[[2,52,"pl-c"]],[[2,4,"pl-k"],[6,17,"pl-en"],[18,21,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"]],[[6,18,"pl-en"],[19,22,"pl-s1"],[24,27,"pl-s1"],[29,35,"pl-s1"],[37,43,"pl-c1"]],[[6,6,"pl-k"]],[],[],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,27,"pl-en"],[28,37,"pl-s1"],[39,40,"pl-c1"],[40,49,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"]],[],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-s1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-c1"]],[],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,33,"pl-c1"]],[[2,18,"pl-en"],[19,25,"pl-s1"],[27,35,"pl-s1"],[37,43,"pl-k"],[44,47,"pl-s1"],[50,62,"pl-s1"]],[[6,12,"pl-smi"],[13,14,"pl-c1"],[15,27,"pl-s"],[29,30,"pl-c1"],[32,33,"pl-c1"],[35,36,"pl-c1"],[38,42,"pl-c1"],[44,48,"pl-c1"]],[[5,9,"pl-k"]],[[0,6,"pl-k"]],[[2,10,"pl-s1"],[11,12,"pl-c1"],[13,25,"pl-s1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-k"],[9,19,"pl-en"],[20,26,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,16,"pl-en"],[17,23,"pl-s1"]],[[5,9,"pl-k"],[15,44,"pl-c"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,13,"pl-en"],[14,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"]],[[5,6,"pl-c1"],[6,14,"pl-s1"],[15,16,"pl-c1"],[17,20,"pl-c1"]],[[5,35,"pl-c"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,15,"pl-smi"],[16,22,"pl-en"],[23,24,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,18,"pl-c1"]],[],[[2,5,"pl-s1"],[6,8,"pl-c1"],[9,12,"pl-c1"]],[[2,4,"pl-k"],[6,15,"pl-s1"]],[[6,9,"pl-s1"],[10,12,"pl-c1"],[14,15,"pl-c1"],[15,26,"pl-s1"],[28,29,"pl-s1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,38,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,10,"pl-s1"]],[],[[5,11,"pl-en"],[12,20,"pl-s1"],[22,23,"pl-s1"]],[[5,21,"pl-en"],[22,30,"pl-s1"],[32,38,"pl-c1"]],[],[],[],[[4,11,"pl-s1"],[15,28,"pl-en"],[29,37,"pl-s1"],[39,40,"pl-c1"],[40,48,"pl-s1"]],[],[[4,6,"pl-k"],[8,15,"pl-s1"]],[[1,11,"pl-en"],[14,14,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,25,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"],[14,20,"pl-smi"],[21,22,"pl-c1"],[22,25,"pl-s1"],[27,33,"pl-smi"],[34,35,"pl-c1"],[35,36,"pl-c1"],[36,40,"pl-s1"]],[],[[4,6,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[22,24,"pl-c1"],[26,27,"pl-c1"],[27,31,"pl-s1"],[32,34,"pl-c1"],[35,39,"pl-c1"]],[[5,7,"pl-c1"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[25,29,"pl-s1"],[30,32,"pl-c1"],[33,37,"pl-c1"],[38,40,"pl-c1"],[41,47,"pl-en"],[48,51,"pl-s1"],[53,54,"pl-c1"],[54,58,"pl-s1"],[60,62,"pl-c1"],[63,64,"pl-c1"]],[],[[1,9,"pl-en"],[10,11,"pl-c1"],[11,15,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"]],[],[[5,6,"pl-c1"],[6,10,"pl-s1"],[11,12,"pl-c1"],[13,17,"pl-c1"]],[[5,22,"pl-en"]],[[4,8,"pl-s1"],[9,11,"pl-c1"],[12,13,"pl-c1"],[13,22,"pl-s1"],[25,43,"pl-c1"],[46,63,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,6,"pl-c1"],[6,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-en"],[25,28,"pl-s1"]],[[5,11,"pl-k"]],[],[],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,61,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,10,"pl-en"],[11,15,"pl-smi"]],[],[[4,16,"pl-en"],[17,26,"pl-s1"],[28,36,"pl-s1"]],[],[],[[0,4,"pl-k"],[13,21,"pl-c1"],[23,25,"pl-c1"],[34,39,"pl-c1"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"],[12,16,"pl-smi"]],[],[[4,12,"pl-en"],[13,22,"pl-s1"]],[[4,12,"pl-en"],[13,21,"pl-s1"]],[],[[0,7,"pl-k"]],[],[],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,53,"pl-c1"],[55,57,"pl-c1"],[66,71,"pl-c1"]],[],[[0,2,"pl-c"]],[[0,40,"pl-c"]],[[0,3,"pl-c"]],[[0,7,"pl-k"],[8,14,"pl-k"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,21,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-c1"]],[[4,7,"pl-smi"],[9,19,"pl-c1"]],[[4,8,"pl-k"]],[[1,7,"pl-s1"]],[[1,6,"pl-s1"]],[[1,6,"pl-s1"]],[[1,9,"pl-s1"]],[[1,10,"pl-s1"]],[[1,8,"pl-s1"]],[[1,6,"pl-s1"]],[[7,15,"pl-c1"]],[[2,12,"pl-smi"]],[],[[0,6,"pl-k"],[7,13,"pl-smi"],[15,28,"pl-s1"],[29,30,"pl-c1"],[31,33,"pl-c1"],[35,69,"pl-c"]],[[0,6,"pl-k"],[7,17,"pl-smi"],[23,24,"pl-c1"],[24,33,"pl-s1"],[34,35,"pl-c1"],[36,40,"pl-c1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[18,19,"pl-c1"],[19,32,"pl-s1"],[33,34,"pl-c1"],[35,39,"pl-c1"]],[[0,6,"pl-k"],[7,18,"pl-smi"],[23,24,"pl-c1"],[24,33,"pl-s1"],[34,35,"pl-c1"],[36,40,"pl-c1"]],[[0,6,"pl-k"],[7,18,"pl-smi"],[23,24,"pl-c1"],[24,34,"pl-s1"],[35,36,"pl-c1"],[37,41,"pl-c1"]],[[0,6,"pl-k"],[7,10,"pl-smi"],[12,13,"pl-c1"],[13,36,"pl-s1"],[37,38,"pl-c1"],[39,43,"pl-c1"]],[],[[0,2,"pl-c"]],[[0,54,"pl-c"]],[[0,43,"pl-c"]],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,15,"pl-c"]],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,78,"pl-c"]],[[0,66,"pl-c"]],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,65,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,16,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"],[18,53,"pl-c"]],[[4,10,"pl-smi"],[11,17,"pl-s1"],[20,38,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,20,"pl-s1"],[27,64,"pl-c"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[20,43,"pl-c"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-c1"],[18,23,"pl-s1"],[25,63,"pl-c"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,18,"pl-c1"],[18,24,"pl-s1"],[26,63,"pl-c"]],[],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,11,"pl-smi"],[12,15,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,7,"pl-smi"],[9,20,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,22,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,22,"pl-s1"]],[[4,7,"pl-smi"],[9,27,"pl-s1"]],[[0,6,"pl-k"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,11,"pl-smi"],[12,19,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"]],[[4,8,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,24,"pl-s1"]],[[4,7,"pl-smi"],[9,24,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,8,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,7,"pl-smi"],[9,25,"pl-s1"]],[[4,7,"pl-smi"],[9,27,"pl-s1"]],[[4,7,"pl-smi"],[9,19,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"]],[[0,6,"pl-k"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,10,"pl-smi"],[11,15,"pl-s1"]],[[4,10,"pl-smi"],[11,14,"pl-s1"]],[[0,7,"pl-k"],[8,14,"pl-c1"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,25,"pl-c1"]],[[4,10,"pl-smi"],[11,18,"pl-s1"],[19,25,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,18,"pl-s1"],[19,20,"pl-c1"],[21,24,"pl-s1"]],[[4,15,"pl-smi"],[16,17,"pl-c1"],[17,19,"pl-s1"]],[[4,7,"pl-smi"],[9,32,"pl-s1"],[33,34,"pl-c1"],[35,53,"pl-s1"]],[[4,7,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"],[25,33,"pl-s1"]],[[4,76,"pl-c"]],[[4,14,"pl-c"]],[[4,44,"pl-c"]],[[4,7,"pl-smi"],[9,24,"pl-s1"],[25,26,"pl-c1"],[27,35,"pl-s1"]],[],[[4,73,"pl-c"]],[[4,76,"pl-c"]],[[4,12,"pl-c"]],[[4,6,"pl-k"],[8,23,"pl-s1"]],[[1,19,"pl-s1"],[20,21,"pl-c1"]],[],[[4,6,"pl-k"],[8,17,"pl-s1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[],[[1,10,"pl-s1"],[11,12,"pl-c1"],[13,23,"pl-en"],[24,34,"pl-s1"],[36,49,"pl-s1"]],[[1,14,"pl-s1"],[15,16,"pl-c1"],[17,27,"pl-en"],[28,31,"pl-s1"],[33,46,"pl-s1"]],[],[[1,71,"pl-c"]],[[1,20,"pl-c"]],[[1,10,"pl-s1"],[12,13,"pl-c1"],[14,24,"pl-en"],[25,36,"pl-s1"],[38,51,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"],[14,24,"pl-en"],[25,36,"pl-s1"],[38,51,"pl-s1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[],[[1,24,"pl-s1"],[25,26,"pl-c1"],[27,37,"pl-en"],[38,41,"pl-s1"],[43,56,"pl-s1"]],[],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,74,"pl-c"]],[[4,15,"pl-s1"],[16,17,"pl-c1"],[18,36,"pl-en"],[37,45,"pl-s1"],[47,56,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,50,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[15,17,"pl-c1"],[18,21,"pl-c1"],[22,24,"pl-c1"],[25,28,"pl-s1"],[29,30,"pl-c1"],[32,34,"pl-c1"],[35,38,"pl-c1"]],[],[[1,9,"pl-smi"],[10,12,"pl-s1"]],[],[[1,3,"pl-s1"],[4,10,"pl-c1"],[11,12,"pl-c1"],[13,23,"pl-c1"]],[[1,3,"pl-s1"],[4,8,"pl-c1"],[9,17,"pl-c1"],[18,19,"pl-c1"],[20,22,"pl-s1"],[22,24,"pl-c1"],[24,28,"pl-c1"]],[[1,8,"pl-en"],[10,16,"pl-smi"],[17,18,"pl-c1"],[19,39,"pl-s"],[41,42,"pl-c1"],[42,44,"pl-s1"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,29,"pl-en"],[30,33,"pl-s1"],[34,35,"pl-c1"],[36,37,"pl-c1"],[39,50,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"]],[],[[1,9,"pl-en"],[11,17,"pl-smi"],[18,19,"pl-c1"],[20,40,"pl-s"]],[],[[0,6,"pl-k"]],[],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,19,"pl-c1"],[20,21,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[],[[4,68,"pl-c"]],[[4,59,"pl-c"]],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[24,28,"pl-c1"]],[[4,6,"pl-k"],[8,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[27,29,"pl-c1"],[29,33,"pl-c1"],[34,47,"pl-c1"]],[],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[20,22,"pl-c1"],[22,26,"pl-c1"],[27,40,"pl-c1"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,13,"pl-c1"],[14,18,"pl-c1"],[19,20,"pl-c1"],[21,25,"pl-s1"]],[],[],[[4,72,"pl-c"]],[[4,62,"pl-c"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,18,"pl-en"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,31,"pl-c1"],[33,37,"pl-s1"]],[[4,14,"pl-s1"],[15,16,"pl-c1"],[18,19,"pl-c1"],[19,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[],[[4,79,"pl-c"]],[[4,38,"pl-c"]],[[4,7,"pl-s1"],[8,9,"pl-c1"],[10,24,"pl-en"],[25,27,"pl-s1"],[27,29,"pl-c1"],[29,37,"pl-c1"],[39,43,"pl-s1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,20,"pl-c1"],[21,24,"pl-c1"],[25,26,"pl-c1"],[27,30,"pl-s1"]],[],[[1,71,"pl-c"]],[[1,23,"pl-c"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,13,"pl-c1"],[14,17,"pl-c1"],[18,19,"pl-c1"],[20,23,"pl-s1"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,13,"pl-c1"],[14,20,"pl-c1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[[4,8,"pl-k"]],[[1,8,"pl-s1"],[9,10,"pl-c1"],[12,13,"pl-c1"],[13,24,"pl-s1"],[26,27,"pl-s1"],[28,29,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[43,46,"pl-c1"]],[],[[4,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[[0,6,"pl-k"]],[[4,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-s1"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[4,19,"pl-s1"],[20,21,"pl-c1"]],[[4,19,"pl-s1"],[20,21,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"],[21,22,"pl-c1"],[22,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-c1"]],[],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[17,20,"pl-smi"],[21,34,"pl-s1"]],[],[[5,11,"pl-smi"],[12,19,"pl-s1"],[20,21,"pl-c1"],[22,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[42,43,"pl-c1"]],[],[[5,15,"pl-smi"],[16,17,"pl-c1"],[17,26,"pl-s1"],[27,28,"pl-c1"]],[[5,16,"pl-en"],[17,26,"pl-s1"],[28,34,"pl-k"],[35,45,"pl-s1"],[47,48,"pl-c1"],[49,56,"pl-s1"]],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[2,7,"pl-k"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-s1"]],[],[[5,8,"pl-smi"],[9,10,"pl-c1"],[10,23,"pl-s1"],[24,25,"pl-c1"]],[[8,19,"pl-en"],[20,33,"pl-s1"],[35,41,"pl-k"],[42,45,"pl-smi"],[47,48,"pl-c1"],[49,56,"pl-s1"]],[[5,7,"pl-k"],[9,22,"pl-s1"],[23,25,"pl-c1"],[26,30,"pl-c1"]],[[2,7,"pl-k"]],[[5,18,"pl-s1"],[19,20,"pl-c1"],[21,34,"pl-s1"]],[],[[5,16,"pl-smi"],[17,18,"pl-c1"],[18,27,"pl-s1"],[28,29,"pl-c1"],[30,41,"pl-en"],[42,51,"pl-s1"]],[[7,13,"pl-k"],[14,25,"pl-s1"],[27,28,"pl-c1"],[30,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[2,7,"pl-k"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-s1"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,28,"pl-en"],[29,39,"pl-s1"]],[[7,13,"pl-k"],[14,25,"pl-s1"],[27,28,"pl-c1"],[30,37,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-c1"]],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[2,7,"pl-k"]],[[5,15,"pl-s1"],[16,17,"pl-c1"],[18,27,"pl-s1"]],[],[[5,8,"pl-smi"],[9,10,"pl-c1"],[10,28,"pl-s1"],[29,30,"pl-c1"],[31,42,"pl-en"],[43,66,"pl-s1"]],[[9,15,"pl-k"],[16,19,"pl-smi"],[21,22,"pl-c1"],[23,30,"pl-s1"]],[[5,7,"pl-k"],[9,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[2,7,"pl-k"]],[[5,28,"pl-s1"],[29,30,"pl-c1"],[31,49,"pl-s1"]],[],[[5,18,"pl-s1"],[19,20,"pl-c1"],[21,28,"pl-s1"]],[],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[[5,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-s1"],[39,40,"pl-c1"]],[],[[1,3,"pl-c"]],[[0,41,"pl-c"]],[[0,4,"pl-c"]],[[1,6,"pl-k"],[8,9,"pl-c1"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,17,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-c1"],[22,23,"pl-s1"],[24,26,"pl-c1"],[27,30,"pl-c1"],[31,33,"pl-c1"],[34,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-c1"],[40,41,"pl-c1"],[42,45,"pl-s1"],[46,47,"pl-c1"],[48,54,"pl-s1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,13,"pl-c1"],[13,14,"pl-s1"],[14,16,"pl-c1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"],[15,17,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[27,30,"pl-s1"],[31,32,"pl-c1"],[33,39,"pl-s1"]],[[5,10,"pl-k"]],[],[[1,3,"pl-c"]],[[0,24,"pl-c"]],[[0,4,"pl-c"]],[[1,2,"pl-s1"],[2,4,"pl-c1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"],[17,37,"pl-c"]],[[5,10,"pl-k"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[18,21,"pl-s1"],[22,23,"pl-c1"],[24,30,"pl-s1"]],[[2,7,"pl-k"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,13,"pl-c1"],[13,14,"pl-s1"],[14,16,"pl-c1"]],[[5,20,"pl-s1"],[21,22,"pl-c1"],[23,38,"pl-s1"],[39,40,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,68,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,23,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[2,10,"pl-k"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,43,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[22,24,"pl-c1"],[26,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-s1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,24,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,40,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[22,24,"pl-c1"],[26,35,"pl-c1"],[36,37,"pl-c1"],[38,39,"pl-s1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[[2,10,"pl-k"]],[[5,15,"pl-s1"],[15,17,"pl-c1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-s1"],[19,32,"pl-s1"],[33,43,"pl-s1"],[46,55,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,20,"pl-en"],[21,22,"pl-s1"]],[[5,7,"pl-k"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,32,"pl-s1"],[33,43,"pl-s1"],[45,46,"pl-c1"],[47,48,"pl-c1"]],[[6,8,"pl-c1"],[9,18,"pl-s1"],[19,32,"pl-s1"],[33,43,"pl-s1"],[46,56,"pl-c1"],[57,59,"pl-c1"],[60,61,"pl-c1"]],[],[[2,60,"pl-c"]],[[2,19,"pl-c"]],[[2,20,"pl-s1"],[21,22,"pl-c1"],[23,39,"pl-s1"],[40,41,"pl-c1"],[42,43,"pl-c1"]],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,24,"pl-s1"],[25,35,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,43,"pl-s1"],[47,48,"pl-c1"],[50,51,"pl-s1"],[51,53,"pl-c1"]],[],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-s1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,44,"pl-s1"]],[],[[3,21,"pl-s1"],[22,23,"pl-c1"],[24,40,"pl-s1"],[41,42,"pl-c1"]],[[13,22,"pl-s1"],[23,24,"pl-s1"],[26,36,"pl-c1"]],[[3,8,"pl-k"]],[],[],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,24,"pl-s1"],[25,35,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,53,"pl-s1"],[55,56,"pl-s1"],[56,58,"pl-c1"]],[],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-s1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,41,"pl-s1"]],[[3,8,"pl-k"]],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-s1"],[23,31,"pl-c1"],[32,34,"pl-c1"],[35,44,"pl-s1"]],[[3,19,"pl-s1"],[20,21,"pl-c1"],[22,31,"pl-s1"],[32,33,"pl-s1"],[35,45,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,18,"pl-s1"],[19,21,"pl-c1"],[22,40,"pl-s1"],[41,43,"pl-c1"],[44,60,"pl-s1"]],[],[[6,20,"pl-c"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[6,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,28,"pl-s1"],[29,39,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[46,47,"pl-s1"],[48,49,"pl-c1"],[50,57,"pl-s1"],[59,60,"pl-s1"],[60,62,"pl-c1"]],[],[[3,56,"pl-c"]],[[3,5,"pl-k"],[7,16,"pl-s1"],[17,18,"pl-s1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[32,41,"pl-s1"]],[[7,16,"pl-s1"],[17,18,"pl-s1"],[20,28,"pl-c1"],[29,30,"pl-c1"],[31,36,"pl-s1"]],[[3,54,"pl-c"]],[[3,19,"pl-c"]],[[3,5,"pl-k"],[7,16,"pl-s1"],[17,18,"pl-s1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[32,39,"pl-s1"]],[[7,16,"pl-s1"],[17,18,"pl-s1"],[20,29,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-s1"]],[],[],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,22,"pl-s1"],[23,36,"pl-s1"],[37,47,"pl-s1"],[50,60,"pl-c1"]],[],[[2,50,"pl-c"]],[[2,4,"pl-k"],[6,15,"pl-s1"]],[],[[6,58,"pl-c"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[6,11,"pl-k"],[13,14,"pl-s1"],[18,27,"pl-s1"],[28,41,"pl-s1"],[42,52,"pl-s1"],[55,65,"pl-c1"]],[],[[3,4,"pl-s1"],[5,7,"pl-c1"],[8,17,"pl-en"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-s1"]],[[3,4,"pl-s1"],[5,7,"pl-c1"],[9,10,"pl-c1"],[10,20,"pl-s1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[26,27,"pl-s1"]],[],[],[[2,6,"pl-k"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[11,15,"pl-smi"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-s1"],[24,25,"pl-c1"],[26,35,"pl-s1"],[36,49,"pl-s1"],[50,60,"pl-s1"]],[[15,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[],[[2,3,"pl-c1"],[3,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-c1"]],[[2,13,"pl-en"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-s1"],[29,35,"pl-smi"],[37,38,"pl-s1"],[39,40,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,47,"pl-s1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[[2,56,"pl-c"]],[[2,7,"pl-k"],[9,11,"pl-c1"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,24,"pl-s1"],[25,38,"pl-s1"],[39,49,"pl-s1"],[52,62,"pl-c1"]],[[6,19,"pl-en"],[20,28,"pl-s1"],[30,31,"pl-s1"]],[],[[2,54,"pl-c"]],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,24,"pl-s1"],[25,35,"pl-s1"],[37,38,"pl-c1"],[39,40,"pl-c1"],[42,43,"pl-s1"],[44,45,"pl-c1"],[46,53,"pl-s1"],[55,56,"pl-s1"],[56,58,"pl-c1"]],[],[[6,51,"pl-c"]],[[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-s1"],[34,35,"pl-c1"],[36,37,"pl-c1"]],[[6,8,"pl-k"],[10,19,"pl-s1"],[20,21,"pl-s1"],[23,32,"pl-c1"],[33,34,"pl-c1"],[35,36,"pl-s1"]],[[3,12,"pl-s1"],[13,14,"pl-s1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-s1"]],[],[],[[5,9,"pl-k"],[10,12,"pl-k"],[14,17,"pl-en"],[18,27,"pl-s1"],[28,41,"pl-s1"],[42,52,"pl-s1"],[55,65,"pl-c1"],[67,68,"pl-c1"],[69,70,"pl-s1"]],[],[[2,9,"pl-c"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,15,"pl-s1"],[16,29,"pl-s1"],[30,40,"pl-s1"],[43,53,"pl-c1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[],[[6,37,"pl-c"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-s1"]],[[6,11,"pl-k"],[13,14,"pl-s1"],[14,16,"pl-c1"],[17,18,"pl-c1"],[19,20,"pl-s1"],[21,23,"pl-c1"],[24,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[32,35,"pl-s1"],[36,37,"pl-c1"],[38,44,"pl-s1"]],[[3,16,"pl-en"],[17,25,"pl-s1"],[27,28,"pl-s1"]],[],[[2,6,"pl-k"]],[],[[6,37,"pl-c"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"],[18,19,"pl-c1"],[20,31,"pl-en"],[32,40,"pl-s1"]],[[6,17,"pl-en"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-s1"],[25,26,"pl-s1"],[29,35,"pl-smi"],[37,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-s1"]],[[6,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"]],[[3,4,"pl-s1"],[5,6,"pl-c1"],[8,12,"pl-smi"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[6,7,"pl-s1"],[8,10,"pl-c1"],[11,12,"pl-s1"]],[[6,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,28,"pl-s1"],[29,39,"pl-s1"],[41,42,"pl-c1"],[43,44,"pl-c1"],[46,47,"pl-s1"],[48,49,"pl-c1"],[50,57,"pl-s1"],[59,60,"pl-s1"],[60,62,"pl-c1"]],[[3,12,"pl-s1"],[13,14,"pl-s1"],[16,25,"pl-c1"],[26,28,"pl-c1"],[29,30,"pl-s1"]],[[6,9,"pl-k"],[14,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[22,24,"pl-c1"]],[[3,16,"pl-en"],[17,25,"pl-s1"],[27,28,"pl-s1"]],[],[],[[5,13,"pl-k"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,14,"pl-c1"]],[[1,8,"pl-s1"],[9,10,"pl-c1"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,6,"pl-c1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,11,"pl-c1"]],[],[[1,3,"pl-k"],[5,16,"pl-en"],[17,18,"pl-c1"],[18,19,"pl-s1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"],[15,18,"pl-smi"],[19,28,"pl-en"],[29,30,"pl-c1"],[30,31,"pl-s1"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"],[21,32,"pl-c"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,22,"pl-c1"]],[],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,44,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[44,45,"pl-c1"],[46,47,"pl-c1"],[50,51,"pl-c1"],[54,60,"pl-s1"]],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,12,"pl-s1"],[12,14,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,24,"pl-c1"],[25,27,"pl-c1"],[28,29,"pl-c1"],[29,30,"pl-s1"],[31,33,"pl-c1"],[34,48,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,29,"pl-c1"]],[],[[2,4,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[],[[6,59,"pl-c"]],[[6,29,"pl-c"]],[[6,9,"pl-k"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"],[28,29,"pl-s1"],[33,34,"pl-c1"],[36,38,"pl-c1"],[38,39,"pl-s1"]],[[3,5,"pl-k"],[7,16,"pl-s1"],[17,18,"pl-s1"],[20,28,"pl-c1"],[29,31,"pl-c1"],[32,39,"pl-s1"]],[[12,14,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-s1"],[28,38,"pl-c1"],[42,43,"pl-c1"]],[],[[7,13,"pl-s1"],[14,15,"pl-c1"],[16,25,"pl-s1"],[26,27,"pl-s1"],[29,39,"pl-c1"]],[[7,12,"pl-k"]],[],[],[[2,6,"pl-k"]],[[6,48,"pl-c"]],[[6,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[17,23,"pl-s1"]],[],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,42,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,12,"pl-s1"],[12,14,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,7,"pl-k"],[9,20,"pl-en"],[21,22,"pl-c1"],[22,23,"pl-s1"]],[],[[2,8,"pl-s1"],[9,10,"pl-c1"],[12,15,"pl-smi"],[16,25,"pl-en"],[26,27,"pl-c1"],[27,28,"pl-s1"]],[[2,4,"pl-k"],[6,12,"pl-s1"],[16,17,"pl-c1"],[19,30,"pl-c"]],[[6,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-c1"]],[],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[11,17,"pl-s1"],[18,19,"pl-c1"],[20,22,"pl-c1"],[25,27,"pl-c1"],[30,36,"pl-s1"],[38,39,"pl-c1"],[40,41,"pl-s1"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"]],[],[[5,18,"pl-s1"],[19,29,"pl-s1"],[29,31,"pl-c1"],[33,34,"pl-c1"],[35,42,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,40,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,33,"pl-c1"],[34,35,"pl-c1"],[36,37,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,12,"pl-s1"],[12,14,"pl-c1"]],[[5,13,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,37,"pl-c"]],[[1,3,"pl-k"],[5,6,"pl-c1"],[6,7,"pl-s1"],[8,10,"pl-c1"],[11,14,"pl-c1"],[15,17,"pl-c1"],[18,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"]],[],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,14,"pl-s1"],[14,16,"pl-c1"]],[[5,13,"pl-k"]],[],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,15,"pl-en"],[16,23,"pl-c1"],[25,26,"pl-c1"],[26,27,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"],[21,44,"pl-c"]],[[2,7,"pl-k"]],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"],[8,9,"pl-s1"],[9,11,"pl-c1"]],[],[[1,30,"pl-c"]],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,11,"pl-c1"]],[[1,11,"pl-s1"],[12,13,"pl-c1"]],[[1,9,"pl-s1"],[10,11,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,9,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-c1"]],[[1,7,"pl-k"],[9,12,"pl-s1"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"],[23,54,"pl-c"]],[[5,7,"pl-k"],[9,19,"pl-en"],[20,22,"pl-s1"],[22,24,"pl-c1"],[24,32,"pl-c1"],[34,36,"pl-c1"],[37,41,"pl-c1"]],[[2,13,"pl-en"],[14,22,"pl-s1"],[24,34,"pl-en"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[50,58,"pl-c1"],[59,60,"pl-c1"],[61,62,"pl-c1"]],[[5,9,"pl-k"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[7,10,"pl-s1"],[11,13,"pl-c1"],[14,26,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,42,"pl-c1"],[42,44,"pl-c1"],[44,52,"pl-c1"]],[[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[21,23,"pl-c1"],[23,30,"pl-c1"]],[[2,14,"pl-en"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[29,30,"pl-s1"],[32,40,"pl-s1"],[42,50,"pl-c1"]],[],[[5,21,"pl-en"],[22,30,"pl-s1"],[32,40,"pl-c1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,28,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,16,"pl-s1"]],[[5,9,"pl-k"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,15,"pl-en"],[16,24,"pl-s1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"],[20,26,"pl-c"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,11,"pl-smi"],[12,13,"pl-c1"],[13,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[0,6,"pl-k"]],[[5,8,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[23,24,"pl-c1"],[24,25,"pl-s1"],[26,28,"pl-c1"],[29,32,"pl-c1"]],[],[[5,7,"pl-k"],[9,19,"pl-s1"]],[[2,3,"pl-s1"],[3,5,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[[5,10,"pl-k"],[13,14,"pl-c1"],[14,15,"pl-s1"],[16,18,"pl-c1"],[19,22,"pl-c1"],[23,25,"pl-c1"],[27,37,"pl-s1"],[38,40,"pl-c1"],[41,42,"pl-s1"],[43,45,"pl-c1"],[47,49,"pl-c1"],[50,53,"pl-c1"]],[[7,9,"pl-c1"],[10,11,"pl-c1"],[11,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-c1"],[20,22,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-s1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[10,11,"pl-s1"],[11,13,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"],[20,50,"pl-c"]],[[2,7,"pl-k"]],[[5,6,"pl-s1"],[6,8,"pl-c1"]],[[5,7,"pl-k"],[9,19,"pl-s1"]],[[2,3,"pl-s1"],[4,6,"pl-c1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,54,"pl-c"]],[[5,9,"pl-k"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[5,17,"pl-en"],[19,23,"pl-smi"],[24,25,"pl-c1"],[26,33,"pl-s1"],[35,41,"pl-k"],[42,49,"pl-s1"]],[[8,12,"pl-s"],[14,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"]],[[5,28,"pl-en"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,56,"pl-s"],[58,65,"pl-s1"]],[[5,17,"pl-en"],[19,23,"pl-smi"],[24,25,"pl-c1"],[26,33,"pl-s1"],[35,41,"pl-k"],[42,49,"pl-s1"],[52,56,"pl-s"],[58,64,"pl-s1"],[64,66,"pl-c1"],[66,70,"pl-c1"]],[[5,28,"pl-en"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,56,"pl-s"],[58,65,"pl-s1"]],[],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"]],[[5,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"]],[[5,23,"pl-s1"],[24,25,"pl-c1"],[26,39,"pl-s1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-s1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,26,"pl-c1"]],[[5,56,"pl-c"]],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,30,"pl-s1"]],[[2,15,"pl-s1"],[16,17,"pl-c1"]],[],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,30,"pl-en"],[31,32,"pl-s1"],[34,45,"pl-s1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,25,"pl-s1"]],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,25,"pl-s1"]],[[5,18,"pl-s1"],[19,20,"pl-c1"],[21,39,"pl-s1"]],[[5,13,"pl-en"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,41,"pl-s"]],[[5,13,"pl-en"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,41,"pl-s"]],[],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[21,23,"pl-c1"],[24,25,"pl-c1"],[25,28,"pl-s1"],[29,31,"pl-c1"],[32,33,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,17,"pl-en"],[18,21,"pl-s1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[],[[6,9,"pl-s1"],[10,11,"pl-c1"],[12,16,"pl-en"],[18,22,"pl-smi"],[23,24,"pl-c1"],[25,28,"pl-s1"]],[[6,15,"pl-en"],[16,19,"pl-s1"]],[[6,16,"pl-s1"],[17,18,"pl-c1"]],[],[],[],[[5,61,"pl-c"]],[[5,59,"pl-c"]],[[5,7,"pl-k"],[9,19,"pl-s1"],[20,22,"pl-c1"],[23,26,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"],[35,37,"pl-c1"],[38,39,"pl-c1"],[39,42,"pl-s1"],[43,45,"pl-c1"],[46,47,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-en"],[17,22,"pl-k"],[23,27,"pl-smi"],[28,29,"pl-c1"],[30,33,"pl-s1"],[35,38,"pl-c1"],[40,42,"pl-c1"],[43,47,"pl-c1"]],[[6,8,"pl-c1"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,39,"pl-c1"]],[],[[2,8,"pl-smi"],[9,22,"pl-s1"],[23,24,"pl-c1"],[26,32,"pl-smi"],[34,45,"pl-s1"],[46,47,"pl-c1"],[48,54,"pl-s1"]],[[2,8,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-en"],[30,35,"pl-k"],[36,40,"pl-smi"],[41,42,"pl-c1"],[43,46,"pl-s1"]],[[2,8,"pl-smi"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-en"],[30,35,"pl-k"],[36,40,"pl-smi"],[41,42,"pl-c1"],[43,44,"pl-s1"]],[[2,8,"pl-smi"],[9,20,"pl-s1"],[21,22,"pl-c1"],[23,36,"pl-s1"]],[[7,8,"pl-c1"],[9,19,"pl-s1"],[20,21,"pl-c1"],[22,32,"pl-s1"],[33,34,"pl-c1"],[35,36,"pl-c1"]],[[2,8,"pl-smi"],[9,10,"pl-c1"],[10,17,"pl-s1"],[18,19,"pl-c1"],[21,27,"pl-smi"],[28,29,"pl-c1"],[30,35,"pl-en"],[36,47,"pl-s1"],[48,49,"pl-c1"],[50,56,"pl-k"],[57,63,"pl-s1"]],[[2,8,"pl-smi"],[9,10,"pl-c1"],[10,19,"pl-s1"],[20,21,"pl-c1"],[22,29,"pl-s1"]],[],[[2,11,"pl-s1"],[12,13,"pl-c1"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,30,"pl-en"],[31,40,"pl-s1"],[42,48,"pl-s1"],[50,63,"pl-s1"]],[[14,15,"pl-c1"],[16,29,"pl-s1"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,30,"pl-en"],[31,40,"pl-s1"],[43,46,"pl-s1"],[48,58,"pl-s1"]],[[10,11,"pl-c1"],[12,22,"pl-s1"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,30,"pl-en"],[31,40,"pl-s1"],[42,46,"pl-s"],[48,49,"pl-c1"],[51,52,"pl-c1"],[53,54,"pl-c1"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[15,21,"pl-smi"],[22,23,"pl-c1"],[24,30,"pl-en"],[31,40,"pl-s1"],[43,44,"pl-s1"],[46,56,"pl-s1"]],[[10,11,"pl-c1"],[12,22,"pl-s1"]],[[2,3,"pl-c1"],[3,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[14,18,"pl-c1"]],[],[[2,4,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,19,"pl-s1"]],[[6,14,"pl-en"],[15,21,"pl-s1"]],[[2,11,"pl-en"],[12,15,"pl-s1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-s1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,12,"pl-s1"],[13,14,"pl-c1"],[15,28,"pl-s1"]],[[2,11,"pl-s1"],[11,13,"pl-c1"]],[[2,10,"pl-k"]],[],[[0,6,"pl-k"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,14,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[24,26,"pl-c1"],[26,30,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,50,"pl-c1"]],[[6,8,"pl-c1"],[12,16,"pl-smi"],[18,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[31,35,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[23,25,"pl-c1"],[25,29,"pl-c1"],[30,43,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,16,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,17,"pl-s1"],[18,19,"pl-c1"],[20,31,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-c1"],[38,40,"pl-c1"],[41,51,"pl-s1"]],[[14,15,"pl-c1"],[19,22,"pl-smi"],[23,25,"pl-s1"],[25,27,"pl-c1"],[27,35,"pl-c1"],[36,39,"pl-c1"],[40,41,"pl-c1"],[42,43,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,17,"pl-c1"]],[[1,5,"pl-k"],[6,21,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-c1"]],[[5,48,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,31,"pl-c1"]],[[6,8,"pl-c1"],[10,17,"pl-s1"],[18,20,"pl-c1"],[22,29,"pl-s1"],[32,37,"pl-s1"],[38,39,"pl-c1"],[40,51,"pl-c1"],[53,55,"pl-c1"],[56,57,"pl-c1"]],[[10,12,"pl-c1"],[13,23,"pl-s1"],[26,27,"pl-c1"],[31,34,"pl-smi"],[35,37,"pl-s1"],[37,39,"pl-c1"],[39,47,"pl-c1"],[48,51,"pl-c1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[2,7,"pl-k"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,16,"pl-smi"],[17,24,"pl-s1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,20,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,15,"pl-smi"],[19,23,"pl-smi"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,36,"pl-c1"],[37,41,"pl-c1"],[42,43,"pl-c1"],[44,48,"pl-c1"]],[[4,8,"pl-smi"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[21,23,"pl-c1"],[23,27,"pl-c1"],[28,41,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,20,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-s1"]],[[6,10,"pl-smi"],[11,22,"pl-en"],[23,25,"pl-s1"],[27,30,"pl-s1"],[32,38,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,17,"pl-c1"]],[[5,7,"pl-k"],[9,13,"pl-s1"],[14,16,"pl-c1"],[17,23,"pl-en"],[24,32,"pl-s1"],[34,40,"pl-s1"],[42,44,"pl-c1"],[45,46,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,19,"pl-s1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,21,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[5,7,"pl-k"],[9,26,"pl-en"],[27,29,"pl-s1"],[31,38,"pl-s1"],[41,44,"pl-smi"],[45,51,"pl-k"],[52,59,"pl-s1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,15,"pl-s1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,16,"pl-c1"]],[[5,13,"pl-s1"],[14,15,"pl-c1"]],[[5,7,"pl-k"],[9,23,"pl-en"],[24,26,"pl-s1"],[29,35,"pl-smi"],[36,37,"pl-c1"],[38,44,"pl-s"],[46,53,"pl-s1"],[55,61,"pl-c1"],[63,64,"pl-c1"],[65,66,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,15,"pl-s1"]],[[5,10,"pl-k"]],[[1,5,"pl-k"],[6,17,"pl-c1"]],[[0,3,"pl-k"],[12,24,"pl-c1"],[26,28,"pl-c1"],[37,53,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,27,"pl-s1"]],[[0,5,"pl-k"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[[0,6,"pl-k"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,15,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-s1"],[13,15,"pl-c1"],[15,23,"pl-c1"],[23,25,"pl-c1"],[25,31,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,19,"pl-c"]],[[1,5,"pl-k"],[6,16,"pl-c1"]],[[0,6,"pl-k"],[7,19,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,31,"pl-en"],[32,34,"pl-s1"],[34,36,"pl-c1"],[36,44,"pl-c1"],[46,48,"pl-s1"],[48,50,"pl-c1"],[50,58,"pl-c1"],[59,63,"pl-c1"],[65,69,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[24,26,"pl-c1"],[26,30,"pl-c1"],[31,39,"pl-c1"],[40,41,"pl-c1"],[42,50,"pl-c1"],[52,54,"pl-c1"],[55,56,"pl-s1"],[57,58,"pl-c1"],[59,60,"pl-c1"]],[[11,13,"pl-c1"],[16,17,"pl-s1"],[18,19,"pl-c1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[26,31,"pl-s1"],[32,33,"pl-c1"],[34,45,"pl-c1"],[47,49,"pl-c1"],[50,51,"pl-c1"],[52,54,"pl-c1"],[55,65,"pl-s1"]],[[6,7,"pl-c1"],[11,14,"pl-smi"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[28,31,"pl-c1"]],[[0,6,"pl-k"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,19,"pl-c1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,19,"pl-c"]],[[1,5,"pl-k"],[6,17,"pl-c1"]],[[5,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,18,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"]],[[5,9,"pl-k"],[10,12,"pl-k"],[14,17,"pl-s1"],[18,20,"pl-c1"],[21,24,"pl-c1"],[25,27,"pl-c1"],[28,42,"pl-en"],[43,45,"pl-s1"],[45,47,"pl-c1"],[47,55,"pl-c1"],[57,59,"pl-c1"],[60,67,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,10,"pl-c1"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,16,"pl-c1"]],[[1,5,"pl-k"],[6,20,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,15,"pl-smi"],[16,17,"pl-c1"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,41,"pl-c1"],[45,50,"pl-s"],[53,54,"pl-en"],[55,61,"pl-s"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,22,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[21,23,"pl-c1"],[23,29,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,15,"pl-smi"],[16,17,"pl-c1"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,43,"pl-c1"],[47,53,"pl-s"]],[[16,17,"pl-en"],[18,26,"pl-s"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-en"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"],[28,30,"pl-c1"],[30,36,"pl-c1"],[38,39,"pl-c1"],[40,46,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[],[[2,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,30,"pl-s1"],[32,38,"pl-k"],[39,46,"pl-s1"],[49,55,"pl-s"]],[[7,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[19,21,"pl-c1"],[21,27,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,15,"pl-s1"]],[],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,22,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[31,33,"pl-c1"],[34,37,"pl-c1"]],[[6,8,"pl-c1"],[9,15,"pl-en"],[16,18,"pl-s1"],[18,20,"pl-c1"],[20,28,"pl-c1"],[28,30,"pl-c1"],[30,36,"pl-c1"],[38,39,"pl-c1"],[40,46,"pl-c1"],[47,48,"pl-c1"],[49,50,"pl-c1"]],[],[[2,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,30,"pl-s1"],[32,38,"pl-k"],[39,46,"pl-s1"],[49,54,"pl-s"]],[[7,9,"pl-s1"],[9,11,"pl-c1"],[11,19,"pl-c1"],[19,21,"pl-c1"],[21,27,"pl-c1"]],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,18,"pl-s1"],[20,21,"pl-c1"],[21,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-c1"],[29,30,"pl-s1"],[30,32,"pl-c1"]],[[6,7,"pl-c1"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,22,"pl-en"],[23,24,"pl-c1"],[24,25,"pl-s1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[8,15,"pl-s1"]],[],[[5,10,"pl-k"]],[],[[0,3,"pl-k"],[12,25,"pl-c1"]],[[1,5,"pl-k"],[6,21,"pl-c1"]],[[1,5,"pl-k"],[6,25,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,15,"pl-smi"],[16,17,"pl-c1"],[20,23,"pl-s1"],[24,26,"pl-c1"],[27,46,"pl-c1"],[50,56,"pl-s"]],[[13,14,"pl-en"],[15,26,"pl-s"]],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[5,7,"pl-k"],[9,20,"pl-en"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"],[9,15,"pl-smi"],[16,17,"pl-c1"],[19,21,"pl-s1"],[21,23,"pl-c1"],[23,34,"pl-c1"]],[[9,10,"pl-en"],[11,22,"pl-s1"]],[[9,10,"pl-en"],[11,21,"pl-s1"]],[[5,10,"pl-k"]],[[0,6,"pl-k"]],[],[[1,5,"pl-k"],[6,18,"pl-c1"]],[[1,5,"pl-k"],[6,22,"pl-c1"]],[[5,15,"pl-s1"],[16,17,"pl-c1"]],[[5,11,"pl-k"],[14,17,"pl-s1"],[18,20,"pl-c1"],[21,37,"pl-c1"]],[[6,7,"pl-c1"],[8,20,"pl-en"],[21,23,"pl-s1"],[23,25,"pl-c1"],[25,33,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[6,7,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[22,24,"pl-c1"],[24,30,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"]],[],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"],[33,38,"pl-k"]],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,30,"pl-s"],[32,37,"pl-k"]],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"],[33,38,"pl-k"]],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,30,"pl-s"],[32,37,"pl-k"]],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,32,"pl-s"],[34,39,"pl-k"]],[[2,6,"pl-k"],[7,8,"pl-c1"],[10,13,"pl-s1"],[14,15,"pl-c1"],[17,23,"pl-smi"],[24,25,"pl-c1"],[26,31,"pl-s"],[33,38,"pl-k"]],[],[[5,10,"pl-k"]],[],[[1,5,"pl-k"],[6,19,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"]],[[5,10,"pl-k"],[12,13,"pl-c1"],[13,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-c1"],[26,27,"pl-s1"],[28,30,"pl-c1"],[31,34,"pl-c1"]],[[2,4,"pl-c1"],[4,5,"pl-s1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[],[[2,11,"pl-s1"],[12,19,"pl-s1"],[21,29,"pl-c1"],[30,31,"pl-c1"],[32,41,"pl-s1"]],[[2,11,"pl-s1"],[12,19,"pl-s1"],[21,30,"pl-c1"],[31,32,"pl-c1"],[33,34,"pl-s1"]],[[2,11,"pl-s1"],[12,19,"pl-s1"],[21,31,"pl-c1"],[32,33,"pl-c1"],[34,35,"pl-c1"],[35,47,"pl-en"],[48,49,"pl-s1"],[52,55,"pl-smi"],[57,58,"pl-s1"],[59,60,"pl-c1"],[61,62,"pl-s1"]],[[2,9,"pl-s1"],[9,11,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[[2,4,"pl-c1"],[4,5,"pl-s1"]],[[5,13,"pl-k"]],[],[],[[1,10,"pl-s1"],[11,18,"pl-s1"],[20,29,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-s1"]],[[1,10,"pl-s1"],[11,18,"pl-s1"],[20,28,"pl-c1"],[29,30,"pl-c1"],[31,37,"pl-s1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,16,"pl-c1"],[17,19,"pl-c1"],[20,21,"pl-c1"],[21,24,"pl-s1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"]],[[5,7,"pl-k"],[9,19,"pl-s1"]],[],[[2,4,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[12,14,"pl-c1"],[15,16,"pl-s1"],[17,18,"pl-c1"]],[[3,5,"pl-c1"],[9,24,"pl-s1"],[25,27,"pl-c1"],[28,29,"pl-c1"],[29,30,"pl-s1"],[31,33,"pl-c1"],[34,37,"pl-c1"]],[[9,11,"pl-c1"],[13,28,"pl-s1"],[29,31,"pl-c1"],[32,33,"pl-c1"],[33,34,"pl-s1"],[35,37,"pl-c1"],[38,41,"pl-c1"]],[[6,7,"pl-s1"],[7,9,"pl-c1"]],[[2,17,"pl-s1"],[18,19,"pl-c1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,20,"pl-en"],[21,22,"pl-s1"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"]],[[2,17,"pl-s1"],[18,19,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"]],[],[[2,7,"pl-k"],[9,10,"pl-s1"],[14,20,"pl-s1"]],[[6,8,"pl-k"],[10,19,"pl-s1"]],[],[[3,4,"pl-s1"],[5,7,"pl-c1"],[8,17,"pl-en"],[18,19,"pl-s1"]],[[3,4,"pl-s1"],[5,7,"pl-c1"],[9,10,"pl-c1"],[10,20,"pl-s1"],[22,23,"pl-s1"]],[],[[6,10,"pl-k"]],[[3,4,"pl-s1"],[5,7,"pl-c1"],[8,18,"pl-en"],[19,20,"pl-c1"],[20,21,"pl-s1"],[21,23,"pl-c1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[15,18,"pl-s1"],[19,20,"pl-c1"],[21,27,"pl-s1"]],[[6,11,"pl-k"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[],[[5,7,"pl-k"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[],[[2,5,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"],[20,22,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[29,30,"pl-c1"],[31,34,"pl-s1"],[35,36,"pl-c1"],[37,43,"pl-s1"],[45,46,"pl-s1"],[46,48,"pl-c1"]],[],[[6,45,"pl-c"]],[[6,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[16,18,"pl-c1"],[19,25,"pl-s1"],[26,28,"pl-c1"],[29,37,"pl-s1"],[38,40,"pl-c1"],[41,44,"pl-c1"],[45,47,"pl-c1"],[48,59,"pl-en"],[60,61,"pl-c1"],[61,62,"pl-s1"]],[[3,4,"pl-c1"],[4,5,"pl-s1"],[5,7,"pl-c1"],[8,9,"pl-c1"],[10,13,"pl-c1"]],[[6,10,"pl-k"]],[[3,16,"pl-en"],[17,25,"pl-s1"],[27,28,"pl-s1"]],[],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[[5,9,"pl-k"]],[[2,8,"pl-s1"],[12,14,"pl-c1"]],[[5,8,"pl-k"],[12,13,"pl-c1"],[13,14,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[26,29,"pl-s1"],[30,31,"pl-c1"],[32,38,"pl-s1"],[40,41,"pl-s1"],[41,43,"pl-c1"]],[],[[2,61,"pl-c"]],[[2,19,"pl-c"]],[[2,4,"pl-k"],[6,14,"pl-s1"],[15,17,"pl-c1"],[18,19,"pl-c1"],[19,20,"pl-s1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[[4,6,"pl-c1"],[9,20,"pl-en"],[21,22,"pl-c1"],[23,24,"pl-s1"],[25,26,"pl-c1"],[27,28,"pl-c1"],[31,33,"pl-c1"],[34,42,"pl-s1"],[43,45,"pl-c1"],[46,49,"pl-c1"]],[[6,19,"pl-en"],[20,28,"pl-s1"],[30,31,"pl-s1"]],[[2,6,"pl-k"]],[[6,7,"pl-c1"],[7,8,"pl-s1"],[8,10,"pl-c1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[14,15,"pl-s1"]],[],[[5,8,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[23,25,"pl-c1"],[26,27,"pl-s1"],[28,29,"pl-c1"],[30,31,"pl-c1"],[32,33,"pl-c1"],[34,37,"pl-s1"],[38,39,"pl-c1"],[40,46,"pl-s1"],[48,49,"pl-s1"],[49,51,"pl-c1"]],[[2,15,"pl-en"],[16,24,"pl-s1"],[26,27,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,13,"pl-s1"],[17,18,"pl-c1"]],[],[[5,8,"pl-smi"],[9,14,"pl-s1"],[15,16,"pl-c1"],[18,22,"pl-s1"],[23,25,"pl-c1"],[26,29,"pl-c1"],[32,34,"pl-c1"],[38,42,"pl-s1"],[43,45,"pl-c1"],[46,49,"pl-c1"],[52,53,"pl-c1"],[56,58,"pl-c1"]],[[5,11,"pl-smi"],[12,16,"pl-s1"],[17,19,"pl-c1"]],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,15,"pl-c1"],[19,22,"pl-s1"],[23,24,"pl-c1"],[25,31,"pl-s1"]],[[2,7,"pl-k"],[10,33,"pl-c"]],[[5,20,"pl-s1"],[21,22,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-s1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,31,"pl-c1"]],[],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[2,8,"pl-s1"],[8,10,"pl-c1"]],[],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,7,"pl-k"],[9,16,"pl-s1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,17,"pl-s1"],[18,20,"pl-c1"],[21,23,"pl-c1"],[26,30,"pl-s1"],[34,40,"pl-s1"],[42,47,"pl-s1"],[48,50,"pl-c1"],[51,52,"pl-c1"],[55,58,"pl-c1"],[61,64,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[],[[5,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,17,"pl-s1"],[19,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"],[26,27,"pl-s1"],[31,36,"pl-s1"],[38,39,"pl-s1"],[43,48,"pl-s1"]],[[2,3,"pl-s1"],[3,5,"pl-c1"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[13,15,"pl-c1"],[16,31,"pl-c1"]],[[2,3,"pl-s1"],[3,5,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-s1"]],[],[[2,3,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"]],[[2,7,"pl-k"],[9,10,"pl-s1"],[10,12,"pl-c1"],[13,14,"pl-c1"],[15,21,"pl-s1"]],[[6,9,"pl-s1"],[13,18,"pl-s1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[4,6,"pl-c1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"]],[[2,3,"pl-c1"],[3,5,"pl-c1"],[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"]],[[2,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,24,"pl-s1"],[26,32,"pl-s1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,43,"pl-s1"],[47,51,"pl-smi"],[52,53,"pl-c1"],[54,58,"pl-s1"]],[[11,12,"pl-c1"],[14,17,"pl-s1"],[19,20,"pl-s1"]],[],[[5,9,"pl-k"]],[[2,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,24,"pl-s1"],[26,32,"pl-s1"],[33,34,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[40,43,"pl-s1"],[47,51,"pl-smi"],[52,53,"pl-c1"],[54,58,"pl-s1"]],[[9,15,"pl-s1"],[17,20,"pl-s1"]],[[5,6,"pl-s1"],[7,9,"pl-c1"],[10,16,"pl-en"],[17,18,"pl-s1"]],[],[[1,5,"pl-k"]],[[5,14,"pl-s1"],[15,22,"pl-s1"],[24,32,"pl-c1"],[33,34,"pl-c1"],[35,40,"pl-s1"]],[],[[1,3,"pl-k"],[5,8,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-c1"],[19,29,"pl-s1"],[30,32,"pl-c1"],[33,36,"pl-s1"],[37,39,"pl-c1"],[40,44,"pl-c1"],[45,47,"pl-c1"],[48,49,"pl-c1"],[49,52,"pl-s1"],[53,55,"pl-c1"],[56,59,"pl-c1"]],[[5,20,"pl-s1"],[21,22,"pl-c1"],[34,66,"pl-c"]],[[9,11,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,24,"pl-c1"]],[[5,13,"pl-en"],[14,17,"pl-s1"]],[[1,8,"pl-s1"],[8,10,"pl-c1"]],[],[[4,5,"pl-c1"],[5,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-c1"]],[[4,11,"pl-s1"],[12,13,"pl-c1"],[14,21,"pl-s1"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,21,"pl-s1"]],[[1,9,"pl-en"],[10,16,"pl-s1"]],[[0,6,"pl-k"]],[],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-en"],[24,27,"pl-s1"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,20,"pl-c1"],[21,23,"pl-c1"],[24,29,"pl-s1"],[30,31,"pl-c1"],[32,40,"pl-s1"]],[],[[1,48,"pl-c"]],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,6,"pl-c1"]],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"]],[[1,5,"pl-k"]],[],[[5,8,"pl-k"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-s1"],[26,27,"pl-s1"],[27,29,"pl-c1"]],[[2,4,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-s1"],[19,27,"pl-c1"],[28,30,"pl-c1"],[31,36,"pl-s1"]],[],[[6,29,"pl-c"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,19,"pl-s1"],[20,21,"pl-s1"],[23,32,"pl-c1"]],[[6,11,"pl-k"]],[],[[5,7,"pl-k"],[9,10,"pl-s1"],[11,13,"pl-c1"],[14,21,"pl-s1"]],[],[[2,37,"pl-c"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,15,"pl-s1"],[16,17,"pl-c1"],[19,28,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-c1"]],[],[],[],[[1,3,"pl-k"],[5,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-en"],[25,26,"pl-s1"],[31,39,"pl-s1"]],[],[[5,44,"pl-c"]],[[5,7,"pl-k"],[9,18,"pl-s1"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,9,"pl-s1"]],[[2,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[[2,5,"pl-k"]],[],[[6,11,"pl-s1"],[12,14,"pl-c1"],[15,24,"pl-en"],[25,26,"pl-s1"]],[[6,8,"pl-k"],[10,15,"pl-s1"],[19,27,"pl-s1"]],[[3,8,"pl-k"]],[[6,7,"pl-s1"],[8,10,"pl-c1"],[12,13,"pl-c1"],[13,23,"pl-s1"],[25,26,"pl-s1"]],[],[[2,46,"pl-c"]],[[2,7,"pl-k"],[9,11,"pl-c1"],[11,16,"pl-s1"],[17,18,"pl-c1"],[19,27,"pl-s1"]],[[6,19,"pl-en"],[20,28,"pl-s1"],[30,31,"pl-s1"]],[],[[5,9,"pl-k"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,9,"pl-s1"],[10,11,"pl-c1"],[12,20,"pl-s1"],[21,22,"pl-c1"],[23,24,"pl-c1"]],[[5,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,28,"pl-s1"],[30,31,"pl-s1"],[31,33,"pl-c1"]],[[2,4,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-s1"]],[[6,11,"pl-k"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-s1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[7,9,"pl-c1"],[10,11,"pl-c1"],[12,15,"pl-c1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-c1"]],[[2,7,"pl-k"],[9,14,"pl-s1"],[18,26,"pl-s1"]],[],[[6,11,"pl-s1"],[12,14,"pl-c1"],[15,24,"pl-en"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[[6,7,"pl-s1"],[8,10,"pl-c1"],[12,13,"pl-c1"],[13,23,"pl-s1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[29,30,"pl-s1"]],[],[],[[5,9,"pl-k"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,11,"pl-s1"],[12,13,"pl-c1"],[14,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-s1"]],[[5,12,"pl-en"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,21,"pl-s1"]],[[5,6,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-c1"]],[],[[5,7,"pl-c1"],[7,8,"pl-s1"],[10,26,"pl-c"]],[[5,8,"pl-k"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,23,"pl-s1"],[25,26,"pl-s1"],[26,28,"pl-c1"]],[],[[2,4,"pl-k"],[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-s1"],[36,37,"pl-s1"]],[[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,31,"pl-c1"],[32,33,"pl-s1"]],[[2,6,"pl-k"]],[[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,30,"pl-c1"],[31,32,"pl-s1"]],[],[],[[5,49,"pl-c"]],[[5,10,"pl-k"],[12,14,"pl-c1"],[14,19,"pl-s1"],[20,21,"pl-c1"],[22,30,"pl-s1"]],[],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-en"],[17,18,"pl-s1"]],[[2,15,"pl-en"],[16,24,"pl-s1"],[26,27,"pl-s1"]],[[2,3,"pl-c1"],[3,4,"pl-s1"],[5,6,"pl-c1"],[7,10,"pl-c1"]],[],[],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,17,"pl-s1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-s1"],[30,32,"pl-c1"],[33,39,"pl-en"],[40,43,"pl-s1"],[45,46,"pl-c1"],[47,55,"pl-s1"],[56,57,"pl-c1"],[58,63,"pl-s1"],[64,65,"pl-c1"],[66,67,"pl-c1"],[68,69,"pl-c1"],[70,76,"pl-s1"]],[],[[1,62,"pl-c"]],[[1,43,"pl-c"]],[[1,4,"pl-smi"],[5,19,"pl-s1"],[20,21,"pl-c1"],[22,23,"pl-c1"]],[],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-s1"],[26,27,"pl-s1"],[27,29,"pl-c1"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,20,"pl-s1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,42,"pl-s1"]],[],[[2,61,"pl-c"]],[[2,10,"pl-c"]],[[2,25,"pl-s1"],[26,40,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-s1"]],[[2,16,"pl-s1"],[16,18,"pl-c1"]],[],[],[],[[1,57,"pl-c"]],[[1,3,"pl-k"],[5,19,"pl-s1"]],[],[[5,8,"pl-smi"],[9,24,"pl-s1"]],[[5,8,"pl-smi"],[9,21,"pl-s1"]],[],[[5,20,"pl-s1"],[21,22,"pl-c1"],[24,32,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"],[44,58,"pl-s1"]],[[5,17,"pl-s1"],[18,19,"pl-c1"],[21,29,"pl-s1"],[30,31,"pl-c1"],[32,37,"pl-s1"],[39,40,"pl-c1"]],[[5,20,"pl-s1"],[21,22,"pl-c1"],[24,38,"pl-s1"],[39,40,"pl-c1"],[41,42,"pl-c1"]],[[5,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,35,"pl-s1"],[37,38,"pl-s1"],[38,40,"pl-c1"]],[],[[2,5,"pl-smi"],[6,17,"pl-s1"],[18,19,"pl-c1"],[21,22,"pl-s1"],[23,25,"pl-c1"],[27,41,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"]],[[5,17,"pl-s1"],[20,35,"pl-s1"]],[[2,13,"pl-s1"],[17,28,"pl-en"],[29,37,"pl-s1"]],[[2,8,"pl-smi"],[9,10,"pl-c1"],[10,15,"pl-s1"],[16,17,"pl-c1"],[18,27,"pl-s1"],[28,51,"pl-s1"],[52,53,"pl-s1"],[56,65,"pl-c1"]],[[2,8,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"],[17,18,"pl-c1"],[19,24,"pl-s1"],[25,26,"pl-c1"],[27,38,"pl-s1"]],[[2,9,"pl-en"],[10,16,"pl-s1"],[18,23,"pl-s1"]],[[2,5,"pl-k"],[7,8,"pl-s1"],[9,10,"pl-c1"],[11,16,"pl-s1"],[18,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-s1"]],[[6,19,"pl-en"],[20,28,"pl-s1"],[30,31,"pl-s1"]],[],[[2,5,"pl-k"],[7,10,"pl-smi"],[11,12,"pl-s1"],[13,14,"pl-c1"],[15,38,"pl-s1"],[39,40,"pl-s1"],[42,43,"pl-c1"],[44,45,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,58,"pl-s1"],[60,61,"pl-s1"],[61,63,"pl-c1"]],[[6,15,"pl-s1"],[16,17,"pl-s1"],[19,28,"pl-c1"],[29,31,"pl-c1"],[32,43,"pl-s1"]],[],[],[[5,10,"pl-s1"],[11,12,"pl-c1"],[13,21,"pl-s1"]],[],[],[],[[4,41,"pl-c"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[],[[1,2,"pl-c1"],[2,7,"pl-s1"],[8,9,"pl-c1"],[10,19,"pl-s1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,15,"pl-s1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-s1"],[26,27,"pl-s1"],[27,29,"pl-c1"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,20,"pl-s1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,43,"pl-s1"]],[],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,23,"pl-s1"],[24,25,"pl-s1"],[27,36,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-s1"],[28,38,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"]],[],[],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,10,"pl-c1"],[11,12,"pl-c1"],[13,17,"pl-c1"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[],[[4,45,"pl-c"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[],[[1,2,"pl-c1"],[2,8,"pl-s1"],[9,10,"pl-c1"],[11,21,"pl-s1"]],[[1,3,"pl-s1"],[4,5,"pl-c1"],[6,16,"pl-s1"]],[[1,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-c1"],[13,14,"pl-s1"],[15,16,"pl-c1"],[17,24,"pl-s1"],[26,27,"pl-s1"],[27,29,"pl-c1"]],[],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,20,"pl-s1"],[22,30,"pl-c1"],[31,33,"pl-c1"],[34,41,"pl-s1"]],[],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,11,"pl-c1"],[12,13,"pl-c1"],[14,23,"pl-s1"],[24,25,"pl-s1"],[27,36,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"],[6,12,"pl-c1"],[13,14,"pl-c1"],[15,24,"pl-s1"],[25,26,"pl-s1"],[28,38,"pl-c1"]],[[2,4,"pl-s1"],[4,6,"pl-c1"]],[],[],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,10,"pl-c1"],[11,12,"pl-c1"],[13,17,"pl-c1"]],[[1,3,"pl-s1"],[3,5,"pl-c1"],[5,11,"pl-c1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[],[[4,22,"pl-s1"],[23,24,"pl-c1"],[25,48,"pl-s1"]],[],[[4,54,"pl-c"]],[[4,12,"pl-s1"],[13,14,"pl-c1"],[15,28,"pl-s1"]],[],[[4,77,"pl-c"]],[[4,75,"pl-c"]],[[4,13,"pl-c"]],[[4,76,"pl-c"]],[[4,14,"pl-c"]],[[4,44,"pl-c"]],[[4,6,"pl-k"],[8,16,"pl-s1"],[17,18,"pl-c1"],[19,34,"pl-s1"]],[[1,25,"pl-en"],[26,34,"pl-s1"],[36,38,"pl-c1"],[41,47,"pl-smi"],[48,49,"pl-c1"],[50,52,"pl-s"]],[[11,19,"pl-c1"],[22,31,"pl-s1"],[33,42,"pl-c1"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[],[[0,6,"pl-k"],[7,22,"pl-c"]],[],[[0,2,"pl-c"]],[[0,78,"pl-c"]],[[0,79,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,11,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[],[[4,8,"pl-smi"],[9,14,"pl-s1"],[16,47,"pl-c"]],[[4,8,"pl-smi"],[9,14,"pl-s1"],[16,47,"pl-c"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,56,"pl-c"]],[[1,7,"pl-k"],[8,9,"pl-c1"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[4,9,"pl-s1"],[10,12,"pl-c1"],[13,28,"pl-en"],[29,31,"pl-s1"],[33,35,"pl-s1"],[35,37,"pl-c1"],[37,46,"pl-c1"],[48,49,"pl-c1"],[50,52,"pl-s1"],[52,54,"pl-c1"],[54,63,"pl-c1"]],[[4,6,"pl-k"],[8,10,"pl-s1"],[10,12,"pl-c1"],[12,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-c1"],[27,29,"pl-c1"],[30,32,"pl-s1"],[32,34,"pl-c1"],[34,43,"pl-c1"],[47,48,"pl-c1"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-c1"],[13,62,"pl-c"]],[[6,59,"pl-c"]],[[6,26,"pl-c"]],[[0,6,"pl-k"]],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,14,"pl-s1"],[14,16,"pl-c1"],[16,24,"pl-c1"],[24,26,"pl-c1"],[26,30,"pl-c1"],[31,44,"pl-c1"],[45,46,"pl-c1"],[47,49,"pl-s1"],[49,51,"pl-c1"],[51,60,"pl-c1"],[61,62,"pl-c1"],[63,64,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[17,18,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,19,"pl-en"],[21,25,"pl-smi"],[26,27,"pl-c1"],[28,31,"pl-s1"],[33,39,"pl-s1"],[41,45,"pl-s"],[48,53,"pl-s1"],[54,56,"pl-c1"],[57,58,"pl-c1"],[62,63,"pl-en"],[64,69,"pl-s"],[73,74,"pl-en"],[75,80,"pl-s"]],[[4,8,"pl-k"],[9,11,"pl-k"],[13,18,"pl-s1"],[22,23,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,19,"pl-en"],[21,25,"pl-smi"],[26,27,"pl-c1"],[28,31,"pl-s1"],[33,39,"pl-s1"],[41,45,"pl-s"],[47,48,"pl-en"],[49,54,"pl-s"]],[[4,8,"pl-k"]],[],[[1,4,"pl-smi"],[5,9,"pl-s1"],[10,11,"pl-c1"],[13,18,"pl-s1"],[19,20,"pl-c1"],[21,29,"pl-c1"]],[[10,13,"pl-smi"],[15,20,"pl-s1"],[25,30,"pl-s1"],[31,32,"pl-c1"],[33,38,"pl-s1"],[42,46,"pl-c1"]],[[10,13,"pl-smi"],[15,20,"pl-s1"],[21,22,"pl-c1"],[23,27,"pl-c1"],[31,36,"pl-s1"],[37,38,"pl-c1"],[39,44,"pl-s1"]],[],[[1,30,"pl-c"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,19,"pl-en"],[21,25,"pl-smi"],[26,27,"pl-c1"],[28,31,"pl-s1"],[33,39,"pl-s1"],[41,42,"pl-en"],[43,51,"pl-s"],[55,59,"pl-s1"],[60,61,"pl-c1"],[62,64,"pl-c1"],[68,71,"pl-s"],[74,76,"pl-s"],[78,82,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"],[8,9,"pl-c1"],[10,13,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,8,"pl-c1"]],[],[[4,8,"pl-k"],[9,11,"pl-k"],[13,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"],[7,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,34,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,17,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,15,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"]],[[4,7,"pl-smi"],[9,17,"pl-s1"],[19,54,"pl-c"]],[],[[4,6,"pl-k"],[8,16,"pl-c1"],[20,21,"pl-c1"],[24,40,"pl-c"]],[[1,7,"pl-k"]],[],[[4,8,"pl-smi"],[9,10,"pl-c1"],[10,13,"pl-s1"]],[[4,10,"pl-k"],[13,15,"pl-s1"],[15,17,"pl-c1"],[17,34,"pl-c1"],[37,38,"pl-c1"],[41,42,"pl-c1"],[44,45,"pl-c1"],[47,55,"pl-s1"],[58,59,"pl-c1"],[62,63,"pl-c1"]],[],[[1,5,"pl-k"],[6,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-en"],[17,30,"pl-s"],[33,38,"pl-k"]],[[1,5,"pl-k"],[6,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-en"],[17,32,"pl-s"],[35,40,"pl-k"]],[[1,5,"pl-k"],[6,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-en"],[17,35,"pl-s"],[38,43,"pl-k"]],[[1,5,"pl-k"],[6,7,"pl-c1"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-en"],[17,37,"pl-s"],[40,45,"pl-k"]],[],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"],[14,15,"pl-c1"],[16,19,"pl-s1"],[20,21,"pl-c1"],[22,28,"pl-en"],[29,32,"pl-s1"],[35,65,"pl-c"]],[[4,16,"pl-en"],[18,22,"pl-smi"],[23,24,"pl-c1"],[25,26,"pl-s1"],[29,35,"pl-smi"],[37,43,"pl-s1"],[44,45,"pl-c1"],[47,48,"pl-s1"],[49,50,"pl-c1"],[51,54,"pl-s1"],[58,61,"pl-s1"]],[[8,10,"pl-s1"],[10,12,"pl-c1"],[12,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"],[27,35,"pl-c1"]],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,52,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[12,13,"pl-c1"]],[[0,9,"pl-en"],[10,16,"pl-smi"],[18,19,"pl-c1"],[19,24,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,75,"pl-c"]],[[0,68,"pl-c"]],[[0,73,"pl-c"]],[[0,58,"pl-c"]],[[0,58,"pl-c"]],[[0,70,"pl-c"]],[[0,7,"pl-c"]],[[0,6,"pl-k"],[7,11,"pl-c1"]],[[4,10,"pl-k"],[11,24,"pl-en"],[25,30,"pl-s1"]],[[0,5,"pl-k"]],[[4,6,"pl-k"],[9,22,"pl-en"],[23,28,"pl-s1"]],[[5,7,"pl-c1"],[8,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,28,"pl-s1"],[30,34,"pl-s"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,28,"pl-s1"],[30,34,"pl-s"],[36,38,"pl-c1"],[39,43,"pl-c1"]],[[0,7,"pl-k"],[8,29,"pl-c1"]],[[5,7,"pl-c1"],[8,14,"pl-en"],[16,20,"pl-smi"],[21,22,"pl-c1"],[23,28,"pl-s1"],[30,36,"pl-s"],[38,40,"pl-c1"],[41,45,"pl-c1"]],[[0,7,"pl-k"]],[[0,4,"pl-k"],[13,18,"pl-c1"]],[[5,7,"pl-c1"],[8,18,"pl-en"],[19,24,"pl-s1"],[26,29,"pl-c1"],[31,33,"pl-c1"],[34,38,"pl-c1"]],[[0,7,"pl-k"]],[],[[1,7,"pl-k"],[8,21,"pl-en"],[22,27,"pl-s1"]],[],[[4,9,"pl-s1"],[10,11,"pl-c1"],[12,23,"pl-en"],[24,29,"pl-s1"]],[],[[0,7,"pl-k"],[8,22,"pl-c1"]],[[4,6,"pl-k"],[8,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[1,11,"pl-en"],[12,17,"pl-s1"],[19,20,"pl-c1"],[23,56,"pl-c"]],[[0,7,"pl-k"]],[],[[4,10,"pl-k"],[11,16,"pl-s1"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,75,"pl-c"]],[[0,61,"pl-c"]],[[0,76,"pl-c"]],[[0,20,"pl-c"]],[[0,72,"pl-c"]],[[0,80,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"],[15,21,"pl-c1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,19,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-c1"],[13,19,"pl-s1"]],[],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[29,65,"pl-c"]],[[1,7,"pl-k"]],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,15,"pl-s1"],[16,18,"pl-c1"],[19,23,"pl-c1"],[29,68,"pl-c"]],[[1,2,"pl-c1"],[2,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"],[12,18,"pl-s1"]],[[4,5,"pl-c1"],[5,11,"pl-s1"],[12,13,"pl-c1"],[14,23,"pl-en"],[24,25,"pl-c1"],[25,31,"pl-s1"],[36,58,"pl-c"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,6,"pl-k"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,21,"pl-c1"]],[],[[1,7,"pl-smi"],[9,10,"pl-c1"],[10,16,"pl-s1"]],[],[[1,66,"pl-c"]],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,26,"pl-en"],[27,28,"pl-c1"],[28,34,"pl-s1"]],[[1,3,"pl-k"],[5,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[],[[5,13,"pl-en"],[14,15,"pl-c1"],[15,21,"pl-s1"]],[[5,6,"pl-c1"],[6,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"]],[[5,6,"pl-c1"],[6,12,"pl-s1"],[13,14,"pl-c1"],[15,21,"pl-s1"]],[],[],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,13,"pl-en"],[14,21,"pl-smi"],[22,23,"pl-c1"],[23,26,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,13,"pl-s1"],[15,16,"pl-c1"],[16,22,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,23,"pl-c1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"]],[[4,7,"pl-smi"],[9,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[4,7,"pl-smi"],[9,10,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,54,"pl-c"]],[[4,7,"pl-smi"],[9,12,"pl-s1"],[15,55,"pl-c"]],[[4,7,"pl-smi"],[9,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"],[26,34,"pl-c1"]],[[4,13,"pl-smi"],[14,15,"pl-c1"],[15,21,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,23,"pl-c1"],[24,26,"pl-c1"],[27,28,"pl-c1"],[30,65,"pl-c"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,13,"pl-c1"]],[[4,8,"pl-k"]],[[1,6,"pl-s1"],[7,8,"pl-c1"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,19,"pl-c1"],[21,57,"pl-c"]],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,33,"pl-s1"],[34,36,"pl-c1"],[37,40,"pl-s1"],[40,42,"pl-c1"],[42,48,"pl-c1"],[49,51,"pl-c1"],[52,63,"pl-s1"]],[[1,4,"pl-s1"],[5,6,"pl-c1"]],[[4,8,"pl-k"]],[[1,4,"pl-s1"],[5,6,"pl-c1"]],[],[[4,79,"pl-c"]],[[4,35,"pl-c"]],[[4,26,"pl-en"]],[],[[4,13,"pl-en"]],[],[[0,6,"pl-k"],[7,15,"pl-c1"]],[[4,22,"pl-s1"],[23,24,"pl-c1"]],[[0,6,"pl-k"]],[],[[4,6,"pl-c"]],[[0,67,"pl-c"]],[[0,50,"pl-c"]],[[0,7,"pl-c"]],[[4,6,"pl-k"],[8,15,"pl-s1"],[16,17,"pl-c1"],[18,19,"pl-c1"]],[[1,16,"pl-en"],[17,30,"pl-s1"]],[[4,7,"pl-k"]],[],[[1,7,"pl-s1"],[8,9,"pl-c1"],[10,16,"pl-s1"],[16,18,"pl-c1"],[18,25,"pl-c1"]],[[1,4,"pl-k"],[6,8,"pl-s1"],[9,10,"pl-c1"],[11,19,"pl-s1"],[21,23,"pl-s1"],[24,26,"pl-c1"],[27,31,"pl-c1"],[33,35,"pl-s1"],[36,37,"pl-c1"],[38,44,"pl-s1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"],[14,16,"pl-s1"],[16,18,"pl-c1"],[18,24,"pl-c1"]],[[5,7,"pl-k"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,22,"pl-c1"],[22,24,"pl-c1"],[24,34,"pl-c1"],[35,36,"pl-c1"],[37,38,"pl-c1"]],[[3,5,"pl-c1"],[8,14,"pl-s1"],[15,25,"pl-c1"],[26,27,"pl-c1"],[28,36,"pl-c1"]],[[9,11,"pl-s1"],[11,13,"pl-c1"],[13,21,"pl-c1"],[22,23,"pl-c1"],[24,26,"pl-s1"],[26,28,"pl-c1"],[28,43,"pl-c1"],[44,45,"pl-c1"],[46,50,"pl-s1"],[51,52,"pl-c1"],[53,57,"pl-s1"]],[[12,13,"pl-c1"],[14,28,"pl-en"]],[[9,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,23,"pl-c1"],[24,31,"pl-s1"]],[[3,5,"pl-c1"],[7,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[19,21,"pl-c1"],[22,24,"pl-s1"],[25,27,"pl-c1"],[28,36,"pl-s1"]],[[6,8,"pl-c1"],[10,20,"pl-c1"]],[[6,8,"pl-c1"],[11,21,"pl-en"],[22,24,"pl-s1"],[26,28,"pl-c1"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"],[41,43,"pl-c1"],[43,51,"pl-c1"],[52,53,"pl-c1"],[54,55,"pl-c1"]],[[6,8,"pl-c1"],[10,22,"pl-en"],[23,25,"pl-s1"]],[],[[2,4,"pl-k"],[6,15,"pl-en"],[16,18,"pl-s1"],[27,29,"pl-c1"],[30,34,"pl-c1"]],[[6,11,"pl-k"]],[[2,60,"pl-c"]],[[2,31,"pl-c"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,19,"pl-s1"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,24,"pl-s1"]],[[2,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[],[[5,9,"pl-k"]],[[2,4,"pl-c1"],[4,13,"pl-s1"]],[],[],[[1,61,"pl-c"]],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"],[18,20,"pl-c1"],[21,27,"pl-s1"],[28,30,"pl-c1"],[31,35,"pl-c1"]],[[5,10,"pl-k"]],[[1,16,"pl-en"],[17,23,"pl-s1"]],[],[],[[4,6,"pl-c"]],[[0,76,"pl-c"]],[[0,66,"pl-c"]],[[0,65,"pl-c"]],[[0,7,"pl-c"]],[[4,59,"pl-c"]],[[4,6,"pl-c1"],[6,22,"pl-s1"]],[[4,13,"pl-en"],[14,21,"pl-s1"]],[[4,6,"pl-c1"],[6,22,"pl-s1"]],[[4,7,"pl-k"],[9,12,"pl-s1"],[13,14,"pl-c1"],[15,23,"pl-s1"],[25,28,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"],[37,39,"pl-c1"],[40,49,"pl-s1"],[50,51,"pl-c1"],[52,57,"pl-s1"],[59,62,"pl-s1"],[63,64,"pl-c1"],[65,68,"pl-s1"],[68,70,"pl-c1"],[70,76,"pl-c1"]],[],[[1,39,"pl-c"]],[[1,3,"pl-k"],[7,10,"pl-s1"],[11,13,"pl-c1"],[14,17,"pl-s1"],[17,19,"pl-c1"],[19,23,"pl-c1"],[24,30,"pl-c1"],[31,33,"pl-c1"],[34,38,"pl-c1"],[40,42,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,55,"pl-c1"]],[[5,13,"pl-k"]],[],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,15,"pl-c1"],[16,17,"pl-c1"]],[],[[5,55,"pl-c"]],[[5,7,"pl-k"],[9,12,"pl-s1"],[12,14,"pl-c1"],[14,24,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[[2,4,"pl-s1"],[5,6,"pl-c1"],[7,14,"pl-s1"],[20,51,"pl-c"]],[[5,9,"pl-k"]],[[2,4,"pl-s1"],[5,6,"pl-c1"],[7,11,"pl-c1"]],[],[[1,5,"pl-k"]],[],[[5,49,"pl-c"]],[[5,20,"pl-c1"],[21,23,"pl-smi"]],[[2,4,"pl-en"],[6,8,"pl-smi"],[8,10,"pl-c1"],[10,18,"pl-s1"],[19,21,"pl-c1"],[22,25,"pl-s1"]],[[6,11,"pl-s1"]],[[5,51,"pl-c"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[2,16,"pl-en"],[17,19,"pl-s1"],[21,27,"pl-s1"]],[],[],[[1,3,"pl-k"],[5,7,"pl-s1"],[8,10,"pl-c1"],[11,15,"pl-c1"],[16,18,"pl-c1"],[19,28,"pl-s1"],[29,31,"pl-c1"],[32,34,"pl-c1"]],[],[[5,13,"pl-smi"],[14,20,"pl-s1"]],[],[[5,15,"pl-en"],[16,17,"pl-c1"],[17,23,"pl-s1"],[25,28,"pl-s1"]],[],[[5,49,"pl-c"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,21,"pl-s1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[19,48,"pl-c"]],[[5,14,"pl-s1"],[15,16,"pl-c1"],[17,26,"pl-en"],[27,28,"pl-c1"],[30,38,"pl-c1"],[41,50,"pl-c1"]],[[5,7,"pl-c1"],[7,16,"pl-s1"]],[[5,9,"pl-s1"],[10,11,"pl-c1"],[12,21,"pl-s1"]],[[5,7,"pl-k"],[9,18,"pl-s1"],[19,21,"pl-c1"],[22,26,"pl-c1"]],[[2,10,"pl-k"]],[],[[5,39,"pl-c"]],[[5,23,"pl-s1"],[24,25,"pl-c1"],[26,36,"pl-c1"]],[[5,15,"pl-en"],[16,19,"pl-s1"],[21,31,"pl-c1"]],[[5,7,"pl-k"],[10,22,"pl-en"],[23,24,"pl-c1"],[24,30,"pl-s1"]],[],[[2,39,"pl-c"]],[[2,20,"pl-s1"],[21,22,"pl-c1"],[23,31,"pl-c1"]],[[2,7,"pl-k"]],[],[[5,7,"pl-k"],[9,27,"pl-s1"],[28,30,"pl-c1"],[31,39,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[2,11,"pl-smi"],[14,16,"pl-s1"]],[],[[2,59,"pl-c"]],[[2,52,"pl-c"]],[[2,15,"pl-en"],[16,17,"pl-c1"],[17,19,"pl-s1"]],[[0,6,"pl-k"]],[],[[2,63,"pl-c"]],[[2,11,"pl-en"],[12,18,"pl-s1"]],[[2,4,"pl-c1"],[4,13,"pl-s1"]],[[2,20,"pl-s1"],[21,22,"pl-c1"],[23,31,"pl-c1"]],[[2,22,"pl-s1"],[23,24,"pl-c1"]],[],[[0,3,"pl-k"],[12,21,"pl-c1"]],[[2,55,"pl-c"]],[[2,62,"pl-c"]],[[2,15,"pl-c"]],[[2,15,"pl-en"],[16,17,"pl-c1"],[17,19,"pl-s1"]],[[0,6,"pl-k"]],[],[[5,9,"pl-k"]],[[2,20,"pl-en"],[21,25,"pl-c1"]],[],[],[[1,14,"pl-en"]],[[1,3,"pl-k"],[5,12,"pl-s1"]],[],[[6,10,"pl-smi"],[11,16,"pl-en"],[20,64,"pl-c"]],[[5,10,"pl-k"]],[],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[1,67,"pl-c"]],[[1,3,"pl-k"],[5,13,"pl-en"]],[[5,10,"pl-k"]],[[0,6,"pl-k"]],[[1,68,"pl-c"]],[[1,3,"pl-k"],[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"],[17,19,"pl-c1"],[20,33,"pl-en"],[34,38,"pl-c1"],[43,48,"pl-s1"]],[[5,11,"pl-s1"],[12,20,"pl-c1"],[21,22,"pl-c1"],[23,27,"pl-c1"]],[],[[4,6,"pl-c1"],[6,22,"pl-s1"]],[[4,13,"pl-en"],[14,22,"pl-s1"],[33,56,"pl-c"]],[[4,6,"pl-c1"],[6,22,"pl-s1"]],[],[[4,6,"pl-c"]],[[0,33,"pl-c"]],[[0,7,"pl-c"]],[[4,7,"pl-k"],[9,11,"pl-s1"],[12,13,"pl-c1"],[14,21,"pl-s1"],[23,32,"pl-s1"],[33,34,"pl-c1"],[35,40,"pl-s1"]],[],[[1,2,"pl-s1"],[3,4,"pl-c1"],[6,14,"pl-en"],[15,17,"pl-s1"],[17,19,"pl-c1"],[19,27,"pl-c1"],[29,31,"pl-c1"],[33,45,"pl-en"],[46,48,"pl-s1"],[48,50,"pl-c1"],[50,58,"pl-c1"]],[[9,11,"pl-c1"],[12,21,"pl-en"],[22,24,"pl-s1"],[24,26,"pl-c1"],[26,34,"pl-c1"],[43,45,"pl-c1"],[46,48,"pl-c1"]],[[1,3,"pl-k"],[6,15,"pl-en"],[16,18,"pl-s1"]],[],[[5,65,"pl-c"]],[[5,7,"pl-s1"],[8,9,"pl-c1"],[10,17,"pl-s1"]],[],[[1,5,"pl-k"],[6,8,"pl-k"],[10,11,"pl-s1"]],[],[[5,14,"pl-en"],[15,17,"pl-s1"],[20,28,"pl-en"],[29,31,"pl-s1"],[31,33,"pl-c1"],[33,41,"pl-c1"]],[[5,7,"pl-c1"],[7,16,"pl-s1"]],[[5,7,"pl-s1"],[8,9,"pl-c1"],[10,17,"pl-s1"]],[],[[1,5,"pl-k"]],[],[[5,7,"pl-s1"],[8,9,"pl-c1"],[10,12,"pl-s1"],[12,14,"pl-c1"],[14,20,"pl-c1"]],[[5,7,"pl-k"],[9,11,"pl-s1"],[12,14,"pl-c1"],[15,19,"pl-c1"]],[[2,7,"pl-k"]],[],[],[],[],[],[[0,6,"pl-k"],[7,10,"pl-smi"],[12,24,"pl-en"],[25,33,"pl-smi"],[35,38,"pl-smi"]],[],[[0,2,"pl-c"]],[[0,59,"pl-c"]],[[0,2,"pl-c"]],[[0,18,"pl-c"]],[[0,51,"pl-c"]],[[0,50,"pl-c"]],[[0,2,"pl-c"]],[[0,52,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,12,"pl-en"],[13,16,"pl-smi"],[17,22,"pl-s1"]],[],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,7,"pl-smi"],[9,16,"pl-s1"]],[[4,10,"pl-k"],[11,14,"pl-smi"],[15,22,"pl-s1"],[23,24,"pl-c1"],[25,26,"pl-c1"]],[],[[4,6,"pl-k"],[9,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,26,"pl-c1"],[28,35,"pl-s1"],[36,37,"pl-c1"],[39,42,"pl-smi"],[43,48,"pl-s1"],[50,52,"pl-c1"],[53,54,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,75,"pl-c"]],[[4,69,"pl-c"]],[[4,6,"pl-k"],[8,15,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,6,"pl-c1"],[6,13,"pl-s1"]],[[4,7,"pl-k"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,17,"pl-c1"],[19,25,"pl-s1"],[25,27,"pl-c1"],[27,33,"pl-c1"],[34,36,"pl-c1"],[37,41,"pl-s1"],[45,51,"pl-s1"],[51,53,"pl-c1"],[53,57,"pl-c1"],[58,71,"pl-c1"],[72,74,"pl-c1"],[75,79,"pl-s1"],[83,90,"pl-s1"]],[[15,17,"pl-c1"],[17,21,"pl-s1"]],[[1,3,"pl-k"],[5,17,"pl-en"],[18,22,"pl-s1"],[24,29,"pl-s1"],[31,33,"pl-c1"],[34,38,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[],[[4,7,"pl-k"],[9,13,"pl-s1"],[14,15,"pl-c1"],[16,22,"pl-s1"],[22,24,"pl-c1"],[24,28,"pl-c1"],[29,42,"pl-c1"],[44,50,"pl-s1"],[50,52,"pl-c1"],[52,58,"pl-c1"],[59,61,"pl-c1"],[62,66,"pl-s1"],[67,68,"pl-c1"],[69,70,"pl-c1"],[71,73,"pl-c1"],[74,78,"pl-s1"],[79,80,"pl-c1"],[81,88,"pl-s1"]],[[9,11,"pl-c1"],[12,16,"pl-s1"],[17,18,"pl-c1"],[19,25,"pl-s1"],[25,27,"pl-c1"],[27,31,"pl-c1"],[32,45,"pl-c1"],[46,47,"pl-c1"],[48,55,"pl-s1"],[57,59,"pl-c1"],[59,63,"pl-s1"]],[[1,3,"pl-k"],[5,17,"pl-en"],[18,22,"pl-s1"],[24,29,"pl-s1"],[31,33,"pl-c1"],[34,38,"pl-c1"]],[[5,12,"pl-s1"],[13,14,"pl-c1"],[15,16,"pl-c1"]],[[4,6,"pl-c1"],[6,13,"pl-s1"]],[],[],[[0,8,"pl-k"],[9,20,"pl-s"],[22,43,"pl-c"]],[],[[0,2,"pl-c"]],[[0,57,"pl-c"]],[[0,39,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,12,"pl-en"]],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[17,47,"pl-c"]],[],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,13,"pl-s1"]],[[4,10,"pl-smi"],[11,12,"pl-c1"],[12,20,"pl-s1"],[23,58,"pl-c"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,13,"pl-s1"]],[[4,7,"pl-smi"],[9,12,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"],[18,20,"pl-c1"]],[[4,10,"pl-smi"],[11,28,"pl-s1"]],[[4,28,"pl-c1"]],[],[[4,8,"pl-s1"],[9,10,"pl-c1"],[11,13,"pl-c1"]],[[4,7,"pl-k"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,19,"pl-en"],[20,24,"pl-s1"],[27,28,"pl-c1"],[28,29,"pl-s1"],[30,32,"pl-c1"],[33,36,"pl-c1"],[38,40,"pl-c1"],[40,41,"pl-s1"]],[],[[1,3,"pl-k"],[5,9,"pl-s1"],[10,12,"pl-c1"],[13,15,"pl-c1"],[16,18,"pl-c1"],[19,30,"pl-en"],[31,35,"pl-s1"]],[],[[5,7,"pl-k"],[10,14,"pl-s1"],[15,17,"pl-c1"],[18,20,"pl-c1"],[21,23,"pl-c1"],[24,31,"pl-en"],[32,33,"pl-s1"],[35,40,"pl-s"],[43,49,"pl-smi"],[50,51,"pl-c1"],[53,55,"pl-c1"],[56,57,"pl-c1"]],[[6,8,"pl-c1"],[9,16,"pl-en"],[17,18,"pl-s1"],[20,25,"pl-s"],[28,34,"pl-smi"],[35,36,"pl-c1"],[38,40,"pl-c1"],[41,42,"pl-c1"]],[[2,7,"pl-k"]],[[5,36,"pl-c"]],[[5,7,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[15,17,"pl-c1"],[18,21,"pl-c1"],[22,24,"pl-c1"],[25,26,"pl-s1"],[27,28,"pl-c1"],[30,32,"pl-c1"],[33,36,"pl-c1"],[38,40,"pl-c1"],[41,42,"pl-s1"],[43,44,"pl-c1"],[46,48,"pl-c1"],[49,52,"pl-c1"],[53,55,"pl-c1"],[56,57,"pl-s1"],[58,59,"pl-c1"],[61,63,"pl-c1"],[64,67,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[11,13,"pl-c1"],[14,17,"pl-c1"],[18,20,"pl-c1"],[21,22,"pl-s1"],[23,24,"pl-c1"],[26,28,"pl-c1"],[29,32,"pl-c1"],[33,35,"pl-c1"],[36,37,"pl-s1"],[38,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-c1"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[2,6,"pl-k"]],[[6,7,"pl-s1"],[8,9,"pl-c1"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-c1"]],[[2,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-en"],[19,20,"pl-c1"],[20,21,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,15,"pl-c1"]],[[3,5,"pl-c1"],[7,8,"pl-s1"],[9,10,"pl-c1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[[6,8,"pl-c1"],[9,16,"pl-en"],[17,26,"pl-en"],[27,28,"pl-s1"],[29,30,"pl-c1"],[31,32,"pl-c1"],[35,40,"pl-s"],[42,43,"pl-c1"],[45,47,"pl-c1"],[48,49,"pl-c1"]],[[3,5,"pl-c1"],[7,8,"pl-s1"],[9,10,"pl-c1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[[7,9,"pl-c1"],[11,26,"pl-c1"],[30,34,"pl-s1"],[35,37,"pl-c1"],[38,50,"pl-en"],[51,52,"pl-s1"],[53,54,"pl-c1"]],[[7,9,"pl-c1"],[11,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"],[34,36,"pl-c1"],[37,38,"pl-s1"],[39,40,"pl-c1"],[42,44,"pl-c1"],[45,48,"pl-c1"]],[[7,9,"pl-c1"],[11,26,"pl-c1"],[27,28,"pl-c1"],[29,33,"pl-s1"],[34,36,"pl-c1"],[37,38,"pl-s1"],[39,40,"pl-c1"],[42,44,"pl-c1"],[45,48,"pl-c1"]],[[7,9,"pl-c1"],[11,26,"pl-c1"],[27,29,"pl-c1"],[30,34,"pl-s1"],[35,37,"pl-c1"],[38,39,"pl-s1"],[40,41,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-c1"]],[[6,11,"pl-k"]],[],[],[[1,5,"pl-s1"],[6,7,"pl-c1"],[8,9,"pl-c1"],[9,10,"pl-s1"]],[],[],[[4,6,"pl-k"],[8,9,"pl-c1"],[9,10,"pl-s1"]],[],[[1,3,"pl-k"],[7,42,"pl-c"]],[[5,7,"pl-c1"],[7,8,"pl-s1"]],[[1,6,"pl-k"],[8,9,"pl-s1"],[10,12,"pl-c1"],[14,16,"pl-c1"],[17,20,"pl-c1"]],[],[[1,2,"pl-s1"],[3,4,"pl-c1"],[5,13,"pl-s1"],[14,15,"pl-c1"],[16,27,"pl-en"],[28,29,"pl-s1"],[32,64,"pl-c"]],[[1,3,"pl-k"],[5,13,"pl-s1"],[14,16,"pl-c1"],[17,21,"pl-c1"]],[[5,11,"pl-k"],[12,16,"pl-c1"]],[],[[1,22,"pl-c"]],[[1,12,"pl-en"],[13,27,"pl-c1"],[30,36,"pl-smi"],[37,38,"pl-c1"],[39,50,"pl-s"],[52,56,"pl-s1"]],[[1,19,"pl-c1"]],[],[[1,4,"pl-s1"],[5,6,"pl-c1"]],[[1,6,"pl-k"],[8,11,"pl-s1"],[12,14,"pl-c1"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,18,"pl-en"],[19,20,"pl-s1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[[2,7,"pl-k"]],[],[[5,7,"pl-c"]],[[0,52,"pl-c"]],[[0,46,"pl-c"]],[[0,8,"pl-c"]],[[5,8,"pl-k"],[10,11,"pl-s1"],[12,13,"pl-c1"],[14,15,"pl-s1"],[17,18,"pl-c1"],[18,19,"pl-s1"],[20,22,"pl-c1"],[23,26,"pl-c1"],[27,29,"pl-c1"],[30,31,"pl-c1"],[31,32,"pl-s1"],[33,35,"pl-c1"],[36,39,"pl-c1"],[41,43,"pl-c1"],[43,44,"pl-s1"]],[[2,4,"pl-k"],[6,7,"pl-s1"],[8,9,"pl-c1"],[11,13,"pl-c1"],[14,18,"pl-c1"],[19,21,"pl-c1"],[22,23,"pl-s1"],[24,25,"pl-c1"],[27,29,"pl-c1"],[30,33,"pl-c1"]],[[6,13,"pl-en"],[14,15,"pl-s1"],[17,18,"pl-s1"],[19,20,"pl-c1"],[21,22,"pl-c1"]],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"]],[[2,5,"pl-s1"],[6,7,"pl-c1"]],[],[[5,7,"pl-c"]],[[0,66,"pl-c"]],[[0,39,"pl-c"]],[[0,56,"pl-c"]],[[0,48,"pl-c"]],[[0,49,"pl-c"]],[[0,8,"pl-c"]],[[5,7,"pl-k"],[9,16,"pl-en"],[17,18,"pl-s1"],[20,26,"pl-s"],[29,35,"pl-smi"],[36,37,"pl-c1"],[39,41,"pl-c1"],[42,43,"pl-c1"]],[[6,8,"pl-c1"],[9,16,"pl-en"],[17,18,"pl-s1"],[20,25,"pl-s"],[28,34,"pl-smi"],[35,36,"pl-c1"],[38,40,"pl-c1"],[41,42,"pl-c1"]],[],[[2,4,"pl-k"],[6,7,"pl-c1"],[7,8,"pl-s1"],[9,11,"pl-c1"],[12,15,"pl-c1"],[18,40,"pl-c"]],[[6,11,"pl-k"]],[[2,5,"pl-s1"],[6,7,"pl-c1"]],[[2,3,"pl-s1"],[4,5,"pl-c1"],[6,16,"pl-en"],[17,18,"pl-s1"],[20,23,"pl-c1"],[25,26,"pl-c1"],[27,28,"pl-c1"]],[],[[5,6,"pl-c1"],[6,7,"pl-s1"],[8,9,"pl-c1"],[10,13,"pl-c1"],[17,44,"pl-c"]],[],[[5,7,"pl-k"],[9,10,"pl-c1"],[10,11,"pl-s1"],[12,14,"pl-c1"],[15,18,"pl-c1"],[21,47,"pl-c"]],[],[[2,5,"pl-smi"],[6,17,"pl-s1"],[18,19,"pl-c1"],[20,26,"pl-s1"]],[],[[2,19,"pl-s1"],[20,21,"pl-c1"],[22,34,"pl-s1"]],[[2,14,"pl-s1"],[15,25,"pl-c1"],[26,27,"pl-c1"],[28,29,"pl-c1"]],[[0,6,"pl-k"],[7,16,"pl-c1"]],[[2,14,"pl-s1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,36,"pl-c1"]],[[2,14,"pl-s1"],[15,21,"pl-c1"],[22,23,"pl-c1"],[24,25,"pl-c1"]],[[2,14,"pl-s1"],[15,22,"pl-c1"],[23,24,"pl-c1"],[25,29,"pl-s1"]],[[0,6,"pl-k"]],[],[[2,61,"pl-c"]],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,12,"pl-c1"]],[],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,17,"pl-en"],[18,19,"pl-s1"],[21,33,"pl-c1"],[36,45,"pl-c1"],[48,53,"pl-s1"]],[],[[2,8,"pl-s1"],[9,10,"pl-c1"],[11,22,"pl-s1"]],[[2,14,"pl-s1"],[15,16,"pl-c1"],[17,34,"pl-s1"]],[[2,4,"pl-k"],[6,12,"pl-s1"],[13,15,"pl-c1"],[16,20,"pl-c1"],[23,45,"pl-c"]],[[6,11,"pl-k"]],[],[[5,6,"pl-s1"],[7,8,"pl-c1"],[9,10,"pl-s1"],[11,12,"pl-c1"],[13,14,"pl-c1"],[18,41,"pl-c"]],[],[],[[1,17,"pl-c1"]],[[1,11,"pl-en"]],[[1,9,"pl-en"],[10,18,"pl-s1"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,63,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,9,"pl-en"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[38,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,47,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,11,"pl-en"],[12,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,29,"pl-c1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,35,"pl-en"],[36,39,"pl-s1"],[41,43,"pl-c1"],[44,47,"pl-s1"],[47,49,"pl-c1"],[49,55,"pl-c1"],[56,57,"pl-c1"],[59,61,"pl-c1"],[62,65,"pl-c1"]],[[0,5,"pl-k"]],[[4,10,"pl-k"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,45,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,11,"pl-en"],[12,17,"pl-smi"],[18,19,"pl-c1"],[19,22,"pl-s1"],[23,29,"pl-c1"]],[],[[0,3,"pl-k"],[12,25,"pl-c1"]],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[38,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-c1"]],[[0,5,"pl-k"]],[[4,10,"pl-k"]],[[0,6,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,41,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,7,"pl-en"],[8,13,"pl-smi"],[14,15,"pl-c1"],[15,18,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,43,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,9,"pl-en"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[38,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-c1"],[48,50,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,62,"pl-c1"],[63,64,"pl-c1"],[66,68,"pl-c1"],[69,72,"pl-c1"]],[],[],[[0,3,"pl-k"],[12,27,"pl-c1"],[29,31,"pl-c1"],[40,45,"pl-c1"]],[[0,2,"pl-c"]],[[0,55,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,8,"pl-en"],[9,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[38,40,"pl-c1"],[41,45,"pl-c1"]],[[1,3,"pl-c1"],[4,7,"pl-s1"],[7,9,"pl-c1"],[9,15,"pl-c1"],[16,17,"pl-c1"],[19,21,"pl-c1"],[22,25,"pl-c1"],[26,28,"pl-c1"],[29,32,"pl-s1"],[32,34,"pl-c1"],[34,40,"pl-c1"],[41,42,"pl-c1"],[44,46,"pl-c1"],[47,50,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,72,"pl-c"]],[[0,79,"pl-c"]],[[0,22,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,13,"pl-en"],[14,19,"pl-smi"],[20,21,"pl-c1"],[21,24,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"],[40,41,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-c1"],[50,52,"pl-c1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,64,"pl-c1"],[65,66,"pl-c1"],[68,70,"pl-c1"],[71,74,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,73,"pl-c"]],[[0,64,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-k"],[11,14,"pl-smi"]],[[0,13,"pl-en"],[14,19,"pl-smi"],[20,21,"pl-c1"],[21,24,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[28,31,"pl-s1"],[31,33,"pl-c1"],[33,39,"pl-c1"],[40,41,"pl-c1"],[43,45,"pl-c1"],[46,49,"pl-c1"],[50,52,"pl-c1"],[53,56,"pl-s1"],[56,58,"pl-c1"],[58,64,"pl-c1"],[65,66,"pl-c1"],[68,70,"pl-c1"],[71,74,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[[5,7,"pl-c1"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,21,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-c1"]],[],[],[[0,3,"pl-k"],[12,25,"pl-c1"],[27,29,"pl-c1"],[38,43,"pl-c1"]],[[0,2,"pl-c"]],[[0,54,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,9,"pl-en"],[10,15,"pl-smi"],[16,17,"pl-c1"],[17,20,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[26,29,"pl-s1"],[29,31,"pl-c1"],[31,37,"pl-c1"],[38,39,"pl-c1"],[41,43,"pl-c1"],[44,47,"pl-c1"],[48,50,"pl-c1"],[51,54,"pl-s1"],[54,56,"pl-c1"],[56,62,"pl-c1"],[63,64,"pl-c1"],[66,68,"pl-c1"],[69,72,"pl-c1"]],[],[[0,6,"pl-k"]],[],[[0,2,"pl-c"]],[[0,74,"pl-c"]],[[0,18,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,12,"pl-en"],[13,18,"pl-smi"],[19,20,"pl-c1"],[20,23,"pl-s1"]],[],[[4,10,"pl-k"],[11,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"],[23,25,"pl-c1"],[27,30,"pl-s1"],[30,32,"pl-c1"],[32,38,"pl-c1"],[39,40,"pl-c1"],[42,44,"pl-c1"],[45,48,"pl-c1"]],[[3,5,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[[3,5,"pl-c1"],[6,9,"pl-s1"],[9,11,"pl-c1"],[11,17,"pl-c1"],[18,19,"pl-c1"],[21,23,"pl-c1"],[24,27,"pl-c1"]],[],[],[[4,7,"pl-smi"]],[[0,16,"pl-en"],[17,22,"pl-smi"],[23,24,"pl-c1"],[24,27,"pl-s1"]],[],[[4,6,"pl-k"],[8,20,"pl-en"],[21,24,"pl-s1"]],[],[[1,5,"pl-en"],[6,7,"pl-en"],[8,44,"pl-s1"]],[[1,7,"pl-k"]],[],[[4,10,"pl-k"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,19,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,8,"pl-en"],[9,14,"pl-smi"],[15,16,"pl-c1"],[16,19,"pl-s1"]],[],[[4,65,"pl-c"]],[[4,10,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,23,"pl-c1"],[24,25,"pl-c1"]],[],[[1,5,"pl-k"],[6,9,"pl-c1"],[16,27,"pl-c"]],[[1,5,"pl-k"],[6,9,"pl-c1"],[16,25,"pl-c"]],[[1,5,"pl-k"],[6,9,"pl-c1"],[11,17,"pl-k"],[29,40,"pl-c"]],[[1,5,"pl-k"],[6,9,"pl-c1"],[11,17,"pl-k"],[28,37,"pl-c"]],[],[[4,10,"pl-k"],[12,17,"pl-s1"],[18,20,"pl-c1"],[22,28,"pl-s1"],[29,39,"pl-c1"],[40,41,"pl-c1"],[42,51,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,30,"pl-c"]],[[0,55,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"]],[[0,10,"pl-en"],[11,16,"pl-smi"],[17,18,"pl-c1"],[18,21,"pl-s1"]],[],[[0,3,"pl-k"],[12,25,"pl-c1"]],[[4,6,"pl-k"],[8,19,"pl-en"],[20,23,"pl-s1"]],[],[[1,3,"pl-c"]],[[0,70,"pl-c"]],[[0,58,"pl-c"]],[[0,4,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,38,"pl-en"]],[[5,11,"pl-k"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,23,"pl-en"],[24,34,"pl-s1"]],[[1,5,"pl-k"]],[[5,11,"pl-k"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,23,"pl-en"],[24,35,"pl-s1"]],[],[[0,6,"pl-k"]],[],[[4,62,"pl-c"]],[[4,50,"pl-c"]],[[4,6,"pl-k"],[8,21,"pl-en"],[22,25,"pl-s1"]],[],[[0,6,"pl-k"],[7,20,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,16,"pl-c1"],[17,19,"pl-c1"],[20,24,"pl-c1"]],[[5,11,"pl-k"],[12,32,"pl-en"],[33,36,"pl-s1"],[36,38,"pl-c1"],[38,44,"pl-c1"]],[[0,6,"pl-k"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,17,"pl-c1"],[18,20,"pl-c1"],[21,25,"pl-c1"]],[[5,11,"pl-k"],[12,15,"pl-s1"],[15,17,"pl-c1"],[17,24,"pl-c1"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[9,11,"pl-c1"],[12,22,"pl-s1"]],[[5,11,"pl-k"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,23,"pl-en"],[24,40,"pl-s"]],[[0,6,"pl-k"],[7,23,"pl-c1"]],[[1,3,"pl-k"],[5,14,"pl-en"],[15,18,"pl-s1"]],[[5,11,"pl-k"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,23,"pl-en"],[24,34,"pl-s"]],[[0,6,"pl-k"]],[[0,6,"pl-k"],[7,22,"pl-c1"]],[[1,3,"pl-k"],[5,13,"pl-en"],[14,17,"pl-s1"]],[[5,11,"pl-k"],[13,19,"pl-smi"],[20,21,"pl-c1"],[22,23,"pl-en"],[24,33,"pl-s"]],[[0,6,"pl-k"]],[[1,7,"pl-k"],[9,15,"pl-smi"],[16,17,"pl-c1"],[18,19,"pl-en"],[20,31,"pl-s"]],[],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[1,7,"pl-k"],[8,21,"pl-en"],[22,25,"pl-s1"]],[[4,10,"pl-k"],[11,15,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,53,"pl-c"]],[[0,3,"pl-c"]],[[4,10,"pl-smi"],[11,12,"pl-c1"]],[[0,13,"pl-en"],[14,19,"pl-smi"],[20,21,"pl-c1"],[21,24,"pl-s1"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,20,"pl-c1"],[21,23,"pl-c1"],[24,28,"pl-c1"]],[[1,7,"pl-k"],[9,15,"pl-smi"],[16,17,"pl-c1"],[18,19,"pl-en"],[20,31,"pl-s"]],[[4,10,"pl-k"],[11,14,"pl-s1"],[14,16,"pl-c1"],[16,23,"pl-c1"]],[],[],[[0,2,"pl-c"]],[[0,77,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,13,"pl-en"],[14,17,"pl-smi"],[18,20,"pl-s1"]],[],[[4,6,"pl-k"],[8,10,"pl-s1"],[11,13,"pl-c1"],[14,20,"pl-s1"],[20,22,"pl-c1"],[22,28,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,10,"pl-s1"],[10,12,"pl-c1"],[12,18,"pl-c1"],[19,20,"pl-c1"],[21,23,"pl-s1"]],[[4,6,"pl-k"],[8,10,"pl-s1"]],[[1,15,"pl-en"],[16,28,"pl-c1"],[30,34,"pl-c1"],[36,40,"pl-c1"],[49,55,"pl-s1"]],[[4,8,"pl-k"]],[[1,15,"pl-en"],[16,31,"pl-c1"],[33,37,"pl-c1"],[39,43,"pl-c1"],[52,58,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,67,"pl-c"]],[[0,58,"pl-c"]],[[0,3,"pl-c"]],[[4,7,"pl-smi"]],[[0,20,"pl-en"],[21,26,"pl-smi"],[27,28,"pl-c1"],[28,31,"pl-s1"]],[],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,17,"pl-s1"]],[[4,7,"pl-smi"],[9,15,"pl-s1"],[16,17,"pl-c1"]],[[4,12,"pl-smi"],[13,17,"pl-s1"]],[[4,14,"pl-smi"],[15,18,"pl-s1"]],[[4,11,"pl-smi"],[12,14,"pl-s1"]],[],[[4,63,"pl-c"]],[[4,10,"pl-s1"],[11,12,"pl-c1"],[13,24,"pl-en"],[25,29,"pl-c1"],[31,35,"pl-c1"],[38,46,"pl-smi"],[47,48,"pl-c1"],[50,59,"pl-c1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,22,"pl-c1"]],[[1,7,"pl-k"]],[],[[4,61,"pl-c"]],[[4,6,"pl-k"],[8,18,"pl-en"],[19,20,"pl-c1"],[20,22,"pl-s1"],[24,27,"pl-s1"],[29,31,"pl-c1"],[32,36,"pl-c1"]],[],[[1,12,"pl-en"],[13,19,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[4,54,"pl-c"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"],[24,30,"pl-s1"]],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"]],[],[[1,41,"pl-c"]],[[1,12,"pl-en"],[13,19,"pl-s1"]],[[1,7,"pl-k"]],[],[],[[4,69,"pl-c"]],[[4,39,"pl-c"]],[[4,18,"pl-en"]],[[4,6,"pl-k"],[8,15,"pl-en"],[16,22,"pl-s1"],[24,26,"pl-c1"],[27,29,"pl-c1"]],[[5,7,"pl-c1"],[8,16,"pl-en"],[17,20,"pl-s1"],[20,22,"pl-c1"],[22,30,"pl-c1"],[32,35,"pl-s1"],[35,37,"pl-c1"],[37,44,"pl-c1"]],[[7,15,"pl-smi"],[16,17,"pl-c1"],[20,28,"pl-smi"],[29,30,"pl-c1"],[33,41,"pl-smi"],[42,49,"pl-c1"]],[[9,10,"pl-c1"],[10,12,"pl-s1"],[14,22,"pl-c1"],[25,35,"pl-c1"],[37,39,"pl-c1"],[40,42,"pl-c1"]],[],[[1,38,"pl-c"]],[[1,3,"pl-k"],[5,8,"pl-s1"],[8,10,"pl-c1"],[10,14,"pl-c1"],[15,28,"pl-c1"],[29,31,"pl-c1"],[32,38,"pl-s1"],[38,40,"pl-c1"],[40,44,"pl-c1"],[45,58,"pl-c1"]],[],[[5,11,"pl-s1"],[12,13,"pl-c1"]],[[5,8,"pl-k"],[10,14,"pl-s1"],[15,16,"pl-c1"],[17,18,"pl-c1"],[20,24,"pl-s1"],[28,34,"pl-s1"],[34,36,"pl-c1"],[36,40,"pl-c1"],[41,54,"pl-c1"],[56,58,"pl-c1"],[58,62,"pl-s1"]],[[2,4,"pl-k"],[6,12,"pl-en"],[13,23,"pl-en"],[24,27,"pl-s1"],[29,33,"pl-s1"],[43,49,"pl-en"],[50,54,"pl-s1"],[57,59,"pl-c1"],[60,61,"pl-c1"]],[],[[6,12,"pl-s1"],[13,14,"pl-c1"]],[[6,11,"pl-k"]],[],[],[],[[4,12,"pl-en"],[13,15,"pl-s1"],[16,19,"pl-c1"]],[],[[4,51,"pl-c"]],[[4,17,"pl-en"],[18,19,"pl-c1"],[19,22,"pl-s1"]],[],[[4,6,"pl-k"],[8,14,"pl-s1"],[15,17,"pl-c1"],[18,24,"pl-s1"],[26,41,"pl-c"]],[[1,12,"pl-en"],[13,19,"pl-s1"]],[],[[4,20,"pl-en"]],[],[[4,10,"pl-k"],[11,17,"pl-s1"]],[],[],[[0,2,"pl-c"]],[[0,76,"pl-c"]],[[0,78,"pl-c"]],[[0,9,"pl-c"]],[[0,3,"pl-c"]],[[4,8,"pl-smi"]],[[0,11,"pl-en"]],[[4,9,"pl-smi"],[10,11,"pl-c1"],[11,14,"pl-s1"]],[[4,7,"pl-smi"],[9,14,"pl-s1"],[20,54,"pl-c"]],[],[[4,6,"pl-k"],[8,11,"pl-s1"],[11,13,"pl-c1"],[13,19,"pl-c1"],[20,22,"pl-c1"],[23,35,"pl-s1"],[36,37,"pl-c1"],[38,39,"pl-c1"]],[[1,3,"pl-c1"],[3,15,"pl-s1"]],[],[[4,6,"pl-k"],[9,14,"pl-s1"],[21,66,"pl-c"]],[[1,15,"pl-en"]],[],[[4,16,"pl-en"],[17,21,"pl-c1"],[23,26,"pl-s1"],[28,38,"pl-c1"]],[],[[4,6,"pl-k"],[9,14,"pl-s1"]],[[1,17,"pl-en"]],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/vim/vim/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"buffer.c","displayUrl":"https://github.com/vim/vim/blob/master/src/buffer.c?raw=true","headerInfo":{"blobSize":"150 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"68388db","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fvim%2Fvim%2Fblob%2Fmaster%2Fsrc%2Fbuffer.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"6113","truncatedSloc":"5583"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/vim/vim/blob/master/src/buffer.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/vim/vim/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/vim/vim/raw/refs/heads/master/src/buffer.c","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"MAX_STL_EVAL_DEPTH","kind":"macro","ident_start":1025,"ident_end":1043,"extent_start":1016,"extent_end":1048,"fully_qualified_name":"MAX_STL_EVAL_DEPTH","ident_utf16":{"start":{"line_number":32,"utf16_col":9},"end":{"line_number":32,"utf16_col":27}},"extent_utf16":{"start":{"line_number":32,"utf16_col":0},"end":{"line_number":33,"utf16_col":0}}},{"name":"enter_buffer","kind":"function","ident_start":1068,"ident_end":1080,"extent_start":1068,"extent_end":1092,"fully_qualified_name":"enter_buffer","ident_utf16":{"start":{"line_number":35,"utf16_col":12},"end":{"line_number":35,"utf16_col":24}},"extent_utf16":{"start":{"line_number":35,"utf16_col":12},"end":{"line_number":35,"utf16_col":36}}},{"name":"buflist_getfpos","kind":"function","ident_start":1106,"ident_end":1121,"extent_start":1106,"extent_end":1127,"fully_qualified_name":"buflist_getfpos","ident_utf16":{"start":{"line_number":36,"utf16_col":12},"end":{"line_number":36,"utf16_col":27}},"extent_utf16":{"start":{"line_number":36,"utf16_col":12},"end":{"line_number":36,"utf16_col":33}}},{"name":"buflist_match","kind":"function","ident_start":1144,"ident_end":1157,"extent_start":1144,"extent_end":1203,"fully_qualified_name":"buflist_match","ident_utf16":{"start":{"line_number":37,"utf16_col":15},"end":{"line_number":37,"utf16_col":28}},"extent_utf16":{"start":{"line_number":37,"utf16_col":15},"end":{"line_number":37,"utf16_col":74}}},{"name":"fname_match","kind":"function","ident_start":1220,"ident_end":1231,"extent_start":1220,"extent_end":1279,"fully_qualified_name":"fname_match","ident_utf16":{"start":{"line_number":38,"utf16_col":15},"end":{"line_number":38,"utf16_col":26}},"extent_utf16":{"start":{"line_number":38,"utf16_col":15},"end":{"line_number":38,"utf16_col":74}}},{"name":"buflist_findname_stat","kind":"function","ident_start":1307,"ident_end":1328,"extent_start":1307,"extent_end":1356,"fully_qualified_name":"buflist_findname_stat","ident_utf16":{"start":{"line_number":40,"utf16_col":14},"end":{"line_number":40,"utf16_col":35}},"extent_utf16":{"start":{"line_number":40,"utf16_col":14},"end":{"line_number":40,"utf16_col":63}}},{"name":"otherfile_buf","kind":"function","ident_start":1369,"ident_end":1382,"extent_start":1369,"extent_end":1423,"fully_qualified_name":"otherfile_buf","ident_utf16":{"start":{"line_number":41,"utf16_col":11},"end":{"line_number":41,"utf16_col":24}},"extent_utf16":{"start":{"line_number":41,"utf16_col":11},"end":{"line_number":41,"utf16_col":65}}},{"name":"buf_same_ino","kind":"function","ident_start":1436,"ident_end":1448,"extent_start":1436,"extent_end":1473,"fully_qualified_name":"buf_same_ino","ident_utf16":{"start":{"line_number":42,"utf16_col":11},"end":{"line_number":42,"utf16_col":23}},"extent_utf16":{"start":{"line_number":42,"utf16_col":11},"end":{"line_number":42,"utf16_col":48}}},{"name":"otherfile_buf","kind":"function","ident_start":1492,"ident_end":1505,"extent_start":1492,"extent_end":1533,"fully_qualified_name":"otherfile_buf","ident_utf16":{"start":{"line_number":44,"utf16_col":11},"end":{"line_number":44,"utf16_col":24}},"extent_utf16":{"start":{"line_number":44,"utf16_col":11},"end":{"line_number":44,"utf16_col":52}}},{"name":"value_changed","kind":"function","ident_start":1553,"ident_end":1566,"extent_start":1553,"extent_end":1594,"fully_qualified_name":"value_changed","ident_utf16":{"start":{"line_number":46,"utf16_col":11},"end":{"line_number":46,"utf16_col":24}},"extent_utf16":{"start":{"line_number":46,"utf16_col":11},"end":{"line_number":46,"utf16_col":52}}},{"name":"append_arg_number","kind":"function","ident_start":1607,"ident_end":1624,"extent_start":1607,"extent_end":1674,"fully_qualified_name":"append_arg_number","ident_utf16":{"start":{"line_number":47,"utf16_col":11},"end":{"line_number":47,"utf16_col":28}},"extent_utf16":{"start":{"line_number":47,"utf16_col":11},"end":{"line_number":47,"utf16_col":78}}},{"name":"free_buffer","kind":"function","ident_start":1688,"ident_end":1699,"extent_start":1688,"extent_end":1708,"fully_qualified_name":"free_buffer","ident_utf16":{"start":{"line_number":48,"utf16_col":12},"end":{"line_number":48,"utf16_col":23}},"extent_utf16":{"start":{"line_number":48,"utf16_col":12},"end":{"line_number":48,"utf16_col":32}}},{"name":"free_buffer_stuff","kind":"function","ident_start":1722,"ident_end":1739,"extent_start":1722,"extent_end":1769,"fully_qualified_name":"free_buffer_stuff","ident_utf16":{"start":{"line_number":49,"utf16_col":12},"end":{"line_number":49,"utf16_col":29}},"extent_utf16":{"start":{"line_number":49,"utf16_col":12},"end":{"line_number":49,"utf16_col":59}}},{"name":"bt_nofileread","kind":"function","ident_start":1782,"ident_end":1795,"extent_start":1782,"extent_end":1807,"fully_qualified_name":"bt_nofileread","ident_utf16":{"start":{"line_number":50,"utf16_col":11},"end":{"line_number":50,"utf16_col":24}},"extent_utf16":{"start":{"line_number":50,"utf16_col":11},"end":{"line_number":50,"utf16_col":36}}},{"name":"no_write_message_buf","kind":"function","ident_start":1821,"ident_end":1841,"extent_start":1821,"extent_end":1853,"fully_qualified_name":"no_write_message_buf","ident_utf16":{"start":{"line_number":51,"utf16_col":12},"end":{"line_number":51,"utf16_col":32}},"extent_utf16":{"start":{"line_number":51,"utf16_col":12},"end":{"line_number":51,"utf16_col":44}}},{"name":"do_buffer_ext","kind":"function","ident_start":1866,"ident_end":1879,"extent_start":1866,"extent_end":1933,"fully_qualified_name":"do_buffer_ext","ident_utf16":{"start":{"line_number":52,"utf16_col":11},"end":{"line_number":52,"utf16_col":24}},"extent_utf16":{"start":{"line_number":52,"utf16_col":11},"end":{"line_number":52,"utf16_col":78}}},{"name":"dev_T","kind":"macro","ident_start":1957,"ident_end":1962,"extent_start":1948,"extent_end":1969,"fully_qualified_name":"dev_T","ident_utf16":{"start":{"line_number":55,"utf16_col":9},"end":{"line_number":55,"utf16_col":14}},"extent_utf16":{"start":{"line_number":55,"utf16_col":0},"end":{"line_number":56,"utf16_col":0}}},{"name":"dev_T","kind":"macro","ident_start":1984,"ident_end":1989,"extent_start":1975,"extent_end":1999,"fully_qualified_name":"dev_T","ident_utf16":{"start":{"line_number":57,"utf16_col":9},"end":{"line_number":57,"utf16_col":14}},"extent_utf16":{"start":{"line_number":57,"utf16_col":0},"end":{"line_number":58,"utf16_col":0}}},{"name":"get_highest_fnum","kind":"function","ident_start":2500,"ident_end":2516,"extent_start":2500,"extent_end":2522,"fully_qualified_name":"get_highest_fnum","ident_utf16":{"start":{"line_number":78,"utf16_col":0},"end":{"line_number":78,"utf16_col":16}},"extent_utf16":{"start":{"line_number":78,"utf16_col":0},"end":{"line_number":78,"utf16_col":22}}},{"name":"read_buffer","kind":"function","ident_start":2618,"ident_end":2629,"extent_start":2618,"extent_end":2772,"fully_qualified_name":"read_buffer","ident_utf16":{"start":{"line_number":87,"utf16_col":0},"end":{"line_number":87,"utf16_col":11}},"extent_utf16":{"start":{"line_number":87,"utf16_col":0},"end":{"line_number":90,"utf16_col":15}}},{"name":"buffer_ensure_loaded","kind":"function","ident_start":4251,"ident_end":4271,"extent_start":4251,"extent_end":4283,"fully_qualified_name":"buffer_ensure_loaded","ident_utf16":{"start":{"line_number":147,"utf16_col":0},"end":{"line_number":147,"utf16_col":20}},"extent_utf16":{"start":{"line_number":147,"utf16_col":0},"end":{"line_number":147,"utf16_col":32}}},{"name":"open_buffer","kind":"function","ident_start":4762,"ident_end":4773,"extent_start":4762,"extent_end":4904,"fully_qualified_name":"open_buffer","ident_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":172,"utf16_col":11}},"extent_utf16":{"start":{"line_number":172,"utf16_col":0},"end":{"line_number":175,"utf16_col":19}}},{"name":"if","kind":"function","ident_start":5664,"ident_end":5666,"extent_start":5664,"extent_end":5696,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":198,"utf16_col":5},"end":{"line_number":198,"utf16_col":7}},"extent_utf16":{"start":{"line_number":198,"utf16_col":5},"end":{"line_number":198,"utf16_col":37}}},{"name":"set_bufref","kind":"function","ident_start":11606,"ident_end":11616,"extent_start":11606,"extent_end":11646,"fully_qualified_name":"set_bufref","ident_utf16":{"start":{"line_number":409,"utf16_col":0},"end":{"line_number":409,"utf16_col":10}},"extent_utf16":{"start":{"line_number":409,"utf16_col":0},"end":{"line_number":409,"utf16_col":40}}},{"name":"bufref_valid","kind":"function","ident_start":12119,"ident_end":12131,"extent_start":12119,"extent_end":12149,"fully_qualified_name":"bufref_valid","ident_utf16":{"start":{"line_number":424,"utf16_col":0},"end":{"line_number":424,"utf16_col":12}},"extent_utf16":{"start":{"line_number":424,"utf16_col":0},"end":{"line_number":424,"utf16_col":30}}},{"name":"buf_valid","kind":"function","ident_start":12460,"ident_end":12469,"extent_start":12460,"extent_end":12481,"fully_qualified_name":"buf_valid","ident_utf16":{"start":{"line_number":436,"utf16_col":0},"end":{"line_number":436,"utf16_col":9}},"extent_utf16":{"start":{"line_number":436,"utf16_col":0},"end":{"line_number":436,"utf16_col":21}}},{"name":"if","kind":"function","ident_start":12619,"ident_end":12621,"extent_start":12619,"extent_end":12633,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":443,"utf16_col":1},"end":{"line_number":443,"utf16_col":3}},"extent_utf16":{"start":{"line_number":443,"utf16_col":1},"end":{"line_number":443,"utf16_col":15}}},{"name":"buf_hashtab_add","kind":"function","ident_start":12790,"ident_end":12805,"extent_start":12790,"extent_end":12817,"fully_qualified_name":"buf_hashtab_add","ident_utf16":{"start":{"line_number":454,"utf16_col":0},"end":{"line_number":454,"utf16_col":15}},"extent_utf16":{"start":{"line_number":454,"utf16_col":0},"end":{"line_number":454,"utf16_col":27}}},{"name":"buf_hashtab_remove","kind":"function","ident_start":13001,"ident_end":13019,"extent_start":13001,"extent_end":13031,"fully_qualified_name":"buf_hashtab_remove","ident_utf16":{"start":{"line_number":462,"utf16_col":0},"end":{"line_number":462,"utf16_col":18}},"extent_utf16":{"start":{"line_number":462,"utf16_col":0},"end":{"line_number":462,"utf16_col":30}}},{"name":"can_unload_buffer","kind":"function","ident_start":13378,"ident_end":13395,"extent_start":13378,"extent_end":13407,"fully_qualified_name":"can_unload_buffer","ident_utf16":{"start":{"line_number":476,"utf16_col":0},"end":{"line_number":476,"utf16_col":17}},"extent_utf16":{"start":{"line_number":476,"utf16_col":0},"end":{"line_number":476,"utf16_col":29}}},{"name":"if","kind":"function","ident_start":13536,"ident_end":13538,"extent_start":13536,"extent_end":13560,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":485,"utf16_col":5},"end":{"line_number":485,"utf16_col":7}},"extent_utf16":{"start":{"line_number":485,"utf16_col":5},"end":{"line_number":485,"utf16_col":29}}},{"name":"buf_locked","kind":"function","ident_start":13859,"ident_end":13869,"extent_start":13859,"extent_end":13881,"fully_qualified_name":"buf_locked","ident_utf16":{"start":{"line_number":502,"utf16_col":0},"end":{"line_number":502,"utf16_col":10}},"extent_utf16":{"start":{"line_number":502,"utf16_col":0},"end":{"line_number":502,"utf16_col":22}}},{"name":"close_buffer","kind":"function","ident_start":14851,"ident_end":14863,"extent_start":14851,"extent_end":14995,"fully_qualified_name":"close_buffer","ident_utf16":{"start":{"line_number":530,"utf16_col":0},"end":{"line_number":530,"utf16_col":12}},"extent_utf16":{"start":{"line_number":530,"utf16_col":0},"end":{"line_number":535,"utf16_col":22}}},{"name":"buf_clear_file","kind":"function","ident_start":22925,"ident_end":22939,"extent_start":22925,"extent_end":22951,"fully_qualified_name":"buf_clear_file","ident_utf16":{"start":{"line_number":820,"utf16_col":0},"end":{"line_number":820,"utf16_col":14}},"extent_utf16":{"start":{"line_number":820,"utf16_col":0},"end":{"line_number":820,"utf16_col":26}}},{"name":"buf_freeall","kind":"function","ident_start":23752,"ident_end":23763,"extent_start":23752,"extent_end":23786,"fully_qualified_name":"buf_freeall","ident_utf16":{"start":{"line_number":848,"utf16_col":0},"end":{"line_number":848,"utf16_col":11}},"extent_utf16":{"start":{"line_number":848,"utf16_col":0},"end":{"line_number":848,"utf16_col":34}}},{"name":"free_buffer","kind":"function","ident_start":26827,"ident_end":26838,"extent_start":26827,"extent_end":26850,"fully_qualified_name":"free_buffer","ident_utf16":{"start":{"line_number":953,"utf16_col":0},"end":{"line_number":953,"utf16_col":11}},"extent_utf16":{"start":{"line_number":953,"utf16_col":0},"end":{"line_number":953,"utf16_col":23}}},{"name":"init_changedtick","kind":"function","ident_start":28171,"ident_end":28187,"extent_start":28171,"extent_end":28199,"fully_qualified_name":"init_changedtick","ident_utf16":{"start":{"line_number":1016,"utf16_col":0},"end":{"line_number":1016,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1016,"utf16_col":0},"end":{"line_number":1016,"utf16_col":28}}},{"name":"clear_wininfo","kind":"function","ident_start":28583,"ident_end":28596,"extent_start":28583,"extent_end":28608,"fully_qualified_name":"clear_wininfo","ident_utf16":{"start":{"line_number":1035,"utf16_col":0},"end":{"line_number":1035,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1035,"utf16_col":0},"end":{"line_number":1035,"utf16_col":25}}},{"name":"free_buffer_stuff","kind":"function","ident_start":28852,"ident_end":28869,"extent_start":28852,"extent_end":28909,"fully_qualified_name":"free_buffer_stuff","ident_utf16":{"start":{"line_number":1051,"utf16_col":0},"end":{"line_number":1051,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1051,"utf16_col":0},"end":{"line_number":1053,"utf16_col":22}}},{"name":"free_wininfo","kind":"function","ident_start":29883,"ident_end":29895,"extent_start":29883,"extent_end":29911,"fully_qualified_name":"free_wininfo","ident_utf16":{"start":{"line_number":1093,"utf16_col":0},"end":{"line_number":1093,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1093,"utf16_col":0},"end":{"line_number":1093,"utf16_col":28}}},{"name":"goto_buffer","kind":"function","ident_start":30150,"ident_end":30161,"extent_start":30150,"extent_end":30226,"fully_qualified_name":"goto_buffer","ident_utf16":{"start":{"line_number":1109,"utf16_col":0},"end":{"line_number":1109,"utf16_col":11}},"extent_utf16":{"start":{"line_number":1109,"utf16_col":0},"end":{"line_number":1113,"utf16_col":15}}},{"name":"handle_swap_exists","kind":"function","ident_start":31601,"ident_end":31619,"extent_start":31601,"extent_end":31641,"fully_qualified_name":"handle_swap_exists","ident_utf16":{"start":{"line_number":1171,"utf16_col":0},"end":{"line_number":1171,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1171,"utf16_col":0},"end":{"line_number":1171,"utf16_col":40}}},{"name":"empty_curbuf","kind":"function","ident_start":33948,"ident_end":33960,"extent_start":33948,"extent_end":34016,"fully_qualified_name":"empty_curbuf","ident_utf16":{"start":{"line_number":1257,"utf16_col":0},"end":{"line_number":1257,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1257,"utf16_col":0},"end":{"line_number":1260,"utf16_col":15}}},{"name":"do_buffer_ext","kind":"function","ident_start":35560,"ident_end":35573,"extent_start":35560,"extent_end":35716,"fully_qualified_name":"do_buffer_ext","ident_utf16":{"start":{"line_number":1309,"utf16_col":0},"end":{"line_number":1309,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1309,"utf16_col":0},"end":{"line_number":1314,"utf16_col":15}}},{"name":"if","kind":"function","ident_start":39740,"ident_end":39742,"extent_start":39740,"extent_end":39768,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":1485,"utf16_col":5},"end":{"line_number":1485,"utf16_col":7}},"extent_utf16":{"start":{"line_number":1485,"utf16_col":5},"end":{"line_number":1485,"utf16_col":33}}},{"name":"if","kind":"function","ident_start":42971,"ident_end":42973,"extent_start":42971,"extent_end":43025,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":1596,"utf16_col":2},"end":{"line_number":1596,"utf16_col":4}},"extent_utf16":{"start":{"line_number":1596,"utf16_col":2},"end":{"line_number":1596,"utf16_col":56}}},{"name":"bt_quickfix","kind":"function","ident_start":43008,"ident_end":43019,"extent_start":43008,"extent_end":43024,"fully_qualified_name":"bt_quickfix","ident_utf16":{"start":{"line_number":1596,"utf16_col":39},"end":{"line_number":1596,"utf16_col":50}},"extent_utf16":{"start":{"line_number":1596,"utf16_col":39},"end":{"line_number":1596,"utf16_col":55}}},{"name":"do_buffer","kind":"function","ident_start":44988,"ident_end":44997,"extent_start":44988,"extent_end":45142,"fully_qualified_name":"do_buffer","ident_utf16":{"start":{"line_number":1690,"utf16_col":0},"end":{"line_number":1690,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1690,"utf16_col":0},"end":{"line_number":1695,"utf16_col":17}}},{"name":"do_bufdel","kind":"function","ident_start":45686,"ident_end":45695,"extent_start":45686,"extent_end":45915,"fully_qualified_name":"do_bufdel","ident_utf16":{"start":{"line_number":1715,"utf16_col":0},"end":{"line_number":1715,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1715,"utf16_col":0},"end":{"line_number":1721,"utf16_col":17}}},{"name":"set_curbuf","kind":"function","ident_start":48547,"ident_end":48557,"extent_start":48547,"extent_end":48581,"fully_qualified_name":"set_curbuf","ident_utf16":{"start":{"line_number":1823,"utf16_col":0},"end":{"line_number":1823,"utf16_col":10}},"extent_utf16":{"start":{"line_number":1823,"utf16_col":0},"end":{"line_number":1823,"utf16_col":34}}},{"name":"enter_buffer","kind":"function","ident_start":51743,"ident_end":51755,"extent_start":51743,"extent_end":51767,"fully_qualified_name":"enter_buffer","ident_utf16":{"start":{"line_number":1926,"utf16_col":0},"end":{"line_number":1926,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1926,"utf16_col":0},"end":{"line_number":1926,"utf16_col":24}}},{"name":"clearFolding","kind":"function","ident_start":52286,"ident_end":52298,"extent_start":52286,"extent_end":52306,"fully_qualified_name":"clearFolding","ident_utf16":{"start":{"line_number":1948,"utf16_col":1},"end":{"line_number":1948,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1948,"utf16_col":1},"end":{"line_number":1948,"utf16_col":21}}},{"name":"do_autochdir","kind":"function","ident_start":54892,"ident_end":54904,"extent_start":54892,"extent_end":54910,"fully_qualified_name":"do_autochdir","ident_utf16":{"start":{"line_number":2043,"utf16_col":0},"end":{"line_number":2043,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2043,"utf16_col":0},"end":{"line_number":2043,"utf16_col":18}}},{"name":"no_write_message_buf","kind":"function","ident_start":55138,"ident_end":55158,"extent_start":55138,"extent_end":55177,"fully_qualified_name":"no_write_message_buf","ident_utf16":{"start":{"line_number":2056,"utf16_col":0},"end":{"line_number":2056,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2056,"utf16_col":0},"end":{"line_number":2056,"utf16_col":39}}},{"name":"no_write_message","kind":"function","ident_start":55414,"ident_end":55430,"extent_start":55414,"extent_end":55436,"fully_qualified_name":"no_write_message","ident_utf16":{"start":{"line_number":2068,"utf16_col":0},"end":{"line_number":2068,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2068,"utf16_col":0},"end":{"line_number":2068,"utf16_col":22}}},{"name":"no_write_message_nobang","kind":"function","ident_start":55646,"ident_end":55669,"extent_start":55646,"extent_end":55688,"fully_qualified_name":"no_write_message_nobang","ident_utf16":{"start":{"line_number":2079,"utf16_col":0},"end":{"line_number":2079,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2079,"utf16_col":0},"end":{"line_number":2079,"utf16_col":42}}},{"name":"curbuf_reusable","kind":"function","ident_start":56040,"ident_end":56055,"extent_start":56040,"extent_end":56061,"fully_qualified_name":"curbuf_reusable","ident_utf16":{"start":{"line_number":2098,"utf16_col":0},"end":{"line_number":2098,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2098,"utf16_col":0},"end":{"line_number":2098,"utf16_col":21}}},{"name":"buflist_new","kind":"function","ident_start":56982,"ident_end":56993,"extent_start":56982,"extent_end":57160,"fully_qualified_name":"buflist_new","ident_utf16":{"start":{"line_number":2122,"utf16_col":0},"end":{"line_number":2122,"utf16_col":11}},"extent_utf16":{"start":{"line_number":2122,"utf16_col":0},"end":{"line_number":2126,"utf16_col":15}}},{"name":"free_buf_options","kind":"function","ident_start":63566,"ident_end":63582,"extent_start":63566,"extent_end":63619,"fully_qualified_name":"free_buf_options","ident_utf16":{"start":{"line_number":2385,"utf16_col":0},"end":{"line_number":2385,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2385,"utf16_col":0},"end":{"line_number":2387,"utf16_col":19}}},{"name":"buflist_getfile","kind":"function","ident_start":67507,"ident_end":67522,"extent_start":67507,"extent_end":67590,"fully_qualified_name":"buflist_getfile","ident_utf16":{"start":{"line_number":2512,"utf16_col":0},"end":{"line_number":2512,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2512,"utf16_col":0},"end":{"line_number":2516,"utf16_col":17}}},{"name":"buflist_getfpos","kind":"function","ident_start":69305,"ident_end":69320,"extent_start":69305,"extent_end":69326,"fully_qualified_name":"buflist_getfpos","ident_utf16":{"start":{"line_number":2594,"utf16_col":0},"end":{"line_number":2594,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2594,"utf16_col":0},"end":{"line_number":2594,"utf16_col":21}}},{"name":"buflist_findname_exp","kind":"function","ident_start":69759,"ident_end":69779,"extent_start":69759,"extent_end":69794,"fully_qualified_name":"buflist_findname_exp","ident_utf16":{"start":{"line_number":2619,"utf16_col":0},"end":{"line_number":2619,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2619,"utf16_col":0},"end":{"line_number":2619,"utf16_col":35}}},{"name":"buflist_findname","kind":"function","ident_start":70318,"ident_end":70334,"extent_start":70318,"extent_end":70350,"fully_qualified_name":"buflist_findname","ident_utf16":{"start":{"line_number":2647,"utf16_col":0},"end":{"line_number":2647,"utf16_col":16}},"extent_utf16":{"start":{"line_number":2647,"utf16_col":0},"end":{"line_number":2647,"utf16_col":32}}},{"name":"buflist_findname_stat","kind":"function","ident_start":70661,"ident_end":70682,"extent_start":70661,"extent_end":70720,"fully_qualified_name":"buflist_findname_stat","ident_utf16":{"start":{"line_number":2663,"utf16_col":0},"end":{"line_number":2663,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2663,"utf16_col":0},"end":{"line_number":2665,"utf16_col":16}}},{"name":"if","kind":"function","ident_start":70844,"ident_end":70846,"extent_start":70844,"extent_end":70873,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":2672,"utf16_col":1},"end":{"line_number":2672,"utf16_col":3}},"extent_utf16":{"start":{"line_number":2672,"utf16_col":1},"end":{"line_number":2672,"utf16_col":30}}},{"name":"buflist_findpat","kind":"function","ident_start":71111,"ident_end":71126,"extent_start":71111,"extent_end":71335,"fully_qualified_name":"buflist_findpat","ident_utf16":{"start":{"line_number":2687,"utf16_col":0},"end":{"line_number":2687,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2687,"utf16_col":0},"end":{"line_number":2692,"utf16_col":21}}},{"name":"if","kind":"function","ident_start":73580,"ident_end":73582,"extent_start":73580,"extent_end":73604,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":2773,"utf16_col":4},"end":{"line_number":2773,"utf16_col":6}},"extent_utf16":{"start":{"line_number":2773,"utf16_col":4},"end":{"line_number":2773,"utf16_col":28}}},{"name":"bufmatch_T","kind":"type","ident_start":74354,"ident_end":74364,"extent_start":74297,"extent_end":74365,"fully_qualified_name":"bufmatch_T","ident_utf16":{"start":{"line_number":2813,"utf16_col":2},"end":{"line_number":2813,"utf16_col":12}},"extent_utf16":{"start":{"line_number":2810,"utf16_col":0},"end":{"line_number":2813,"utf16_col":13}}},{"name":"ExpandBufnames","kind":"function","ident_start":74526,"ident_end":74540,"extent_start":74526,"extent_end":74616,"fully_qualified_name":"ExpandBufnames","ident_utf16":{"start":{"line_number":2822,"utf16_col":0},"end":{"line_number":2822,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2822,"utf16_col":0},"end":{"line_number":2826,"utf16_col":17}}},{"name":"buflist_match","kind":"function","ident_start":78620,"ident_end":78633,"extent_start":78620,"extent_end":78693,"fully_qualified_name":"buflist_match","ident_utf16":{"start":{"line_number":3028,"utf16_col":0},"end":{"line_number":3028,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3028,"utf16_col":0},"end":{"line_number":3031,"utf16_col":21}}},{"name":"fname_match","kind":"function","ident_start":79231,"ident_end":79242,"extent_start":79231,"extent_end":79304,"fully_qualified_name":"fname_match","ident_utf16":{"start":{"line_number":3049,"utf16_col":0},"end":{"line_number":3049,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3049,"utf16_col":0},"end":{"line_number":3052,"utf16_col":21}}},{"name":"buflist_findnr","kind":"function","ident_start":79973,"ident_end":79987,"extent_start":79973,"extent_end":79995,"fully_qualified_name":"buflist_findnr","ident_utf16":{"start":{"line_number":3081,"utf16_col":0},"end":{"line_number":3081,"utf16_col":14}},"extent_utf16":{"start":{"line_number":3081,"utf16_col":0},"end":{"line_number":3081,"utf16_col":22}}},{"name":"buflist_nr2name","kind":"function","ident_start":80569,"ident_end":80584,"extent_start":80569,"extent_end":80635,"fully_qualified_name":"buflist_nr2name","ident_utf16":{"start":{"line_number":3104,"utf16_col":0},"end":{"line_number":3104,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3104,"utf16_col":0},"end":{"line_number":3107,"utf16_col":18}}},{"name":"buflist_setfpos","kind":"function","ident_start":81060,"ident_end":81075,"extent_start":81060,"extent_end":81200,"fully_qualified_name":"buflist_setfpos","ident_utf16":{"start":{"line_number":3124,"utf16_col":0},"end":{"line_number":3124,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3124,"utf16_col":0},"end":{"line_number":3129,"utf16_col":22}}},{"name":"wininfo_other_tab_diff","kind":"function","ident_start":82663,"ident_end":82685,"extent_start":82663,"extent_end":82701,"fully_qualified_name":"wininfo_other_tab_diff","ident_utf16":{"start":{"line_number":3195,"utf16_col":0},"end":{"line_number":3195,"utf16_col":22}},"extent_utf16":{"start":{"line_number":3195,"utf16_col":0},"end":{"line_number":3195,"utf16_col":38}}},{"name":"if","kind":"function","ident_start":82894,"ident_end":82896,"extent_start":82894,"extent_end":82916,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":3205,"utf16_col":1},"end":{"line_number":3205,"utf16_col":3}},"extent_utf16":{"start":{"line_number":3205,"utf16_col":1},"end":{"line_number":3205,"utf16_col":23}}},{"name":"find_wininfo","kind":"function","ident_start":83324,"ident_end":83336,"extent_start":83324,"extent_end":83410,"fully_qualified_name":"find_wininfo","ident_utf16":{"start":{"line_number":3220,"utf16_col":0},"end":{"line_number":3220,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3220,"utf16_col":0},"end":{"line_number":3223,"utf16_col":33}}},{"name":"get_winopts","kind":"function","ident_start":84524,"ident_end":84535,"extent_start":84524,"extent_end":84547,"fully_qualified_name":"get_winopts","ident_utf16":{"start":{"line_number":3267,"utf16_col":0},"end":{"line_number":3267,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3267,"utf16_col":0},"end":{"line_number":3267,"utf16_col":23}}},{"name":"buflist_findfpos","kind":"function","ident_start":86002,"ident_end":86018,"extent_start":86002,"extent_end":86030,"fully_qualified_name":"buflist_findfpos","ident_utf16":{"start":{"line_number":3320,"utf16_col":0},"end":{"line_number":3320,"utf16_col":16}},"extent_utf16":{"start":{"line_number":3320,"utf16_col":0},"end":{"line_number":3320,"utf16_col":28}}},{"name":"buflist_findlnum","kind":"function","ident_start":86301,"ident_end":86317,"extent_start":86301,"extent_end":86329,"fully_qualified_name":"buflist_findlnum","ident_utf16":{"start":{"line_number":3336,"utf16_col":0},"end":{"line_number":3336,"utf16_col":16}},"extent_utf16":{"start":{"line_number":3336,"utf16_col":0},"end":{"line_number":3336,"utf16_col":28}}},{"name":"buflist_list","kind":"function","ident_start":86455,"ident_end":86467,"extent_start":86455,"extent_end":86481,"fully_qualified_name":"buflist_list","ident_utf16":{"start":{"line_number":3345,"utf16_col":0},"end":{"line_number":3345,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3345,"utf16_col":0},"end":{"line_number":3345,"utf16_col":26}}},{"name":"buflist_name_nr","kind":"function","ident_start":90400,"ident_end":90415,"extent_start":90400,"extent_end":90471,"fully_qualified_name":"buflist_name_nr","ident_utf16":{"start":{"line_number":3483,"utf16_col":0},"end":{"line_number":3483,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3483,"utf16_col":0},"end":{"line_number":3486,"utf16_col":19}}},{"name":"setfname","kind":"function","ident_start":90930,"ident_end":90938,"extent_start":90930,"extent_end":91021,"fully_qualified_name":"setfname","ident_utf16":{"start":{"line_number":3508,"utf16_col":0},"end":{"line_number":3508,"utf16_col":8}},"extent_utf16":{"start":{"line_number":3508,"utf16_col":0},"end":{"line_number":3512,"utf16_col":17}}},{"name":"buf_set_name","kind":"function","ident_start":93339,"ident_end":93351,"extent_start":93339,"extent_end":93375,"fully_qualified_name":"buf_set_name","ident_utf16":{"start":{"line_number":3615,"utf16_col":0},"end":{"line_number":3615,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3615,"utf16_col":0},"end":{"line_number":3615,"utf16_col":36}}},{"name":"buf_name_changed","kind":"function","ident_start":93903,"ident_end":93919,"extent_start":93903,"extent_end":93931,"fully_qualified_name":"buf_name_changed","ident_utf16":{"start":{"line_number":3639,"utf16_col":0},"end":{"line_number":3639,"utf16_col":16}},"extent_utf16":{"start":{"line_number":3639,"utf16_col":0},"end":{"line_number":3639,"utf16_col":28}}},{"name":"setaltfname","kind":"function","ident_start":94597,"ident_end":94608,"extent_start":94597,"extent_end":94668,"fully_qualified_name":"setaltfname","ident_utf16":{"start":{"line_number":3667,"utf16_col":0},"end":{"line_number":3667,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3667,"utf16_col":0},"end":{"line_number":3670,"utf16_col":18}}},{"name":"getaltfname","kind":"function","ident_start":95063,"ident_end":95074,"extent_start":95063,"extent_end":95092,"fully_qualified_name":"getaltfname","ident_utf16":{"start":{"line_number":3686,"utf16_col":0},"end":{"line_number":3686,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3686,"utf16_col":0},"end":{"line_number":3687,"utf16_col":16}}},{"name":"buflist_add","kind":"function","ident_start":95480,"ident_end":95491,"extent_start":95480,"extent_end":95517,"fully_qualified_name":"buflist_add","ident_utf16":{"start":{"line_number":3708,"utf16_col":0},"end":{"line_number":3708,"utf16_col":11}},"extent_utf16":{"start":{"line_number":3708,"utf16_col":0},"end":{"line_number":3708,"utf16_col":37}}},{"name":"buflist_slash_adjust","kind":"function","ident_start":95790,"ident_end":95810,"extent_start":95790,"extent_end":95816,"fully_qualified_name":"buflist_slash_adjust","ident_utf16":{"start":{"line_number":3723,"utf16_col":0},"end":{"line_number":3723,"utf16_col":20}},"extent_utf16":{"start":{"line_number":3723,"utf16_col":0},"end":{"line_number":3723,"utf16_col":26}}},{"name":"buflist_altfpos","kind":"function","ident_start":96136,"ident_end":96151,"extent_start":96136,"extent_end":96163,"fully_qualified_name":"buflist_altfpos","ident_utf16":{"start":{"line_number":3742,"utf16_col":0},"end":{"line_number":3742,"utf16_col":15}},"extent_utf16":{"start":{"line_number":3742,"utf16_col":0},"end":{"line_number":3742,"utf16_col":27}}},{"name":"otherfile","kind":"function","ident_start":96389,"ident_end":96398,"extent_start":96389,"extent_end":96414,"fully_qualified_name":"otherfile","ident_utf16":{"start":{"line_number":3752,"utf16_col":0},"end":{"line_number":3752,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3752,"utf16_col":0},"end":{"line_number":3752,"utf16_col":25}}},{"name":"otherfile_buf","kind":"function","ident_start":96514,"ident_end":96527,"extent_start":96514,"extent_end":96609,"fully_qualified_name":"otherfile_buf","ident_utf16":{"start":{"line_number":3762,"utf16_col":0},"end":{"line_number":3762,"utf16_col":13}},"extent_utf16":{"start":{"line_number":3762,"utf16_col":0},"end":{"line_number":3768,"utf16_col":5}}},{"name":"buf_setino","kind":"function","ident_start":97821,"ident_end":97831,"extent_start":97821,"extent_end":97843,"fully_qualified_name":"buf_setino","ident_utf16":{"start":{"line_number":3812,"utf16_col":0},"end":{"line_number":3812,"utf16_col":10}},"extent_utf16":{"start":{"line_number":3812,"utf16_col":0},"end":{"line_number":3812,"utf16_col":22}}},{"name":"buf_same_ino","kind":"function","ident_start":98147,"ident_end":98159,"extent_start":98147,"extent_end":98193,"fully_qualified_name":"buf_same_ino","ident_utf16":{"start":{"line_number":3830,"utf16_col":0},"end":{"line_number":3830,"utf16_col":12}},"extent_utf16":{"start":{"line_number":3830,"utf16_col":0},"end":{"line_number":3832,"utf16_col":16}}},{"name":"fileinfo","kind":"function","ident_start":98361,"ident_end":98369,"extent_start":98361,"extent_end":98467,"fully_qualified_name":"fileinfo","ident_utf16":{"start":{"line_number":3844,"utf16_col":0},"end":{"line_number":3844,"utf16_col":8}},"extent_utf16":{"start":{"line_number":3844,"utf16_col":0},"end":{"line_number":3847,"utf16_col":22}}},{"name":"col_print","kind":"function","ident_start":101587,"ident_end":101596,"extent_start":101587,"extent_end":101670,"fully_qualified_name":"col_print","ident_utf16":{"start":{"line_number":3951,"utf16_col":0},"end":{"line_number":3951,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3951,"utf16_col":0},"end":{"line_number":3955,"utf16_col":17}}},{"name":"maketitle","kind":"function","ident_start":101962,"ident_end":101971,"extent_start":101962,"extent_end":101977,"fully_qualified_name":"maketitle","ident_utf16":{"start":{"line_number":3970,"utf16_col":0},"end":{"line_number":3970,"utf16_col":9}},"extent_utf16":{"start":{"line_number":3970,"utf16_col":0},"end":{"line_number":3970,"utf16_col":15}}},{"name":"SPACE_FOR_FNAME","kind":"macro","ident_start":102882,"ident_end":102897,"extent_start":102874,"extent_end":102913,"fully_qualified_name":"SPACE_FOR_FNAME","ident_utf16":{"start":{"line_number":4017,"utf16_col":8},"end":{"line_number":4017,"utf16_col":23}},"extent_utf16":{"start":{"line_number":4017,"utf16_col":0},"end":{"line_number":4018,"utf16_col":0}}},{"name":"SPACE_FOR_DIR","kind":"macro","ident_start":102921,"ident_end":102934,"extent_start":102913,"extent_end":102951,"fully_qualified_name":"SPACE_FOR_DIR","ident_utf16":{"start":{"line_number":4018,"utf16_col":8},"end":{"line_number":4018,"utf16_col":21}},"extent_utf16":{"start":{"line_number":4018,"utf16_col":0},"end":{"line_number":4019,"utf16_col":0}}},{"name":"SPACE_FOR_ARGNR","kind":"macro","ident_start":102959,"ident_end":102974,"extent_start":102951,"extent_end":103020,"fully_qualified_name":"SPACE_FOR_ARGNR","ident_utf16":{"start":{"line_number":4019,"utf16_col":8},"end":{"line_number":4019,"utf16_col":23}},"extent_utf16":{"start":{"line_number":4019,"utf16_col":0},"end":{"line_number":4020,"utf16_col":0}}},{"name":"if","kind":"function","ident_start":103148,"ident_end":103150,"extent_start":103148,"extent_end":103175,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":4023,"utf16_col":10},"end":{"line_number":4023,"utf16_col":12}},"extent_utf16":{"start":{"line_number":4023,"utf16_col":10},"end":{"line_number":4023,"utf16_col":37}}},{"name":"value_changed","kind":"function","ident_start":106365,"ident_end":106378,"extent_start":106365,"extent_end":106406,"fully_qualified_name":"value_changed","ident_utf16":{"start":{"line_number":4165,"utf16_col":0},"end":{"line_number":4165,"utf16_col":13}},"extent_utf16":{"start":{"line_number":4165,"utf16_col":0},"end":{"line_number":4165,"utf16_col":41}}},{"name":"resettitle","kind":"function","ident_start":106840,"ident_end":106850,"extent_start":106840,"extent_end":106856,"fully_qualified_name":"resettitle","ident_utf16":{"start":{"line_number":4190,"utf16_col":0},"end":{"line_number":4190,"utf16_col":10}},"extent_utf16":{"start":{"line_number":4190,"utf16_col":0},"end":{"line_number":4190,"utf16_col":16}}},{"name":"free_titles","kind":"function","ident_start":106951,"ident_end":106962,"extent_start":106951,"extent_end":106968,"fully_qualified_name":"free_titles","ident_utf16":{"start":{"line_number":4197,"utf16_col":0},"end":{"line_number":4197,"utf16_col":11}},"extent_utf16":{"start":{"line_number":4197,"utf16_col":0},"end":{"line_number":4197,"utf16_col":17}}},{"name":"stl_item_T","kind":"type","ident_start":107331,"ident_end":107341,"extent_start":107154,"extent_end":107342,"fully_qualified_name":"stl_item_T","ident_utf16":{"start":{"line_number":4224,"utf16_col":2},"end":{"line_number":4224,"utf16_col":12}},"extent_utf16":{"start":{"line_number":4210,"utf16_col":0},"end":{"line_number":4224,"utf16_col":13}}},{"name":"build_stl_str_hl","kind":"function","ident_start":108195,"ident_end":108211,"extent_start":108195,"extent_end":108574,"fully_qualified_name":"build_stl_str_hl","ident_utf16":{"start":{"line_number":4248,"utf16_col":0},"end":{"line_number":4248,"utf16_col":16}},"extent_utf16":{"start":{"line_number":4248,"utf16_col":0},"end":{"line_number":4258,"utf16_col":25}}},{"name":"TMPLEN","kind":"macro","ident_start":109292,"ident_end":109298,"extent_start":109284,"extent_end":109302,"fully_qualified_name":"TMPLEN","ident_utf16":{"start":{"line_number":4296,"utf16_col":8},"end":{"line_number":4296,"utf16_col":14}},"extent_utf16":{"start":{"line_number":4296,"utf16_col":0},"end":{"line_number":4297,"utf16_col":0}}},{"name":"get_rel_pos","kind":"function","ident_start":133087,"ident_end":133098,"extent_start":133087,"extent_end":133148,"fully_qualified_name":"get_rel_pos","ident_utf16":{"start":{"line_number":5276,"utf16_col":0},"end":{"line_number":5276,"utf16_col":11}},"extent_utf16":{"start":{"line_number":5276,"utf16_col":0},"end":{"line_number":5279,"utf16_col":16}}},{"name":"append_arg_number","kind":"function","ident_start":134423,"ident_end":134440,"extent_start":134423,"extent_end":134509,"fully_qualified_name":"append_arg_number","ident_utf16":{"start":{"line_number":5325,"utf16_col":0},"end":{"line_number":5325,"utf16_col":17}},"extent_utf16":{"start":{"line_number":5325,"utf16_col":0},"end":{"line_number":5329,"utf16_col":18}}},{"name":"fix_fname","kind":"function","ident_start":135193,"ident_end":135202,"extent_start":135193,"extent_end":135218,"fully_qualified_name":"fix_fname","ident_utf16":{"start":{"line_number":5354,"utf16_col":0},"end":{"line_number":5354,"utf16_col":9}},"extent_utf16":{"start":{"line_number":5354,"utf16_col":0},"end":{"line_number":5354,"utf16_col":25}}},{"name":"fname_expand","kind":"function","ident_start":136594,"ident_end":136606,"extent_start":136594,"extent_end":136672,"fully_qualified_name":"fname_expand","ident_utf16":{"start":{"line_number":5399,"utf16_col":0},"end":{"line_number":5399,"utf16_col":12}},"extent_utf16":{"start":{"line_number":5399,"utf16_col":0},"end":{"line_number":5402,"utf16_col":20}}},{"name":"ex_buffer_all","kind":"function","ident_start":137250,"ident_end":137263,"extent_start":137250,"extent_end":137277,"fully_qualified_name":"ex_buffer_all","ident_utf16":{"start":{"line_number":5431,"utf16_col":0},"end":{"line_number":5431,"utf16_col":13}},"extent_utf16":{"start":{"line_number":5431,"utf16_col":0},"end":{"line_number":5431,"utf16_col":27}}},{"name":"if","kind":"function","ident_start":139945,"ident_end":139947,"extent_start":139945,"extent_end":139969,"fully_qualified_name":"if","ident_utf16":{"start":{"line_number":5530,"utf16_col":2},"end":{"line_number":5530,"utf16_col":4}},"extent_utf16":{"start":{"line_number":5530,"utf16_col":2},"end":{"line_number":5530,"utf16_col":26}}},{"name":"chk_modeline","kind":"function","ident_start":142327,"ident_end":142339,"extent_start":142327,"extent_end":142354,"fully_qualified_name":"chk_modeline","ident_utf16":{"start":{"line_number":5635,"utf16_col":12},"end":{"line_number":5635,"utf16_col":24}},"extent_utf16":{"start":{"line_number":5635,"utf16_col":12},"end":{"line_number":5635,"utf16_col":39}}},{"name":"do_modelines","kind":"function","ident_start":142614,"ident_end":142626,"extent_start":142614,"extent_end":142637,"fully_qualified_name":"do_modelines","ident_utf16":{"start":{"line_number":5647,"utf16_col":0},"end":{"line_number":5647,"utf16_col":12}},"extent_utf16":{"start":{"line_number":5647,"utf16_col":0},"end":{"line_number":5647,"utf16_col":23}}},{"name":"chk_modeline","kind":"function","ident_start":143529,"ident_end":143541,"extent_start":143529,"extent_end":143577,"fully_qualified_name":"chk_modeline","ident_utf16":{"start":{"line_number":5681,"utf16_col":0},"end":{"line_number":5681,"utf16_col":12}},"extent_utf16":{"start":{"line_number":5681,"utf16_col":0},"end":{"line_number":5683,"utf16_col":15}}},{"name":"bt_normal","kind":"function","ident_start":146552,"ident_end":146561,"extent_start":146552,"extent_end":146573,"fully_qualified_name":"bt_normal","ident_utf16":{"start":{"line_number":5809,"utf16_col":0},"end":{"line_number":5809,"utf16_col":9}},"extent_utf16":{"start":{"line_number":5809,"utf16_col":0},"end":{"line_number":5809,"utf16_col":21}}},{"name":"bt_quickfix","kind":"function","ident_start":146691,"ident_end":146702,"extent_start":146691,"extent_end":146721,"fully_qualified_name":"bt_quickfix","ident_utf16":{"start":{"line_number":5818,"utf16_col":0},"end":{"line_number":5818,"utf16_col":11}},"extent_utf16":{"start":{"line_number":5818,"utf16_col":0},"end":{"line_number":5818,"utf16_col":30}}},{"name":"bt_terminal","kind":"function","ident_start":146907,"ident_end":146918,"extent_start":146907,"extent_end":146937,"fully_qualified_name":"bt_terminal","ident_utf16":{"start":{"line_number":5831,"utf16_col":0},"end":{"line_number":5831,"utf16_col":11}},"extent_utf16":{"start":{"line_number":5831,"utf16_col":0},"end":{"line_number":5831,"utf16_col":30}}},{"name":"bt_help","kind":"function","ident_start":147107,"ident_end":147114,"extent_start":147107,"extent_end":147126,"fully_qualified_name":"bt_help","ident_utf16":{"start":{"line_number":5844,"utf16_col":0},"end":{"line_number":5844,"utf16_col":7}},"extent_utf16":{"start":{"line_number":5844,"utf16_col":0},"end":{"line_number":5844,"utf16_col":19}}},{"name":"bt_prompt","kind":"function","ident_start":147230,"ident_end":147239,"extent_start":147230,"extent_end":147251,"fully_qualified_name":"bt_prompt","ident_utf16":{"start":{"line_number":5853,"utf16_col":0},"end":{"line_number":5853,"utf16_col":9}},"extent_utf16":{"start":{"line_number":5853,"utf16_col":0},"end":{"line_number":5853,"utf16_col":21}}},{"name":"bt_popup","kind":"function","ident_start":147449,"ident_end":147457,"extent_start":147449,"extent_end":147469,"fully_qualified_name":"bt_popup","ident_utf16":{"start":{"line_number":5863,"utf16_col":0},"end":{"line_number":5863,"utf16_col":8}},"extent_utf16":{"start":{"line_number":5863,"utf16_col":0},"end":{"line_number":5863,"utf16_col":20}}},{"name":"bt_nofilename","kind":"function","ident_start":147771,"ident_end":147784,"extent_start":147771,"extent_end":147796,"fully_qualified_name":"bt_nofilename","ident_utf16":{"start":{"line_number":5876,"utf16_col":0},"end":{"line_number":5876,"utf16_col":13}},"extent_utf16":{"start":{"line_number":5876,"utf16_col":0},"end":{"line_number":5876,"utf16_col":25}}},{"name":"bt_nofileread","kind":"function","ident_start":148131,"ident_end":148144,"extent_start":148131,"extent_end":148156,"fully_qualified_name":"bt_nofileread","ident_utf16":{"start":{"line_number":5889,"utf16_col":0},"end":{"line_number":5889,"utf16_col":13}},"extent_utf16":{"start":{"line_number":5889,"utf16_col":0},"end":{"line_number":5889,"utf16_col":25}}},{"name":"bt_nofile","kind":"function","ident_start":148445,"ident_end":148454,"extent_start":148445,"extent_end":148466,"fully_qualified_name":"bt_nofile","ident_utf16":{"start":{"line_number":5902,"utf16_col":0},"end":{"line_number":5902,"utf16_col":9}},"extent_utf16":{"start":{"line_number":5902,"utf16_col":0},"end":{"line_number":5902,"utf16_col":21}}},{"name":"bt_dontwrite","kind":"function","ident_start":148662,"ident_end":148674,"extent_start":148662,"extent_end":148686,"fully_qualified_name":"bt_dontwrite","ident_utf16":{"start":{"line_number":5913,"utf16_col":0},"end":{"line_number":5913,"utf16_col":12}},"extent_utf16":{"start":{"line_number":5913,"utf16_col":0},"end":{"line_number":5913,"utf16_col":24}}},{"name":"bt_dontwrite_msg","kind":"function","ident_start":148807,"ident_end":148823,"extent_start":148807,"extent_end":148835,"fully_qualified_name":"bt_dontwrite_msg","ident_utf16":{"start":{"line_number":5921,"utf16_col":0},"end":{"line_number":5921,"utf16_col":16}},"extent_utf16":{"start":{"line_number":5921,"utf16_col":0},"end":{"line_number":5921,"utf16_col":28}}},{"name":"buf_hide","kind":"function","ident_start":149073,"ident_end":149081,"extent_start":149073,"extent_end":149093,"fully_qualified_name":"buf_hide","ident_utf16":{"start":{"line_number":5936,"utf16_col":0},"end":{"line_number":5936,"utf16_col":8}},"extent_utf16":{"start":{"line_number":5936,"utf16_col":0},"end":{"line_number":5936,"utf16_col":20}}},{"name":"buf_spname","kind":"function","ident_start":149500,"ident_end":149510,"extent_start":149500,"extent_end":149522,"fully_qualified_name":"buf_spname","ident_utf16":{"start":{"line_number":5954,"utf16_col":0},"end":{"line_number":5954,"utf16_col":10}},"extent_utf16":{"start":{"line_number":5954,"utf16_col":0},"end":{"line_number":5954,"utf16_col":22}}},{"name":"buf_get_fname","kind":"function","ident_start":150597,"ident_end":150610,"extent_start":150597,"extent_end":150622,"fully_qualified_name":"buf_get_fname","ident_utf16":{"start":{"line_number":6002,"utf16_col":0},"end":{"line_number":6002,"utf16_col":13}},"extent_utf16":{"start":{"line_number":6002,"utf16_col":0},"end":{"line_number":6002,"utf16_col":25}}},{"name":"set_buflisted","kind":"function","ident_start":150811,"ident_end":150824,"extent_start":150811,"extent_end":150832,"fully_qualified_name":"set_buflisted","ident_utf16":{"start":{"line_number":6013,"utf16_col":0},"end":{"line_number":6013,"utf16_col":13}},"extent_utf16":{"start":{"line_number":6013,"utf16_col":0},"end":{"line_number":6013,"utf16_col":21}}},{"name":"buf_contents_changed","kind":"function","ident_start":151185,"ident_end":151205,"extent_start":151185,"extent_end":151217,"fully_qualified_name":"buf_contents_changed","ident_utf16":{"start":{"line_number":6030,"utf16_col":0},"end":{"line_number":6030,"utf16_col":20}},"extent_utf16":{"start":{"line_number":6030,"utf16_col":0},"end":{"line_number":6030,"utf16_col":32}}},{"name":"wipe_buffer","kind":"function","ident_start":152864,"ident_end":152875,"extent_start":152864,"extent_end":152908,"fully_qualified_name":"wipe_buffer","ident_utf16":{"start":{"line_number":6098,"utf16_col":0},"end":{"line_number":6098,"utf16_col":11}},"extent_utf16":{"start":{"line_number":6098,"utf16_col":0},"end":{"line_number":6100,"utf16_col":15}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/vim/vim/branches":{"post":"hdlSggU1VUXA_WXlT3XdZd9uuiNnQVPz5f5rphEWzTHbu79wV2BJLJl2sKMGnPPf37LmVv3VtMLU0X7ihhgZQQ"},"/repos/preferences":{"post":"rs7PhwP5yvZlBfLvCpWo1fU57VKrzy6CbgCvakS4RjlpaftiuAXIBAxxb5agMzVqsU4l492rCM9r4X4gFGOAbw"}}},"title":"vim/src/buffer.c at master · vim/vim","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}</script> <div data-target="react-app.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.gISSDQ{width:100%;}/*!sc*/ @media screen and (min-width:544px){.gISSDQ{width:100%;}}/*!sc*/ @media screen and (min-width:768px){.gISSDQ{width:auto;}}/*!sc*/ .iHHOSp{min-width:0;display:none;}/*!sc*/ @media screen and (min-width:768px){.iHHOSp{height:100vh;max-height:100vh !important;}}/*!sc*/ @media print,screen and (max-width:1011px) and (min-width:768px){.iHHOSp{display:none;}}/*!sc*/ .bHLmSv{position:absolute;inset:0 -2px;cursor:col-resize;background-color:transparent;-webkit-transition-delay:0.1s;transition-delay:0.1s;}/*!sc*/ .bHLmSv:hover{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted,rgba(175,184,193,0.2)));}/*!sc*/ .gsfaIN{margin-right:auto;}/*!sc*/ @media print{.gsfaIN{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;}}/*!sc*/ .leYMvG{margin-left:auto;margin-right:auto;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:40px;max-width:100%;margin-top:0;}/*!sc*/ .KMPzq{display:inherit;}/*!sc*/ .hfKjHv{width:100%;}/*!sc*/ .gZWyZE{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;}/*!sc*/ .dwYKDk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;gap:8px;}/*!sc*/ .ibcGmb{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;min-width:0;}/*!sc*/ .hKaEJF{display:block;margin-right:8px;}/*!sc*/ @media screen and (min-width:1360px){.hKaEJF{display:block;}}/*!sc*/ .XosP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:14px;}/*!sc*/ .bCKfWo[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:8px;padding-right:8px;display:none;}/*!sc*/ @media screen and (max-width:768px){.bCKfWo[data-size="medium"]{display:block;}}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .dmxRgG[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .dmxRgG[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dmxRgG[data-size="medium"] > span{width:inherit;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dbrgmi{font-size:14px;min-width:0;max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .dHJiml{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;min-width:0;}/*!sc*/ .cEytCf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:16px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .fzFXnm{max-width:100%;}/*!sc*/ .iMnkmv{max-width:100%;list-style:none;display:inline-block;}/*!sc*/ .ghzDag{display:inline-block;max-width:100%;}/*!sc*/ .kHuKdh{font-weight:600;}/*!sc*/ .hzJBof{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:16px;}/*!sc*/ .kgiVEz{font-weight:400;}/*!sc*/ .jGhzSQ{font-weight:600;display:inline-block;max-width:100%;font-size:16px;}/*!sc*/ .faNtbn{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;}/*!sc*/ .fmQaBv{margin-left:4px;margin-right:4px;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .dwNhzn[data-size="medium"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;display:none;}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .dJxjrT{margin-left:16px;margin-right:16px;}/*!sc*/ .eFxKDQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .ldRxiI{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/ .fVkfyA{width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;min-width:0;margin-right:0;}/*!sc*/ .gNAmSV{height:40px;padding-left:4px;padding-bottom:16px;}/*!sc*/ .jNEwzY{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .bsDwxw{font-size:12px;-webkit-flex:auto;-ms-flex:auto;flex:auto;padding-right:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));min-width:0;}/*!sc*/ .jdLMhu{top:0px;z-index:4;background:var(--bgColor-default,var(--color-canvas-default));position:-webkit-sticky;position:sticky;}/*!sc*/ .tOISc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%;position:absolute;}/*!sc*/ .hqwSEx{display:none;min-width:0;padding-top:8px;padding-bottom:8px;}/*!sc*/ .bDVoEr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;margin-left:8px;margin-right:8px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:100%;}/*!sc*/ .kYLlPM{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .gYjEmn{margin-left:4px;margin-right:8px;}/*!sc*/ .kGqOLL{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .fHind{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:14px;min-width:0;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:100%;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .oDtgN{padding-left:4px;padding-right:4px;font-weight:400;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:14px;}/*!sc*/ .dnZoUW{font-weight:600;display:inline-block;max-width:100%;font-size:14px;}/*!sc*/ .jRZWlf[data-size="small"]{color:var(--fgColor-default,var(--color-fg-default,#1F2328));margin-left:8px;}/*!sc*/ .kTvpNk{padding-left:8px;padding-top:8px;padding-bottom:8px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));border:1px solid var(--borderColor-default,var(--color-border-default));border-radius:6px 6px 0px 0px;}/*!sc*/ .iNMjfP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:0;}/*!sc*/ .gtTaSn{font-size:14px;}/*!sc*/ .dXYHoy{--separator-color:transparent;}/*!sc*/ .jBWIdY{--separator-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .kcLCKF{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-right:8px;}/*!sc*/ .kVWtTz{gap:8px;}/*!sc*/ .gWqxTd{padding-left:8px;padding-right:8px;}/*!sc*/ .gWqxTd linkButtonSx:hover:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gWqxTd linkButtonSx:focus:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .gWqxTd linkButtonSx:active:not([disabled]){-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .ivobqY[data-size="small"][data-no-visuals]{border-top-left-radius:0;border-bottom-left-radius:0;}/*!sc*/ .heuRGy[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));position:relative;}/*!sc*/ .ffkqe[data-size="small"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hGyMdv{border:1px solid;border-top:none;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:0px 0px 6px 6px;min-width:273px;}/*!sc*/ .dceWRL{background-color:var(--bgColor-default,var(--color-canvas-default));border:0px;border-width:0;border-radius:0px 0px 6px 6px;padding:0;min-width:0;margin-top:46px;}/*!sc*/ .dGXHv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;padding-top:8px;padding-bottom:8px;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;min-width:0;position:relative;}/*!sc*/ .bpDFns{position:relative;}/*!sc*/ .iJOeCH{-webkit-flex:1;-ms-flex:1;flex:1;position:relative;min-width:0;}/*!sc*/ .jewUnv{tab-size:8;isolation:isolate;position:relative;overflow:auto;max-width:unset;}/*!sc*/ .cJGaMs{margin:1px 8px;position:absolute;z-index:1;}/*!sc*/ .iGLarr{position:absolute;}/*!sc*/ .gkZUDI{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ .cCoXib{position:fixed;top:0;right:0;height:100%;width:15px;-webkit-transition:-webkit-transform 0.3s;-webkit-transition:transform 0.3s;transition:transform 0.3s;z-index:1;}/*!sc*/ .cCoXib:hover{-webkit-transform:scaleX(1.5);-ms-transform:scaleX(1.5);transform:scaleX(1.5);}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"gISSDQ,iHHOSp,bHLmSv,gsfaIN,leYMvG,KMPzq,hfKjHv,gZWyZE,dwYKDk,ibcGmb,hKaEJF,XosP,bCKfWo,gUkoLg,dmxRgG,bZBlpz,lhTYNA,dbrgmi,bmcJak,dHJiml,cEytCf,fzFXnm,iMnkmv,ghzDag,kHuKdh,hzJBof,kgiVEz,jGhzSQ,faNtbn,fmQaBv,vcvyP,dwNhzn,fGwBZA,dJxjrT,eFxKDQ,dzCJzi,ldRxiI,fVkfyA,gNAmSV,jNEwzY,bsDwxw,jdLMhu,tOISc,hqwSEx,bDVoEr,kYLlPM,gYjEmn,kGqOLL,fHind,oDtgN,dnZoUW,jRZWlf,kTvpNk,iNMjfP,gtTaSn,dXYHoy,jBWIdY,kcLCKF,kVWtTz,gWqxTd,ivobqY,heuRGy,ffkqe,hGyMdv,dceWRL,dGXHv,bpDFns,iJOeCH,jewUnv,cJGaMs,iGLarr,gkZUDI,cCoXib,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g17[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .eAtkQz{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;max-width:100%;}/*!sc*/ data-styled.g19[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"eAtkQz,"}/*!sc*/ </style><meta data-hydrostats="publish"/> <!-- --> <!-- --> <button hidden="" data-testid="header-permalink-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div><div style="--sticky-pane-height:100vh;--spacing:var(--spacing-none)" class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutRoot-1zlEO"><div class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutWrapper-s2ao4" data-width="full"><div class="Box-sc-g0xbh4-0 prc-PageLayout-PageLayoutContent-jzDMn"><div tabindex="0" class="Box-sc-g0xbh4-0 gISSDQ"><div class="Box-sc-g0xbh4-0 iHHOSp prc-PageLayout-PaneWrapper-nGO0U" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="Box-sc-g0xbh4-0 prc-PageLayout-HorizontalDivider-CYLp5 prc-PageLayout-PaneHorizontalDivider-4exOb" data-variant="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-Pane-Vl5LI" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-VerticalDivider-4A4Qm prc-PageLayout-PaneVerticalDivider-1c9vy" data-variant="none" data-position="start" style="--spacing:var(--spacing-none)"><div role="slider" aria-label="Draggable pane splitter" aria-valuemin="0" aria-valuemax="0" aria-valuenow="0" aria-valuetext="Pane width 0 pixels" tabindex="0" class="Box-sc-g0xbh4-0 bHLmSv"></div></div></div></div><div class="Box-sc-g0xbh4-0 gsfaIN prc-PageLayout-ContentWrapper-b-QRo" data-is-hidden="false"><div class="Box-sc-g0xbh4-0"></div><div class="Box-sc-g0xbh4-0 prc-PageLayout-Content--F7-I" data-width="full" style="--spacing:var(--spacing-none)"><div data-selector="repos-split-pane-content" tabindex="0" class="Box-sc-g0xbh4-0 leYMvG"><div class="Box-sc-g0xbh4-0 KMPzq"><div class="Box-sc-g0xbh4-0 hfKjHv container"><div class="px-3 pt-3 pb-0" id="StickyHeader"><div class="Box-sc-g0xbh4-0 gZWyZE"><div class="Box-sc-g0xbh4-0 dwYKDk"><div class="Box-sc-g0xbh4-0 ibcGmb react-code-view-header-wrap--narrow"><div class="Box-sc-g0xbh4-0 hKaEJF"><h2 class="Box-sc-g0xbh4-0 XosP prc-Heading-Heading-6CmGO"><button style="--button-color:fg.muted" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="Box-sc-g0xbh4-0 bCKfWo prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rld9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Files</span></span></button><span role="tooltip" aria-label="Expand file tree" id="expand-button-file-tree-button" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-se"><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-c50BI position-relative ExpandFileTreeButton-module__expandButton--gL4is ExpandFileTreeButton-module__filesButtonBreakpoint--WfX9t fgColor-muted prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":R35d9lab:-loading-announcement" aria-labelledby="expand-button-file-tree-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 dmxRgG prc-Button-ButtonBase-c50BI ref-selector-class" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-wide-loading-announcement" id="branch-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 dHJiml react-code-view-header-mb--narrow"><div class="Box-sc-g0xbh4-0 cEytCf"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/vim/vim/tree/master">vim</a></li><li class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 hzJBof prc-Text-Text-0ima0" aria-hidden="true">/</span><a class="Box-sc-g0xbh4-0 kgiVEz prc-Link-Link-85e08" sx="[object Object]" href="/vim/vim/tree/master/src">src</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 hzJBof prc-Text-Text-0ima0" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 jGhzSQ prc-Heading-Heading-6CmGO" tabindex="-1" id="file-name-id">buffer.c</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-c50BI ml-2 prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby=":Rftd9lab:-loading-announcement" aria-labelledby=":R1td9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></button><span class="CopyToClipboardButton-module__tooltip--Dq1IB prc-TooltipV2-Tooltip-cYMVY" data-direction="nw" aria-label="Copy path" aria-hidden="true" id=":R1td9lab:">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <div><div class="Box-sc-g0xbh4-0 fmQaBv"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":Rb66d9lab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":Rb66d9lab: :Rb66d9labH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":Rb66d9labH1:" aria-hidden="true"></span></span></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="Box-sc-g0xbh4-0 dwNhzn prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R5a6d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R2a6d9lab:-loading-announcement" id=":R2a6d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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> </div></div></div><div class="react-code-view-header-element--narrow"><div class="Box-sc-g0xbh4-0 faNtbn"><div class="d-flex gap-2"> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><button type="button" class="Box-sc-g0xbh4-0 dwNhzn prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R5a7d9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Blame</span></span></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button data-component="IconButton" type="button" aria-label="More file actions" title="More file actions" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R2a7d9lab:-loading-announcement" id=":R2a7d9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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> </div></div></div></div></div></div></div></div><div class="Box-sc-g0xbh4-0 dJxjrT react-code-view-bottom-padding"> <div class="Box-sc-g0xbh4-0 eFxKDQ"></div> <!-- --> <!-- --> </div><div class="Box-sc-g0xbh4-0 dJxjrT"> <!-- --> <!-- --> <button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button><div class="d-flex flex-column border rounded-2 mb-3 pl-1"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/vim/vim/commits/master/src/buffer.c" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R5dlal9lab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="History" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/vim/vim/commits/master/src/buffer.c" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Rpdlal9lab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></span></span></a></span></div></div></div></div></div><div class="Box-sc-g0xbh4-0 ldRxiI"><div class="Box-sc-g0xbh4-0 fVkfyA container"><div class="Box-sc-g0xbh4-0 gNAmSV react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-banner"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="150 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>6113 lines (5583 loc) · 150 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 jdLMhu react-blob-view-header-sticky" id="repos-sticky-header"><div class="Box-sc-g0xbh4-0 tOISc"><div class="react-blob-sticky-header"><div class="Box-sc-g0xbh4-0 hqwSEx"><div class="Box-sc-g0xbh4-0 bDVoEr"><div class="Box-sc-g0xbh4-0 kYLlPM"><div class="Box-sc-g0xbh4-0 gYjEmn"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 dmxRgG prc-Button-ButtonBase-c50BI ref-selector-class" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 dbrgmi ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 kGqOLL"><div class="Box-sc-g0xbh4-0 fHind"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Box-sc-g0xbh4-0 fzFXnm"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Box-sc-g0xbh4-0 iMnkmv"><li class="Box-sc-g0xbh4-0 ghzDag"><a class="Box-sc-g0xbh4-0 kHuKdh prc-Link-Link-85e08" sx="[object Object]" data-testid="breadcrumbs-repo-link" href="/vim/vim/tree/master">vim</a></li><li class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 oDtgN prc-Text-Text-0ima0" aria-hidden="true">/</span><a class="Box-sc-g0xbh4-0 kgiVEz prc-Link-Link-85e08" sx="[object Object]" href="/vim/vim/tree/master/src">src</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Box-sc-g0xbh4-0 ghzDag"><span class="Box-sc-g0xbh4-0 oDtgN prc-Text-Text-0ima0" aria-hidden="true">/</span><h1 class="Box-sc-g0xbh4-0 dnZoUW prc-Heading-Heading-6CmGO" tabindex="-1" id="sticky-file-name-id">buffer.c</h1></div></div></div></div><button style="--button-color:fg.default" type="button" class="Box-sc-g0xbh4-0 jRZWlf prc-Button-ButtonBase-c50BI" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Riptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Top</span></span></button></div></div></div><div class="Box-sc-g0xbh4-0 kTvpNk"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">File metadata and controls</h2><div class="Box-sc-g0xbh4-0 iNMjfP"><ul aria-label="File view" class="Box-sc-g0xbh4-0 gtTaSn prc-SegmentedControl-SegmentedControl-e7570" data-size="small"><li class="Box-sc-g0xbh4-0 dXYHoy prc-SegmentedControl-Item-7Aq6h" data-selected="true"><button aria-current="true" class="prc-SegmentedControl-Button-ojWXD" type="button"><span class="prc-SegmentedControl-Content-gnQ4n"><div class="Box-sc-g0xbh4-0 prc-SegmentedControl-Text-c5gSh" data-text="Code">Code</div></span></button></li><li class="Box-sc-g0xbh4-0 jBWIdY prc-SegmentedControl-Item-7Aq6h"><button aria-current="false" class="prc-SegmentedControl-Button-ojWXD" type="button"><span class="prc-SegmentedControl-Content-gnQ4n"><div class="Box-sc-g0xbh4-0 prc-SegmentedControl-Text-c5gSh" data-text="Blame">Blame</div></span></button></li></ul><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><div class="Box-sc-g0xbh4-0 jNEwzY react-code-size-details-in-header"><div class="Box-sc-g0xbh4-0 bsDwxw text-mono"><div title="150 KB" data-testid="blob-size" class="Truncate__StyledTruncate-sc-23o1d2-0 eAtkQz"><span>6113 lines (5583 loc) · 150 KB</span></div></div></div></div><div class="Box-sc-g0xbh4-0 kcLCKF"><div class="Box-sc-g0xbh4-0 kVWtTz react-blob-header-edit-and-raw-actions"><div class="Box-sc-g0xbh4-0 prc-ButtonGroup-ButtonGroup-vcMeG"><div><a href="https://github.com/vim/vim/raw/refs/heads/master/src/buffer.c" data-testid="raw-button" class="Box-sc-g0xbh4-0 gWqxTd prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":R5csptal9lab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Raw</span></span></a></div><div><button data-component="IconButton" type="button" aria-label="Copy raw content" data-testid="copy-raw-button" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":Rpcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></button></div><div><span role="tooltip" aria-label="Download raw file" id=":Rdcsptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><button data-component="IconButton" type="button" aria-label="Download raw content" data-testid="download-raw-button" class="Box-sc-g0xbh4-0 ivobqY prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-describedby=":Rtcsptal9lab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button></span></div></div><button hidden="" data-testid="raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="copy-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden="" data-testid="download-raw-button-shortcut" data-hotkey-scope="read-only-cursor-text-area"></button></div><span role="tooltip" aria-label="Open symbols panel" id=":R5sptal9lab:" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-nw"><button data-component="IconButton" type="button" aria-label="Symbols" aria-pressed="false" aria-expanded="false" aria-controls="symbols-pane" data-testid="symbols-button" class="Box-sc-g0xbh4-0 heuRGy prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby="symbols-button-loading-announcement" id="symbols-button"><svg aria-hidden="true" focusable="false" class="octicon octicon-code-square" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></button></span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" aria-label="Edit and raw actions" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 ffkqe prc-Button-ButtonBase-c50BI js-blob-dropdown-click prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-describedby=":Rnsptal9lab:-loading-announcement" id=":Rnsptal9lab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></div></div></div></div><div></div></div><div class="Box-sc-g0xbh4-0 hGyMdv"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="Box-sc-g0xbh4-0 dceWRL"><div class="Box-sc-g0xbh4-0 dGXHv"><div id="highlighted-line-menu-positioner" class="position-relative"><div id="copilot-button-positioner" class="Box-sc-g0xbh4-0 bpDFns"><div class="Box-sc-g0xbh4-0 iJOeCH"><div class="Box-sc-g0xbh4-0 jewUnv react-code-file-contents" role="presentation" aria-hidden="true" data-tab-size="8" data-paste-markdown-skip="true" data-hpc="true"><div class="react-line-numbers" style="pointer-events:auto"><div data-line-number="1" class="react-line-number react-code-text" style="padding-right:16px">1</div><div data-line-number="2" class="react-line-number react-code-text" style="padding-right:16px">2</div><div data-line-number="3" class="react-line-number react-code-text" style="padding-right:16px">3</div><div data-line-number="4" class="react-line-number react-code-text" style="padding-right:16px">4</div><div data-line-number="5" class="react-line-number react-code-text" style="padding-right:16px">5</div><div data-line-number="6" class="react-line-number react-code-text" style="padding-right:16px">6</div><div data-line-number="7" class="react-line-number react-code-text" style="padding-right:16px">7</div><div data-line-number="8" class="react-line-number react-code-text" style="padding-right:16px">8</div><div data-line-number="9" class="react-line-number react-code-text" style="padding-right:16px">9</div><div data-line-number="10" class="react-line-number react-code-text" style="padding-right:16px">10</div><div data-line-number="11" class="react-line-number react-code-text" style="padding-right:16px">11</div><div data-line-number="12" class="react-line-number react-code-text" style="padding-right:16px">12</div><div data-line-number="13" class="react-line-number react-code-text" style="padding-right:16px">13</div><div data-line-number="14" class="react-line-number react-code-text" style="padding-right:16px">14</div><div data-line-number="15" class="react-line-number react-code-text" style="padding-right:16px">15</div><div data-line-number="16" class="react-line-number react-code-text" style="padding-right:16px">16</div><div data-line-number="17" class="react-line-number react-code-text" style="padding-right:16px">17</div><div data-line-number="18" class="react-line-number react-code-text" style="padding-right:16px">18</div><div data-line-number="19" class="react-line-number react-code-text" style="padding-right:16px">19</div><div data-line-number="20" class="react-line-number react-code-text" style="padding-right:16px">20</div><div data-line-number="21" class="react-line-number react-code-text" style="padding-right:16px">21</div><div data-line-number="22" class="react-line-number react-code-text" style="padding-right:16px">22</div><div data-line-number="23" class="react-line-number react-code-text" style="padding-right:16px">23</div><div data-line-number="24" class="react-line-number react-code-text" style="padding-right:16px">24</div><div data-line-number="25" class="react-line-number react-code-text" style="padding-right:16px">25</div><div data-line-number="26" class="react-line-number react-code-text" style="padding-right:16px">26</div><div data-line-number="27" class="react-line-number react-code-text" style="padding-right:16px">27</div><div data-line-number="28" class="react-line-number react-code-text" style="padding-right:16px">28</div><div data-line-number="29" class="react-line-number react-code-text" style="padding-right:16px">29</div><div data-line-number="30" class="react-line-number react-code-text" style="padding-right:16px">30</div><div data-line-number="31" class="react-line-number react-code-text" style="padding-right:16px">31</div><div data-line-number="32" class="react-line-number react-code-text" style="padding-right:16px">32</div><div data-line-number="33" class="react-line-number react-code-text" style="padding-right:16px">33</div><div data-line-number="34" class="react-line-number react-code-text" style="padding-right:16px">34</div><div data-line-number="35" class="react-line-number react-code-text" style="padding-right:16px">35</div><div data-line-number="36" class="react-line-number react-code-text" style="padding-right:16px">36</div><div data-line-number="37" class="react-line-number react-code-text" style="padding-right:16px">37</div><div data-line-number="38" class="react-line-number react-code-text" style="padding-right:16px">38</div><div data-line-number="39" class="react-line-number react-code-text" style="padding-right:16px">39</div><div data-line-number="40" class="react-line-number react-code-text" style="padding-right:16px">40</div><div data-line-number="41" class="react-line-number react-code-text" style="padding-right:16px">41</div><div data-line-number="42" class="react-line-number react-code-text" style="padding-right:16px">42</div><div data-line-number="43" class="react-line-number react-code-text" style="padding-right:16px">43</div><div data-line-number="44" class="react-line-number react-code-text" style="padding-right:16px">44</div><div data-line-number="45" class="react-line-number react-code-text" style="padding-right:16px">45</div><div data-line-number="46" class="react-line-number react-code-text" style="padding-right:16px">46</div><div data-line-number="47" class="react-line-number react-code-text" style="padding-right:16px">47</div><div data-line-number="48" class="react-line-number react-code-text" style="padding-right:16px">48</div><div data-line-number="49" class="react-line-number react-code-text" style="padding-right:16px">49</div><div data-line-number="50" class="react-line-number react-code-text" style="padding-right:16px">50</div><div data-line-number="51" class="react-line-number react-code-text" style="padding-right:16px">51</div><div data-line-number="52" class="react-line-number react-code-text" style="padding-right:16px">52</div><div data-line-number="53" class="react-line-number react-code-text" style="padding-right:16px">53</div><div data-line-number="54" class="react-line-number react-code-text" style="padding-right:16px">54</div><div data-line-number="55" class="react-line-number react-code-text" style="padding-right:16px">55</div><div data-line-number="56" class="react-line-number react-code-text" style="padding-right:16px">56</div><div data-line-number="57" class="react-line-number react-code-text" style="padding-right:16px">57</div><div data-line-number="58" class="react-line-number react-code-text" style="padding-right:16px">58</div><div data-line-number="59" class="react-line-number react-code-text" style="padding-right:16px">59</div><div data-line-number="60" class="react-line-number react-code-text" style="padding-right:16px">60</div><div data-line-number="61" class="react-line-number react-code-text" style="padding-right:16px">61</div><div data-line-number="62" class="react-line-number react-code-text" style="padding-right:16px">62</div><div data-line-number="63" class="react-line-number react-code-text" style="padding-right:16px">63</div><div data-line-number="64" class="react-line-number react-code-text" style="padding-right:16px">64</div><div data-line-number="65" class="react-line-number react-code-text" style="padding-right:16px">65</div><div data-line-number="66" class="react-line-number react-code-text" style="padding-right:16px">66</div><div data-line-number="67" class="react-line-number react-code-text" style="padding-right:16px">67</div><div data-line-number="68" class="react-line-number react-code-text" style="padding-right:16px">68</div><div data-line-number="69" class="react-line-number react-code-text" style="padding-right:16px">69</div><div data-line-number="70" class="react-line-number react-code-text" style="padding-right:16px">70</div><div data-line-number="71" class="react-line-number react-code-text" style="padding-right:16px">71</div><div data-line-number="72" class="react-line-number react-code-text" style="padding-right:16px">72</div><div data-line-number="73" class="react-line-number react-code-text" style="padding-right:16px">73</div><div data-line-number="74" class="react-line-number react-code-text" style="padding-right:16px">74</div><div data-line-number="75" class="react-line-number react-code-text" style="padding-right:16px">75</div><div data-line-number="76" class="react-line-number react-code-text" style="padding-right:16px">76</div><div data-line-number="77" class="react-line-number react-code-text" style="padding-right:16px">77</div><div data-line-number="78" class="react-line-number react-code-text" style="padding-right:16px">78</div><div data-line-number="79" class="react-line-number react-code-text" style="padding-right:16px">79</div><div data-line-number="80" class="react-line-number react-code-text" style="padding-right:16px">80</div><div data-line-number="81" class="react-line-number react-code-text" style="padding-right:16px">81</div><div data-line-number="82" class="react-line-number react-code-text" style="padding-right:16px">82</div><div data-line-number="83" class="react-line-number react-code-text" style="padding-right:16px">83</div><div data-line-number="84" class="react-line-number react-code-text" style="padding-right:16px">84</div><div data-line-number="85" class="react-line-number react-code-text" style="padding-right:16px">85</div><div data-line-number="86" class="react-line-number react-code-text" style="padding-right:16px">86</div><div data-line-number="87" class="react-line-number react-code-text" style="padding-right:16px">87</div><div data-line-number="88" class="react-line-number react-code-text" style="padding-right:16px">88</div><div data-line-number="89" class="react-line-number react-code-text" style="padding-right:16px">89</div><div data-line-number="90" class="react-line-number react-code-text" style="padding-right:16px">90</div><div data-line-number="91" class="react-line-number react-code-text" style="padding-right:16px">91</div><div data-line-number="92" class="react-line-number react-code-text" style="padding-right:16px">92</div><div data-line-number="93" class="react-line-number react-code-text" style="padding-right:16px">93</div><div data-line-number="94" class="react-line-number react-code-text" style="padding-right:16px">94</div><div data-line-number="95" class="react-line-number react-code-text" style="padding-right:16px">95</div><div data-line-number="96" class="react-line-number react-code-text" style="padding-right:16px">96</div><div data-line-number="97" class="react-line-number react-code-text" style="padding-right:16px">97</div><div data-line-number="98" class="react-line-number react-code-text" style="padding-right:16px">98</div><div data-line-number="99" class="react-line-number react-code-text" style="padding-right:16px">99</div><div data-line-number="100" class="react-line-number react-code-text" style="padding-right:16px">100</div><div data-line-number="101" class="react-line-number react-code-text" style="padding-right:16px">101</div><div data-line-number="102" class="react-line-number react-code-text" style="padding-right:16px">102</div><div data-line-number="103" class="react-line-number react-code-text" style="padding-right:16px">103</div><div data-line-number="104" class="react-line-number react-code-text" style="padding-right:16px">104</div><div data-line-number="105" class="react-line-number react-code-text" style="padding-right:16px">105</div><div data-line-number="106" class="react-line-number react-code-text" style="padding-right:16px">106</div><div data-line-number="107" class="react-line-number react-code-text" style="padding-right:16px">107</div><div data-line-number="108" class="react-line-number react-code-text" style="padding-right:16px">108</div><div data-line-number="109" class="react-line-number react-code-text" style="padding-right:16px">109</div><div data-line-number="110" class="react-line-number react-code-text" style="padding-right:16px">110</div><div data-line-number="111" class="react-line-number react-code-text" style="padding-right:16px">111</div><div data-line-number="112" class="react-line-number react-code-text" style="padding-right:16px">112</div><div data-line-number="113" class="react-line-number react-code-text" style="padding-right:16px">113</div><div data-line-number="114" class="react-line-number react-code-text" style="padding-right:16px">114</div><div data-line-number="115" class="react-line-number react-code-text" style="padding-right:16px">115</div><div data-line-number="116" class="react-line-number react-code-text" style="padding-right:16px">116</div><div data-line-number="117" class="react-line-number react-code-text" style="padding-right:16px">117</div><div data-line-number="118" class="react-line-number react-code-text" style="padding-right:16px">118</div><div data-line-number="119" class="react-line-number react-code-text" style="padding-right:16px">119</div><div data-line-number="120" class="react-line-number react-code-text" style="padding-right:16px">120</div><div data-line-number="121" class="react-line-number react-code-text" style="padding-right:16px">121</div><div data-line-number="122" class="react-line-number react-code-text" style="padding-right:16px">122</div><div data-line-number="123" class="react-line-number react-code-text" style="padding-right:16px">123</div><div data-line-number="124" class="react-line-number react-code-text" style="padding-right:16px">124</div><div data-line-number="125" class="react-line-number react-code-text" style="padding-right:16px">125</div><div data-line-number="126" class="react-line-number react-code-text" style="padding-right:16px">126</div><div data-line-number="127" class="react-line-number react-code-text" style="padding-right:16px">127</div><div data-line-number="128" class="react-line-number react-code-text" style="padding-right:16px">128</div><div data-line-number="129" class="react-line-number react-code-text" style="padding-right:16px">129</div><div data-line-number="130" class="react-line-number react-code-text" style="padding-right:16px">130</div><div data-line-number="131" class="react-line-number react-code-text" style="padding-right:16px">131</div><div data-line-number="132" class="react-line-number react-code-text" style="padding-right:16px">132</div><div data-line-number="133" class="react-line-number react-code-text" style="padding-right:16px">133</div><div data-line-number="134" class="react-line-number react-code-text" style="padding-right:16px">134</div><div data-line-number="135" class="react-line-number react-code-text" style="padding-right:16px">135</div><div data-line-number="136" class="react-line-number react-code-text" style="padding-right:16px">136</div><div data-line-number="137" class="react-line-number react-code-text" style="padding-right:16px">137</div><div data-line-number="138" class="react-line-number react-code-text" style="padding-right:16px">138</div><div data-line-number="139" class="react-line-number react-code-text" style="padding-right:16px">139</div><div data-line-number="140" class="react-line-number react-code-text" style="padding-right:16px">140</div><div data-line-number="141" class="react-line-number react-code-text" style="padding-right:16px">141</div><div data-line-number="142" class="react-line-number react-code-text" style="padding-right:16px">142</div><div data-line-number="143" class="react-line-number react-code-text" style="padding-right:16px">143</div><div data-line-number="144" class="react-line-number react-code-text" style="padding-right:16px">144</div><div data-line-number="145" class="react-line-number react-code-text" style="padding-right:16px">145</div><div data-line-number="146" class="react-line-number react-code-text" style="padding-right:16px">146</div><div data-line-number="147" class="react-line-number react-code-text" style="padding-right:16px">147</div><div data-line-number="148" class="react-line-number react-code-text" style="padding-right:16px">148</div><div data-line-number="149" class="react-line-number react-code-text" style="padding-right:16px">149</div><div data-line-number="150" class="react-line-number react-code-text" style="padding-right:16px">150</div><div data-line-number="151" class="react-line-number react-code-text" style="padding-right:16px">151</div><div data-line-number="152" class="react-line-number react-code-text" style="padding-right:16px">152</div><div data-line-number="153" class="react-line-number react-code-text" style="padding-right:16px">153</div><div data-line-number="154" class="react-line-number react-code-text" style="padding-right:16px">154</div><div data-line-number="155" class="react-line-number react-code-text" style="padding-right:16px">155</div><div data-line-number="156" class="react-line-number react-code-text" style="padding-right:16px">156</div><div data-line-number="157" class="react-line-number react-code-text" style="padding-right:16px">157</div><div data-line-number="158" class="react-line-number react-code-text" style="padding-right:16px">158</div><div data-line-number="159" class="react-line-number react-code-text" style="padding-right:16px">159</div><div data-line-number="160" class="react-line-number react-code-text" style="padding-right:16px">160</div><div data-line-number="161" class="react-line-number react-code-text" style="padding-right:16px">161</div><div data-line-number="162" class="react-line-number react-code-text" style="padding-right:16px">162</div><div data-line-number="163" class="react-line-number react-code-text" style="padding-right:16px">163</div><div data-line-number="164" class="react-line-number react-code-text" style="padding-right:16px">164</div><div data-line-number="165" class="react-line-number react-code-text" style="padding-right:16px">165</div><div data-line-number="166" class="react-line-number react-code-text" style="padding-right:16px">166</div><div data-line-number="167" class="react-line-number react-code-text" style="padding-right:16px">167</div><div data-line-number="168" class="react-line-number react-code-text" style="padding-right:16px">168</div><div data-line-number="169" class="react-line-number react-code-text" style="padding-right:16px">169</div><div data-line-number="170" class="react-line-number react-code-text" style="padding-right:16px">170</div><div data-line-number="171" class="react-line-number react-code-text" style="padding-right:16px">171</div><div data-line-number="172" class="react-line-number react-code-text" style="padding-right:16px">172</div><div data-line-number="173" class="react-line-number react-code-text" style="padding-right:16px">173</div><div data-line-number="174" class="react-line-number react-code-text" style="padding-right:16px">174</div><div data-line-number="175" class="react-line-number react-code-text" style="padding-right:16px">175</div><div data-line-number="176" class="react-line-number react-code-text" style="padding-right:16px">176</div><div data-line-number="177" class="react-line-number react-code-text" style="padding-right:16px">177</div><div data-line-number="178" class="react-line-number react-code-text" style="padding-right:16px">178</div><div data-line-number="179" class="react-line-number react-code-text" style="padding-right:16px">179</div><div data-line-number="180" class="react-line-number react-code-text" style="padding-right:16px">180</div><div data-line-number="181" class="react-line-number react-code-text" style="padding-right:16px">181</div><div data-line-number="182" class="react-line-number react-code-text" style="padding-right:16px">182</div><div data-line-number="183" class="react-line-number react-code-text" style="padding-right:16px">183</div><div data-line-number="184" class="react-line-number react-code-text" style="padding-right:16px">184</div><div data-line-number="185" class="react-line-number react-code-text" style="padding-right:16px">185</div><div data-line-number="186" class="react-line-number react-code-text" style="padding-right:16px">186</div><div data-line-number="187" class="react-line-number react-code-text" style="padding-right:16px">187</div><div data-line-number="188" class="react-line-number react-code-text" style="padding-right:16px">188</div><div data-line-number="189" class="react-line-number react-code-text" style="padding-right:16px">189</div><div data-line-number="190" class="react-line-number react-code-text" style="padding-right:16px">190</div><div data-line-number="191" class="react-line-number react-code-text" style="padding-right:16px">191</div><div data-line-number="192" class="react-line-number react-code-text" style="padding-right:16px">192</div><div data-line-number="193" class="react-line-number react-code-text" style="padding-right:16px">193</div><div data-line-number="194" class="react-line-number react-code-text" style="padding-right:16px">194</div><div data-line-number="195" class="react-line-number react-code-text" style="padding-right:16px">195</div><div data-line-number="196" class="react-line-number react-code-text" style="padding-right:16px">196</div><div data-line-number="197" class="react-line-number react-code-text" style="padding-right:16px">197</div><div data-line-number="198" class="react-line-number react-code-text" style="padding-right:16px">198</div><div data-line-number="199" class="react-line-number react-code-text" style="padding-right:16px">199</div><div data-line-number="200" class="react-line-number react-code-text" style="padding-right:16px">200</div><div data-line-number="201" class="react-line-number react-code-text" style="padding-right:16px">201</div><div data-line-number="202" class="react-line-number react-code-text" style="padding-right:16px">202</div><div data-line-number="203" class="react-line-number react-code-text" style="padding-right:16px">203</div><div data-line-number="204" class="react-line-number react-code-text" style="padding-right:16px">204</div><div data-line-number="205" class="react-line-number react-code-text" style="padding-right:16px">205</div><div data-line-number="206" class="react-line-number react-code-text" style="padding-right:16px">206</div><div data-line-number="207" class="react-line-number react-code-text" style="padding-right:16px">207</div><div data-line-number="208" class="react-line-number react-code-text" style="padding-right:16px">208</div><div data-line-number="209" class="react-line-number react-code-text" style="padding-right:16px">209</div><div data-line-number="210" class="react-line-number react-code-text" style="padding-right:16px">210</div><div data-line-number="211" class="react-line-number react-code-text" style="padding-right:16px">211</div><div data-line-number="212" class="react-line-number react-code-text" style="padding-right:16px">212</div><div data-line-number="213" class="react-line-number react-code-text" style="padding-right:16px">213</div><div data-line-number="214" class="react-line-number react-code-text" style="padding-right:16px">214</div><div data-line-number="215" class="react-line-number react-code-text" style="padding-right:16px">215</div><div data-line-number="216" class="react-line-number react-code-text" style="padding-right:16px">216</div><div data-line-number="217" class="react-line-number react-code-text" style="padding-right:16px">217</div><div data-line-number="218" class="react-line-number react-code-text" style="padding-right:16px">218</div><div data-line-number="219" class="react-line-number react-code-text" style="padding-right:16px">219</div><div data-line-number="220" class="react-line-number react-code-text" style="padding-right:16px">220</div><div data-line-number="221" class="react-line-number react-code-text" style="padding-right:16px">221</div><div data-line-number="222" class="react-line-number react-code-text" style="padding-right:16px">222</div><div data-line-number="223" class="react-line-number react-code-text" style="padding-right:16px">223</div><div data-line-number="224" class="react-line-number react-code-text" style="padding-right:16px">224</div><div data-line-number="225" class="react-line-number react-code-text" style="padding-right:16px">225</div><div data-line-number="226" class="react-line-number react-code-text" style="padding-right:16px">226</div><div data-line-number="227" class="react-line-number react-code-text" style="padding-right:16px">227</div><div data-line-number="228" class="react-line-number react-code-text" style="padding-right:16px">228</div><div data-line-number="229" class="react-line-number react-code-text" style="padding-right:16px">229</div><div data-line-number="230" class="react-line-number react-code-text" style="padding-right:16px">230</div><div data-line-number="231" class="react-line-number react-code-text" style="padding-right:16px">231</div><div data-line-number="232" class="react-line-number react-code-text" style="padding-right:16px">232</div><div data-line-number="233" class="react-line-number react-code-text" style="padding-right:16px">233</div><div data-line-number="234" class="react-line-number react-code-text" style="padding-right:16px">234</div><div data-line-number="235" class="react-line-number react-code-text" style="padding-right:16px">235</div><div data-line-number="236" class="react-line-number react-code-text" style="padding-right:16px">236</div><div data-line-number="237" class="react-line-number react-code-text" style="padding-right:16px">237</div><div data-line-number="238" class="react-line-number react-code-text" style="padding-right:16px">238</div><div data-line-number="239" class="react-line-number react-code-text" style="padding-right:16px">239</div><div data-line-number="240" class="react-line-number react-code-text" style="padding-right:16px">240</div><div data-line-number="241" class="react-line-number react-code-text" style="padding-right:16px">241</div><div data-line-number="242" class="react-line-number react-code-text" style="padding-right:16px">242</div><div data-line-number="243" class="react-line-number react-code-text" style="padding-right:16px">243</div><div data-line-number="244" class="react-line-number react-code-text" style="padding-right:16px">244</div><div data-line-number="245" class="react-line-number react-code-text" style="padding-right:16px">245</div><div data-line-number="246" class="react-line-number react-code-text" style="padding-right:16px">246</div><div data-line-number="247" class="react-line-number react-code-text" style="padding-right:16px">247</div><div data-line-number="248" class="react-line-number react-code-text" style="padding-right:16px">248</div><div data-line-number="249" class="react-line-number react-code-text" style="padding-right:16px">249</div><div data-line-number="250" class="react-line-number react-code-text" style="padding-right:16px">250</div><div data-line-number="251" class="react-line-number react-code-text" style="padding-right:16px">251</div><div data-line-number="252" class="react-line-number react-code-text" style="padding-right:16px">252</div><div data-line-number="253" class="react-line-number react-code-text" style="padding-right:16px">253</div><div data-line-number="254" class="react-line-number react-code-text" style="padding-right:16px">254</div><div data-line-number="255" class="react-line-number react-code-text" style="padding-right:16px">255</div><div data-line-number="256" class="react-line-number react-code-text" style="padding-right:16px">256</div><div data-line-number="257" class="react-line-number react-code-text" style="padding-right:16px">257</div><div data-line-number="258" class="react-line-number react-code-text" style="padding-right:16px">258</div><div data-line-number="259" class="react-line-number react-code-text" style="padding-right:16px">259</div><div data-line-number="260" class="react-line-number react-code-text" style="padding-right:16px">260</div><div data-line-number="261" class="react-line-number react-code-text" style="padding-right:16px">261</div><div data-line-number="262" class="react-line-number react-code-text" style="padding-right:16px">262</div><div data-line-number="263" class="react-line-number react-code-text" style="padding-right:16px">263</div><div data-line-number="264" class="react-line-number react-code-text" style="padding-right:16px">264</div><div data-line-number="265" class="react-line-number react-code-text" style="padding-right:16px">265</div><div data-line-number="266" class="react-line-number react-code-text" style="padding-right:16px">266</div><div data-line-number="267" class="react-line-number react-code-text" style="padding-right:16px">267</div><div data-line-number="268" class="react-line-number react-code-text" style="padding-right:16px">268</div><div data-line-number="269" class="react-line-number react-code-text" style="padding-right:16px">269</div><div data-line-number="270" class="react-line-number react-code-text" style="padding-right:16px">270</div><div data-line-number="271" class="react-line-number react-code-text" style="padding-right:16px">271</div><div data-line-number="272" class="react-line-number react-code-text" style="padding-right:16px">272</div><div data-line-number="273" class="react-line-number react-code-text" style="padding-right:16px">273</div><div data-line-number="274" class="react-line-number react-code-text" style="padding-right:16px">274</div><div data-line-number="275" class="react-line-number react-code-text" style="padding-right:16px">275</div><div data-line-number="276" class="react-line-number react-code-text" style="padding-right:16px">276</div><div data-line-number="277" class="react-line-number react-code-text" style="padding-right:16px">277</div><div data-line-number="278" class="react-line-number react-code-text" style="padding-right:16px">278</div><div data-line-number="279" class="react-line-number react-code-text" style="padding-right:16px">279</div><div data-line-number="280" class="react-line-number react-code-text" style="padding-right:16px">280</div><div data-line-number="281" class="react-line-number react-code-text" style="padding-right:16px">281</div><div data-line-number="282" class="react-line-number react-code-text" style="padding-right:16px">282</div><div data-line-number="283" class="react-line-number react-code-text" style="padding-right:16px">283</div><div data-line-number="284" class="react-line-number react-code-text" style="padding-right:16px">284</div><div data-line-number="285" class="react-line-number react-code-text" style="padding-right:16px">285</div><div data-line-number="286" class="react-line-number react-code-text" style="padding-right:16px">286</div><div data-line-number="287" class="react-line-number react-code-text" style="padding-right:16px">287</div><div data-line-number="288" class="react-line-number react-code-text" style="padding-right:16px">288</div><div data-line-number="289" class="react-line-number react-code-text" style="padding-right:16px">289</div><div data-line-number="290" class="react-line-number react-code-text" style="padding-right:16px">290</div><div data-line-number="291" class="react-line-number react-code-text" style="padding-right:16px">291</div><div data-line-number="292" class="react-line-number react-code-text" style="padding-right:16px">292</div><div data-line-number="293" class="react-line-number react-code-text" style="padding-right:16px">293</div><div data-line-number="294" class="react-line-number react-code-text" style="padding-right:16px">294</div><div data-line-number="295" class="react-line-number react-code-text" style="padding-right:16px">295</div><div data-line-number="296" class="react-line-number react-code-text" style="padding-right:16px">296</div><div data-line-number="297" class="react-line-number react-code-text" style="padding-right:16px">297</div><div data-line-number="298" class="react-line-number react-code-text" style="padding-right:16px">298</div><div data-line-number="299" class="react-line-number react-code-text" style="padding-right:16px">299</div><div data-line-number="300" class="react-line-number react-code-text" style="padding-right:16px">300</div><div data-line-number="301" class="react-line-number react-code-text" style="padding-right:16px">301</div><div data-line-number="302" class="react-line-number react-code-text" style="padding-right:16px">302</div><div data-line-number="303" class="react-line-number react-code-text" style="padding-right:16px">303</div><div data-line-number="304" class="react-line-number react-code-text" style="padding-right:16px">304</div><div data-line-number="305" class="react-line-number react-code-text" style="padding-right:16px">305</div><div data-line-number="306" class="react-line-number react-code-text" style="padding-right:16px">306</div><div data-line-number="307" class="react-line-number react-code-text" style="padding-right:16px">307</div><div data-line-number="308" class="react-line-number react-code-text" style="padding-right:16px">308</div><div data-line-number="309" class="react-line-number react-code-text" style="padding-right:16px">309</div><div data-line-number="310" class="react-line-number react-code-text" style="padding-right:16px">310</div><div data-line-number="311" class="react-line-number react-code-text" style="padding-right:16px">311</div><div data-line-number="312" class="react-line-number react-code-text" style="padding-right:16px">312</div><div data-line-number="313" class="react-line-number react-code-text" style="padding-right:16px">313</div><div data-line-number="314" class="react-line-number react-code-text" style="padding-right:16px">314</div><div data-line-number="315" class="react-line-number react-code-text" style="padding-right:16px">315</div><div data-line-number="316" class="react-line-number react-code-text" style="padding-right:16px">316</div><div data-line-number="317" class="react-line-number react-code-text" style="padding-right:16px">317</div><div data-line-number="318" class="react-line-number react-code-text" style="padding-right:16px">318</div><div data-line-number="319" class="react-line-number react-code-text" style="padding-right:16px">319</div><div data-line-number="320" class="react-line-number react-code-text" style="padding-right:16px">320</div><div data-line-number="321" class="react-line-number react-code-text" style="padding-right:16px">321</div><div data-line-number="322" class="react-line-number react-code-text" style="padding-right:16px">322</div><div data-line-number="323" class="react-line-number react-code-text" style="padding-right:16px">323</div><div data-line-number="324" class="react-line-number react-code-text" style="padding-right:16px">324</div><div data-line-number="325" class="react-line-number react-code-text" style="padding-right:16px">325</div><div data-line-number="326" class="react-line-number react-code-text" style="padding-right:16px">326</div><div data-line-number="327" class="react-line-number react-code-text" style="padding-right:16px">327</div><div data-line-number="328" class="react-line-number react-code-text" style="padding-right:16px">328</div><div data-line-number="329" class="react-line-number react-code-text" style="padding-right:16px">329</div><div data-line-number="330" class="react-line-number react-code-text" style="padding-right:16px">330</div><div data-line-number="331" class="react-line-number react-code-text" style="padding-right:16px">331</div><div data-line-number="332" class="react-line-number react-code-text" style="padding-right:16px">332</div><div data-line-number="333" class="react-line-number react-code-text" style="padding-right:16px">333</div><div data-line-number="334" class="react-line-number react-code-text" style="padding-right:16px">334</div><div data-line-number="335" class="react-line-number react-code-text" style="padding-right:16px">335</div><div data-line-number="336" class="react-line-number react-code-text" style="padding-right:16px">336</div><div data-line-number="337" class="react-line-number react-code-text" style="padding-right:16px">337</div><div data-line-number="338" class="react-line-number react-code-text" style="padding-right:16px">338</div><div data-line-number="339" class="react-line-number react-code-text" style="padding-right:16px">339</div><div data-line-number="340" class="react-line-number react-code-text" style="padding-right:16px">340</div><div data-line-number="341" class="react-line-number react-code-text" style="padding-right:16px">341</div><div data-line-number="342" class="react-line-number react-code-text" style="padding-right:16px">342</div><div data-line-number="343" class="react-line-number react-code-text" style="padding-right:16px">343</div><div data-line-number="344" class="react-line-number react-code-text" style="padding-right:16px">344</div><div data-line-number="345" class="react-line-number react-code-text" style="padding-right:16px">345</div><div data-line-number="346" class="react-line-number react-code-text" style="padding-right:16px">346</div><div data-line-number="347" class="react-line-number react-code-text" style="padding-right:16px">347</div><div data-line-number="348" class="react-line-number react-code-text" style="padding-right:16px">348</div><div data-line-number="349" class="react-line-number react-code-text" style="padding-right:16px">349</div><div data-line-number="350" class="react-line-number react-code-text" style="padding-right:16px">350</div><div data-line-number="351" class="react-line-number react-code-text" style="padding-right:16px">351</div><div data-line-number="352" class="react-line-number react-code-text" style="padding-right:16px">352</div><div data-line-number="353" class="react-line-number react-code-text" style="padding-right:16px">353</div><div data-line-number="354" class="react-line-number react-code-text" style="padding-right:16px">354</div><div data-line-number="355" class="react-line-number react-code-text" style="padding-right:16px">355</div><div data-line-number="356" class="react-line-number react-code-text" style="padding-right:16px">356</div><div data-line-number="357" class="react-line-number react-code-text" style="padding-right:16px">357</div><div data-line-number="358" class="react-line-number react-code-text" style="padding-right:16px">358</div><div data-line-number="359" class="react-line-number react-code-text" style="padding-right:16px">359</div><div data-line-number="360" class="react-line-number react-code-text" style="padding-right:16px">360</div><div data-line-number="361" class="react-line-number react-code-text" style="padding-right:16px">361</div><div data-line-number="362" class="react-line-number react-code-text" style="padding-right:16px">362</div><div data-line-number="363" class="react-line-number react-code-text" style="padding-right:16px">363</div><div data-line-number="364" class="react-line-number react-code-text" style="padding-right:16px">364</div><div data-line-number="365" class="react-line-number react-code-text" style="padding-right:16px">365</div><div data-line-number="366" class="react-line-number react-code-text" style="padding-right:16px">366</div><div data-line-number="367" class="react-line-number react-code-text" style="padding-right:16px">367</div><div data-line-number="368" class="react-line-number react-code-text" style="padding-right:16px">368</div><div data-line-number="369" class="react-line-number react-code-text" style="padding-right:16px">369</div><div data-line-number="370" class="react-line-number react-code-text" style="padding-right:16px">370</div><div data-line-number="371" class="react-line-number react-code-text" style="padding-right:16px">371</div><div data-line-number="372" class="react-line-number react-code-text" style="padding-right:16px">372</div><div data-line-number="373" class="react-line-number react-code-text" style="padding-right:16px">373</div><div data-line-number="374" class="react-line-number react-code-text" style="padding-right:16px">374</div><div data-line-number="375" class="react-line-number react-code-text" style="padding-right:16px">375</div><div data-line-number="376" class="react-line-number react-code-text" style="padding-right:16px">376</div><div data-line-number="377" class="react-line-number react-code-text" style="padding-right:16px">377</div><div data-line-number="378" class="react-line-number react-code-text" style="padding-right:16px">378</div><div data-line-number="379" class="react-line-number react-code-text" style="padding-right:16px">379</div><div data-line-number="380" class="react-line-number react-code-text" style="padding-right:16px">380</div><div data-line-number="381" class="react-line-number react-code-text" style="padding-right:16px">381</div><div data-line-number="382" class="react-line-number react-code-text" style="padding-right:16px">382</div><div data-line-number="383" class="react-line-number react-code-text" style="padding-right:16px">383</div><div data-line-number="384" class="react-line-number react-code-text" style="padding-right:16px">384</div><div data-line-number="385" class="react-line-number react-code-text" style="padding-right:16px">385</div><div data-line-number="386" class="react-line-number react-code-text" style="padding-right:16px">386</div><div data-line-number="387" class="react-line-number react-code-text" style="padding-right:16px">387</div><div data-line-number="388" class="react-line-number react-code-text" style="padding-right:16px">388</div><div data-line-number="389" class="react-line-number react-code-text" style="padding-right:16px">389</div><div data-line-number="390" class="react-line-number react-code-text" style="padding-right:16px">390</div><div data-line-number="391" class="react-line-number react-code-text" style="padding-right:16px">391</div><div data-line-number="392" class="react-line-number react-code-text" style="padding-right:16px">392</div><div data-line-number="393" class="react-line-number react-code-text" style="padding-right:16px">393</div><div data-line-number="394" class="react-line-number react-code-text" style="padding-right:16px">394</div><div data-line-number="395" class="react-line-number react-code-text" style="padding-right:16px">395</div><div data-line-number="396" class="react-line-number react-code-text" style="padding-right:16px">396</div><div data-line-number="397" class="react-line-number react-code-text" style="padding-right:16px">397</div><div data-line-number="398" class="react-line-number react-code-text" style="padding-right:16px">398</div><div data-line-number="399" class="react-line-number react-code-text" style="padding-right:16px">399</div><div data-line-number="400" class="react-line-number react-code-text" style="padding-right:16px">400</div><div data-line-number="401" class="react-line-number react-code-text" style="padding-right:16px">401</div><div data-line-number="402" class="react-line-number react-code-text" style="padding-right:16px">402</div><div data-line-number="403" class="react-line-number react-code-text" style="padding-right:16px">403</div><div data-line-number="404" class="react-line-number react-code-text" style="padding-right:16px">404</div><div data-line-number="405" class="react-line-number react-code-text" style="padding-right:16px">405</div><div data-line-number="406" class="react-line-number react-code-text" style="padding-right:16px">406</div><div data-line-number="407" class="react-line-number react-code-text" style="padding-right:16px">407</div><div data-line-number="408" class="react-line-number react-code-text" style="padding-right:16px">408</div><div data-line-number="409" class="react-line-number react-code-text" style="padding-right:16px">409</div><div data-line-number="410" class="react-line-number react-code-text" style="padding-right:16px">410</div><div data-line-number="411" class="react-line-number react-code-text" style="padding-right:16px">411</div><div data-line-number="412" class="react-line-number react-code-text" style="padding-right:16px">412</div><div data-line-number="413" class="react-line-number react-code-text" style="padding-right:16px">413</div><div data-line-number="414" class="react-line-number react-code-text" style="padding-right:16px">414</div><div data-line-number="415" class="react-line-number react-code-text" style="padding-right:16px">415</div><div data-line-number="416" class="react-line-number react-code-text" style="padding-right:16px">416</div><div data-line-number="417" class="react-line-number react-code-text" style="padding-right:16px">417</div><div data-line-number="418" class="react-line-number react-code-text" style="padding-right:16px">418</div><div data-line-number="419" class="react-line-number react-code-text" style="padding-right:16px">419</div><div data-line-number="420" class="react-line-number react-code-text" style="padding-right:16px">420</div><div data-line-number="421" class="react-line-number react-code-text" style="padding-right:16px">421</div><div data-line-number="422" class="react-line-number react-code-text" style="padding-right:16px">422</div><div data-line-number="423" class="react-line-number react-code-text" style="padding-right:16px">423</div><div data-line-number="424" class="react-line-number react-code-text" style="padding-right:16px">424</div><div data-line-number="425" class="react-line-number react-code-text" style="padding-right:16px">425</div><div data-line-number="426" class="react-line-number react-code-text" style="padding-right:16px">426</div><div data-line-number="427" class="react-line-number react-code-text" style="padding-right:16px">427</div><div data-line-number="428" class="react-line-number react-code-text" style="padding-right:16px">428</div><div data-line-number="429" class="react-line-number react-code-text" style="padding-right:16px">429</div><div data-line-number="430" class="react-line-number react-code-text" style="padding-right:16px">430</div><div data-line-number="431" class="react-line-number react-code-text" style="padding-right:16px">431</div><div data-line-number="432" class="react-line-number react-code-text" style="padding-right:16px">432</div><div data-line-number="433" class="react-line-number react-code-text" style="padding-right:16px">433</div><div data-line-number="434" class="react-line-number react-code-text" style="padding-right:16px">434</div><div data-line-number="435" class="react-line-number react-code-text" style="padding-right:16px">435</div><div data-line-number="436" class="react-line-number react-code-text" style="padding-right:16px">436</div><div data-line-number="437" class="react-line-number react-code-text" style="padding-right:16px">437</div><div data-line-number="438" class="react-line-number react-code-text" style="padding-right:16px">438</div><div data-line-number="439" class="react-line-number react-code-text" style="padding-right:16px">439</div><div data-line-number="440" class="react-line-number react-code-text" style="padding-right:16px">440</div><div data-line-number="441" class="react-line-number react-code-text" style="padding-right:16px">441</div><div data-line-number="442" class="react-line-number react-code-text" style="padding-right:16px">442</div><div data-line-number="443" class="react-line-number react-code-text" style="padding-right:16px">443</div><div data-line-number="444" class="react-line-number react-code-text" style="padding-right:16px">444</div><div data-line-number="445" class="react-line-number react-code-text" style="padding-right:16px">445</div><div data-line-number="446" class="react-line-number react-code-text" style="padding-right:16px">446</div><div data-line-number="447" class="react-line-number react-code-text" style="padding-right:16px">447</div><div data-line-number="448" class="react-line-number react-code-text" style="padding-right:16px">448</div><div data-line-number="449" class="react-line-number react-code-text" style="padding-right:16px">449</div><div data-line-number="450" class="react-line-number react-code-text" style="padding-right:16px">450</div><div data-line-number="451" class="react-line-number react-code-text" style="padding-right:16px">451</div><div data-line-number="452" class="react-line-number react-code-text" style="padding-right:16px">452</div><div data-line-number="453" class="react-line-number react-code-text" style="padding-right:16px">453</div><div data-line-number="454" class="react-line-number react-code-text" style="padding-right:16px">454</div><div data-line-number="455" class="react-line-number react-code-text" style="padding-right:16px">455</div><div data-line-number="456" class="react-line-number react-code-text" style="padding-right:16px">456</div><div data-line-number="457" class="react-line-number react-code-text" style="padding-right:16px">457</div><div data-line-number="458" class="react-line-number react-code-text" style="padding-right:16px">458</div><div data-line-number="459" class="react-line-number react-code-text" style="padding-right:16px">459</div><div data-line-number="460" class="react-line-number react-code-text" style="padding-right:16px">460</div><div data-line-number="461" class="react-line-number react-code-text" style="padding-right:16px">461</div><div data-line-number="462" class="react-line-number react-code-text" style="padding-right:16px">462</div><div data-line-number="463" class="react-line-number react-code-text" style="padding-right:16px">463</div><div data-line-number="464" class="react-line-number react-code-text" style="padding-right:16px">464</div><div data-line-number="465" class="react-line-number react-code-text" style="padding-right:16px">465</div><div data-line-number="466" class="react-line-number react-code-text" style="padding-right:16px">466</div><div data-line-number="467" class="react-line-number react-code-text" style="padding-right:16px">467</div><div data-line-number="468" class="react-line-number react-code-text" style="padding-right:16px">468</div><div data-line-number="469" class="react-line-number react-code-text" style="padding-right:16px">469</div><div data-line-number="470" class="react-line-number react-code-text" style="padding-right:16px">470</div><div data-line-number="471" class="react-line-number react-code-text" style="padding-right:16px">471</div><div data-line-number="472" class="react-line-number react-code-text" style="padding-right:16px">472</div><div data-line-number="473" class="react-line-number react-code-text" style="padding-right:16px">473</div><div data-line-number="474" class="react-line-number react-code-text" style="padding-right:16px">474</div><div data-line-number="475" class="react-line-number react-code-text" style="padding-right:16px">475</div><div data-line-number="476" class="react-line-number react-code-text" style="padding-right:16px">476</div><div data-line-number="477" class="react-line-number react-code-text" style="padding-right:16px">477</div><div data-line-number="478" class="react-line-number react-code-text" style="padding-right:16px">478</div><div data-line-number="479" class="react-line-number react-code-text" style="padding-right:16px">479</div><div data-line-number="480" class="react-line-number react-code-text" style="padding-right:16px">480</div><div data-line-number="481" class="react-line-number react-code-text" style="padding-right:16px">481</div><div data-line-number="482" class="react-line-number react-code-text" style="padding-right:16px">482</div><div data-line-number="483" class="react-line-number react-code-text" style="padding-right:16px">483</div><div data-line-number="484" class="react-line-number react-code-text" style="padding-right:16px">484</div><div data-line-number="485" class="react-line-number react-code-text" style="padding-right:16px">485</div><div data-line-number="486" class="react-line-number react-code-text" style="padding-right:16px">486</div><div data-line-number="487" class="react-line-number react-code-text" style="padding-right:16px">487</div><div data-line-number="488" class="react-line-number react-code-text" style="padding-right:16px">488</div><div data-line-number="489" class="react-line-number react-code-text" style="padding-right:16px">489</div><div data-line-number="490" class="react-line-number react-code-text" style="padding-right:16px">490</div><div data-line-number="491" class="react-line-number react-code-text" style="padding-right:16px">491</div><div data-line-number="492" class="react-line-number react-code-text" style="padding-right:16px">492</div><div data-line-number="493" class="react-line-number react-code-text" style="padding-right:16px">493</div><div data-line-number="494" class="react-line-number react-code-text" style="padding-right:16px">494</div><div data-line-number="495" class="react-line-number react-code-text" style="padding-right:16px">495</div><div data-line-number="496" class="react-line-number react-code-text" style="padding-right:16px">496</div><div data-line-number="497" class="react-line-number react-code-text" style="padding-right:16px">497</div><div data-line-number="498" class="react-line-number react-code-text" style="padding-right:16px">498</div><div data-line-number="499" class="react-line-number react-code-text" style="padding-right:16px">499</div><div data-line-number="500" class="react-line-number react-code-text" style="padding-right:16px">500</div><div data-line-number="501" class="react-line-number react-code-text" style="padding-right:16px">501</div><div data-line-number="502" class="react-line-number react-code-text" style="padding-right:16px">502</div><div data-line-number="503" class="react-line-number react-code-text" style="padding-right:16px">503</div><div data-line-number="504" class="react-line-number react-code-text" style="padding-right:16px">504</div><div data-line-number="505" class="react-line-number react-code-text" style="padding-right:16px">505</div><div data-line-number="506" class="react-line-number react-code-text" style="padding-right:16px">506</div><div data-line-number="507" class="react-line-number react-code-text" style="padding-right:16px">507</div><div data-line-number="508" class="react-line-number react-code-text" style="padding-right:16px">508</div><div data-line-number="509" class="react-line-number react-code-text" style="padding-right:16px">509</div><div data-line-number="510" class="react-line-number react-code-text" style="padding-right:16px">510</div><div data-line-number="511" class="react-line-number react-code-text" style="padding-right:16px">511</div><div data-line-number="512" class="react-line-number react-code-text" style="padding-right:16px">512</div><div data-line-number="513" class="react-line-number react-code-text" style="padding-right:16px">513</div><div data-line-number="514" class="react-line-number react-code-text" style="padding-right:16px">514</div><div data-line-number="515" class="react-line-number react-code-text" style="padding-right:16px">515</div><div data-line-number="516" class="react-line-number react-code-text" style="padding-right:16px">516</div><div data-line-number="517" class="react-line-number react-code-text" style="padding-right:16px">517</div><div data-line-number="518" class="react-line-number react-code-text" style="padding-right:16px">518</div><div data-line-number="519" class="react-line-number react-code-text" style="padding-right:16px">519</div><div data-line-number="520" class="react-line-number react-code-text" style="padding-right:16px">520</div><div data-line-number="521" class="react-line-number react-code-text" style="padding-right:16px">521</div><div data-line-number="522" class="react-line-number react-code-text" style="padding-right:16px">522</div><div data-line-number="523" class="react-line-number react-code-text" style="padding-right:16px">523</div><div data-line-number="524" class="react-line-number react-code-text" style="padding-right:16px">524</div><div data-line-number="525" class="react-line-number react-code-text" style="padding-right:16px">525</div><div data-line-number="526" class="react-line-number react-code-text" style="padding-right:16px">526</div><div data-line-number="527" class="react-line-number react-code-text" style="padding-right:16px">527</div><div data-line-number="528" class="react-line-number react-code-text" style="padding-right:16px">528</div><div data-line-number="529" class="react-line-number react-code-text" style="padding-right:16px">529</div><div data-line-number="530" class="react-line-number react-code-text" style="padding-right:16px">530</div><div data-line-number="531" class="react-line-number react-code-text" style="padding-right:16px">531<span class="Box-sc-g0xbh4-0 cJGaMs"><div aria-label="Collapse code section" role="button" class="Box-sc-g0xbh4-0 iGLarr"><svg aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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></div></span></div><div data-line-number="532" class="child-of-line-530 react-line-number react-code-text" style="padding-right:16px">532</div><div data-line-number="533" class="child-of-line-530 react-line-number react-code-text" style="padding-right:16px">533</div><div data-line-number="534" class="child-of-line-530 react-line-number react-code-text" style="padding-right:16px">534</div><div data-line-number="535" class="child-of-line-530 react-line-number react-code-text" style="padding-right:16px">535</div><div data-line-number="536" class="react-line-number react-code-text" style="padding-right:16px">536</div><div data-line-number="537" class="react-line-number react-code-text" style="padding-right:16px">537</div><div data-line-number="538" class="react-line-number react-code-text" style="padding-right:16px">538</div><div data-line-number="539" class="react-line-number react-code-text" style="padding-right:16px">539</div><div data-line-number="540" class="react-line-number react-code-text" style="padding-right:16px">540</div><div data-line-number="541" class="react-line-number react-code-text" style="padding-right:16px">541</div><div data-line-number="542" class="react-line-number react-code-text" style="padding-right:16px">542</div><div data-line-number="543" class="react-line-number react-code-text" style="padding-right:16px">543</div><div data-line-number="544" class="react-line-number react-code-text" style="padding-right:16px">544</div><div data-line-number="545" class="react-line-number react-code-text" style="padding-right:16px">545</div><div data-line-number="546" class="react-line-number react-code-text" style="padding-right:16px">546</div><div data-line-number="547" class="react-line-number react-code-text" style="padding-right:16px">547</div><div data-line-number="548" class="react-line-number react-code-text" style="padding-right:16px">548</div><div data-line-number="549" class="react-line-number react-code-text" style="padding-right:16px">549</div><div data-line-number="550" class="react-line-number react-code-text" style="padding-right:16px">550</div><div data-line-number="551" class="react-line-number react-code-text" style="padding-right:16px">551</div><div data-line-number="552" class="react-line-number react-code-text" style="padding-right:16px">552</div><div data-line-number="553" class="react-line-number react-code-text" style="padding-right:16px">553</div><div data-line-number="554" class="react-line-number react-code-text" style="padding-right:16px">554</div><div data-line-number="555" class="react-line-number react-code-text" style="padding-right:16px">555</div><div data-line-number="556" class="react-line-number react-code-text" style="padding-right:16px">556</div><div data-line-number="557" class="react-line-number react-code-text" style="padding-right:16px">557</div><div data-line-number="558" class="react-line-number react-code-text" style="padding-right:16px">558</div><div data-line-number="559" class="react-line-number react-code-text" style="padding-right:16px">559</div><div data-line-number="560" class="react-line-number react-code-text" style="padding-right:16px">560</div><div data-line-number="561" class="react-line-number react-code-text" style="padding-right:16px">561</div><div data-line-number="562" class="react-line-number react-code-text" style="padding-right:16px">562</div><div data-line-number="563" class="react-line-number react-code-text" style="padding-right:16px">563</div><div data-line-number="564" class="react-line-number react-code-text" style="padding-right:16px">564</div><div data-line-number="565" class="react-line-number react-code-text" style="padding-right:16px">565</div><div data-line-number="566" class="react-line-number react-code-text" style="padding-right:16px">566</div><div data-line-number="567" class="react-line-number react-code-text" style="padding-right:16px">567</div><div data-line-number="568" class="react-line-number react-code-text" style="padding-right:16px">568</div><div data-line-number="569" class="react-line-number react-code-text" style="padding-right:16px">569</div><div data-line-number="570" class="react-line-number react-code-text" style="padding-right:16px">570</div><div data-line-number="571" class="react-line-number react-code-text" style="padding-right:16px">571</div><div data-line-number="572" class="react-line-number react-code-text" style="padding-right:16px">572</div><div data-line-number="573" class="react-line-number react-code-text" style="padding-right:16px">573</div><div data-line-number="574" class="react-line-number react-code-text" style="padding-right:16px">574</div><div data-line-number="575" class="react-line-number react-code-text" style="padding-right:16px">575</div><div data-line-number="576" class="react-line-number react-code-text" style="padding-right:16px">576</div><div data-line-number="577" class="react-line-number react-code-text" style="padding-right:16px">577</div><div data-line-number="578" class="react-line-number react-code-text" style="padding-right:16px">578</div><div data-line-number="579" class="react-line-number react-code-text" style="padding-right:16px">579</div><div data-line-number="580" class="react-line-number react-code-text" style="padding-right:16px">580</div><div data-line-number="581" class="react-line-number react-code-text" style="padding-right:16px">581</div><div data-line-number="582" class="react-line-number react-code-text" style="padding-right:16px">582</div><div data-line-number="583" class="react-line-number react-code-text" style="padding-right:16px">583</div><div data-line-number="584" class="react-line-number react-code-text" style="padding-right:16px">584</div><div data-line-number="585" class="react-line-number react-code-text" style="padding-right:16px">585</div><div data-line-number="586" class="react-line-number react-code-text" style="padding-right:16px">586</div><div data-line-number="587" class="react-line-number react-code-text" style="padding-right:16px">587</div><div data-line-number="588" class="react-line-number react-code-text" style="padding-right:16px">588</div><div data-line-number="589" class="react-line-number react-code-text" style="padding-right:16px">589</div><div data-line-number="590" class="react-line-number react-code-text" style="padding-right:16px">590</div><div data-line-number="591" class="react-line-number react-code-text" style="padding-right:16px">591</div><div data-line-number="592" class="react-line-number react-code-text" style="padding-right:16px">592</div><div data-line-number="593" class="react-line-number react-code-text" style="padding-right:16px">593</div><div data-line-number="594" class="react-line-number react-code-text" style="padding-right:16px">594</div><div data-line-number="595" class="react-line-number react-code-text" style="padding-right:16px">595</div><div data-line-number="596" class="react-line-number react-code-text" style="padding-right:16px">596</div><div data-line-number="597" class="react-line-number react-code-text" style="padding-right:16px">597</div><div data-line-number="598" class="react-line-number react-code-text" style="padding-right:16px">598</div><div data-line-number="599" class="react-line-number react-code-text" style="padding-right:16px">599</div><div data-line-number="600" class="react-line-number react-code-text" style="padding-right:16px">600</div><div data-line-number="601" class="react-line-number react-code-text" style="padding-right:16px">601</div><div data-line-number="602" class="react-line-number react-code-text" style="padding-right:16px">602</div><div data-line-number="603" class="react-line-number react-code-text" style="padding-right:16px">603</div><div data-line-number="604" class="react-line-number react-code-text" style="padding-right:16px">604</div><div data-line-number="605" class="react-line-number react-code-text" style="padding-right:16px">605</div><div data-line-number="606" class="react-line-number react-code-text" style="padding-right:16px">606</div><div data-line-number="607" class="react-line-number react-code-text" style="padding-right:16px">607</div><div data-line-number="608" class="react-line-number react-code-text" style="padding-right:16px">608</div><div data-line-number="609" class="react-line-number react-code-text" style="padding-right:16px">609</div><div data-line-number="610" class="react-line-number react-code-text" style="padding-right:16px">610</div><div data-line-number="611" class="react-line-number react-code-text" style="padding-right:16px">611</div><div data-line-number="612" class="react-line-number react-code-text" style="padding-right:16px">612</div><div data-line-number="613" class="react-line-number react-code-text" style="padding-right:16px">613</div><div data-line-number="614" class="react-line-number react-code-text" style="padding-right:16px">614</div><div data-line-number="615" class="react-line-number react-code-text" style="padding-right:16px">615</div><div data-line-number="616" class="react-line-number react-code-text" style="padding-right:16px">616</div><div data-line-number="617" class="react-line-number react-code-text" style="padding-right:16px">617</div><div data-line-number="618" class="react-line-number react-code-text" style="padding-right:16px">618</div><div data-line-number="619" class="react-line-number react-code-text" style="padding-right:16px">619</div><div data-line-number="620" class="react-line-number react-code-text" style="padding-right:16px">620</div><div data-line-number="621" class="react-line-number react-code-text" style="padding-right:16px">621</div><div data-line-number="622" class="react-line-number react-code-text" style="padding-right:16px">622</div><div data-line-number="623" class="react-line-number react-code-text" style="padding-right:16px">623</div><div data-line-number="624" class="react-line-number react-code-text" style="padding-right:16px">624</div><div data-line-number="625" class="react-line-number react-code-text" style="padding-right:16px">625</div><div data-line-number="626" class="react-line-number react-code-text" style="padding-right:16px">626</div><div data-line-number="627" class="react-line-number react-code-text" style="padding-right:16px">627</div><div data-line-number="628" class="react-line-number react-code-text" style="padding-right:16px">628</div><div data-line-number="629" class="react-line-number react-code-text" style="padding-right:16px">629</div><div data-line-number="630" class="react-line-number react-code-text" style="padding-right:16px">630</div><div data-line-number="631" class="react-line-number react-code-text" style="padding-right:16px">631</div><div data-line-number="632" class="react-line-number react-code-text" style="padding-right:16px">632</div><div data-line-number="633" class="react-line-number react-code-text" style="padding-right:16px">633</div><div data-line-number="634" class="react-line-number react-code-text" style="padding-right:16px">634</div><div data-line-number="635" class="react-line-number react-code-text" style="padding-right:16px">635</div><div data-line-number="636" class="react-line-number react-code-text" style="padding-right:16px">636</div><div data-line-number="637" class="react-line-number react-code-text" style="padding-right:16px">637</div><div data-line-number="638" class="react-line-number react-code-text" style="padding-right:16px">638</div><div data-line-number="639" class="react-line-number react-code-text" style="padding-right:16px">639</div><div data-line-number="640" class="react-line-number react-code-text" style="padding-right:16px">640</div><div data-line-number="641" class="react-line-number react-code-text" style="padding-right:16px">641</div><div data-line-number="642" class="react-line-number react-code-text" style="padding-right:16px">642</div><div data-line-number="643" class="react-line-number react-code-text" style="padding-right:16px">643</div><div data-line-number="644" class="react-line-number react-code-text" style="padding-right:16px">644</div><div data-line-number="645" class="react-line-number react-code-text" style="padding-right:16px">645</div><div data-line-number="646" class="react-line-number react-code-text" style="padding-right:16px">646</div><div data-line-number="647" class="react-line-number react-code-text" style="padding-right:16px">647</div><div data-line-number="648" class="react-line-number react-code-text" style="padding-right:16px">648</div><div data-line-number="649" class="react-line-number react-code-text" style="padding-right:16px">649</div><div data-line-number="650" class="react-line-number react-code-text" style="padding-right:16px">650</div><div data-line-number="651" class="react-line-number react-code-text" style="padding-right:16px">651</div><div data-line-number="652" class="react-line-number react-code-text" style="padding-right:16px">652</div><div data-line-number="653" class="react-line-number react-code-text" style="padding-right:16px">653</div><div data-line-number="654" class="react-line-number react-code-text" style="padding-right:16px">654</div><div data-line-number="655" class="react-line-number react-code-text" style="padding-right:16px">655</div><div data-line-number="656" class="react-line-number react-code-text" style="padding-right:16px">656</div><div data-line-number="657" class="react-line-number react-code-text" style="padding-right:16px">657</div><div data-line-number="658" class="react-line-number react-code-text" style="padding-right:16px">658</div><div data-line-number="659" class="react-line-number react-code-text" style="padding-right:16px">659</div><div data-line-number="660" class="react-line-number react-code-text" style="padding-right:16px">660</div><div data-line-number="661" class="react-line-number react-code-text" style="padding-right:16px">661</div><div data-line-number="662" class="react-line-number react-code-text" style="padding-right:16px">662</div><div data-line-number="663" class="react-line-number react-code-text" style="padding-right:16px">663</div><div data-line-number="664" class="react-line-number react-code-text" style="padding-right:16px">664</div><div data-line-number="665" class="react-line-number react-code-text" style="padding-right:16px">665</div><div data-line-number="666" class="react-line-number react-code-text" style="padding-right:16px">666</div><div data-line-number="667" class="react-line-number react-code-text" style="padding-right:16px">667</div><div data-line-number="668" class="react-line-number react-code-text" style="padding-right:16px">668</div><div data-line-number="669" class="react-line-number react-code-text" style="padding-right:16px">669</div><div data-line-number="670" class="react-line-number react-code-text" style="padding-right:16px">670</div><div data-line-number="671" class="react-line-number react-code-text" style="padding-right:16px">671</div><div data-line-number="672" class="react-line-number react-code-text" style="padding-right:16px">672</div><div data-line-number="673" class="react-line-number react-code-text" style="padding-right:16px">673</div><div data-line-number="674" class="react-line-number react-code-text" style="padding-right:16px">674</div><div data-line-number="675" class="react-line-number react-code-text" style="padding-right:16px">675</div><div data-line-number="676" class="react-line-number react-code-text" style="padding-right:16px">676</div><div data-line-number="677" class="react-line-number react-code-text" style="padding-right:16px">677</div><div data-line-number="678" class="react-line-number react-code-text" style="padding-right:16px">678</div><div data-line-number="679" class="react-line-number react-code-text" style="padding-right:16px">679</div><div data-line-number="680" class="react-line-number react-code-text" style="padding-right:16px">680</div><div data-line-number="681" class="react-line-number react-code-text" style="padding-right:16px">681</div><div data-line-number="682" class="react-line-number react-code-text" style="padding-right:16px">682</div><div data-line-number="683" class="react-line-number react-code-text" style="padding-right:16px">683</div><div data-line-number="684" class="react-line-number react-code-text" style="padding-right:16px">684</div><div data-line-number="685" class="react-line-number react-code-text" style="padding-right:16px">685</div><div data-line-number="686" class="react-line-number react-code-text" style="padding-right:16px">686</div><div data-line-number="687" class="react-line-number react-code-text" style="padding-right:16px">687</div><div data-line-number="688" class="react-line-number react-code-text" style="padding-right:16px">688</div><div data-line-number="689" class="react-line-number react-code-text" style="padding-right:16px">689</div><div data-line-number="690" class="react-line-number react-code-text" style="padding-right:16px">690</div><div data-line-number="691" class="react-line-number react-code-text" style="padding-right:16px">691</div><div data-line-number="692" class="react-line-number react-code-text" style="padding-right:16px">692</div><div data-line-number="693" class="react-line-number react-code-text" style="padding-right:16px">693</div><div data-line-number="694" class="react-line-number react-code-text" style="padding-right:16px">694</div><div data-line-number="695" class="react-line-number react-code-text" style="padding-right:16px">695</div><div data-line-number="696" class="react-line-number react-code-text" style="padding-right:16px">696</div><div data-line-number="697" class="react-line-number react-code-text" style="padding-right:16px">697</div><div data-line-number="698" class="react-line-number react-code-text" style="padding-right:16px">698</div><div data-line-number="699" class="react-line-number react-code-text" style="padding-right:16px">699</div><div data-line-number="700" class="react-line-number react-code-text" style="padding-right:16px">700</div><div data-line-number="701" class="react-line-number react-code-text" style="padding-right:16px">701</div><div data-line-number="702" class="react-line-number react-code-text" style="padding-right:16px">702</div><div data-line-number="703" class="react-line-number react-code-text" style="padding-right:16px">703</div><div data-line-number="704" class="react-line-number react-code-text" style="padding-right:16px">704</div><div data-line-number="705" class="react-line-number react-code-text" style="padding-right:16px">705</div><div data-line-number="706" class="react-line-number react-code-text" style="padding-right:16px">706</div><div data-line-number="707" class="react-line-number react-code-text" style="padding-right:16px">707</div><div data-line-number="708" class="react-line-number react-code-text" style="padding-right:16px">708</div><div data-line-number="709" class="react-line-number react-code-text" style="padding-right:16px">709</div><div data-line-number="710" class="react-line-number react-code-text" style="padding-right:16px">710</div><div data-line-number="711" class="react-line-number react-code-text" style="padding-right:16px">711</div><div data-line-number="712" class="react-line-number react-code-text" style="padding-right:16px">712</div><div data-line-number="713" class="react-line-number react-code-text" style="padding-right:16px">713</div><div data-line-number="714" class="react-line-number react-code-text" style="padding-right:16px">714</div><div data-line-number="715" class="react-line-number react-code-text" style="padding-right:16px">715</div><div data-line-number="716" class="react-line-number react-code-text" style="padding-right:16px">716</div><div data-line-number="717" class="react-line-number react-code-text" style="padding-right:16px">717</div><div data-line-number="718" class="react-line-number react-code-text" style="padding-right:16px">718</div><div data-line-number="719" class="react-line-number react-code-text" style="padding-right:16px">719</div><div data-line-number="720" class="react-line-number react-code-text" style="padding-right:16px">720</div><div data-line-number="721" class="react-line-number react-code-text" style="padding-right:16px">721</div><div data-line-number="722" class="react-line-number react-code-text" style="padding-right:16px">722</div><div data-line-number="723" class="react-line-number react-code-text" style="padding-right:16px">723</div><div data-line-number="724" class="react-line-number react-code-text" style="padding-right:16px">724</div><div data-line-number="725" class="react-line-number react-code-text" style="padding-right:16px">725</div><div data-line-number="726" class="react-line-number react-code-text" style="padding-right:16px">726</div><div data-line-number="727" class="react-line-number react-code-text" style="padding-right:16px">727</div><div data-line-number="728" class="react-line-number react-code-text" style="padding-right:16px">728</div><div data-line-number="729" class="react-line-number react-code-text" style="padding-right:16px">729</div><div data-line-number="730" class="react-line-number react-code-text" style="padding-right:16px">730</div><div data-line-number="731" class="react-line-number react-code-text" style="padding-right:16px">731</div><div data-line-number="732" class="react-line-number react-code-text" style="padding-right:16px">732</div><div data-line-number="733" class="react-line-number react-code-text" style="padding-right:16px">733</div><div data-line-number="734" class="react-line-number react-code-text" style="padding-right:16px">734</div><div data-line-number="735" class="react-line-number react-code-text" style="padding-right:16px">735</div><div data-line-number="736" class="react-line-number react-code-text" style="padding-right:16px">736</div><div data-line-number="737" class="react-line-number react-code-text" style="padding-right:16px">737</div><div data-line-number="738" class="react-line-number react-code-text" style="padding-right:16px">738</div><div data-line-number="739" class="react-line-number react-code-text" style="padding-right:16px">739</div><div data-line-number="740" class="react-line-number react-code-text" style="padding-right:16px">740</div><div data-line-number="741" class="react-line-number react-code-text" style="padding-right:16px">741</div><div data-line-number="742" class="react-line-number react-code-text" style="padding-right:16px">742</div><div data-line-number="743" class="react-line-number react-code-text" style="padding-right:16px">743</div><div data-line-number="744" class="react-line-number react-code-text" style="padding-right:16px">744</div><div data-line-number="745" class="react-line-number react-code-text" style="padding-right:16px">745</div><div data-line-number="746" class="react-line-number react-code-text" style="padding-right:16px">746</div><div data-line-number="747" class="react-line-number react-code-text" style="padding-right:16px">747</div><div data-line-number="748" class="react-line-number react-code-text" style="padding-right:16px">748</div><div data-line-number="749" class="react-line-number react-code-text" style="padding-right:16px">749</div><div data-line-number="750" class="react-line-number react-code-text" style="padding-right:16px">750</div><div data-line-number="751" class="react-line-number react-code-text" style="padding-right:16px">751</div><div data-line-number="752" class="react-line-number react-code-text" style="padding-right:16px">752</div><div data-line-number="753" class="react-line-number react-code-text" style="padding-right:16px">753</div><div data-line-number="754" class="react-line-number react-code-text" style="padding-right:16px">754</div><div data-line-number="755" class="react-line-number react-code-text" style="padding-right:16px">755</div><div data-line-number="756" class="react-line-number react-code-text" style="padding-right:16px">756</div><div data-line-number="757" class="react-line-number react-code-text" style="padding-right:16px">757</div><div data-line-number="758" class="react-line-number react-code-text" style="padding-right:16px">758</div><div data-line-number="759" class="react-line-number react-code-text" style="padding-right:16px">759</div><div data-line-number="760" class="react-line-number react-code-text" style="padding-right:16px">760</div><div data-line-number="761" class="react-line-number react-code-text" style="padding-right:16px">761</div><div data-line-number="762" class="react-line-number react-code-text" style="padding-right:16px">762</div><div data-line-number="763" class="react-line-number react-code-text" style="padding-right:16px">763</div><div data-line-number="764" class="react-line-number react-code-text" style="padding-right:16px">764</div><div data-line-number="765" class="react-line-number react-code-text" style="padding-right:16px">765</div><div data-line-number="766" class="react-line-number react-code-text" style="padding-right:16px">766</div><div data-line-number="767" class="react-line-number react-code-text" style="padding-right:16px">767</div><div data-line-number="768" class="react-line-number react-code-text" style="padding-right:16px">768</div><div data-line-number="769" class="react-line-number react-code-text" style="padding-right:16px">769</div><div data-line-number="770" class="react-line-number react-code-text" style="padding-right:16px">770</div><div data-line-number="771" class="react-line-number react-code-text" style="padding-right:16px">771</div><div data-line-number="772" class="react-line-number react-code-text" style="padding-right:16px">772</div><div data-line-number="773" class="react-line-number react-code-text" style="padding-right:16px">773</div><div data-line-number="774" class="react-line-number react-code-text" style="padding-right:16px">774</div><div data-line-number="775" class="react-line-number react-code-text" style="padding-right:16px">775</div><div data-line-number="776" class="react-line-number react-code-text" style="padding-right:16px">776</div><div data-line-number="777" class="react-line-number react-code-text" style="padding-right:16px">777</div><div data-line-number="778" class="react-line-number react-code-text" style="padding-right:16px">778</div><div data-line-number="779" class="react-line-number react-code-text" style="padding-right:16px">779</div><div data-line-number="780" class="react-line-number react-code-text" style="padding-right:16px">780</div><div data-line-number="781" class="react-line-number react-code-text" style="padding-right:16px">781</div><div data-line-number="782" class="react-line-number react-code-text" style="padding-right:16px">782</div><div data-line-number="783" class="react-line-number react-code-text" style="padding-right:16px">783</div><div data-line-number="784" class="react-line-number react-code-text" style="padding-right:16px">784</div><div data-line-number="785" class="react-line-number react-code-text" style="padding-right:16px">785</div><div data-line-number="786" class="react-line-number react-code-text" style="padding-right:16px">786</div><div data-line-number="787" class="react-line-number react-code-text" style="padding-right:16px">787</div><div data-line-number="788" class="react-line-number react-code-text" style="padding-right:16px">788</div><div data-line-number="789" class="react-line-number react-code-text" style="padding-right:16px">789</div><div data-line-number="790" class="react-line-number react-code-text" style="padding-right:16px">790</div><div data-line-number="791" class="react-line-number react-code-text" style="padding-right:16px">791</div><div data-line-number="792" class="react-line-number react-code-text" style="padding-right:16px">792</div><div data-line-number="793" class="react-line-number react-code-text" style="padding-right:16px">793</div><div data-line-number="794" class="react-line-number react-code-text" style="padding-right:16px">794</div><div data-line-number="795" class="react-line-number react-code-text" style="padding-right:16px">795</div><div data-line-number="796" class="react-line-number react-code-text" style="padding-right:16px">796</div><div data-line-number="797" class="react-line-number react-code-text" style="padding-right:16px">797</div><div data-line-number="798" class="react-line-number react-code-text" style="padding-right:16px">798</div><div data-line-number="799" class="react-line-number react-code-text" style="padding-right:16px">799</div><div data-line-number="800" class="react-line-number react-code-text" style="padding-right:16px">800</div><div data-line-number="801" class="react-line-number react-code-text" style="padding-right:16px">801</div><div data-line-number="802" class="react-line-number react-code-text" style="padding-right:16px">802</div><div data-line-number="803" class="react-line-number react-code-text" style="padding-right:16px">803</div><div data-line-number="804" class="react-line-number react-code-text" style="padding-right:16px">804</div><div data-line-number="805" class="react-line-number react-code-text" style="padding-right:16px">805</div><div data-line-number="806" class="react-line-number react-code-text" style="padding-right:16px">806</div><div data-line-number="807" class="react-line-number react-code-text" style="padding-right:16px">807</div><div data-line-number="808" class="react-line-number react-code-text" style="padding-right:16px">808</div><div data-line-number="809" class="react-line-number react-code-text" style="padding-right:16px">809</div><div data-line-number="810" class="react-line-number react-code-text" style="padding-right:16px">810</div><div data-line-number="811" class="react-line-number react-code-text" style="padding-right:16px">811</div><div data-line-number="812" class="react-line-number react-code-text" style="padding-right:16px">812</div><div data-line-number="813" class="react-line-number react-code-text" style="padding-right:16px">813</div><div data-line-number="814" class="react-line-number react-code-text" style="padding-right:16px">814</div><div data-line-number="815" class="react-line-number react-code-text" style="padding-right:16px">815</div><div data-line-number="816" class="react-line-number react-code-text" style="padding-right:16px">816</div><div data-line-number="817" class="react-line-number react-code-text" style="padding-right:16px">817</div><div data-line-number="818" class="react-line-number react-code-text" style="padding-right:16px">818</div><div data-line-number="819" class="react-line-number react-code-text" style="padding-right:16px">819</div><div data-line-number="820" class="react-line-number react-code-text" style="padding-right:16px">820</div><div data-line-number="821" class="react-line-number react-code-text" style="padding-right:16px">821</div><div data-line-number="822" class="react-line-number react-code-text" style="padding-right:16px">822</div><div data-line-number="823" class="react-line-number react-code-text" style="padding-right:16px">823</div><div data-line-number="824" class="react-line-number react-code-text" style="padding-right:16px">824</div><div data-line-number="825" class="react-line-number react-code-text" style="padding-right:16px">825</div><div data-line-number="826" class="react-line-number react-code-text" style="padding-right:16px">826</div><div data-line-number="827" class="react-line-number react-code-text" style="padding-right:16px">827</div><div data-line-number="828" class="react-line-number react-code-text" style="padding-right:16px">828</div><div data-line-number="829" class="react-line-number react-code-text" style="padding-right:16px">829</div><div data-line-number="830" class="react-line-number react-code-text" style="padding-right:16px">830</div><div data-line-number="831" class="react-line-number react-code-text" style="padding-right:16px">831</div><div data-line-number="832" class="react-line-number react-code-text" style="padding-right:16px">832</div><div data-line-number="833" class="react-line-number react-code-text" style="padding-right:16px">833</div><div data-line-number="834" class="react-line-number react-code-text" style="padding-right:16px">834</div><div data-line-number="835" class="react-line-number react-code-text" style="padding-right:16px">835</div><div data-line-number="836" class="react-line-number react-code-text" style="padding-right:16px">836</div><div data-line-number="837" class="react-line-number react-code-text" style="padding-right:16px">837</div><div data-line-number="838" class="react-line-number react-code-text" style="padding-right:16px">838</div><div data-line-number="839" class="react-line-number react-code-text" style="padding-right:16px">839</div><div data-line-number="840" class="react-line-number react-code-text" style="padding-right:16px">840</div><div data-line-number="841" class="react-line-number react-code-text" style="padding-right:16px">841</div><div data-line-number="842" class="react-line-number react-code-text" style="padding-right:16px">842</div><div data-line-number="843" class="react-line-number react-code-text" style="padding-right:16px">843</div><div data-line-number="844" class="react-line-number react-code-text" style="padding-right:16px">844</div><div data-line-number="845" class="react-line-number react-code-text" style="padding-right:16px">845</div><div data-line-number="846" class="react-line-number react-code-text" style="padding-right:16px">846</div><div data-line-number="847" class="react-line-number react-code-text" style="padding-right:16px">847</div><div data-line-number="848" class="react-line-number react-code-text" style="padding-right:16px">848</div><div data-line-number="849" class="react-line-number react-code-text" style="padding-right:16px">849</div><div data-line-number="850" class="react-line-number react-code-text" style="padding-right:16px">850</div><div data-line-number="851" class="react-line-number react-code-text" style="padding-right:16px">851</div><div data-line-number="852" class="react-line-number react-code-text" style="padding-right:16px">852</div><div data-line-number="853" class="react-line-number react-code-text" style="padding-right:16px">853</div><div data-line-number="854" class="react-line-number react-code-text" style="padding-right:16px">854</div><div data-line-number="855" class="react-line-number react-code-text" style="padding-right:16px">855</div><div data-line-number="856" class="react-line-number react-code-text" style="padding-right:16px">856</div><div data-line-number="857" class="react-line-number react-code-text" style="padding-right:16px">857</div><div data-line-number="858" class="react-line-number react-code-text" style="padding-right:16px">858</div><div data-line-number="859" class="react-line-number react-code-text" style="padding-right:16px">859</div><div data-line-number="860" class="react-line-number react-code-text" style="padding-right:16px">860</div><div data-line-number="861" class="react-line-number react-code-text" style="padding-right:16px">861</div><div data-line-number="862" class="react-line-number react-code-text" style="padding-right:16px">862</div><div data-line-number="863" class="react-line-number react-code-text" style="padding-right:16px">863</div><div data-line-number="864" class="react-line-number react-code-text" style="padding-right:16px">864</div><div data-line-number="865" class="react-line-number react-code-text" style="padding-right:16px">865</div><div data-line-number="866" class="react-line-number react-code-text" style="padding-right:16px">866</div><div data-line-number="867" class="react-line-number react-code-text" style="padding-right:16px">867</div><div data-line-number="868" class="react-line-number react-code-text" style="padding-right:16px">868</div><div data-line-number="869" class="react-line-number react-code-text" style="padding-right:16px">869</div><div data-line-number="870" class="react-line-number react-code-text" style="padding-right:16px">870</div><div data-line-number="871" class="react-line-number react-code-text" style="padding-right:16px">871</div><div data-line-number="872" class="react-line-number react-code-text" style="padding-right:16px">872</div><div data-line-number="873" class="react-line-number react-code-text" style="padding-right:16px">873</div><div data-line-number="874" class="react-line-number react-code-text" style="padding-right:16px">874</div><div data-line-number="875" class="react-line-number react-code-text" style="padding-right:16px">875</div><div data-line-number="876" class="react-line-number react-code-text" style="padding-right:16px">876</div><div data-line-number="877" class="react-line-number react-code-text" style="padding-right:16px">877</div><div data-line-number="878" class="react-line-number react-code-text" style="padding-right:16px">878</div><div data-line-number="879" class="react-line-number react-code-text" style="padding-right:16px">879</div><div data-line-number="880" class="react-line-number react-code-text" style="padding-right:16px">880</div><div data-line-number="881" class="react-line-number react-code-text" style="padding-right:16px">881</div><div data-line-number="882" class="react-line-number react-code-text" style="padding-right:16px">882</div><div data-line-number="883" class="react-line-number react-code-text" style="padding-right:16px">883</div><div data-line-number="884" class="react-line-number react-code-text" style="padding-right:16px">884</div><div data-line-number="885" class="react-line-number react-code-text" style="padding-right:16px">885</div><div data-line-number="886" class="react-line-number react-code-text" style="padding-right:16px">886</div><div data-line-number="887" class="react-line-number react-code-text" style="padding-right:16px">887</div><div data-line-number="888" class="react-line-number react-code-text" style="padding-right:16px">888</div><div data-line-number="889" class="react-line-number react-code-text" style="padding-right:16px">889</div><div data-line-number="890" class="react-line-number react-code-text" style="padding-right:16px">890</div><div data-line-number="891" class="react-line-number react-code-text" style="padding-right:16px">891</div><div data-line-number="892" class="react-line-number react-code-text" style="padding-right:16px">892</div><div data-line-number="893" class="react-line-number react-code-text" style="padding-right:16px">893</div><div data-line-number="894" class="react-line-number react-code-text" style="padding-right:16px">894</div><div data-line-number="895" class="react-line-number react-code-text" style="padding-right:16px">895</div><div data-line-number="896" class="react-line-number react-code-text" style="padding-right:16px">896</div><div data-line-number="897" class="react-line-number react-code-text" style="padding-right:16px">897</div><div data-line-number="898" class="react-line-number react-code-text" style="padding-right:16px">898</div><div data-line-number="899" class="react-line-number react-code-text" style="padding-right:16px">899</div><div data-line-number="900" class="react-line-number react-code-text" style="padding-right:16px">900</div><div data-line-number="901" class="react-line-number react-code-text" style="padding-right:16px">901</div><div data-line-number="902" class="react-line-number react-code-text" style="padding-right:16px">902</div><div data-line-number="903" class="react-line-number react-code-text" style="padding-right:16px">903</div><div data-line-number="904" class="react-line-number react-code-text" style="padding-right:16px">904</div><div data-line-number="905" class="react-line-number react-code-text" style="padding-right:16px">905</div><div data-line-number="906" class="react-line-number react-code-text" style="padding-right:16px">906</div><div data-line-number="907" class="react-line-number react-code-text" style="padding-right:16px">907</div><div data-line-number="908" class="react-line-number react-code-text" style="padding-right:16px">908</div><div data-line-number="909" class="react-line-number react-code-text" style="padding-right:16px">909</div><div data-line-number="910" class="react-line-number react-code-text" style="padding-right:16px">910</div><div data-line-number="911" class="react-line-number react-code-text" style="padding-right:16px">911</div><div data-line-number="912" class="react-line-number react-code-text" style="padding-right:16px">912</div><div data-line-number="913" class="react-line-number react-code-text" style="padding-right:16px">913</div><div data-line-number="914" class="react-line-number react-code-text" style="padding-right:16px">914</div><div data-line-number="915" class="react-line-number react-code-text" style="padding-right:16px">915</div><div data-line-number="916" class="react-line-number react-code-text" style="padding-right:16px">916</div><div data-line-number="917" class="react-line-number react-code-text" style="padding-right:16px">917</div><div data-line-number="918" class="react-line-number react-code-text" style="padding-right:16px">918</div><div data-line-number="919" class="react-line-number react-code-text" style="padding-right:16px">919</div><div data-line-number="920" class="react-line-number react-code-text" style="padding-right:16px">920</div><div data-line-number="921" class="react-line-number react-code-text" style="padding-right:16px">921</div><div data-line-number="922" class="react-line-number react-code-text" style="padding-right:16px">922</div><div data-line-number="923" class="react-line-number react-code-text" style="padding-right:16px">923</div><div data-line-number="924" class="react-line-number react-code-text" style="padding-right:16px">924</div><div data-line-number="925" class="react-line-number react-code-text" style="padding-right:16px">925</div><div data-line-number="926" class="react-line-number react-code-text" style="padding-right:16px">926</div><div data-line-number="927" class="react-line-number react-code-text" style="padding-right:16px">927</div><div data-line-number="928" class="react-line-number react-code-text" style="padding-right:16px">928</div><div data-line-number="929" class="react-line-number react-code-text" style="padding-right:16px">929</div><div data-line-number="930" class="react-line-number react-code-text" style="padding-right:16px">930</div><div data-line-number="931" class="react-line-number react-code-text" style="padding-right:16px">931</div><div data-line-number="932" class="react-line-number react-code-text" style="padding-right:16px">932</div><div data-line-number="933" class="react-line-number react-code-text" style="padding-right:16px">933</div><div data-line-number="934" class="react-line-number react-code-text" style="padding-right:16px">934</div><div data-line-number="935" class="react-line-number react-code-text" style="padding-right:16px">935</div><div data-line-number="936" class="react-line-number react-code-text" style="padding-right:16px">936</div><div data-line-number="937" class="react-line-number react-code-text" style="padding-right:16px">937</div><div data-line-number="938" class="react-line-number react-code-text" style="padding-right:16px">938</div><div data-line-number="939" class="react-line-number react-code-text" style="padding-right:16px">939</div><div data-line-number="940" class="react-line-number react-code-text" style="padding-right:16px">940</div><div data-line-number="941" class="react-line-number react-code-text" style="padding-right:16px">941</div><div data-line-number="942" class="react-line-number react-code-text" style="padding-right:16px">942</div><div data-line-number="943" class="react-line-number react-code-text" style="padding-right:16px">943</div><div data-line-number="944" class="react-line-number react-code-text" style="padding-right:16px">944</div><div data-line-number="945" class="react-line-number react-code-text" style="padding-right:16px">945</div><div data-line-number="946" class="react-line-number react-code-text" style="padding-right:16px">946</div><div data-line-number="947" class="react-line-number react-code-text" style="padding-right:16px">947</div><div data-line-number="948" class="react-line-number react-code-text" style="padding-right:16px">948</div><div data-line-number="949" class="react-line-number react-code-text" style="padding-right:16px">949</div><div data-line-number="950" class="react-line-number react-code-text" style="padding-right:16px">950</div><div data-line-number="951" class="react-line-number react-code-text" style="padding-right:16px">951</div><div data-line-number="952" class="react-line-number react-code-text" style="padding-right:16px">952</div><div data-line-number="953" class="react-line-number react-code-text" style="padding-right:16px">953</div><div data-line-number="954" class="react-line-number react-code-text" style="padding-right:16px">954</div><div data-line-number="955" class="react-line-number react-code-text" style="padding-right:16px">955</div><div data-line-number="956" class="react-line-number react-code-text" style="padding-right:16px">956</div><div data-line-number="957" class="react-line-number react-code-text" style="padding-right:16px">957</div><div data-line-number="958" class="react-line-number react-code-text" style="padding-right:16px">958</div><div data-line-number="959" class="react-line-number react-code-text" style="padding-right:16px">959</div><div data-line-number="960" class="react-line-number react-code-text" style="padding-right:16px">960</div><div data-line-number="961" class="react-line-number react-code-text" style="padding-right:16px">961</div><div data-line-number="962" class="react-line-number react-code-text" style="padding-right:16px">962</div><div data-line-number="963" class="react-line-number react-code-text" style="padding-right:16px">963</div><div data-line-number="964" class="react-line-number react-code-text" style="padding-right:16px">964</div><div data-line-number="965" class="react-line-number react-code-text" style="padding-right:16px">965</div><div data-line-number="966" class="react-line-number react-code-text" style="padding-right:16px">966</div><div data-line-number="967" class="react-line-number react-code-text" style="padding-right:16px">967</div><div data-line-number="968" class="react-line-number react-code-text" style="padding-right:16px">968</div><div data-line-number="969" class="react-line-number react-code-text" style="padding-right:16px">969</div><div data-line-number="970" class="react-line-number react-code-text" style="padding-right:16px">970</div><div data-line-number="971" class="react-line-number react-code-text" style="padding-right:16px">971</div><div data-line-number="972" class="react-line-number react-code-text" style="padding-right:16px">972</div><div data-line-number="973" class="react-line-number react-code-text" style="padding-right:16px">973</div><div data-line-number="974" class="react-line-number react-code-text" style="padding-right:16px">974</div><div data-line-number="975" class="react-line-number react-code-text" style="padding-right:16px">975</div><div data-line-number="976" class="react-line-number react-code-text" style="padding-right:16px">976</div><div data-line-number="977" class="react-line-number react-code-text" style="padding-right:16px">977</div><div data-line-number="978" class="react-line-number react-code-text" style="padding-right:16px">978</div><div data-line-number="979" class="react-line-number react-code-text" style="padding-right:16px">979</div><div data-line-number="980" class="react-line-number react-code-text" style="padding-right:16px">980</div><div data-line-number="981" class="react-line-number react-code-text" style="padding-right:16px">981</div><div data-line-number="982" class="react-line-number react-code-text" style="padding-right:16px">982</div><div data-line-number="983" class="react-line-number react-code-text" style="padding-right:16px">983</div><div data-line-number="984" class="react-line-number react-code-text" style="padding-right:16px">984</div><div data-line-number="985" class="react-line-number react-code-text" style="padding-right:16px">985</div><div data-line-number="986" class="react-line-number react-code-text" style="padding-right:16px">986</div><div data-line-number="987" class="react-line-number react-code-text" style="padding-right:16px">987</div><div data-line-number="988" class="react-line-number react-code-text" style="padding-right:16px">988</div><div data-line-number="989" class="react-line-number react-code-text" style="padding-right:16px">989</div><div data-line-number="990" class="react-line-number react-code-text" style="padding-right:16px">990</div><div data-line-number="991" class="react-line-number react-code-text" style="padding-right:16px">991</div><div data-line-number="992" class="react-line-number react-code-text" style="padding-right:16px">992</div><div data-line-number="993" class="react-line-number react-code-text" style="padding-right:16px">993</div><div data-line-number="994" class="react-line-number react-code-text" style="padding-right:16px">994</div><div data-line-number="995" class="react-line-number react-code-text" style="padding-right:16px">995</div><div data-line-number="996" class="react-line-number react-code-text" style="padding-right:16px">996</div><div data-line-number="997" class="react-line-number react-code-text" style="padding-right:16px">997</div><div data-line-number="998" class="react-line-number react-code-text" style="padding-right:16px">998</div><div data-line-number="999" class="react-line-number react-code-text" style="padding-right:16px">999</div><div data-line-number="1000" class="react-line-number react-code-text" style="padding-right:16px">1000</div></div><div class="react-code-lines"><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1" class="react-file-line html-div" data-testid="code-cell" data-line-number="1" style="position:relative"><span class="pl-c">/* vi:set ts=8 sts=4 sw=4 noet:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC2" class="react-file-line html-div" data-testid="code-cell" data-line-number="2" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC3" class="react-file-line html-div" data-testid="code-cell" data-line-number="3" style="position:relative"><span class="pl-c"> * VIM - Vi IMproved by Bram Moolenaar</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC4" class="react-file-line html-div" data-testid="code-cell" data-line-number="4" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC5" class="react-file-line html-div" data-testid="code-cell" data-line-number="5" style="position:relative"><span class="pl-c"> * Do ":help uganda" in Vim to read copying and usage conditions.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC6" class="react-file-line html-div" data-testid="code-cell" data-line-number="6" style="position:relative"><span class="pl-c"> * Do ":help credits" in Vim to see a list of people who contributed.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC7" class="react-file-line html-div" data-testid="code-cell" data-line-number="7" style="position:relative"><span class="pl-c"> * See README.txt for an overview of the Vim source code.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC8" class="react-file-line html-div" data-testid="code-cell" data-line-number="8" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC9" class="react-file-line html-div" data-testid="code-cell" data-line-number="9" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC10" class="react-file-line html-div" data-testid="code-cell" data-line-number="10" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC11" class="react-file-line html-div" data-testid="code-cell" data-line-number="11" style="position:relative"><span class="pl-c"> * buffer.c: functions for dealing with the buffer structure</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC12" class="react-file-line html-div" data-testid="code-cell" data-line-number="12" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC13" class="react-file-line html-div" data-testid="code-cell" data-line-number="13" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC14" class="react-file-line html-div" data-testid="code-cell" data-line-number="14" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC15" class="react-file-line html-div" data-testid="code-cell" data-line-number="15" style="position:relative"><span class="pl-c"> * The buffer list is a double linked list of all buffers.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative"><span class="pl-c"> * Each buffer can be in one of these states:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC17" class="react-file-line html-div" data-testid="code-cell" data-line-number="17" style="position:relative"><span class="pl-c"> * never loaded: BF_NEVERLOADED is set, only the file name is valid</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC18" class="react-file-line html-div" data-testid="code-cell" data-line-number="18" style="position:relative"><span class="pl-c"> * not loaded: b_ml.ml_mfp == NULL, no memfile allocated</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC19" class="react-file-line html-div" data-testid="code-cell" data-line-number="19" style="position:relative"><span class="pl-c"> * hidden: b_nwindows == 0, loaded but not displayed in a window</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative"><span class="pl-c"> * normal: loaded and displayed in a window</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative"><span class="pl-c"> * Instead of storing file names all over the place, each file name is</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC23" class="react-file-line html-div" data-testid="code-cell" data-line-number="23" style="position:relative"><span class="pl-c"> * stored in the buffer list. It can be referenced by a number.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC24" class="react-file-line html-div" data-testid="code-cell" data-line-number="24" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC25" class="react-file-line html-div" data-testid="code-cell" data-line-number="25" style="position:relative"><span class="pl-c"> * The current implementation remembers all file names ever used.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC26" class="react-file-line html-div" data-testid="code-cell" data-line-number="26" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC27" class="react-file-line html-div" data-testid="code-cell" data-line-number="27" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC28" class="react-file-line html-div" data-testid="code-cell" data-line-number="28" style="position:relative"><span class="pl-k">#include</span> <span class="pl-s">"vim.h"</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC29" class="react-file-line html-div" data-testid="code-cell" data-line-number="29" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC30" class="react-file-line html-div" data-testid="code-cell" data-line-number="30" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC31" class="react-file-line html-div" data-testid="code-cell" data-line-number="31" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC32" class="react-file-line html-div" data-testid="code-cell" data-line-number="32" style="position:relative"><span class="pl-c">// Determines how deeply nested %{} blocks will be evaluated in statusline.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC33" class="react-file-line html-div" data-testid="code-cell" data-line-number="33" style="position:relative"><span class="pl-k"># define</span> <span class="pl-c1">MAX_STL_EVAL_DEPTH</span> 100</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC34" class="react-file-line html-div" data-testid="code-cell" data-line-number="34" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC35" class="react-file-line html-div" data-testid="code-cell" data-line-number="35" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC36" class="react-file-line html-div" data-testid="code-cell" data-line-number="36" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">enter_buffer</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC37" class="react-file-line html-div" data-testid="code-cell" data-line-number="37" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">buflist_getfpos</span>(<span class="pl-smi">void</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC38" class="react-file-line html-div" data-testid="code-cell" data-line-number="38" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-en">buflist_match</span>(<span class="pl-smi">regmatch_T</span> <span class="pl-c1">*</span><span class="pl-s1">rmp</span>, <span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">int</span> <span class="pl-s1">ignore_case</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC39" class="react-file-line html-div" data-testid="code-cell" data-line-number="39" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-en">fname_match</span>(<span class="pl-smi">regmatch_T</span> <span class="pl-c1">*</span><span class="pl-s1">rmp</span>, <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">name</span>, <span class="pl-smi">int</span> <span class="pl-s1">ignore_case</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC40" class="react-file-line html-div" data-testid="code-cell" data-line-number="40" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC41" class="react-file-line html-div" data-testid="code-cell" data-line-number="41" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-en">buflist_findname_stat</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">ffname</span>, <span class="pl-smi">stat_T</span> <span class="pl-c1">*</span><span class="pl-s1">st</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC42" class="react-file-line html-div" data-testid="code-cell" data-line-number="42" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">otherfile_buf</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">ffname</span>, <span class="pl-smi">stat_T</span> <span class="pl-c1">*</span><span class="pl-s1">stp</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC43" class="react-file-line html-div" data-testid="code-cell" data-line-number="43" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">buf_same_ino</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">stat_T</span> <span class="pl-c1">*</span><span class="pl-s1">stp</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC44" class="react-file-line html-div" data-testid="code-cell" data-line-number="44" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC45" class="react-file-line html-div" data-testid="code-cell" data-line-number="45" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">otherfile_buf</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">ffname</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC46" class="react-file-line html-div" data-testid="code-cell" data-line-number="46" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC47" class="react-file-line html-div" data-testid="code-cell" data-line-number="47" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">value_changed</span>(<span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">str</span>, <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-c1">*</span><span class="pl-s1">last</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC48" class="react-file-line html-div" data-testid="code-cell" data-line-number="48" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">append_arg_number</span>(<span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span>, <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">int</span> <span class="pl-s1">buflen</span>, <span class="pl-smi">int</span> <span class="pl-s1">add_file</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC49" class="react-file-line html-div" data-testid="code-cell" data-line-number="49" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_buffer</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC50" class="react-file-line html-div" data-testid="code-cell" data-line-number="50" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">free_buffer_stuff</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">int</span> <span class="pl-s1">free_options</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC51" class="react-file-line html-div" data-testid="code-cell" data-line-number="51" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">bt_nofileread</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC52" class="react-file-line html-div" data-testid="code-cell" data-line-number="52" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">void</span> <span class="pl-en">no_write_message_buf</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC53" class="react-file-line html-div" data-testid="code-cell" data-line-number="53" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-en">do_buffer_ext</span>(<span class="pl-smi">int</span> <span class="pl-s1">action</span>, <span class="pl-smi">int</span> <span class="pl-s1">start</span>, <span class="pl-smi">int</span> <span class="pl-s1">dir</span>, <span class="pl-smi">int</span> <span class="pl-s1">count</span>, <span class="pl-smi">int</span> <span class="pl-s1">flags</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC54" class="react-file-line html-div" data-testid="code-cell" data-line-number="54" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC55" class="react-file-line html-div" data-testid="code-cell" data-line-number="55" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC56" class="react-file-line html-div" data-testid="code-cell" data-line-number="56" style="position:relative"><span class="pl-k"># define</span> <span class="pl-s1">dev_T</span> dev_t</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC57" class="react-file-line html-div" data-testid="code-cell" data-line-number="57" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC58" class="react-file-line html-div" data-testid="code-cell" data-line-number="58" style="position:relative"><span class="pl-k"># define</span> <span class="pl-s1">dev_T</span> unsigned</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC59" class="react-file-line html-div" data-testid="code-cell" data-line-number="59" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC60" class="react-file-line html-div" data-testid="code-cell" data-line-number="60" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC61" class="react-file-line html-div" data-testid="code-cell" data-line-number="61" style="position:relative"><span class="pl-k">#define</span> <span class="pl-en">FOR_ALL_BUFS_FROM_LAST</span>(<span class="pl-s1">buf</span>) \</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC62" class="react-file-line html-div" data-testid="code-cell" data-line-number="62" style="position:relative"> for ((buf) = lastbuf; (buf) != NULL; (buf) = (buf)->b_prev)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC63" class="react-file-line html-div" data-testid="code-cell" data-line-number="63" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC64" class="react-file-line html-div" data-testid="code-cell" data-line-number="64" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_QUICKFIX</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC65" class="react-file-line html-div" data-testid="code-cell" data-line-number="65" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">msg_loclist</span> <span class="pl-c1">=</span> <span class="pl-en">N_</span>(<span class="pl-s">"[Location List]"</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC66" class="react-file-line html-div" data-testid="code-cell" data-line-number="66" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">char</span> <span class="pl-c1">*</span><span class="pl-s1">msg_qflist</span> <span class="pl-c1">=</span> <span class="pl-en">N_</span>(<span class="pl-s">"[Quickfix List]"</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC67" class="react-file-line html-div" data-testid="code-cell" data-line-number="67" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC68" class="react-file-line html-div" data-testid="code-cell" data-line-number="68" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC69" class="react-file-line html-div" data-testid="code-cell" data-line-number="69" style="position:relative"><span class="pl-c">// Number of times free_buffer() was called.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC70" class="react-file-line html-div" data-testid="code-cell" data-line-number="70" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">buf_free_count</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC71" class="react-file-line html-div" data-testid="code-cell" data-line-number="71" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC72" class="react-file-line html-div" data-testid="code-cell" data-line-number="72" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">int</span> <span class="pl-s1">top_file_num</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>; <span class="pl-c">// highest file number</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC73" class="react-file-line html-div" data-testid="code-cell" data-line-number="73" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">garray_T</span> <span class="pl-s1">buf_reuse</span> <span class="pl-c1">=</span> <span class="pl-c1">GA_EMPTY</span>; <span class="pl-c">// file numbers to recycle</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC74" class="react-file-line html-div" data-testid="code-cell" data-line-number="74" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC75" class="react-file-line html-div" data-testid="code-cell" data-line-number="75" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC76" class="react-file-line html-div" data-testid="code-cell" data-line-number="76" style="position:relative"><span class="pl-c"> * Return the highest possible buffer number.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC77" class="react-file-line html-div" data-testid="code-cell" data-line-number="77" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC78" class="react-file-line html-div" data-testid="code-cell" data-line-number="78" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC79" class="react-file-line html-div" data-testid="code-cell" data-line-number="79" style="position:relative"><span class="pl-en">get_highest_fnum</span>(<span class="pl-smi">void</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC80" class="react-file-line html-div" data-testid="code-cell" data-line-number="80" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC81" class="react-file-line html-div" data-testid="code-cell" data-line-number="81" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">top_file_num</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC82" class="react-file-line html-div" data-testid="code-cell" data-line-number="82" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC83" class="react-file-line html-div" data-testid="code-cell" data-line-number="83" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC84" class="react-file-line html-div" data-testid="code-cell" data-line-number="84" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC85" class="react-file-line html-div" data-testid="code-cell" data-line-number="85" style="position:relative"><span class="pl-c"> * Read data from buffer for retrying.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC86" class="react-file-line html-div" data-testid="code-cell" data-line-number="86" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC87" class="react-file-line html-div" data-testid="code-cell" data-line-number="87" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC88" class="react-file-line html-div" data-testid="code-cell" data-line-number="88" style="position:relative"><span class="pl-en">read_buffer</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC89" class="react-file-line html-div" data-testid="code-cell" data-line-number="89" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">read_stdin</span>, <span class="pl-c">// read file from stdin, otherwise fifo</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC90" class="react-file-line html-div" data-testid="code-cell" data-line-number="90" style="position:relative"> <span class="pl-smi">exarg_T</span> <span class="pl-c1">*</span><span class="pl-s1">eap</span>, <span class="pl-c">// for forced 'ff' and 'fenc' or NULL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC91" class="react-file-line html-div" data-testid="code-cell" data-line-number="91" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">flags</span>) <span class="pl-c">// extra flags for readfile()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC92" class="react-file-line html-div" data-testid="code-cell" data-line-number="92" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC93" class="react-file-line html-div" data-testid="code-cell" data-line-number="93" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-c1">OK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC94" class="react-file-line html-div" data-testid="code-cell" data-line-number="94" style="position:relative"> <span class="pl-smi">linenr_T</span> <span class="pl-s1">line_count</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC95" class="react-file-line html-div" data-testid="code-cell" data-line-number="95" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC96" class="react-file-line html-div" data-testid="code-cell" data-line-number="96" style="position:relative"> <span class="pl-c">// Read from the buffer which the text is already filled in and append at</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC97" class="react-file-line html-div" data-testid="code-cell" data-line-number="97" style="position:relative"> <span class="pl-c">// the end. This makes it possible to retry when 'fileformat' or</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC98" class="react-file-line html-div" data-testid="code-cell" data-line-number="98" style="position:relative"> <span class="pl-c">// 'fileencoding' was guessed wrong.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC99" class="react-file-line html-div" data-testid="code-cell" data-line-number="99" style="position:relative"> <span class="pl-s1">line_count</span> <span class="pl-c1">=</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_line_count</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC100" class="react-file-line html-div" data-testid="code-cell" data-line-number="100" style="position:relative"> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-en">readfile</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC101" class="react-file-line html-div" data-testid="code-cell" data-line-number="101" style="position:relative"> <span class="pl-s1">read_stdin</span> ? <span class="pl-c1">NULL</span> : <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC102" class="react-file-line html-div" data-testid="code-cell" data-line-number="102" style="position:relative"> <span class="pl-s1">read_stdin</span> ? <span class="pl-c1">NULL</span> : <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC103" class="react-file-line html-div" data-testid="code-cell" data-line-number="103" style="position:relative"> <span class="pl-s1">line_count</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">0</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">MAXLNUM</span>, <span class="pl-s1">eap</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC104" class="react-file-line html-div" data-testid="code-cell" data-line-number="104" style="position:relative"> <span class="pl-s1">flags</span> | <span class="pl-c1">READ_BUFFER</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC105" class="react-file-line html-div" data-testid="code-cell" data-line-number="105" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC106" class="react-file-line html-div" data-testid="code-cell" data-line-number="106" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC107" class="react-file-line html-div" data-testid="code-cell" data-line-number="107" style="position:relative"> <span class="pl-c">// Delete the binary lines.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC108" class="react-file-line html-div" data-testid="code-cell" data-line-number="108" style="position:relative"> <span class="pl-k">while</span> (<span class="pl-c1">--</span><span class="pl-s1">line_count</span> >= <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC109" class="react-file-line html-div" data-testid="code-cell" data-line-number="109" style="position:relative"> <span class="pl-en">ml_delete</span>((<span class="pl-smi">linenr_T</span>)<span class="pl-c1">1</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC110" class="react-file-line html-div" data-testid="code-cell" data-line-number="110" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC111" class="react-file-line html-div" data-testid="code-cell" data-line-number="111" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC112" class="react-file-line html-div" data-testid="code-cell" data-line-number="112" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC113" class="react-file-line html-div" data-testid="code-cell" data-line-number="113" style="position:relative"> <span class="pl-c">// Delete the converted lines.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC114" class="react-file-line html-div" data-testid="code-cell" data-line-number="114" style="position:relative"> <span class="pl-k">while</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_line_count</span> <span class="pl-c1">></span> <span class="pl-s1">line_count</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC115" class="react-file-line html-div" data-testid="code-cell" data-line-number="115" style="position:relative"> <span class="pl-en">ml_delete</span>(<span class="pl-s1">line_count</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC116" class="react-file-line html-div" data-testid="code-cell" data-line-number="116" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC117" class="react-file-line html-div" data-testid="code-cell" data-line-number="117" style="position:relative"> <span class="pl-c">// Put the cursor on the first line.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC118" class="react-file-line html-div" data-testid="code-cell" data-line-number="118" style="position:relative"> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_cursor</span>.<span class="pl-c1">lnum</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC119" class="react-file-line html-div" data-testid="code-cell" data-line-number="119" style="position:relative"> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_cursor</span>.<span class="pl-c1">col</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC120" class="react-file-line html-div" data-testid="code-cell" data-line-number="120" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC121" class="react-file-line html-div" data-testid="code-cell" data-line-number="121" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">read_stdin</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC122" class="react-file-line html-div" data-testid="code-cell" data-line-number="122" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC123" class="react-file-line html-div" data-testid="code-cell" data-line-number="123" style="position:relative"> <span class="pl-c">// Set or reset 'modified' before executing autocommands, so that</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC124" class="react-file-line html-div" data-testid="code-cell" data-line-number="124" style="position:relative"> <span class="pl-c">// it can be changed there.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC125" class="react-file-line html-div" data-testid="code-cell" data-line-number="125" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">readonlymode</span> <span class="pl-c1">&&</span> !<span class="pl-en">BUFEMPTY</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC126" class="react-file-line html-div" data-testid="code-cell" data-line-number="126" style="position:relative"> <span class="pl-en">changed</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC127" class="react-file-line html-div" data-testid="code-cell" data-line-number="127" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC128" class="react-file-line html-div" data-testid="code-cell" data-line-number="128" style="position:relative"> <span class="pl-en">unchanged</span>(<span class="pl-s1">curbuf</span>, FALSE, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC129" class="react-file-line html-div" data-testid="code-cell" data-line-number="129" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC130" class="react-file-line html-div" data-testid="code-cell" data-line-number="130" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC131" class="react-file-line html-div" data-testid="code-cell" data-line-number="131" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC132" class="react-file-line html-div" data-testid="code-cell" data-line-number="132" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC133" class="react-file-line html-div" data-testid="code-cell" data-line-number="133" style="position:relative"> <span class="pl-en">apply_autocmds_retval</span>(<span class="pl-c1">EVENT_STDINREADPOST</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, FALSE,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC134" class="react-file-line html-div" data-testid="code-cell" data-line-number="134" style="position:relative"> <span class="pl-s1">curbuf</span>, <span class="pl-c1">&</span><span class="pl-s1">retval</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC135" class="react-file-line html-div" data-testid="code-cell" data-line-number="135" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC136" class="react-file-line html-div" data-testid="code-cell" data-line-number="136" style="position:relative"> <span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_STDINREADPOST</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, FALSE, <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC137" class="react-file-line html-div" data-testid="code-cell" data-line-number="137" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC138" class="react-file-line html-div" data-testid="code-cell" data-line-number="138" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC139" class="react-file-line html-div" data-testid="code-cell" data-line-number="139" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC140" class="react-file-line html-div" data-testid="code-cell" data-line-number="140" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">retval</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC141" class="react-file-line html-div" data-testid="code-cell" data-line-number="141" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC142" class="react-file-line html-div" data-testid="code-cell" data-line-number="142" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC143" class="react-file-line html-div" data-testid="code-cell" data-line-number="143" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">FEAT_EVAL</span>) <span class="pl-c1">||</span> defined(<span class="pl-c1">PROTO</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC144" class="react-file-line html-div" data-testid="code-cell" data-line-number="144" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC145" class="react-file-line html-div" data-testid="code-cell" data-line-number="145" style="position:relative"><span class="pl-c"> * Ensure buffer "buf" is loaded. Does not trigger the swap-exists action.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC146" class="react-file-line html-div" data-testid="code-cell" data-line-number="146" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC147" class="react-file-line html-div" data-testid="code-cell" data-line-number="147" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC148" class="react-file-line html-div" data-testid="code-cell" data-line-number="148" style="position:relative"><span class="pl-en">buffer_ensure_loaded</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC149" class="react-file-line html-div" data-testid="code-cell" data-line-number="149" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC150" class="react-file-line html-div" data-testid="code-cell" data-line-number="150" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC151" class="react-file-line html-div" data-testid="code-cell" data-line-number="151" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC152" class="react-file-line html-div" data-testid="code-cell" data-line-number="152" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC153" class="react-file-line html-div" data-testid="code-cell" data-line-number="153" style="position:relative"> <span class="pl-smi">aco_save_T</span> <span class="pl-s1">aco</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC154" class="react-file-line html-div" data-testid="code-cell" data-line-number="154" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC155" class="react-file-line html-div" data-testid="code-cell" data-line-number="155" style="position:relative"> <span class="pl-c">// Make sure the buffer is in a window. If not then skip it.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC156" class="react-file-line html-div" data-testid="code-cell" data-line-number="156" style="position:relative"> <span class="pl-en">aucmd_prepbuf</span>(<span class="pl-c1">&</span><span class="pl-s1">aco</span>, <span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC157" class="react-file-line html-div" data-testid="code-cell" data-line-number="157" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC158" class="react-file-line html-div" data-testid="code-cell" data-line-number="158" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC159" class="react-file-line html-div" data-testid="code-cell" data-line-number="159" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">swap_exists_action</span> <span class="pl-c1">!=</span> <span class="pl-c1">SEA_READONLY</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC160" class="react-file-line html-div" data-testid="code-cell" data-line-number="160" style="position:relative"> <span class="pl-s1">swap_exists_action</span> <span class="pl-c1">=</span> <span class="pl-c1">SEA_NONE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC161" class="react-file-line html-div" data-testid="code-cell" data-line-number="161" style="position:relative"> <span class="pl-en">open_buffer</span>(FALSE, <span class="pl-c1">NULL</span>, <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC162" class="react-file-line html-div" data-testid="code-cell" data-line-number="162" style="position:relative"> <span class="pl-en">aucmd_restbuf</span>(<span class="pl-c1">&</span><span class="pl-s1">aco</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC163" class="react-file-line html-div" data-testid="code-cell" data-line-number="163" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC164" class="react-file-line html-div" data-testid="code-cell" data-line-number="164" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC165" class="react-file-line html-div" data-testid="code-cell" data-line-number="165" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC166" class="react-file-line html-div" data-testid="code-cell" data-line-number="166" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC167" class="react-file-line html-div" data-testid="code-cell" data-line-number="167" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC168" class="react-file-line html-div" data-testid="code-cell" data-line-number="168" style="position:relative"><span class="pl-c"> * Open current buffer, that is: open the memfile and read the file into</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC169" class="react-file-line html-div" data-testid="code-cell" data-line-number="169" style="position:relative"><span class="pl-c"> * memory.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC170" class="react-file-line html-div" data-testid="code-cell" data-line-number="170" style="position:relative"><span class="pl-c"> * Return FAIL for failure, OK otherwise.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC171" class="react-file-line html-div" data-testid="code-cell" data-line-number="171" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC172" class="react-file-line html-div" data-testid="code-cell" data-line-number="172" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC173" class="react-file-line html-div" data-testid="code-cell" data-line-number="173" style="position:relative"><span class="pl-en">open_buffer</span>(</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC174" class="react-file-line html-div" data-testid="code-cell" data-line-number="174" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">read_stdin</span>, <span class="pl-c">// read file from stdin</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC175" class="react-file-line html-div" data-testid="code-cell" data-line-number="175" style="position:relative"> <span class="pl-smi">exarg_T</span> <span class="pl-c1">*</span><span class="pl-s1">eap</span>, <span class="pl-c">// for forced 'ff' and 'fenc' or NULL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC176" class="react-file-line html-div" data-testid="code-cell" data-line-number="176" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">flags_arg</span>) <span class="pl-c">// extra flags for readfile()</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC177" class="react-file-line html-div" data-testid="code-cell" data-line-number="177" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC178" class="react-file-line html-div" data-testid="code-cell" data-line-number="178" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">flags</span> <span class="pl-c1">=</span> <span class="pl-s1">flags_arg</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC179" class="react-file-line html-div" data-testid="code-cell" data-line-number="179" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-c1">OK</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC180" class="react-file-line html-div" data-testid="code-cell" data-line-number="180" style="position:relative"> <span class="pl-smi">bufref_T</span> <span class="pl-s1">old_curbuf</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC181" class="react-file-line html-div" data-testid="code-cell" data-line-number="181" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_SYN_HL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC182" class="react-file-line html-div" data-testid="code-cell" data-line-number="182" style="position:relative"> <span class="pl-smi">long</span> <span class="pl-s1">old_tw</span> <span class="pl-c1">=</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_tw</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC183" class="react-file-line html-div" data-testid="code-cell" data-line-number="183" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC184" class="react-file-line html-div" data-testid="code-cell" data-line-number="184" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">read_fifo</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC185" class="react-file-line html-div" data-testid="code-cell" data-line-number="185" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC186" class="react-file-line html-div" data-testid="code-cell" data-line-number="186" style="position:relative"> <span class="pl-c">// The 'readonly' flag is only set when BF_NEVERLOADED is being reset.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC187" class="react-file-line html-div" data-testid="code-cell" data-line-number="187" style="position:relative"> <span class="pl-c">// When re-entering the same buffer, it should not change, because the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC188" class="react-file-line html-div" data-testid="code-cell" data-line-number="188" style="position:relative"> <span class="pl-c">// user may have reset the flag by hand.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC189" class="react-file-line html-div" data-testid="code-cell" data-line-number="189" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">readonlymode</span> <span class="pl-c1">&&</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC190" class="react-file-line html-div" data-testid="code-cell" data-line-number="190" style="position:relative"> <span class="pl-c1">&&</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BF_NEVERLOADED</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC191" class="react-file-line html-div" data-testid="code-cell" data-line-number="191" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_ro</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC192" class="react-file-line html-div" data-testid="code-cell" data-line-number="192" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC193" class="react-file-line html-div" data-testid="code-cell" data-line-number="193" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">ml_open</span>(<span class="pl-s1">curbuf</span>) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC194" class="react-file-line html-div" data-testid="code-cell" data-line-number="194" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC195" class="react-file-line html-div" data-testid="code-cell" data-line-number="195" style="position:relative"> <span class="pl-c">// There MUST be a memfile, otherwise we can't do anything</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC196" class="react-file-line html-div" data-testid="code-cell" data-line-number="196" style="position:relative"> <span class="pl-c">// If we can't create one for the current buffer, take another buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC197" class="react-file-line html-div" data-testid="code-cell" data-line-number="197" style="position:relative"> <span class="pl-en">close_buffer</span>(<span class="pl-c1">NULL</span>, <span class="pl-s1">curbuf</span>, <span class="pl-c1">0</span>, FALSE, FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC198" class="react-file-line html-div" data-testid="code-cell" data-line-number="198" style="position:relative"> <span class="pl-c1">FOR_ALL_BUFFERS</span>(<span class="pl-smi">curbuf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC199" class="react-file-line html-div" data-testid="code-cell" data-line-number="199" style="position:relative"> <span class="pl-en">if</span> (<span class="pl-smi">curbuf</span><span class="pl-c1">-></span><span class="pl-s1">b_ml</span>.<span class="pl-s1">ml_mfp</span> <span class="pl-c1">!=</span> NULL)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC200" class="react-file-line html-div" data-testid="code-cell" data-line-number="200" style="position:relative"> <span class="pl-s1">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC201" class="react-file-line html-div" data-testid="code-cell" data-line-number="201" style="position:relative"> <span class="pl-c">// If there is no memfile at all, exit.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC202" class="react-file-line html-div" data-testid="code-cell" data-line-number="202" style="position:relative"> <span class="pl-c">// This is OK, since there are no changes to lose.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC203" class="react-file-line html-div" data-testid="code-cell" data-line-number="203" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC204" class="react-file-line html-div" data-testid="code-cell" data-line-number="204" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC205" class="react-file-line html-div" data-testid="code-cell" data-line-number="205" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_cannot_allocate_any_buffer_exiting</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC206" class="react-file-line html-div" data-testid="code-cell" data-line-number="206" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC207" class="react-file-line html-div" data-testid="code-cell" data-line-number="207" style="position:relative"> <span class="pl-c">// Don't try to do any saving, with "curbuf" NULL almost nothing</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC208" class="react-file-line html-div" data-testid="code-cell" data-line-number="208" style="position:relative"> <span class="pl-c">// will work.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC209" class="react-file-line html-div" data-testid="code-cell" data-line-number="209" style="position:relative"> <span class="pl-s1">v_dying</span> <span class="pl-c1">=</span> <span class="pl-c1">2</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC210" class="react-file-line html-div" data-testid="code-cell" data-line-number="210" style="position:relative"> <span class="pl-en">getout</span>(<span class="pl-c1">2</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC211" class="react-file-line html-div" data-testid="code-cell" data-line-number="211" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC212" class="react-file-line html-div" data-testid="code-cell" data-line-number="212" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC213" class="react-file-line html-div" data-testid="code-cell" data-line-number="213" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_cannot_allocate_buffer_using_other_one</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC214" class="react-file-line html-div" data-testid="code-cell" data-line-number="214" style="position:relative"> <span class="pl-en">enter_buffer</span>(<span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC215" class="react-file-line html-div" data-testid="code-cell" data-line-number="215" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_SYN_HL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC216" class="react-file-line html-div" data-testid="code-cell" data-line-number="216" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">old_tw</span> <span class="pl-c1">!=</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_tw</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC217" class="react-file-line html-div" data-testid="code-cell" data-line-number="217" style="position:relative"> <span class="pl-en">check_colorcolumn</span>(<span class="pl-c1">NULL</span>, <span class="pl-s1">curwin</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC218" class="react-file-line html-div" data-testid="code-cell" data-line-number="218" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC219" class="react-file-line html-div" data-testid="code-cell" data-line-number="219" style="position:relative"> <span class="pl-k">return</span> <span class="pl-c1">FAIL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC220" class="react-file-line html-div" data-testid="code-cell" data-line-number="220" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC221" class="react-file-line html-div" data-testid="code-cell" data-line-number="221" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC222" class="react-file-line html-div" data-testid="code-cell" data-line-number="222" style="position:relative"> <span class="pl-c">// Do not sync this buffer yet, may first want to read the file.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC223" class="react-file-line html-div" data-testid="code-cell" data-line-number="223" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC224" class="react-file-line html-div" data-testid="code-cell" data-line-number="224" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span><span class="pl-c1">-></span><span class="pl-c1">mf_dirty</span> <span class="pl-c1">=</span> <span class="pl-c1">MF_DIRTY_YES_NOSYNC</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC225" class="react-file-line html-div" data-testid="code-cell" data-line-number="225" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC226" class="react-file-line html-div" data-testid="code-cell" data-line-number="226" style="position:relative"> <span class="pl-c">// The autocommands in readfile() may change the buffer, but only AFTER</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC227" class="react-file-line html-div" data-testid="code-cell" data-line-number="227" style="position:relative"> <span class="pl-c">// reading the file.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC228" class="react-file-line html-div" data-testid="code-cell" data-line-number="228" style="position:relative"> <span class="pl-en">set_bufref</span>(<span class="pl-c1">&</span><span class="pl-s1">old_curbuf</span>, <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC229" class="react-file-line html-div" data-testid="code-cell" data-line-number="229" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_modified_was_set</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC230" class="react-file-line html-div" data-testid="code-cell" data-line-number="230" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC231" class="react-file-line html-div" data-testid="code-cell" data-line-number="231" style="position:relative"> <span class="pl-c">// mark cursor position as being invalid</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC232" class="react-file-line html-div" data-testid="code-cell" data-line-number="232" style="position:relative"> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_valid</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC233" class="react-file-line html-div" data-testid="code-cell" data-line-number="233" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC234" class="react-file-line html-div" data-testid="code-cell" data-line-number="234" style="position:relative"> <span class="pl-c">// A buffer without an actual file should not use the buffer name to read a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC235" class="react-file-line html-div" data-testid="code-cell" data-line-number="235" style="position:relative"> <span class="pl-c">// file.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC236" class="react-file-line html-div" data-testid="code-cell" data-line-number="236" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">bt_nofileread</span>(<span class="pl-s1">curbuf</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC237" class="react-file-line html-div" data-testid="code-cell" data-line-number="237" style="position:relative"> <span class="pl-s1">flags</span> |= <span class="pl-c1">READ_NOFILE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC238" class="react-file-line html-div" data-testid="code-cell" data-line-number="238" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC239" class="react-file-line html-div" data-testid="code-cell" data-line-number="239" style="position:relative"> <span class="pl-c">// Read the file if there is one.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC240" class="react-file-line html-div" data-testid="code-cell" data-line-number="240" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC241" class="react-file-line html-div" data-testid="code-cell" data-line-number="241" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_NETBEANS_INTG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC242" class="react-file-line html-div" data-testid="code-cell" data-line-number="242" style="position:relative"> <span class="pl-c1">&&</span> <span class="pl-s1">netbeansReadFile</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC243" class="react-file-line html-div" data-testid="code-cell" data-line-number="243" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC244" class="react-file-line html-div" data-testid="code-cell" data-line-number="244" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC245" class="react-file-line html-div" data-testid="code-cell" data-line-number="245" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC246" class="react-file-line html-div" data-testid="code-cell" data-line-number="246" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">old_msg_silent</span> <span class="pl-c1">=</span> <span class="pl-s1">msg_silent</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC247" class="react-file-line html-div" data-testid="code-cell" data-line-number="247" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC248" class="react-file-line html-div" data-testid="code-cell" data-line-number="248" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">save_bin</span> <span class="pl-c1">=</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC249" class="react-file-line html-div" data-testid="code-cell" data-line-number="249" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">perm</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC250" class="react-file-line html-div" data-testid="code-cell" data-line-number="250" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC251" class="react-file-line html-div" data-testid="code-cell" data-line-number="251" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_NETBEANS_INTG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">oldFire</span> <span class="pl-c1">=</span> <span class="pl-s1">netbeansFireChanges</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative"> <span class="pl-s1">netbeansFireChanges</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC255" class="react-file-line html-div" data-testid="code-cell" data-line-number="255" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC256" class="react-file-line html-div" data-testid="code-cell" data-line-number="256" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC257" class="react-file-line html-div" data-testid="code-cell" data-line-number="257" style="position:relative"> <span class="pl-s1">perm</span> <span class="pl-c1">=</span> <span class="pl-en">mch_getperm</span>(<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC258" class="react-file-line html-div" data-testid="code-cell" data-line-number="258" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">perm</span> >= <span class="pl-c1">0</span> <span class="pl-c1">&&</span> (<span class="pl-en">S_ISFIFO</span>(<span class="pl-s1">perm</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC259" class="react-file-line html-div" data-testid="code-cell" data-line-number="259" style="position:relative"> <span class="pl-c1">||</span> <span class="pl-en">S_ISSOCK</span>(<span class="pl-s1">perm</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC260" class="react-file-line html-div" data-testid="code-cell" data-line-number="260" style="position:relative"><span class="pl-k"># ifdef</span> <span class="pl-c1">OPEN_CHR_FILES</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC261" class="react-file-line html-div" data-testid="code-cell" data-line-number="261" style="position:relative"> <span class="pl-c1">||</span> (<span class="pl-en">S_ISCHR</span>(<span class="pl-s1">perm</span>) <span class="pl-c1">&&</span> <span class="pl-en">is_dev_fd_file</span>(<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC262" class="react-file-line html-div" data-testid="code-cell" data-line-number="262" style="position:relative"><span class="pl-k"># endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC263" class="react-file-line html-div" data-testid="code-cell" data-line-number="263" style="position:relative"> ))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC264" class="react-file-line html-div" data-testid="code-cell" data-line-number="264" style="position:relative"> <span class="pl-s1">read_fifo</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC265" class="react-file-line html-div" data-testid="code-cell" data-line-number="265" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">read_fifo</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC266" class="react-file-line html-div" data-testid="code-cell" data-line-number="266" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC267" class="react-file-line html-div" data-testid="code-cell" data-line-number="267" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC268" class="react-file-line html-div" data-testid="code-cell" data-line-number="268" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">shortmess</span>(<span class="pl-c1">SHM_FILEINFO</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC269" class="react-file-line html-div" data-testid="code-cell" data-line-number="269" style="position:relative"> <span class="pl-s1">msg_silent</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC270" class="react-file-line html-div" data-testid="code-cell" data-line-number="270" style="position:relative"> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-en">readfile</span>(<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>, <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC271" class="react-file-line html-div" data-testid="code-cell" data-line-number="271" style="position:relative"> (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">0</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">0</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">MAXLNUM</span>, <span class="pl-s1">eap</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC272" class="react-file-line html-div" data-testid="code-cell" data-line-number="272" style="position:relative"> <span class="pl-s1">flags</span> | <span class="pl-c1">READ_NEW</span> | (<span class="pl-s1">read_fifo</span> ? <span class="pl-c1">READ_FIFO</span> : <span class="pl-c1">0</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC273" class="react-file-line html-div" data-testid="code-cell" data-line-number="273" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">UNIX</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC274" class="react-file-line html-div" data-testid="code-cell" data-line-number="274" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">read_fifo</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC275" class="react-file-line html-div" data-testid="code-cell" data-line-number="275" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC276" class="react-file-line html-div" data-testid="code-cell" data-line-number="276" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span> <span class="pl-c1">=</span> <span class="pl-s1">save_bin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC277" class="react-file-line html-div" data-testid="code-cell" data-line-number="277" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC278" class="react-file-line html-div" data-testid="code-cell" data-line-number="278" style="position:relative"> <span class="pl-c">// don't add READ_FIFO here, otherwise we won't be able to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC279" class="react-file-line html-div" data-testid="code-cell" data-line-number="279" style="position:relative"> <span class="pl-c">// detect the encoding</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC280" class="react-file-line html-div" data-testid="code-cell" data-line-number="280" style="position:relative"> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-en">read_buffer</span>(FALSE, <span class="pl-s1">eap</span>, <span class="pl-s1">flags</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC281" class="react-file-line html-div" data-testid="code-cell" data-line-number="281" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC282" class="react-file-line html-div" data-testid="code-cell" data-line-number="282" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC283" class="react-file-line html-div" data-testid="code-cell" data-line-number="283" style="position:relative"> <span class="pl-s1">msg_silent</span> <span class="pl-c1">=</span> <span class="pl-s1">old_msg_silent</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC284" class="react-file-line html-div" data-testid="code-cell" data-line-number="284" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_NETBEANS_INTG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC285" class="react-file-line html-div" data-testid="code-cell" data-line-number="285" style="position:relative"> <span class="pl-s1">netbeansFireChanges</span> <span class="pl-c1">=</span> <span class="pl-s1">oldFire</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC286" class="react-file-line html-div" data-testid="code-cell" data-line-number="286" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC287" class="react-file-line html-div" data-testid="code-cell" data-line-number="287" style="position:relative"> <span class="pl-c">// Help buffer is filtered.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC288" class="react-file-line html-div" data-testid="code-cell" data-line-number="288" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">bt_help</span>(<span class="pl-s1">curbuf</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC289" class="react-file-line html-div" data-testid="code-cell" data-line-number="289" style="position:relative"> <span class="pl-en">fix_help_buffer</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC290" class="react-file-line html-div" data-testid="code-cell" data-line-number="290" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC291" class="react-file-line html-div" data-testid="code-cell" data-line-number="291" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">read_stdin</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC292" class="react-file-line html-div" data-testid="code-cell" data-line-number="292" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC293" class="react-file-line html-div" data-testid="code-cell" data-line-number="293" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">save_bin</span> <span class="pl-c1">=</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC294" class="react-file-line html-div" data-testid="code-cell" data-line-number="294" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC295" class="react-file-line html-div" data-testid="code-cell" data-line-number="295" style="position:relative"> <span class="pl-c">// First read the text in binary mode into the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC296" class="react-file-line html-div" data-testid="code-cell" data-line-number="296" style="position:relative"> <span class="pl-c">// Then read from that same buffer and append at the end. This makes</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC297" class="react-file-line html-div" data-testid="code-cell" data-line-number="297" style="position:relative"> <span class="pl-c">// it possible to retry when 'fileformat' or 'fileencoding' was</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC298" class="react-file-line html-div" data-testid="code-cell" data-line-number="298" style="position:relative"> <span class="pl-c">// guessed wrong.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC299" class="react-file-line html-div" data-testid="code-cell" data-line-number="299" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC300" class="react-file-line html-div" data-testid="code-cell" data-line-number="300" style="position:relative"> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-en">readfile</span>(<span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">0</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC301" class="react-file-line html-div" data-testid="code-cell" data-line-number="301" style="position:relative"> (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">0</span>, (<span class="pl-smi">linenr_T</span>)<span class="pl-c1">MAXLNUM</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC302" class="react-file-line html-div" data-testid="code-cell" data-line-number="302" style="position:relative"> <span class="pl-s1">flags</span> | (<span class="pl-c1">READ_NEW</span> <span class="pl-c1">+</span> <span class="pl-c1">READ_STDIN</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC303" class="react-file-line html-div" data-testid="code-cell" data-line-number="303" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bin</span> <span class="pl-c1">=</span> <span class="pl-s1">save_bin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC304" class="react-file-line html-div" data-testid="code-cell" data-line-number="304" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC305" class="react-file-line html-div" data-testid="code-cell" data-line-number="305" style="position:relative"> <span class="pl-s1">retval</span> <span class="pl-c1">=</span> <span class="pl-en">read_buffer</span>(TRUE, <span class="pl-s1">eap</span>, <span class="pl-s1">flags</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC306" class="react-file-line html-div" data-testid="code-cell" data-line-number="306" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC307" class="react-file-line html-div" data-testid="code-cell" data-line-number="307" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC308" class="react-file-line html-div" data-testid="code-cell" data-line-number="308" style="position:relative"> <span class="pl-c">// Can now sync this buffer in ml_sync_all().</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC309" class="react-file-line html-div" data-testid="code-cell" data-line-number="309" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC310" class="react-file-line html-div" data-testid="code-cell" data-line-number="310" style="position:relative"> <span class="pl-c1">&&</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span><span class="pl-c1">-></span><span class="pl-c1">mf_dirty</span> <span class="pl-c1">==</span> <span class="pl-c1">MF_DIRTY_YES_NOSYNC</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC311" class="react-file-line html-div" data-testid="code-cell" data-line-number="311" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span><span class="pl-c1">-></span><span class="pl-c1">mf_dirty</span> <span class="pl-c1">=</span> <span class="pl-c1">MF_DIRTY_YES</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC312" class="react-file-line html-div" data-testid="code-cell" data-line-number="312" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC313" class="react-file-line html-div" data-testid="code-cell" data-line-number="313" style="position:relative"> <span class="pl-c">// if first time loading this buffer, init b_chartab[]</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC314" class="react-file-line html-div" data-testid="code-cell" data-line-number="314" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BF_NEVERLOADED</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC315" class="react-file-line html-div" data-testid="code-cell" data-line-number="315" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC316" class="react-file-line html-div" data-testid="code-cell" data-line-number="316" style="position:relative"> (<span class="pl-smi">void</span>)<span class="pl-en">buf_init_chartab</span>(<span class="pl-s1">curbuf</span>, FALSE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC317" class="react-file-line html-div" data-testid="code-cell" data-line-number="317" style="position:relative"> <span class="pl-en">parse_cino</span>(<span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC318" class="react-file-line html-div" data-testid="code-cell" data-line-number="318" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC319" class="react-file-line html-div" data-testid="code-cell" data-line-number="319" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC320" class="react-file-line html-div" data-testid="code-cell" data-line-number="320" style="position:relative"> <span class="pl-c">// Set/reset the Changed flag first, autocmds may change the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC321" class="react-file-line html-div" data-testid="code-cell" data-line-number="321" style="position:relative"> <span class="pl-c">// Apply the automatic commands, before processing the modelines.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC322" class="react-file-line html-div" data-testid="code-cell" data-line-number="322" style="position:relative"> <span class="pl-c">// So the modelines have priority over autocommands.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC323" class="react-file-line html-div" data-testid="code-cell" data-line-number="323" style="position:relative"> <span class="pl-c">//</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC324" class="react-file-line html-div" data-testid="code-cell" data-line-number="324" style="position:relative"> <span class="pl-c">// When reading stdin, the buffer contents always needs writing, so set</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC325" class="react-file-line html-div" data-testid="code-cell" data-line-number="325" style="position:relative"> <span class="pl-c">// the changed flag. Unless in readonly mode: "ls | gview -".</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC326" class="react-file-line html-div" data-testid="code-cell" data-line-number="326" style="position:relative"> <span class="pl-c">// When interrupted and 'cpoptions' contains 'i' set changed flag.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC327" class="react-file-line html-div" data-testid="code-cell" data-line-number="327" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">got_int</span> <span class="pl-c1">&&</span> <span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_cpo</span>, <span class="pl-c1">CPO_INTMOD</span>) <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC328" class="react-file-line html-div" data-testid="code-cell" data-line-number="328" style="position:relative"> <span class="pl-c1">||</span> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_modified_was_set</span> <span class="pl-c">// autocmd did ":set modified"</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC329" class="react-file-line html-div" data-testid="code-cell" data-line-number="329" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC330" class="react-file-line html-div" data-testid="code-cell" data-line-number="330" style="position:relative"> <span class="pl-c1">||</span> (<span class="pl-en">aborting</span>() <span class="pl-c1">&&</span> <span class="pl-en">vim_strchr</span>(<span class="pl-s1">p_cpo</span>, <span class="pl-c1">CPO_INTMOD</span>) <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC331" class="react-file-line html-div" data-testid="code-cell" data-line-number="331" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC332" class="react-file-line html-div" data-testid="code-cell" data-line-number="332" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC333" class="react-file-line html-div" data-testid="code-cell" data-line-number="333" style="position:relative"> <span class="pl-en">changed</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC334" class="react-file-line html-div" data-testid="code-cell" data-line-number="334" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">==</span> <span class="pl-c1">OK</span> <span class="pl-c1">&&</span> !<span class="pl-s1">read_stdin</span> <span class="pl-c1">&&</span> !<span class="pl-s1">read_fifo</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC335" class="react-file-line html-div" data-testid="code-cell" data-line-number="335" style="position:relative"> <span class="pl-en">unchanged</span>(<span class="pl-s1">curbuf</span>, FALSE, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC336" class="react-file-line html-div" data-testid="code-cell" data-line-number="336" style="position:relative"> <span class="pl-en">save_file_ff</span>(<span class="pl-s1">curbuf</span>); <span class="pl-c">// keep this fileformat</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC337" class="react-file-line html-div" data-testid="code-cell" data-line-number="337" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC338" class="react-file-line html-div" data-testid="code-cell" data-line-number="338" style="position:relative"> <span class="pl-c">// Set last_changedtick to avoid triggering a TextChanged autocommand right</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC339" class="react-file-line html-div" data-testid="code-cell" data-line-number="339" style="position:relative"> <span class="pl-c">// after it was added.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC340" class="react-file-line html-div" data-testid="code-cell" data-line-number="340" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_last_changedtick</span> <span class="pl-c1">=</span> <span class="pl-en">CHANGEDTICK</span>(<span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC341" class="react-file-line html-div" data-testid="code-cell" data-line-number="341" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_last_changedtick_i</span> <span class="pl-c1">=</span> <span class="pl-en">CHANGEDTICK</span>(<span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_last_changedtick_pum</span> <span class="pl-c1">=</span> <span class="pl-en">CHANGEDTICK</span>(<span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative"> <span class="pl-c">// require "!" to overwrite the file, because it wasn't read completely</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC346" class="react-file-line html-div" data-testid="code-cell" data-line-number="346" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">aborting</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC347" class="react-file-line html-div" data-testid="code-cell" data-line-number="347" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC348" class="react-file-line html-div" data-testid="code-cell" data-line-number="348" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">got_int</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC349" class="react-file-line html-div" data-testid="code-cell" data-line-number="349" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC350" class="react-file-line html-div" data-testid="code-cell" data-line-number="350" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> |= <span class="pl-c1">BF_READERR</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC351" class="react-file-line html-div" data-testid="code-cell" data-line-number="351" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC352" class="react-file-line html-div" data-testid="code-cell" data-line-number="352" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_FOLDING</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC353" class="react-file-line html-div" data-testid="code-cell" data-line-number="353" style="position:relative"> <span class="pl-c">// Need to update automatic folding. Do this before the autocommands,</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC354" class="react-file-line html-div" data-testid="code-cell" data-line-number="354" style="position:relative"> <span class="pl-c">// they may use the fold info.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC355" class="react-file-line html-div" data-testid="code-cell" data-line-number="355" style="position:relative"> <span class="pl-en">foldUpdateAll</span>(<span class="pl-s1">curwin</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC356" class="react-file-line html-div" data-testid="code-cell" data-line-number="356" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC357" class="react-file-line html-div" data-testid="code-cell" data-line-number="357" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC358" class="react-file-line html-div" data-testid="code-cell" data-line-number="358" style="position:relative"> <span class="pl-c">// need to set w_topline, unless some autocommand already did that.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC359" class="react-file-line html-div" data-testid="code-cell" data-line-number="359" style="position:relative"> <span class="pl-k">if</span> (!(<span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_valid</span> <span class="pl-c1">&</span> <span class="pl-c1">VALID_TOPLINE</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC360" class="react-file-line html-div" data-testid="code-cell" data-line-number="360" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC361" class="react-file-line html-div" data-testid="code-cell" data-line-number="361" style="position:relative"> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_topline</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC362" class="react-file-line html-div" data-testid="code-cell" data-line-number="362" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_DIFF</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC363" class="react-file-line html-div" data-testid="code-cell" data-line-number="363" style="position:relative"> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_topfill</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC364" class="react-file-line html-div" data-testid="code-cell" data-line-number="364" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC365" class="react-file-line html-div" data-testid="code-cell" data-line-number="365" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC366" class="react-file-line html-div" data-testid="code-cell" data-line-number="366" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC367" class="react-file-line html-div" data-testid="code-cell" data-line-number="367" style="position:relative"> <span class="pl-en">apply_autocmds_retval</span>(<span class="pl-c1">EVENT_BUFENTER</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, FALSE, <span class="pl-s1">curbuf</span>, <span class="pl-c1">&</span><span class="pl-s1">retval</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC368" class="react-file-line html-div" data-testid="code-cell" data-line-number="368" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC369" class="react-file-line html-div" data-testid="code-cell" data-line-number="369" style="position:relative"> <span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFENTER</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>, FALSE, <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC370" class="react-file-line html-div" data-testid="code-cell" data-line-number="370" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC371" class="react-file-line html-div" data-testid="code-cell" data-line-number="371" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC372" class="react-file-line html-div" data-testid="code-cell" data-line-number="372" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">retval</span> <span class="pl-c1">!=</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC373" class="react-file-line html-div" data-testid="code-cell" data-line-number="373" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">retval</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC374" class="react-file-line html-div" data-testid="code-cell" data-line-number="374" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC375" class="react-file-line html-div" data-testid="code-cell" data-line-number="375" style="position:relative"> <span class="pl-c">// The autocommands may have changed the current buffer. Apply the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC376" class="react-file-line html-div" data-testid="code-cell" data-line-number="376" style="position:relative"> <span class="pl-c">// modelines to the correct buffer, if it still exists and is loaded.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC377" class="react-file-line html-div" data-testid="code-cell" data-line-number="377" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">old_curbuf</span>) <span class="pl-c1">&&</span> <span class="pl-s1">old_curbuf</span>.<span class="pl-c1">br_buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC378" class="react-file-line html-div" data-testid="code-cell" data-line-number="378" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC379" class="react-file-line html-div" data-testid="code-cell" data-line-number="379" style="position:relative"> <span class="pl-smi">aco_save_T</span> <span class="pl-s1">aco</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC380" class="react-file-line html-div" data-testid="code-cell" data-line-number="380" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC381" class="react-file-line html-div" data-testid="code-cell" data-line-number="381" style="position:relative"> <span class="pl-c">// Go to the buffer that was opened, make sure it is in a window.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC382" class="react-file-line html-div" data-testid="code-cell" data-line-number="382" style="position:relative"> <span class="pl-c">// If not then skip it.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC383" class="react-file-line html-div" data-testid="code-cell" data-line-number="383" style="position:relative"> <span class="pl-en">aucmd_prepbuf</span>(<span class="pl-c1">&</span><span class="pl-s1">aco</span>, <span class="pl-s1">old_curbuf</span>.<span class="pl-c1">br_buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC384" class="react-file-line html-div" data-testid="code-cell" data-line-number="384" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curbuf</span> <span class="pl-c1">==</span> <span class="pl-s1">old_curbuf</span>.<span class="pl-c1">br_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC385" class="react-file-line html-div" data-testid="code-cell" data-line-number="385" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC386" class="react-file-line html-div" data-testid="code-cell" data-line-number="386" style="position:relative"> <span class="pl-en">do_modelines</span>(<span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC387" class="react-file-line html-div" data-testid="code-cell" data-line-number="387" style="position:relative"> <span class="pl-s1">curbuf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> &= ~(<span class="pl-c1">BF_CHECK_RO</span> | <span class="pl-c1">BF_NEVERLOADED</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC388" class="react-file-line html-div" data-testid="code-cell" data-line-number="388" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC389" class="react-file-line html-div" data-testid="code-cell" data-line-number="389" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">flags</span> <span class="pl-c1">&</span> <span class="pl-c1">READ_NOWINENTER</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC390" class="react-file-line html-div" data-testid="code-cell" data-line-number="390" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC391" class="react-file-line html-div" data-testid="code-cell" data-line-number="391" style="position:relative"> <span class="pl-en">apply_autocmds_retval</span>(<span class="pl-c1">EVENT_BUFWINENTER</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC392" class="react-file-line html-div" data-testid="code-cell" data-line-number="392" style="position:relative"> FALSE, <span class="pl-s1">curbuf</span>, <span class="pl-c1">&</span><span class="pl-s1">retval</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC393" class="react-file-line html-div" data-testid="code-cell" data-line-number="393" style="position:relative"><span class="pl-k">#else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC394" class="react-file-line html-div" data-testid="code-cell" data-line-number="394" style="position:relative"> <span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFWINENTER</span>, <span class="pl-c1">NULL</span>, <span class="pl-c1">NULL</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC395" class="react-file-line html-div" data-testid="code-cell" data-line-number="395" style="position:relative"> FALSE, <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC396" class="react-file-line html-div" data-testid="code-cell" data-line-number="396" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC397" class="react-file-line html-div" data-testid="code-cell" data-line-number="397" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC398" class="react-file-line html-div" data-testid="code-cell" data-line-number="398" style="position:relative"> <span class="pl-c">// restore curwin/curbuf and a few other things</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC399" class="react-file-line html-div" data-testid="code-cell" data-line-number="399" style="position:relative"> <span class="pl-en">aucmd_restbuf</span>(<span class="pl-c1">&</span><span class="pl-s1">aco</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC400" class="react-file-line html-div" data-testid="code-cell" data-line-number="400" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC401" class="react-file-line html-div" data-testid="code-cell" data-line-number="401" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC402" class="react-file-line html-div" data-testid="code-cell" data-line-number="402" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC403" class="react-file-line html-div" data-testid="code-cell" data-line-number="403" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">retval</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC404" class="react-file-line html-div" data-testid="code-cell" data-line-number="404" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC405" class="react-file-line html-div" data-testid="code-cell" data-line-number="405" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC406" class="react-file-line html-div" data-testid="code-cell" data-line-number="406" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC407" class="react-file-line html-div" data-testid="code-cell" data-line-number="407" style="position:relative"><span class="pl-c"> * Store "buf" in "bufref" and set the free count.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC408" class="react-file-line html-div" data-testid="code-cell" data-line-number="408" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC409" class="react-file-line html-div" data-testid="code-cell" data-line-number="409" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC410" class="react-file-line html-div" data-testid="code-cell" data-line-number="410" style="position:relative"><span class="pl-en">set_bufref</span>(<span class="pl-smi">bufref_T</span> <span class="pl-c1">*</span><span class="pl-s1">bufref</span>, <span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative"> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_buf</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative"> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_fnum</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span> ? <span class="pl-c1">0</span> : <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fnum</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC414" class="react-file-line html-div" data-testid="code-cell" data-line-number="414" style="position:relative"> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_buf_free_count</span> <span class="pl-c1">=</span> <span class="pl-s1">buf_free_count</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC415" class="react-file-line html-div" data-testid="code-cell" data-line-number="415" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC416" class="react-file-line html-div" data-testid="code-cell" data-line-number="416" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC417" class="react-file-line html-div" data-testid="code-cell" data-line-number="417" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC418" class="react-file-line html-div" data-testid="code-cell" data-line-number="418" style="position:relative"><span class="pl-c"> * Return TRUE if "bufref->br_buf" points to the same buffer as when</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC419" class="react-file-line html-div" data-testid="code-cell" data-line-number="419" style="position:relative"><span class="pl-c"> * set_bufref() was called and it is a valid buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC420" class="react-file-line html-div" data-testid="code-cell" data-line-number="420" style="position:relative"><span class="pl-c"> * Only goes through the buffer list if buf_free_count changed.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC421" class="react-file-line html-div" data-testid="code-cell" data-line-number="421" style="position:relative"><span class="pl-c"> * Also checks if b_fnum is still the same, a :bwipe followed by :new might get</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC422" class="react-file-line html-div" data-testid="code-cell" data-line-number="422" style="position:relative"><span class="pl-c"> * the same allocated memory, but it's a different buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC423" class="react-file-line html-div" data-testid="code-cell" data-line-number="423" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC424" class="react-file-line html-div" data-testid="code-cell" data-line-number="424" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC425" class="react-file-line html-div" data-testid="code-cell" data-line-number="425" style="position:relative"><span class="pl-en">bufref_valid</span>(<span class="pl-smi">bufref_T</span> <span class="pl-c1">*</span><span class="pl-s1">bufref</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC426" class="react-file-line html-div" data-testid="code-cell" data-line-number="426" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC427" class="react-file-line html-div" data-testid="code-cell" data-line-number="427" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_buf_free_count</span> <span class="pl-c1">==</span> <span class="pl-s1">buf_free_count</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC428" class="react-file-line html-div" data-testid="code-cell" data-line-number="428" style="position:relative"> ? TRUE : <span class="pl-en">buf_valid</span>(<span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC429" class="react-file-line html-div" data-testid="code-cell" data-line-number="429" style="position:relative"> <span class="pl-c1">&&</span> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_fnum</span> <span class="pl-c1">==</span> <span class="pl-s1">bufref</span><span class="pl-c1">-></span><span class="pl-c1">br_buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fnum</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC430" class="react-file-line html-div" data-testid="code-cell" data-line-number="430" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC431" class="react-file-line html-div" data-testid="code-cell" data-line-number="431" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC432" class="react-file-line html-div" data-testid="code-cell" data-line-number="432" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC433" class="react-file-line html-div" data-testid="code-cell" data-line-number="433" style="position:relative"><span class="pl-c"> * Return TRUE if "buf" points to a valid buffer (in the buffer list).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC434" class="react-file-line html-div" data-testid="code-cell" data-line-number="434" style="position:relative"><span class="pl-c"> * This can be slow if there are many buffers, prefer using bufref_valid().</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC435" class="react-file-line html-div" data-testid="code-cell" data-line-number="435" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC436" class="react-file-line html-div" data-testid="code-cell" data-line-number="436" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC437" class="react-file-line html-div" data-testid="code-cell" data-line-number="437" style="position:relative"><span class="pl-en">buf_valid</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC438" class="react-file-line html-div" data-testid="code-cell" data-line-number="438" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC439" class="react-file-line html-div" data-testid="code-cell" data-line-number="439" style="position:relative"> <span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">bp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC440" class="react-file-line html-div" data-testid="code-cell" data-line-number="440" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC441" class="react-file-line html-div" data-testid="code-cell" data-line-number="441" style="position:relative"> <span class="pl-c">// Assume that we more often have a recent buffer, start with the last</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC442" class="react-file-line html-div" data-testid="code-cell" data-line-number="442" style="position:relative"> <span class="pl-c">// one.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC443" class="react-file-line html-div" data-testid="code-cell" data-line-number="443" style="position:relative"> <span class="pl-c1">FOR_ALL_BUFS_FROM_LAST</span>(<span class="pl-smi">bp</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC444" class="react-file-line html-div" data-testid="code-cell" data-line-number="444" style="position:relative"> <span class="pl-en">if</span> (<span class="pl-smi">bp</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC445" class="react-file-line html-div" data-testid="code-cell" data-line-number="445" style="position:relative"> <span class="pl-s1">return</span> <span class="pl-c1">TRUE</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC446" class="react-file-line html-div" data-testid="code-cell" data-line-number="446" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC447" class="react-file-line html-div" data-testid="code-cell" data-line-number="447" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC448" class="react-file-line html-div" data-testid="code-cell" data-line-number="448" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC449" class="react-file-line html-div" data-testid="code-cell" data-line-number="449" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC450" class="react-file-line html-div" data-testid="code-cell" data-line-number="450" style="position:relative"><span class="pl-c"> * A hash table used to quickly lookup a buffer by its number.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC451" class="react-file-line html-div" data-testid="code-cell" data-line-number="451" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC452" class="react-file-line html-div" data-testid="code-cell" data-line-number="452" style="position:relative"><span class="pl-k">static</span> <span class="pl-smi">hashtab_T</span> <span class="pl-s1">buf_hashtab</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC453" class="react-file-line html-div" data-testid="code-cell" data-line-number="453" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC454" class="react-file-line html-div" data-testid="code-cell" data-line-number="454" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC455" class="react-file-line html-div" data-testid="code-cell" data-line-number="455" style="position:relative"><span class="pl-en">buf_hashtab_add</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC456" class="react-file-line html-div" data-testid="code-cell" data-line-number="456" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative"> <span class="pl-en">sprintf</span>((<span class="pl-smi">char</span> <span class="pl-c1">*</span>)<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_key</span>, <span class="pl-s">"%x"</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fnum</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">hash_add</span>(<span class="pl-c1">&</span><span class="pl-s1">buf_hashtab</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_key</span>, <span class="pl-s">"create buffer"</span>) <span class="pl-c1">==</span> <span class="pl-c1">FAIL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC459" class="react-file-line html-div" data-testid="code-cell" data-line-number="459" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_buffer_cannot_be_registered</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC460" class="react-file-line html-div" data-testid="code-cell" data-line-number="460" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC461" class="react-file-line html-div" data-testid="code-cell" data-line-number="461" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC462" class="react-file-line html-div" data-testid="code-cell" data-line-number="462" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC463" class="react-file-line html-div" data-testid="code-cell" data-line-number="463" style="position:relative"><span class="pl-en">buf_hashtab_remove</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC464" class="react-file-line html-div" data-testid="code-cell" data-line-number="464" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC465" class="react-file-line html-div" data-testid="code-cell" data-line-number="465" style="position:relative"> <span class="pl-smi">hashitem_T</span> <span class="pl-c1">*</span><span class="pl-s1">hi</span> <span class="pl-c1">=</span> <span class="pl-en">hash_find</span>(<span class="pl-c1">&</span><span class="pl-s1">buf_hashtab</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_key</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC466" class="react-file-line html-div" data-testid="code-cell" data-line-number="466" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC467" class="react-file-line html-div" data-testid="code-cell" data-line-number="467" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">HASHITEM_EMPTY</span>(<span class="pl-s1">hi</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC468" class="react-file-line html-div" data-testid="code-cell" data-line-number="468" style="position:relative"> <span class="pl-en">hash_remove</span>(<span class="pl-c1">&</span><span class="pl-s1">buf_hashtab</span>, <span class="pl-s1">hi</span>, <span class="pl-s">"close buffer"</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC469" class="react-file-line html-div" data-testid="code-cell" data-line-number="469" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC470" class="react-file-line html-div" data-testid="code-cell" data-line-number="470" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC471" class="react-file-line html-div" data-testid="code-cell" data-line-number="471" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC472" class="react-file-line html-div" data-testid="code-cell" data-line-number="472" style="position:relative"><span class="pl-c"> * Return TRUE when buffer "buf" can be unloaded.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC473" class="react-file-line html-div" data-testid="code-cell" data-line-number="473" style="position:relative"><span class="pl-c"> * Give an error message and return FALSE when the buffer is locked or the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC474" class="react-file-line html-div" data-testid="code-cell" data-line-number="474" style="position:relative"><span class="pl-c"> * screen is being redrawn and the buffer is in a window.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC475" class="react-file-line html-div" data-testid="code-cell" data-line-number="475" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC476" class="react-file-line html-div" data-testid="code-cell" data-line-number="476" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC477" class="react-file-line html-div" data-testid="code-cell" data-line-number="477" style="position:relative"><span class="pl-en">can_unload_buffer</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC478" class="react-file-line html-div" data-testid="code-cell" data-line-number="478" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC479" class="react-file-line html-div" data-testid="code-cell" data-line-number="479" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">can_unload</span> <span class="pl-c1">=</span> !<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC480" class="react-file-line html-div" data-testid="code-cell" data-line-number="480" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC481" class="react-file-line html-div" data-testid="code-cell" data-line-number="481" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">can_unload</span> <span class="pl-c1">&&</span> <span class="pl-s1">updating_screen</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC482" class="react-file-line html-div" data-testid="code-cell" data-line-number="482" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC483" class="react-file-line html-div" data-testid="code-cell" data-line-number="483" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC484" class="react-file-line html-div" data-testid="code-cell" data-line-number="484" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC485" class="react-file-line html-div" data-testid="code-cell" data-line-number="485" style="position:relative"> <span class="pl-c1">FOR_ALL_WINDOWS</span>(<span class="pl-smi">wp</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC486" class="react-file-line html-div" data-testid="code-cell" data-line-number="486" style="position:relative"> <span class="pl-en">if</span> (<span class="pl-smi">wp</span><span class="pl-c1">-></span><span class="pl-s1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC487" class="react-file-line html-div" data-testid="code-cell" data-line-number="487" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC488" class="react-file-line html-div" data-testid="code-cell" data-line-number="488" style="position:relative"> <span class="pl-s1">can_unload</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC489" class="react-file-line html-div" data-testid="code-cell" data-line-number="489" style="position:relative"> <span class="pl-k">break</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC490" class="react-file-line html-div" data-testid="code-cell" data-line-number="490" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC491" class="react-file-line html-div" data-testid="code-cell" data-line-number="491" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC492" class="react-file-line html-div" data-testid="code-cell" data-line-number="492" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">can_unload</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC493" class="react-file-line html-div" data-testid="code-cell" data-line-number="493" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC494" class="react-file-line html-div" data-testid="code-cell" data-line-number="494" style="position:relative"> <span class="pl-smi">char_u</span> <span class="pl-c1">*</span><span class="pl-s1">fname</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> ? <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span> : <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC495" class="react-file-line html-div" data-testid="code-cell" data-line-number="495" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC496" class="react-file-line html-div" data-testid="code-cell" data-line-number="496" style="position:relative"> <span class="pl-en">semsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_attempt_to_delete_buffer_that_is_in_use_str</span>),</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC497" class="react-file-line html-div" data-testid="code-cell" data-line-number="497" style="position:relative"> <span class="pl-s1">fname</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> ? <span class="pl-s1">fname</span> : (<span class="pl-smi">char_u</span> <span class="pl-c1">*</span>)<span class="pl-s">"[No Name]"</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC498" class="react-file-line html-div" data-testid="code-cell" data-line-number="498" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC499" class="react-file-line html-div" data-testid="code-cell" data-line-number="499" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">can_unload</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC500" class="react-file-line html-div" data-testid="code-cell" data-line-number="500" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC501" class="react-file-line html-div" data-testid="code-cell" data-line-number="501" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC502" class="react-file-line html-div" data-testid="code-cell" data-line-number="502" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC503" class="react-file-line html-div" data-testid="code-cell" data-line-number="503" style="position:relative"><span class="pl-en">buf_locked</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC504" class="react-file-line html-div" data-testid="code-cell" data-line-number="504" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC505" class="react-file-line html-div" data-testid="code-cell" data-line-number="505" style="position:relative"> <span class="pl-k">return</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span> <span class="pl-c1">||</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC508" class="react-file-line html-div" data-testid="code-cell" data-line-number="508" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC509" class="react-file-line html-div" data-testid="code-cell" data-line-number="509" style="position:relative"><span class="pl-c"> * Close the link to a buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative"><span class="pl-c"> * "action" is used when there is no longer a window for the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative"><span class="pl-c"> * It can be:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC512" class="react-file-line html-div" data-testid="code-cell" data-line-number="512" style="position:relative"><span class="pl-c"> * 0 buffer becomes hidden</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC513" class="react-file-line html-div" data-testid="code-cell" data-line-number="513" style="position:relative"><span class="pl-c"> * DOBUF_UNLOAD buffer is unloaded</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC514" class="react-file-line html-div" data-testid="code-cell" data-line-number="514" style="position:relative"><span class="pl-c"> * DOBUF_DEL buffer is unloaded and removed from buffer list</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC515" class="react-file-line html-div" data-testid="code-cell" data-line-number="515" style="position:relative"><span class="pl-c"> * DOBUF_WIPE buffer is unloaded and really deleted</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC516" class="react-file-line html-div" data-testid="code-cell" data-line-number="516" style="position:relative"><span class="pl-c"> * DOBUF_WIPE_REUSE idem, and add to buf_reuse list</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC517" class="react-file-line html-div" data-testid="code-cell" data-line-number="517" style="position:relative"><span class="pl-c"> * When doing all but the first one on the current buffer, the caller should</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC518" class="react-file-line html-div" data-testid="code-cell" data-line-number="518" style="position:relative"><span class="pl-c"> * get a new buffer very soon!</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC519" class="react-file-line html-div" data-testid="code-cell" data-line-number="519" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC520" class="react-file-line html-div" data-testid="code-cell" data-line-number="520" style="position:relative"><span class="pl-c"> * The 'bufhidden' option can force freeing and deleting.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC521" class="react-file-line html-div" data-testid="code-cell" data-line-number="521" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC522" class="react-file-line html-div" data-testid="code-cell" data-line-number="522" style="position:relative"><span class="pl-c"> * When "abort_if_last" is TRUE then do not close the buffer if autocommands</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC523" class="react-file-line html-div" data-testid="code-cell" data-line-number="523" style="position:relative"><span class="pl-c"> * cause there to be only one window with this buffer. e.g. when ":quit" is</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC524" class="react-file-line html-div" data-testid="code-cell" data-line-number="524" style="position:relative"><span class="pl-c"> * supposed to close the window but autocommands close all other windows.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC525" class="react-file-line html-div" data-testid="code-cell" data-line-number="525" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC526" class="react-file-line html-div" data-testid="code-cell" data-line-number="526" style="position:relative"><span class="pl-c"> * When "ignore_abort" is TRUE don't abort even when aborting() returns TRUE.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC527" class="react-file-line html-div" data-testid="code-cell" data-line-number="527" style="position:relative"><span class="pl-c"> *</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC528" class="react-file-line html-div" data-testid="code-cell" data-line-number="528" style="position:relative"><span class="pl-c"> * Return TRUE when we got to the end and b_nwindows was decremented.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC529" class="react-file-line html-div" data-testid="code-cell" data-line-number="529" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC530" class="react-file-line html-div" data-testid="code-cell" data-line-number="530" style="position:relative"> <span class="pl-smi">int</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC531" class="react-file-line html-div" data-testid="code-cell" data-line-number="531" style="position:relative"><span class="pl-en">close_buffer</span>(</div></div></div><div class="child-of-line-530 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC532" class="react-file-line html-div" data-testid="code-cell" data-line-number="532" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">win</span>, <span class="pl-c">// if not NULL, set b_last_cursor</span></div></div></div><div class="child-of-line-530 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC533" class="react-file-line html-div" data-testid="code-cell" data-line-number="533" style="position:relative"> <span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>,</div></div></div><div class="child-of-line-530 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC534" class="react-file-line html-div" data-testid="code-cell" data-line-number="534" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">action</span>,</div></div></div><div class="child-of-line-530 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC535" class="react-file-line html-div" data-testid="code-cell" data-line-number="535" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">abort_if_last</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC536" class="react-file-line html-div" data-testid="code-cell" data-line-number="536" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">ignore_abort</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC537" class="react-file-line html-div" data-testid="code-cell" data-line-number="537" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC538" class="react-file-line html-div" data-testid="code-cell" data-line-number="538" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">is_curbuf</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC539" class="react-file-line html-div" data-testid="code-cell" data-line-number="539" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">nwindows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC540" class="react-file-line html-div" data-testid="code-cell" data-line-number="540" style="position:relative"> <span class="pl-smi">bufref_T</span> <span class="pl-s1">bufref</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC541" class="react-file-line html-div" data-testid="code-cell" data-line-number="541" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">is_curwin</span> <span class="pl-c1">=</span> (<span class="pl-s1">curwin</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> <span class="pl-c1">&&</span> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC542" class="react-file-line html-div" data-testid="code-cell" data-line-number="542" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">the_curwin</span> <span class="pl-c1">=</span> <span class="pl-s1">curwin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC543" class="react-file-line html-div" data-testid="code-cell" data-line-number="543" style="position:relative"> <span class="pl-smi">tabpage_T</span> <span class="pl-c1">*</span><span class="pl-s1">the_curtab</span> <span class="pl-c1">=</span> <span class="pl-s1">curtab</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC544" class="react-file-line html-div" data-testid="code-cell" data-line-number="544" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> (<span class="pl-s1">action</span> <span class="pl-c1">!=</span> <span class="pl-c1">0</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC545" class="react-file-line html-div" data-testid="code-cell" data-line-number="545" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">wipe_buf</span> <span class="pl-c1">=</span> (<span class="pl-s1">action</span> <span class="pl-c1">==</span> <span class="pl-c1">DOBUF_WIPE</span> <span class="pl-c1">||</span> <span class="pl-s1">action</span> <span class="pl-c1">==</span> <span class="pl-c1">DOBUF_WIPE_REUSE</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC546" class="react-file-line html-div" data-testid="code-cell" data-line-number="546" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> (<span class="pl-s1">action</span> <span class="pl-c1">==</span> <span class="pl-c1">DOBUF_DEL</span> <span class="pl-c1">||</span> <span class="pl-s1">wipe_buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC547" class="react-file-line html-div" data-testid="code-cell" data-line-number="547" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC548" class="react-file-line html-div" data-testid="code-cell" data-line-number="548" style="position:relative"> <span class="pl-c1">CHECK_CURBUF</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC549" class="react-file-line html-div" data-testid="code-cell" data-line-number="549" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC550" class="react-file-line html-div" data-testid="code-cell" data-line-number="550" style="position:relative"> <span class="pl-c">// Force unloading or deleting when 'bufhidden' says so.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC551" class="react-file-line html-div" data-testid="code-cell" data-line-number="551" style="position:relative"> <span class="pl-c">// The caller must take care of NOT deleting/freeing when 'bufhidden' is</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC552" class="react-file-line html-div" data-testid="code-cell" data-line-number="552" style="position:relative"> <span class="pl-c">// "hide" (otherwise we could never free or delete a buffer).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC553" class="react-file-line html-div" data-testid="code-cell" data-line-number="553" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bh</span>[<span class="pl-c1">0</span>] <span class="pl-c1">==</span> <span class="pl-c1">'d'</span>) <span class="pl-c">// 'bufhidden' == "delete"</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC554" class="react-file-line html-div" data-testid="code-cell" data-line-number="554" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC555" class="react-file-line html-div" data-testid="code-cell" data-line-number="555" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC556" class="react-file-line html-div" data-testid="code-cell" data-line-number="556" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bh</span>[<span class="pl-c1">0</span>] <span class="pl-c1">==</span> <span class="pl-c1">'w'</span>) <span class="pl-c">// 'bufhidden' == "wipe"</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC561" class="react-file-line html-div" data-testid="code-cell" data-line-number="561" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC562" class="react-file-line html-div" data-testid="code-cell" data-line-number="562" style="position:relative"> <span class="pl-s1">wipe_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC563" class="react-file-line html-div" data-testid="code-cell" data-line-number="563" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC564" class="react-file-line html-div" data-testid="code-cell" data-line-number="564" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bh</span>[<span class="pl-c1">0</span>] <span class="pl-c1">==</span> <span class="pl-c1">'u'</span>) <span class="pl-c">// 'bufhidden' == "unload"</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC565" class="react-file-line html-div" data-testid="code-cell" data-line-number="565" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC566" class="react-file-line html-div" data-testid="code-cell" data-line-number="566" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_TERMINAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative"> <span class="pl-c">// depending on how we get here b_nwindows may already be zero</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">bt_terminal</span>(<span class="pl-s1">buf</span>) <span class="pl-c1">&&</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <= <span class="pl-c1">1</span> <span class="pl-c1">||</span> <span class="pl-s1">del_buf</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC570" class="react-file-line html-div" data-testid="code-cell" data-line-number="570" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC571" class="react-file-line html-div" data-testid="code-cell" data-line-number="571" style="position:relative"> <span class="pl-c1">CHECK_CURBUF</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC572" class="react-file-line html-div" data-testid="code-cell" data-line-number="572" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">term_job_running</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_term</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC573" class="react-file-line html-div" data-testid="code-cell" data-line-number="573" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC574" class="react-file-line html-div" data-testid="code-cell" data-line-number="574" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">wipe_buf</span> <span class="pl-c1">||</span> <span class="pl-s1">unload_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC575" class="react-file-line html-div" data-testid="code-cell" data-line-number="575" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC576" class="react-file-line html-div" data-testid="code-cell" data-line-number="576" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">can_unload_buffer</span>(<span class="pl-s1">buf</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC577" class="react-file-line html-div" data-testid="code-cell" data-line-number="577" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC578" class="react-file-line html-div" data-testid="code-cell" data-line-number="578" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC579" class="react-file-line html-div" data-testid="code-cell" data-line-number="579" style="position:relative"> <span class="pl-c">// Wiping out or unloading a terminal buffer kills the job.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC580" class="react-file-line html-div" data-testid="code-cell" data-line-number="580" style="position:relative"> <span class="pl-en">free_terminal</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC581" class="react-file-line html-div" data-testid="code-cell" data-line-number="581" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC582" class="react-file-line html-div" data-testid="code-cell" data-line-number="582" style="position:relative"> <span class="pl-c">// A terminal buffer is wiped out when job has finished.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC583" class="react-file-line html-div" data-testid="code-cell" data-line-number="583" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC584" class="react-file-line html-div" data-testid="code-cell" data-line-number="584" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC585" class="react-file-line html-div" data-testid="code-cell" data-line-number="585" style="position:relative"> <span class="pl-s1">wipe_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC586" class="react-file-line html-div" data-testid="code-cell" data-line-number="586" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC587" class="react-file-line html-div" data-testid="code-cell" data-line-number="587" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC588" class="react-file-line html-div" data-testid="code-cell" data-line-number="588" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC589" class="react-file-line html-div" data-testid="code-cell" data-line-number="589" style="position:relative"> <span class="pl-c">// The job keeps running, hide the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC590" class="react-file-line html-div" data-testid="code-cell" data-line-number="590" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC591" class="react-file-line html-div" data-testid="code-cell" data-line-number="591" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC592" class="react-file-line html-div" data-testid="code-cell" data-line-number="592" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC593" class="react-file-line html-div" data-testid="code-cell" data-line-number="593" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC594" class="react-file-line html-div" data-testid="code-cell" data-line-number="594" style="position:relative"> <span class="pl-k">else</span> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bh</span>[<span class="pl-c1">0</span>] <span class="pl-c1">==</span> <span class="pl-c1">'h'</span> <span class="pl-c1">&&</span> !<span class="pl-s1">del_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC595" class="react-file-line html-div" data-testid="code-cell" data-line-number="595" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC596" class="react-file-line html-div" data-testid="code-cell" data-line-number="596" style="position:relative"> <span class="pl-c">// Hide a terminal buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC597" class="react-file-line html-div" data-testid="code-cell" data-line-number="597" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC598" class="react-file-line html-div" data-testid="code-cell" data-line-number="598" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC599" class="react-file-line html-div" data-testid="code-cell" data-line-number="599" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC600" class="react-file-line html-div" data-testid="code-cell" data-line-number="600" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">del_buf</span> <span class="pl-c1">||</span> <span class="pl-s1">unload_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC602" class="react-file-line html-div" data-testid="code-cell" data-line-number="602" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC603" class="react-file-line html-div" data-testid="code-cell" data-line-number="603" style="position:relative"> <span class="pl-c">// A terminal buffer is wiped out if the job has finished.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative"> <span class="pl-c">// We only do this when there's an intention to unload the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative"> <span class="pl-c">// buffer. This way, :hide and other similar commands won't</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative"> <span class="pl-c">// wipe the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative"> <span class="pl-s1">unload_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative"> <span class="pl-s1">wipe_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC610" class="react-file-line html-div" data-testid="code-cell" data-line-number="610" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC611" class="react-file-line html-div" data-testid="code-cell" data-line-number="611" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC612" class="react-file-line html-div" data-testid="code-cell" data-line-number="612" style="position:relative"> <span class="pl-c1">CHECK_CURBUF</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC613" class="react-file-line html-div" data-testid="code-cell" data-line-number="613" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC614" class="react-file-line html-div" data-testid="code-cell" data-line-number="614" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC615" class="react-file-line html-div" data-testid="code-cell" data-line-number="615" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC616" class="react-file-line html-div" data-testid="code-cell" data-line-number="616" style="position:relative"> <span class="pl-c">// Disallow deleting the buffer when it is locked (already being closed or</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC617" class="react-file-line html-div" data-testid="code-cell" data-line-number="617" style="position:relative"> <span class="pl-c">// halfway a command that relies on it). Unloading is allowed.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC618" class="react-file-line html-div" data-testid="code-cell" data-line-number="618" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">del_buf</span> <span class="pl-c1">||</span> <span class="pl-s1">wipe_buf</span>) <span class="pl-c1">&&</span> !<span class="pl-en">can_unload_buffer</span>(<span class="pl-s1">buf</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC619" class="react-file-line html-div" data-testid="code-cell" data-line-number="619" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC620" class="react-file-line html-div" data-testid="code-cell" data-line-number="620" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC621" class="react-file-line html-div" data-testid="code-cell" data-line-number="621" style="position:relative"> <span class="pl-c">// check no autocommands closed the window</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC622" class="react-file-line html-div" data-testid="code-cell" data-line-number="622" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">win</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> <span class="pl-c1">&&</span> <span class="pl-en">win_valid_any_tab</span>(<span class="pl-s1">win</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC623" class="react-file-line html-div" data-testid="code-cell" data-line-number="623" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC624" class="react-file-line html-div" data-testid="code-cell" data-line-number="624" style="position:relative"> <span class="pl-c">// Set b_last_cursor when closing the last window for the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC625" class="react-file-line html-div" data-testid="code-cell" data-line-number="625" style="position:relative"> <span class="pl-c">// Remember the last cursor position and window options of the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC626" class="react-file-line html-div" data-testid="code-cell" data-line-number="626" style="position:relative"> <span class="pl-c">// This used to be only for the current window, but then options like</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC627" class="react-file-line html-div" data-testid="code-cell" data-line-number="627" style="position:relative"> <span class="pl-c">// 'foldmethod' may be lost with a ":only" command.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC628" class="react-file-line html-div" data-testid="code-cell" data-line-number="628" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC629" class="react-file-line html-div" data-testid="code-cell" data-line-number="629" style="position:relative"> <span class="pl-en">set_last_cursor</span>(<span class="pl-s1">win</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC630" class="react-file-line html-div" data-testid="code-cell" data-line-number="630" style="position:relative"> <span class="pl-en">buflist_setfpos</span>(<span class="pl-s1">buf</span>, <span class="pl-s1">win</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC631" class="react-file-line html-div" data-testid="code-cell" data-line-number="631" style="position:relative"> <span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_cursor</span>.<span class="pl-c1">lnum</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span> ? <span class="pl-c1">0</span> : <span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_cursor</span>.<span class="pl-c1">lnum</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC632" class="react-file-line html-div" data-testid="code-cell" data-line-number="632" style="position:relative"> <span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_cursor</span>.<span class="pl-c1">col</span>, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC633" class="react-file-line html-div" data-testid="code-cell" data-line-number="633" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC634" class="react-file-line html-div" data-testid="code-cell" data-line-number="634" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC635" class="react-file-line html-div" data-testid="code-cell" data-line-number="635" style="position:relative"> <span class="pl-en">set_bufref</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>, <span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC636" class="react-file-line html-div" data-testid="code-cell" data-line-number="636" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC637" class="react-file-line html-div" data-testid="code-cell" data-line-number="637" style="position:relative"> <span class="pl-c">// When the buffer is no longer in a window, trigger BufWinLeave</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC638" class="react-file-line html-div" data-testid="code-cell" data-line-number="638" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">==</span> <span class="pl-c1">1</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC639" class="react-file-line html-div" data-testid="code-cell" data-line-number="639" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC640" class="react-file-line html-div" data-testid="code-cell" data-line-number="640" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC641" class="react-file-line html-div" data-testid="code-cell" data-line-number="641" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC642" class="react-file-line html-div" data-testid="code-cell" data-line-number="642" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFWINLEAVE</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC643" class="react-file-line html-div" data-testid="code-cell" data-line-number="643" style="position:relative"> FALSE, <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC644" class="react-file-line html-div" data-testid="code-cell" data-line-number="644" style="position:relative"> <span class="pl-c1">&&</span> !<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC645" class="react-file-line html-div" data-testid="code-cell" data-line-number="645" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC646" class="react-file-line html-div" data-testid="code-cell" data-line-number="646" style="position:relative"> <span class="pl-c">// Autocommands deleted the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC647" class="react-file-line html-div" data-testid="code-cell" data-line-number="647" style="position:relative"><span class="pl-ent">aucmd_abort</span>:</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC648" class="react-file-line html-div" data-testid="code-cell" data-line-number="648" style="position:relative"> <span class="pl-en">emsg</span>(<span class="pl-en">_</span>(<span class="pl-s1">e_autocommands_caused_command_to_abort</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC649" class="react-file-line html-div" data-testid="code-cell" data-line-number="649" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC650" class="react-file-line html-div" data-testid="code-cell" data-line-number="650" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC651" class="react-file-line html-div" data-testid="code-cell" data-line-number="651" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC652" class="react-file-line html-div" data-testid="code-cell" data-line-number="652" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC653" class="react-file-line html-div" data-testid="code-cell" data-line-number="653" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">abort_if_last</span> <span class="pl-c1">&&</span> <span class="pl-en">one_window</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC654" class="react-file-line html-div" data-testid="code-cell" data-line-number="654" style="position:relative"> <span class="pl-c">// Autocommands made this the only window.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC655" class="react-file-line html-div" data-testid="code-cell" data-line-number="655" style="position:relative"> goto <span class="pl-ent">aucmd_abort</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC656" class="react-file-line html-div" data-testid="code-cell" data-line-number="656" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC657" class="react-file-line html-div" data-testid="code-cell" data-line-number="657" style="position:relative"> <span class="pl-c">// When the buffer becomes hidden, but is not unloaded, trigger</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC658" class="react-file-line html-div" data-testid="code-cell" data-line-number="658" style="position:relative"> <span class="pl-c">// BufHidden</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC659" class="react-file-line html-div" data-testid="code-cell" data-line-number="659" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">unload_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC660" class="react-file-line html-div" data-testid="code-cell" data-line-number="660" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC661" class="react-file-line html-div" data-testid="code-cell" data-line-number="661" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC662" class="react-file-line html-div" data-testid="code-cell" data-line-number="662" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC663" class="react-file-line html-div" data-testid="code-cell" data-line-number="663" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFHIDDEN</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC664" class="react-file-line html-div" data-testid="code-cell" data-line-number="664" style="position:relative"> FALSE, <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC665" class="react-file-line html-div" data-testid="code-cell" data-line-number="665" style="position:relative"> <span class="pl-c1">&&</span> !<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC666" class="react-file-line html-div" data-testid="code-cell" data-line-number="666" style="position:relative"> <span class="pl-c">// Autocommands deleted the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC667" class="react-file-line html-div" data-testid="code-cell" data-line-number="667" style="position:relative"> goto <span class="pl-ent">aucmd_abort</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC668" class="react-file-line html-div" data-testid="code-cell" data-line-number="668" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC669" class="react-file-line html-div" data-testid="code-cell" data-line-number="669" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC670" class="react-file-line html-div" data-testid="code-cell" data-line-number="670" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">abort_if_last</span> <span class="pl-c1">&&</span> <span class="pl-en">one_window</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC671" class="react-file-line html-div" data-testid="code-cell" data-line-number="671" style="position:relative"> <span class="pl-c">// Autocommands made this the only window.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC672" class="react-file-line html-div" data-testid="code-cell" data-line-number="672" style="position:relative"> goto <span class="pl-ent">aucmd_abort</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC673" class="react-file-line html-div" data-testid="code-cell" data-line-number="673" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC674" class="react-file-line html-div" data-testid="code-cell" data-line-number="674" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC675" class="react-file-line html-div" data-testid="code-cell" data-line-number="675" style="position:relative"> <span class="pl-c">// autocmds may abort script processing</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC676" class="react-file-line html-div" data-testid="code-cell" data-line-number="676" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">ignore_abort</span> <span class="pl-c1">&&</span> <span class="pl-en">aborting</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC677" class="react-file-line html-div" data-testid="code-cell" data-line-number="677" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC678" class="react-file-line html-div" data-testid="code-cell" data-line-number="678" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC679" class="react-file-line html-div" data-testid="code-cell" data-line-number="679" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC680" class="react-file-line html-div" data-testid="code-cell" data-line-number="680" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC681" class="react-file-line html-div" data-testid="code-cell" data-line-number="681" style="position:relative"> <span class="pl-c">// If the buffer was in curwin and the window has changed, go back to that</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC682" class="react-file-line html-div" data-testid="code-cell" data-line-number="682" style="position:relative"> <span class="pl-c">// window, if it still exists. This avoids that ":edit x" triggering a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC683" class="react-file-line html-div" data-testid="code-cell" data-line-number="683" style="position:relative"> <span class="pl-c">// "tabnext" BufUnload autocmd leaves a window behind without a buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC684" class="react-file-line html-div" data-testid="code-cell" data-line-number="684" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">is_curwin</span> <span class="pl-c1">&&</span> <span class="pl-s1">curwin</span> <span class="pl-c1">!=</span> <span class="pl-s1">the_curwin</span> <span class="pl-c1">&&</span> <span class="pl-en">win_valid_any_tab</span>(<span class="pl-s1">the_curwin</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC685" class="react-file-line html-div" data-testid="code-cell" data-line-number="685" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC686" class="react-file-line html-div" data-testid="code-cell" data-line-number="686" style="position:relative"> <span class="pl-en">block_autocmds</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC687" class="react-file-line html-div" data-testid="code-cell" data-line-number="687" style="position:relative"> <span class="pl-en">goto_tabpage_win</span>(<span class="pl-s1">the_curtab</span>, <span class="pl-s1">the_curwin</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC688" class="react-file-line html-div" data-testid="code-cell" data-line-number="688" style="position:relative"> <span class="pl-en">unblock_autocmds</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC689" class="react-file-line html-div" data-testid="code-cell" data-line-number="689" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC690" class="react-file-line html-div" data-testid="code-cell" data-line-number="690" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC691" class="react-file-line html-div" data-testid="code-cell" data-line-number="691" style="position:relative"> <span class="pl-s1">nwindows</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC692" class="react-file-line html-div" data-testid="code-cell" data-line-number="692" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC693" class="react-file-line html-div" data-testid="code-cell" data-line-number="693" style="position:relative"> <span class="pl-c">// decrease the link count from windows (unless not in any window)</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC694" class="react-file-line html-div" data-testid="code-cell" data-line-number="694" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">></span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC695" class="react-file-line html-div" data-testid="code-cell" data-line-number="695" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC696" class="react-file-line html-div" data-testid="code-cell" data-line-number="696" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC697" class="react-file-line html-div" data-testid="code-cell" data-line-number="697" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_DIFF</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC698" class="react-file-line html-div" data-testid="code-cell" data-line-number="698" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">diffopt_hiddenoff</span>() <span class="pl-c1">&&</span> !<span class="pl-s1">unload_buf</span> <span class="pl-c1">&&</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC699" class="react-file-line html-div" data-testid="code-cell" data-line-number="699" style="position:relative"> <span class="pl-en">diff_buf_delete</span>(<span class="pl-s1">buf</span>); <span class="pl-c">// Clear 'diff' for hidden buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC700" class="react-file-line html-div" data-testid="code-cell" data-line-number="700" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC701" class="react-file-line html-div" data-testid="code-cell" data-line-number="701" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC702" class="react-file-line html-div" data-testid="code-cell" data-line-number="702" style="position:relative"> <span class="pl-c">// Return when a window is displaying the buffer or when it's not</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC703" class="react-file-line html-div" data-testid="code-cell" data-line-number="703" style="position:relative"> <span class="pl-c">// unloaded.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC704" class="react-file-line html-div" data-testid="code-cell" data-line-number="704" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">></span> <span class="pl-c1">0</span> <span class="pl-c1">||</span> !<span class="pl-s1">unload_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC705" class="react-file-line html-div" data-testid="code-cell" data-line-number="705" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC706" class="react-file-line html-div" data-testid="code-cell" data-line-number="706" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC707" class="react-file-line html-div" data-testid="code-cell" data-line-number="707" style="position:relative"> <span class="pl-c">// Always remove the buffer when there is no file name.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC708" class="react-file-line html-div" data-testid="code-cell" data-line-number="708" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC709" class="react-file-line html-div" data-testid="code-cell" data-line-number="709" style="position:relative"> <span class="pl-s1">del_buf</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC710" class="react-file-line html-div" data-testid="code-cell" data-line-number="710" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC711" class="react-file-line html-div" data-testid="code-cell" data-line-number="711" style="position:relative"> <span class="pl-c">// When closing the current buffer stop Visual mode before freeing</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC712" class="react-file-line html-div" data-testid="code-cell" data-line-number="712" style="position:relative"> <span class="pl-c">// anything.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC713" class="react-file-line html-div" data-testid="code-cell" data-line-number="713" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-s1">curbuf</span> <span class="pl-c1">&&</span> <span class="pl-s1">VIsual_active</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC714" class="react-file-line html-div" data-testid="code-cell" data-line-number="714" style="position:relative"><span class="pl-k">#if</span> defined(<span class="pl-c1">EXITFREE</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC715" class="react-file-line html-div" data-testid="code-cell" data-line-number="715" style="position:relative"> <span class="pl-c1">&</span><span class="pl-c1">&</span> !<span class="pl-s1">entered_free_all_mem</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC716" class="react-file-line html-div" data-testid="code-cell" data-line-number="716" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC717" class="react-file-line html-div" data-testid="code-cell" data-line-number="717" style="position:relative"> )</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC718" class="react-file-line html-div" data-testid="code-cell" data-line-number="718" style="position:relative"> <span class="pl-en">end_visual_mode</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC719" class="react-file-line html-div" data-testid="code-cell" data-line-number="719" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC720" class="react-file-line html-div" data-testid="code-cell" data-line-number="720" style="position:relative"> <span class="pl-c">// Free all things allocated for this buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC721" class="react-file-line html-div" data-testid="code-cell" data-line-number="721" style="position:relative"> <span class="pl-c">// Also calls the "BufDelete" autocommands when del_buf is TRUE.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC722" class="react-file-line html-div" data-testid="code-cell" data-line-number="722" style="position:relative"> <span class="pl-c">//</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC723" class="react-file-line html-div" data-testid="code-cell" data-line-number="723" style="position:relative"> <span class="pl-c">// Remember if we are closing the current buffer. Restore the number of</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC724" class="react-file-line html-div" data-testid="code-cell" data-line-number="724" style="position:relative"> <span class="pl-c">// windows, so that autocommands in buf_freeall() don't get confused.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC725" class="react-file-line html-div" data-testid="code-cell" data-line-number="725" style="position:relative"> <span class="pl-s1">is_curbuf</span> <span class="pl-c1">=</span> (<span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC726" class="react-file-line html-div" data-testid="code-cell" data-line-number="726" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">=</span> <span class="pl-s1">nwindows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC727" class="react-file-line html-div" data-testid="code-cell" data-line-number="727" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC728" class="react-file-line html-div" data-testid="code-cell" data-line-number="728" style="position:relative"> <span class="pl-en">buf_freeall</span>(<span class="pl-s1">buf</span>, (<span class="pl-s1">del_buf</span> ? <span class="pl-c1">BFA_DEL</span> : <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC729" class="react-file-line html-div" data-testid="code-cell" data-line-number="729" style="position:relative"> <span class="pl-c1">+</span> (<span class="pl-s1">wipe_buf</span> ? <span class="pl-c1">BFA_WIPE</span> : <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC730" class="react-file-line html-div" data-testid="code-cell" data-line-number="730" style="position:relative"> <span class="pl-c1">+</span> (<span class="pl-s1">ignore_abort</span> ? <span class="pl-c1">BFA_IGNORE_ABORT</span> : <span class="pl-c1">0</span>));</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC731" class="react-file-line html-div" data-testid="code-cell" data-line-number="731" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC732" class="react-file-line html-div" data-testid="code-cell" data-line-number="732" style="position:relative"> <span class="pl-c">// Autocommands may have deleted the buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC733" class="react-file-line html-div" data-testid="code-cell" data-line-number="733" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC734" class="react-file-line html-div" data-testid="code-cell" data-line-number="734" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC735" class="react-file-line html-div" data-testid="code-cell" data-line-number="735" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC736" class="react-file-line html-div" data-testid="code-cell" data-line-number="736" style="position:relative"> <span class="pl-c">// autocmds may abort script processing</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC737" class="react-file-line html-div" data-testid="code-cell" data-line-number="737" style="position:relative"> <span class="pl-k">if</span> (!<span class="pl-s1">ignore_abort</span> <span class="pl-c1">&&</span> <span class="pl-en">aborting</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC738" class="react-file-line html-div" data-testid="code-cell" data-line-number="738" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC739" class="react-file-line html-div" data-testid="code-cell" data-line-number="739" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC740" class="react-file-line html-div" data-testid="code-cell" data-line-number="740" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC741" class="react-file-line html-div" data-testid="code-cell" data-line-number="741" style="position:relative"> <span class="pl-c">// It's possible that autocommands change curbuf to the one being deleted.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC742" class="react-file-line html-div" data-testid="code-cell" data-line-number="742" style="position:relative"> <span class="pl-c">// This might cause the previous curbuf to be deleted unexpectedly. But</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC743" class="react-file-line html-div" data-testid="code-cell" data-line-number="743" style="position:relative"> <span class="pl-c">// in some cases it's OK to delete the curbuf, because a new one is</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC744" class="react-file-line html-div" data-testid="code-cell" data-line-number="744" style="position:relative"> <span class="pl-c">// obtained anyway. Therefore only return if curbuf changed to the</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC745" class="react-file-line html-div" data-testid="code-cell" data-line-number="745" style="position:relative"> <span class="pl-c">// deleted buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC746" class="react-file-line html-div" data-testid="code-cell" data-line-number="746" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-s1">curbuf</span> <span class="pl-c1">&&</span> !<span class="pl-s1">is_curbuf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC747" class="react-file-line html-div" data-testid="code-cell" data-line-number="747" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC748" class="react-file-line html-div" data-testid="code-cell" data-line-number="748" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC749" class="react-file-line html-div" data-testid="code-cell" data-line-number="749" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">win_valid_any_tab</span>(<span class="pl-s1">win</span>) <span class="pl-c1">&&</span> <span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC750" class="react-file-line html-div" data-testid="code-cell" data-line-number="750" style="position:relative"> <span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>; <span class="pl-c">// make sure we don't use the buffer now</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC751" class="react-file-line html-div" data-testid="code-cell" data-line-number="751" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC752" class="react-file-line html-div" data-testid="code-cell" data-line-number="752" style="position:relative"> <span class="pl-c">// Autocommands may have opened or closed windows for this buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC753" class="react-file-line html-div" data-testid="code-cell" data-line-number="753" style="position:relative"> <span class="pl-c">// Decrement the count for the close we do here.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC754" class="react-file-line html-div" data-testid="code-cell" data-line-number="754" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">></span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC755" class="react-file-line html-div" data-testid="code-cell" data-line-number="755" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC756" class="react-file-line html-div" data-testid="code-cell" data-line-number="756" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC757" class="react-file-line html-div" data-testid="code-cell" data-line-number="757" style="position:relative"> <span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC758" class="react-file-line html-div" data-testid="code-cell" data-line-number="758" style="position:relative"><span class="pl-c"> * Remove the buffer from the list.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC759" class="react-file-line html-div" data-testid="code-cell" data-line-number="759" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC760" class="react-file-line html-div" data-testid="code-cell" data-line-number="760" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">wipe_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC761" class="react-file-line html-div" data-testid="code-cell" data-line-number="761" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC762" class="react-file-line html-div" data-testid="code-cell" data-line-number="762" style="position:relative"> <span class="pl-smi">tabpage_T</span> <span class="pl-c1">*</span><span class="pl-s1">tp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC763" class="react-file-line html-div" data-testid="code-cell" data-line-number="763" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">wp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC764" class="react-file-line html-div" data-testid="code-cell" data-line-number="764" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC765" class="react-file-line html-div" data-testid="code-cell" data-line-number="765" style="position:relative"> <span class="pl-c">// Do not wipe out the buffer if it is used in a window.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC766" class="react-file-line html-div" data-testid="code-cell" data-line-number="766" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_nwindows</span> <span class="pl-c1">></span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC767" class="react-file-line html-div" data-testid="code-cell" data-line-number="767" style="position:relative"> <span class="pl-k">return</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC768" class="react-file-line html-div" data-testid="code-cell" data-line-number="768" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC769" class="react-file-line html-div" data-testid="code-cell" data-line-number="769" style="position:relative"> <span class="pl-en">FOR_ALL_TAB_WINDOWS</span>(<span class="pl-s1">tp</span>, <span class="pl-s1">wp</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC770" class="react-file-line html-div" data-testid="code-cell" data-line-number="770" style="position:relative"> <span class="pl-en">mark_forget_file</span>(<span class="pl-s1">wp</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fnum</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC771" class="react-file-line html-div" data-testid="code-cell" data-line-number="771" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC772" class="react-file-line html-div" data-testid="code-cell" data-line-number="772" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">action</span> <span class="pl-c1">==</span> <span class="pl-c1">DOBUF_WIPE_REUSE</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC773" class="react-file-line html-div" data-testid="code-cell" data-line-number="773" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC774" class="react-file-line html-div" data-testid="code-cell" data-line-number="774" style="position:relative"> <span class="pl-c">// we can re-use this buffer number, store it</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC775" class="react-file-line html-div" data-testid="code-cell" data-line-number="775" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf_reuse</span>.<span class="pl-c1">ga_itemsize</span> <span class="pl-c1">==</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC776" class="react-file-line html-div" data-testid="code-cell" data-line-number="776" style="position:relative"> <span class="pl-en">ga_init2</span>(<span class="pl-c1">&</span><span class="pl-s1">buf_reuse</span>, <span class="pl-k">sizeof</span>(<span class="pl-smi">int</span>), <span class="pl-c1">50</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC777" class="react-file-line html-div" data-testid="code-cell" data-line-number="777" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">ga_grow</span>(<span class="pl-c1">&</span><span class="pl-s1">buf_reuse</span>, <span class="pl-c1">1</span>) <span class="pl-c1">==</span> <span class="pl-c1">OK</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC778" class="react-file-line html-div" data-testid="code-cell" data-line-number="778" style="position:relative"> ((<span class="pl-smi">int</span> <span class="pl-c1">*</span>)<span class="pl-s1">buf_reuse</span>.<span class="pl-c1">ga_data</span>)[<span class="pl-s1">buf_reuse</span>.<span class="pl-c1">ga_len</span><span class="pl-c1">++</span>] <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fnum</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC779" class="react-file-line html-div" data-testid="code-cell" data-line-number="779" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC780" class="react-file-line html-div" data-testid="code-cell" data-line-number="780" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_sfname</span> <span class="pl-c1">!=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC781" class="react-file-line html-div" data-testid="code-cell" data-line-number="781" style="position:relative"> <span class="pl-en">VIM_CLEAR</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_sfname</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC782" class="react-file-line html-div" data-testid="code-cell" data-line-number="782" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC783" class="react-file-line html-div" data-testid="code-cell" data-line-number="783" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_sfname</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC784" class="react-file-line html-div" data-testid="code-cell" data-line-number="784" style="position:relative"> <span class="pl-en">VIM_CLEAR</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ffname</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC785" class="react-file-line html-div" data-testid="code-cell" data-line-number="785" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prev</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC786" class="react-file-line html-div" data-testid="code-cell" data-line-number="786" style="position:relative"> <span class="pl-s1">firstbuf</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC787" class="react-file-line html-div" data-testid="code-cell" data-line-number="787" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC788" class="react-file-line html-div" data-testid="code-cell" data-line-number="788" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prev</span><span class="pl-c1">-></span><span class="pl-c1">b_next</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_next</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC789" class="react-file-line html-div" data-testid="code-cell" data-line-number="789" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_next</span> <span class="pl-c1">==</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC790" class="react-file-line html-div" data-testid="code-cell" data-line-number="790" style="position:relative"> <span class="pl-s1">lastbuf</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prev</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC791" class="react-file-line html-div" data-testid="code-cell" data-line-number="791" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC792" class="react-file-line html-div" data-testid="code-cell" data-line-number="792" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_next</span><span class="pl-c1">-></span><span class="pl-c1">b_prev</span> <span class="pl-c1">=</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prev</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC793" class="react-file-line html-div" data-testid="code-cell" data-line-number="793" style="position:relative"> <span class="pl-en">free_buffer</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC794" class="react-file-line html-div" data-testid="code-cell" data-line-number="794" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC795" class="react-file-line html-div" data-testid="code-cell" data-line-number="795" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC796" class="react-file-line html-div" data-testid="code-cell" data-line-number="796" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC797" class="react-file-line html-div" data-testid="code-cell" data-line-number="797" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">del_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC798" class="react-file-line html-div" data-testid="code-cell" data-line-number="798" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC799" class="react-file-line html-div" data-testid="code-cell" data-line-number="799" style="position:relative"> <span class="pl-c">// Free all internal variables and reset option values, to make</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC800" class="react-file-line html-div" data-testid="code-cell" data-line-number="800" style="position:relative"> <span class="pl-c">// ":bdel" compatible with Vim 5.7.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC801" class="react-file-line html-div" data-testid="code-cell" data-line-number="801" style="position:relative"> <span class="pl-en">free_buffer_stuff</span>(<span class="pl-s1">buf</span>, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC802" class="react-file-line html-div" data-testid="code-cell" data-line-number="802" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC803" class="react-file-line html-div" data-testid="code-cell" data-line-number="803" style="position:relative"> <span class="pl-c">// Make it look like a new buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC804" class="react-file-line html-div" data-testid="code-cell" data-line-number="804" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> <span class="pl-c1">=</span> <span class="pl-c1">BF_CHECK_RO</span> | <span class="pl-c1">BF_NEVERLOADED</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC805" class="react-file-line html-div" data-testid="code-cell" data-line-number="805" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC806" class="react-file-line html-div" data-testid="code-cell" data-line-number="806" style="position:relative"> <span class="pl-c">// Init the options when loaded again.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC807" class="react-file-line html-div" data-testid="code-cell" data-line-number="807" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_initialized</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC808" class="react-file-line html-div" data-testid="code-cell" data-line-number="808" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC809" class="react-file-line html-div" data-testid="code-cell" data-line-number="809" style="position:relative"> <span class="pl-en">buf_clear_file</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC810" class="react-file-line html-div" data-testid="code-cell" data-line-number="810" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">del_buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC811" class="react-file-line html-div" data-testid="code-cell" data-line-number="811" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bl</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC812" class="react-file-line html-div" data-testid="code-cell" data-line-number="812" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC813" class="react-file-line html-div" data-testid="code-cell" data-line-number="813" style="position:relative"> <span class="pl-c">// NOTE: at this point "curbuf" may be invalid!</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC814" class="react-file-line html-div" data-testid="code-cell" data-line-number="814" style="position:relative"> <span class="pl-k">return</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC815" class="react-file-line html-div" data-testid="code-cell" data-line-number="815" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC816" class="react-file-line html-div" data-testid="code-cell" data-line-number="816" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC817" class="react-file-line html-div" data-testid="code-cell" data-line-number="817" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC818" class="react-file-line html-div" data-testid="code-cell" data-line-number="818" style="position:relative"><span class="pl-c"> * Make buffer not contain a file.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC819" class="react-file-line html-div" data-testid="code-cell" data-line-number="819" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC820" class="react-file-line html-div" data-testid="code-cell" data-line-number="820" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC821" class="react-file-line html-div" data-testid="code-cell" data-line-number="821" style="position:relative"><span class="pl-en">buf_clear_file</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC822" class="react-file-line html-div" data-testid="code-cell" data-line-number="822" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC823" class="react-file-line html-div" data-testid="code-cell" data-line-number="823" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_line_count</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC824" class="react-file-line html-div" data-testid="code-cell" data-line-number="824" style="position:relative"> <span class="pl-en">unchanged</span>(<span class="pl-s1">buf</span>, TRUE, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC825" class="react-file-line html-div" data-testid="code-cell" data-line-number="825" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_shortname</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC826" class="react-file-line html-div" data-testid="code-cell" data-line-number="826" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_eof</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC827" class="react-file-line html-div" data-testid="code-cell" data-line-number="827" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_start_eof</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC828" class="react-file-line html-div" data-testid="code-cell" data-line-number="828" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_eol</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC829" class="react-file-line html-div" data-testid="code-cell" data-line-number="829" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_start_eol</span> <span class="pl-c1">=</span> TRUE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC830" class="react-file-line html-div" data-testid="code-cell" data-line-number="830" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bomb</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC831" class="react-file-line html-div" data-testid="code-cell" data-line-number="831" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_start_bomb</span> <span class="pl-c1">=</span> FALSE;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC832" class="react-file-line html-div" data-testid="code-cell" data-line-number="832" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">=</span> <span class="pl-c1">NULL</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC833" class="react-file-line html-div" data-testid="code-cell" data-line-number="833" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_flags</span> <span class="pl-c1">=</span> <span class="pl-c1">ML_EMPTY</span>; <span class="pl-c">// empty buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC834" class="react-file-line html-div" data-testid="code-cell" data-line-number="834" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_NETBEANS_INTG</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC835" class="react-file-line html-div" data-testid="code-cell" data-line-number="835" style="position:relative"> <span class="pl-en">netbeans_deleted_all_lines</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC836" class="react-file-line html-div" data-testid="code-cell" data-line-number="836" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC837" class="react-file-line html-div" data-testid="code-cell" data-line-number="837" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC838" class="react-file-line html-div" data-testid="code-cell" data-line-number="838" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC839" class="react-file-line html-div" data-testid="code-cell" data-line-number="839" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC840" class="react-file-line html-div" data-testid="code-cell" data-line-number="840" style="position:relative"><span class="pl-c"> * buf_freeall() - free all things allocated for a buffer that are related to</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC841" class="react-file-line html-div" data-testid="code-cell" data-line-number="841" style="position:relative"><span class="pl-c"> * the file. Careful: get here with "curwin" NULL when exiting.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC842" class="react-file-line html-div" data-testid="code-cell" data-line-number="842" style="position:relative"><span class="pl-c"> * flags:</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC843" class="react-file-line html-div" data-testid="code-cell" data-line-number="843" style="position:relative"><span class="pl-c"> * BFA_DEL buffer is going to be deleted</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC844" class="react-file-line html-div" data-testid="code-cell" data-line-number="844" style="position:relative"><span class="pl-c"> * BFA_WIPE buffer is going to be wiped out</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC845" class="react-file-line html-div" data-testid="code-cell" data-line-number="845" style="position:relative"><span class="pl-c"> * BFA_KEEP_UNDO do not free undo information</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC846" class="react-file-line html-div" data-testid="code-cell" data-line-number="846" style="position:relative"><span class="pl-c"> * BFA_IGNORE_ABORT don't abort even when aborting() returns TRUE</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC847" class="react-file-line html-div" data-testid="code-cell" data-line-number="847" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC848" class="react-file-line html-div" data-testid="code-cell" data-line-number="848" style="position:relative"> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC849" class="react-file-line html-div" data-testid="code-cell" data-line-number="849" style="position:relative"><span class="pl-en">buf_freeall</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>, <span class="pl-smi">int</span> <span class="pl-s1">flags</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC850" class="react-file-line html-div" data-testid="code-cell" data-line-number="850" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC851" class="react-file-line html-div" data-testid="code-cell" data-line-number="851" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">is_curbuf</span> <span class="pl-c1">=</span> (<span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-s1">curbuf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC852" class="react-file-line html-div" data-testid="code-cell" data-line-number="852" style="position:relative"> <span class="pl-smi">bufref_T</span> <span class="pl-s1">bufref</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC853" class="react-file-line html-div" data-testid="code-cell" data-line-number="853" style="position:relative"> <span class="pl-smi">int</span> <span class="pl-s1">is_curwin</span> <span class="pl-c1">=</span> (<span class="pl-s1">curwin</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> <span class="pl-c1">&&</span> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC854" class="react-file-line html-div" data-testid="code-cell" data-line-number="854" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">the_curwin</span> <span class="pl-c1">=</span> <span class="pl-s1">curwin</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC855" class="react-file-line html-div" data-testid="code-cell" data-line-number="855" style="position:relative"> <span class="pl-smi">tabpage_T</span> <span class="pl-c1">*</span><span class="pl-s1">the_curtab</span> <span class="pl-c1">=</span> <span class="pl-s1">curtab</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC856" class="react-file-line html-div" data-testid="code-cell" data-line-number="856" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC857" class="react-file-line html-div" data-testid="code-cell" data-line-number="857" style="position:relative"> <span class="pl-c">// Make sure the buffer isn't closed by autocommands.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC858" class="react-file-line html-div" data-testid="code-cell" data-line-number="858" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC859" class="react-file-line html-div" data-testid="code-cell" data-line-number="859" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC860" class="react-file-line html-div" data-testid="code-cell" data-line-number="860" style="position:relative"> <span class="pl-en">set_bufref</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>, <span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC861" class="react-file-line html-div" data-testid="code-cell" data-line-number="861" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_mfp</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC862" class="react-file-line html-div" data-testid="code-cell" data-line-number="862" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC863" class="react-file-line html-div" data-testid="code-cell" data-line-number="863" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFUNLOAD</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC864" class="react-file-line html-div" data-testid="code-cell" data-line-number="864" style="position:relative"> FALSE, <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC865" class="react-file-line html-div" data-testid="code-cell" data-line-number="865" style="position:relative"> <span class="pl-c1">&&</span> !<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC866" class="react-file-line html-div" data-testid="code-cell" data-line-number="866" style="position:relative"> <span class="pl-c">// autocommands deleted the buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC867" class="react-file-line html-div" data-testid="code-cell" data-line-number="867" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC868" class="react-file-line html-div" data-testid="code-cell" data-line-number="868" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC869" class="react-file-line html-div" data-testid="code-cell" data-line-number="869" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BFA_DEL</span>) <span class="pl-c1">&&</span> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_p_bl</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC870" class="react-file-line html-div" data-testid="code-cell" data-line-number="870" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC871" class="react-file-line html-div" data-testid="code-cell" data-line-number="871" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFDELETE</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC872" class="react-file-line html-div" data-testid="code-cell" data-line-number="872" style="position:relative"> FALSE, <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC873" class="react-file-line html-div" data-testid="code-cell" data-line-number="873" style="position:relative"> <span class="pl-c1">&&</span> !<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC874" class="react-file-line html-div" data-testid="code-cell" data-line-number="874" style="position:relative"> <span class="pl-c">// autocommands deleted the buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC875" class="react-file-line html-div" data-testid="code-cell" data-line-number="875" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC876" class="react-file-line html-div" data-testid="code-cell" data-line-number="876" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC877" class="react-file-line html-div" data-testid="code-cell" data-line-number="877" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BFA_WIPE</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC878" class="react-file-line html-div" data-testid="code-cell" data-line-number="878" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC879" class="react-file-line html-div" data-testid="code-cell" data-line-number="879" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-en">apply_autocmds</span>(<span class="pl-c1">EVENT_BUFWIPEOUT</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>, <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_fname</span>,</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC880" class="react-file-line html-div" data-testid="code-cell" data-line-number="880" style="position:relative"> FALSE, <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC881" class="react-file-line html-div" data-testid="code-cell" data-line-number="881" style="position:relative"> <span class="pl-c1">&&</span> !<span class="pl-en">bufref_valid</span>(<span class="pl-c1">&</span><span class="pl-s1">bufref</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC882" class="react-file-line html-div" data-testid="code-cell" data-line-number="882" style="position:relative"> <span class="pl-c">// autocommands deleted the buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC883" class="react-file-line html-div" data-testid="code-cell" data-line-number="883" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC884" class="react-file-line html-div" data-testid="code-cell" data-line-number="884" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC885" class="react-file-line html-div" data-testid="code-cell" data-line-number="885" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC886" class="react-file-line html-div" data-testid="code-cell" data-line-number="886" style="position:relative"> <span class="pl-c1">--</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_locked_split</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC887" class="react-file-line html-div" data-testid="code-cell" data-line-number="887" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC888" class="react-file-line html-div" data-testid="code-cell" data-line-number="888" style="position:relative"> <span class="pl-c">// If the buffer was in curwin and the window has changed, go back to that</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC889" class="react-file-line html-div" data-testid="code-cell" data-line-number="889" style="position:relative"> <span class="pl-c">// window, if it still exists. This avoids that ":edit x" triggering a</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC890" class="react-file-line html-div" data-testid="code-cell" data-line-number="890" style="position:relative"> <span class="pl-c">// "tabnext" BufUnload autocmd leaves a window behind without a buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC891" class="react-file-line html-div" data-testid="code-cell" data-line-number="891" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">is_curwin</span> <span class="pl-c1">&&</span> <span class="pl-s1">curwin</span> <span class="pl-c1">!=</span> <span class="pl-s1">the_curwin</span> <span class="pl-c1">&&</span> <span class="pl-en">win_valid_any_tab</span>(<span class="pl-s1">the_curwin</span>))</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC892" class="react-file-line html-div" data-testid="code-cell" data-line-number="892" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC893" class="react-file-line html-div" data-testid="code-cell" data-line-number="893" style="position:relative"> <span class="pl-en">block_autocmds</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC894" class="react-file-line html-div" data-testid="code-cell" data-line-number="894" style="position:relative"> <span class="pl-en">goto_tabpage_win</span>(<span class="pl-s1">the_curtab</span>, <span class="pl-s1">the_curwin</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC895" class="react-file-line html-div" data-testid="code-cell" data-line-number="895" style="position:relative"> <span class="pl-en">unblock_autocmds</span>();</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC896" class="react-file-line html-div" data-testid="code-cell" data-line-number="896" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC897" class="react-file-line html-div" data-testid="code-cell" data-line-number="897" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC898" class="react-file-line html-div" data-testid="code-cell" data-line-number="898" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC899" class="react-file-line html-div" data-testid="code-cell" data-line-number="899" style="position:relative"> <span class="pl-c">// autocmds may abort script processing</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC900" class="react-file-line html-div" data-testid="code-cell" data-line-number="900" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BFA_IGNORE_ABORT</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span> <span class="pl-c1">&&</span> <span class="pl-en">aborting</span>())</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC901" class="react-file-line html-div" data-testid="code-cell" data-line-number="901" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC902" class="react-file-line html-div" data-testid="code-cell" data-line-number="902" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC903" class="react-file-line html-div" data-testid="code-cell" data-line-number="903" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC904" class="react-file-line html-div" data-testid="code-cell" data-line-number="904" style="position:relative"> <span class="pl-c">// It's possible that autocommands change curbuf to the one being deleted.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC905" class="react-file-line html-div" data-testid="code-cell" data-line-number="905" style="position:relative"> <span class="pl-c">// This might cause curbuf to be deleted unexpectedly. But in some cases</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC906" class="react-file-line html-div" data-testid="code-cell" data-line-number="906" style="position:relative"> <span class="pl-c">// it's OK to delete the curbuf, because a new one is obtained anyway.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC907" class="react-file-line html-div" data-testid="code-cell" data-line-number="907" style="position:relative"> <span class="pl-c">// Therefore only return if curbuf changed to the deleted buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC908" class="react-file-line html-div" data-testid="code-cell" data-line-number="908" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">buf</span> <span class="pl-c1">==</span> <span class="pl-s1">curbuf</span> <span class="pl-c1">&&</span> !<span class="pl-s1">is_curbuf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC909" class="react-file-line html-div" data-testid="code-cell" data-line-number="909" style="position:relative"> <span class="pl-k">return</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC910" class="react-file-line html-div" data-testid="code-cell" data-line-number="910" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_DIFF</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC911" class="react-file-line html-div" data-testid="code-cell" data-line-number="911" style="position:relative"> <span class="pl-en">diff_buf_delete</span>(<span class="pl-s1">buf</span>); <span class="pl-c">// Can't use 'diff' for unloaded buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC912" class="react-file-line html-div" data-testid="code-cell" data-line-number="912" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC913" class="react-file-line html-div" data-testid="code-cell" data-line-number="913" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_SYN_HL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC914" class="react-file-line html-div" data-testid="code-cell" data-line-number="914" style="position:relative"> <span class="pl-c">// Remove any ownsyntax, unless exiting.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC915" class="react-file-line html-div" data-testid="code-cell" data-line-number="915" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">curwin</span> <span class="pl-c1">!=</span> <span class="pl-c1">NULL</span> <span class="pl-c1">&&</span> <span class="pl-s1">curwin</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC916" class="react-file-line html-div" data-testid="code-cell" data-line-number="916" style="position:relative"> <span class="pl-en">reset_synblock</span>(<span class="pl-s1">curwin</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC917" class="react-file-line html-div" data-testid="code-cell" data-line-number="917" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC918" class="react-file-line html-div" data-testid="code-cell" data-line-number="918" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC919" class="react-file-line html-div" data-testid="code-cell" data-line-number="919" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_FOLDING</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC920" class="react-file-line html-div" data-testid="code-cell" data-line-number="920" style="position:relative"> <span class="pl-c">// No folds in an empty buffer.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC921" class="react-file-line html-div" data-testid="code-cell" data-line-number="921" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC922" class="react-file-line html-div" data-testid="code-cell" data-line-number="922" style="position:relative"> <span class="pl-smi">win_T</span> <span class="pl-c1">*</span><span class="pl-s1">win</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC923" class="react-file-line html-div" data-testid="code-cell" data-line-number="923" style="position:relative"> <span class="pl-smi">tabpage_T</span> <span class="pl-c1">*</span><span class="pl-s1">tp</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC924" class="react-file-line html-div" data-testid="code-cell" data-line-number="924" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC925" class="react-file-line html-div" data-testid="code-cell" data-line-number="925" style="position:relative"> <span class="pl-en">FOR_ALL_TAB_WINDOWS</span>(<span class="pl-s1">tp</span>, <span class="pl-s1">win</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC926" class="react-file-line html-div" data-testid="code-cell" data-line-number="926" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">win</span><span class="pl-c1">-></span><span class="pl-c1">w_buffer</span> <span class="pl-c1">==</span> <span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC927" class="react-file-line html-div" data-testid="code-cell" data-line-number="927" style="position:relative"> <span class="pl-en">clearFolding</span>(<span class="pl-s1">win</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC928" class="react-file-line html-div" data-testid="code-cell" data-line-number="928" style="position:relative"> }</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC929" class="react-file-line html-div" data-testid="code-cell" data-line-number="929" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC930" class="react-file-line html-div" data-testid="code-cell" data-line-number="930" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC931" class="react-file-line html-div" data-testid="code-cell" data-line-number="931" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_TCL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC932" class="react-file-line html-div" data-testid="code-cell" data-line-number="932" style="position:relative"> <span class="pl-en">tcl_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC933" class="react-file-line html-div" data-testid="code-cell" data-line-number="933" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC934" class="react-file-line html-div" data-testid="code-cell" data-line-number="934" style="position:relative"> <span class="pl-en">ml_close</span>(<span class="pl-s1">buf</span>, TRUE); <span class="pl-c">// close and delete the memline/memfile</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC935" class="react-file-line html-div" data-testid="code-cell" data-line-number="935" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ml</span>.<span class="pl-c1">ml_line_count</span> <span class="pl-c1">=</span> <span class="pl-c1">0</span>; <span class="pl-c">// no lines in buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC936" class="react-file-line html-div" data-testid="code-cell" data-line-number="936" style="position:relative"> <span class="pl-k">if</span> ((<span class="pl-s1">flags</span> <span class="pl-c1">&</span> <span class="pl-c1">BFA_KEEP_UNDO</span>) <span class="pl-c1">==</span> <span class="pl-c1">0</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC937" class="react-file-line html-div" data-testid="code-cell" data-line-number="937" style="position:relative"> <span class="pl-c">// free the memory allocated for undo</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC938" class="react-file-line html-div" data-testid="code-cell" data-line-number="938" style="position:relative"> <span class="pl-c">// and reset all undo information</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC939" class="react-file-line html-div" data-testid="code-cell" data-line-number="939" style="position:relative"> <span class="pl-en">u_clearallandblockfree</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC940" class="react-file-line html-div" data-testid="code-cell" data-line-number="940" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_SYN_HL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC941" class="react-file-line html-div" data-testid="code-cell" data-line-number="941" style="position:relative"> <span class="pl-en">syntax_clear</span>(<span class="pl-c1">&</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_s</span>); <span class="pl-c">// reset syntax info</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC942" class="react-file-line html-div" data-testid="code-cell" data-line-number="942" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC943" class="react-file-line html-div" data-testid="code-cell" data-line-number="943" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_PROP_POPUP</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC944" class="react-file-line html-div" data-testid="code-cell" data-line-number="944" style="position:relative"> <span class="pl-en">clear_buf_prop_types</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC945" class="react-file-line html-div" data-testid="code-cell" data-line-number="945" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC946" class="react-file-line html-div" data-testid="code-cell" data-line-number="946" style="position:relative"> <span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_flags</span> &= ~<span class="pl-c1">BF_READERR</span>; <span class="pl-c">// a read error is no longer relevant</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC947" class="react-file-line html-div" data-testid="code-cell" data-line-number="947" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC948" class="react-file-line html-div" data-testid="code-cell" data-line-number="948" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC949" class="react-file-line html-div" data-testid="code-cell" data-line-number="949" style="position:relative"><span class="pl-c">/*</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC950" class="react-file-line html-div" data-testid="code-cell" data-line-number="950" style="position:relative"><span class="pl-c"> * Free a buffer structure and the things it contains related to the buffer</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC951" class="react-file-line html-div" data-testid="code-cell" data-line-number="951" style="position:relative"><span class="pl-c"> * itself (not the file, that must have been done already).</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC952" class="react-file-line html-div" data-testid="code-cell" data-line-number="952" style="position:relative"><span class="pl-c"> */</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC953" class="react-file-line html-div" data-testid="code-cell" data-line-number="953" style="position:relative"> <span class="pl-k">static</span> <span class="pl-smi">void</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC954" class="react-file-line html-div" data-testid="code-cell" data-line-number="954" style="position:relative"><span class="pl-en">free_buffer</span>(<span class="pl-smi">buf_T</span> <span class="pl-c1">*</span><span class="pl-s1">buf</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC955" class="react-file-line html-div" data-testid="code-cell" data-line-number="955" style="position:relative">{</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC956" class="react-file-line html-div" data-testid="code-cell" data-line-number="956" style="position:relative"> <span class="pl-c1">++</span><span class="pl-s1">buf_free_count</span>;</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC957" class="react-file-line html-div" data-testid="code-cell" data-line-number="957" style="position:relative"> <span class="pl-en">free_buffer_stuff</span>(<span class="pl-s1">buf</span>, TRUE);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC958" class="react-file-line html-div" data-testid="code-cell" data-line-number="958" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_EVAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC959" class="react-file-line html-div" data-testid="code-cell" data-line-number="959" style="position:relative"> <span class="pl-c">// b:changedtick uses an item in buf_T, remove it now</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC960" class="react-file-line html-div" data-testid="code-cell" data-line-number="960" style="position:relative"> <span class="pl-en">dictitem_remove</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_vars</span>, (<span class="pl-smi">dictitem_T</span> <span class="pl-c1">*</span>)<span class="pl-c1">&</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_ct_di</span>, <span class="pl-s">"free buffer"</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC961" class="react-file-line html-div" data-testid="code-cell" data-line-number="961" style="position:relative"> <span class="pl-en">unref_var_dict</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_vars</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC962" class="react-file-line html-div" data-testid="code-cell" data-line-number="962" style="position:relative"> <span class="pl-en">remove_listeners</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC963" class="react-file-line html-div" data-testid="code-cell" data-line-number="963" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC964" class="react-file-line html-div" data-testid="code-cell" data-line-number="964" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_LUA</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC965" class="react-file-line html-div" data-testid="code-cell" data-line-number="965" style="position:relative"> <span class="pl-en">lua_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC966" class="react-file-line html-div" data-testid="code-cell" data-line-number="966" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC967" class="react-file-line html-div" data-testid="code-cell" data-line-number="967" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_MZSCHEME</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC968" class="react-file-line html-div" data-testid="code-cell" data-line-number="968" style="position:relative"> <span class="pl-en">mzscheme_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC969" class="react-file-line html-div" data-testid="code-cell" data-line-number="969" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC970" class="react-file-line html-div" data-testid="code-cell" data-line-number="970" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_PERL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC971" class="react-file-line html-div" data-testid="code-cell" data-line-number="971" style="position:relative"> <span class="pl-en">perl_buf_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC972" class="react-file-line html-div" data-testid="code-cell" data-line-number="972" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC973" class="react-file-line html-div" data-testid="code-cell" data-line-number="973" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_PYTHON</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC974" class="react-file-line html-div" data-testid="code-cell" data-line-number="974" style="position:relative"> <span class="pl-en">python_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC975" class="react-file-line html-div" data-testid="code-cell" data-line-number="975" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC976" class="react-file-line html-div" data-testid="code-cell" data-line-number="976" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_PYTHON3</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC977" class="react-file-line html-div" data-testid="code-cell" data-line-number="977" style="position:relative"> <span class="pl-en">python3_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC978" class="react-file-line html-div" data-testid="code-cell" data-line-number="978" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC979" class="react-file-line html-div" data-testid="code-cell" data-line-number="979" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_RUBY</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC980" class="react-file-line html-div" data-testid="code-cell" data-line-number="980" style="position:relative"> <span class="pl-en">ruby_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC981" class="react-file-line html-div" data-testid="code-cell" data-line-number="981" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC982" class="react-file-line html-div" data-testid="code-cell" data-line-number="982" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_JOB_CHANNEL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC983" class="react-file-line html-div" data-testid="code-cell" data-line-number="983" style="position:relative"> <span class="pl-en">channel_buffer_free</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC984" class="react-file-line html-div" data-testid="code-cell" data-line-number="984" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC985" class="react-file-line html-div" data-testid="code-cell" data-line-number="985" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_TERMINAL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC986" class="react-file-line html-div" data-testid="code-cell" data-line-number="986" style="position:relative"> <span class="pl-en">free_terminal</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC987" class="react-file-line html-div" data-testid="code-cell" data-line-number="987" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC988" class="react-file-line html-div" data-testid="code-cell" data-line-number="988" style="position:relative"><span class="pl-k">#ifdef</span> <span class="pl-c1">FEAT_JOB_CHANNEL</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC989" class="react-file-line html-div" data-testid="code-cell" data-line-number="989" style="position:relative"> <span class="pl-en">vim_free</span>(<span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prompt_text</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC990" class="react-file-line html-div" data-testid="code-cell" data-line-number="990" style="position:relative"> <span class="pl-en">free_callback</span>(<span class="pl-c1">&</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prompt_callback</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC991" class="react-file-line html-div" data-testid="code-cell" data-line-number="991" style="position:relative"> <span class="pl-en">free_callback</span>(<span class="pl-c1">&</span><span class="pl-s1">buf</span><span class="pl-c1">-></span><span class="pl-c1">b_prompt_interrupt</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC992" class="react-file-line html-div" data-testid="code-cell" data-line-number="992" style="position:relative"><span class="pl-k">#endif</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC993" class="react-file-line html-div" data-testid="code-cell" data-line-number="993" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC994" class="react-file-line html-div" data-testid="code-cell" data-line-number="994" style="position:relative"> <span class="pl-en">buf_hashtab_remove</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC995" class="react-file-line html-div" data-testid="code-cell" data-line-number="995" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC996" class="react-file-line html-div" data-testid="code-cell" data-line-number="996" style="position:relative"> <span class="pl-en">aubuflocal_remove</span>(<span class="pl-s1">buf</span>);</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC997" class="react-file-line html-div" data-testid="code-cell" data-line-number="997" style="position:relative"> </div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC998" class="react-file-line html-div" data-testid="code-cell" data-line-number="998" style="position:relative"> <span class="pl-k">if</span> (<span class="pl-s1">autocmd_busy</span>)</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC999" class="react-file-line html-div" data-testid="code-cell" data-line-number="999" style="position:relative"> {</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC1000" class="react-file-line html-div" data-testid="code-cell" data-line-number="1000" style="position:relative"> <span class="pl-c">// Do not free the buffer structure while autocommands are executing,</span></div></div></div></div></div><div class="Box-sc-g0xbh4-0 gkZUDI"><a class="prc-Link-Link-85e08" href="https://github.com/vim/vim/raw/refs/heads/master/src/buffer.c">View remainder of file in raw view</a></div></div><div id="copilot-button-container"></div></div><div id="highlighted-line-menu-container"></div></div></div><button hidden="" data-testid="hotkey-button" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></section></div></div></div> <!-- --> <!-- --> </div></div></div><div class="Box-sc-g0xbh4-0"></div></div></div></div></div><div id="find-result-marks-container" class="Box-sc-g0xbh4-0 cCoXib"></div><button hidden="" data-testid="" data-hotkey-scope="read-only-cursor-text-area"></button><button hidden=""></button></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-app> </turbo-frame> </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 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 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>