IMJQ4PML6OQ2MG5OK3SVUJH4RGXO4DD3O6IFD2A4UBZIMF6QI6YQC EJPSD5XO43DWUBBZGNQMY4TMCAXL5EWCGX3OEHUERQ5GRASGWQLQC YK3MOJJLRYEKZ4FUCNJ3YKMTKOINWIYOJKR3ER7IRSGTC7O6FJZQC 7WCB5YQJJZIPUAFHTCQBWNI6ZM5XMIQJAKTLYTR7NOR5NKESRMDQC AZ5D2LQUSYVWVEP7ISFDSZTMZ65UEHZATILMDQ4TYLCKJH4Q3TIAC PKLUHYE4BGIMJKU6VKGBGSHEB2ZT53OYMTFBYCZYCO4J3RVTRXSAC LFEMJYYDO45ASMQSOJ3TNID7B5UZXDHB3NWFZJXWOAWNBS6GMDEAC 5O4FWCFP4ZPAS7WKSYPHN76ML3O2S4JUOYWOV2ETD4TF2H6KZ6AQC FU6P5QLG4GVLHVB4O5TCEPJF4X4FGDUBONQFRYP4U5KEPIYLUWJQC YGZ3VCW4OAJYPI2CYK3MTABNFY7Y2ENSSTFE5ZZ4K6HK57FCU3XQC ODCT4QJNJLQTDNFPIF7HX4XCFTEXZBESG3PTD276O7TWB7MSGWMQC UTDTZCTXAAP6AHENYQP7MOQ5QNIKKXN34NV2ONWEGM4HA4FU637AC TEDT26JQBWGATVTY6HZTIOGFR6BXW2BHSUKUTXTA7HOXARRQ5D6AC BJ3CYLUTYL3ODCU7XIQ2YIBQ6GMHP4IQ7HYMD4YCOPFRYEIYNWKQC K6VFUIKI2EXRXCQ4KH2ZLAHYHZ3ANTCWMTM65ZRWTRVGSJMK7B6AC MORKDJUERANZOBUWRC2F5766BEYYWXANAF3YAQ6YQ55WFQA7X64QC let left = || Binding {keys_str: "←| h",keys: ModKeys::Two(ModKey {key: Key::Named(Named::ArrowLeft),mods: Mods::NONE,},ModKey {key: Key::Character("h".into()),mods: Mods::NONE,},),label: "",msg: Some(FilteredMsg::Selection(selection::Msg::PressDir(selection::Dir::Left,))),};let right = || Binding {keys_str: "→| l",keys: ModKeys::Two(ModKey {key: Key::Named(Named::ArrowRight),mods: Mods::NONE,},ModKey {key: Key::Character("l".into()),mods: Mods::NONE,},),label: "",msg: Some(FilteredMsg::Selection(selection::Msg::PressDir(selection::Dir::Right,))),};
let push = |can_push: bool| Binding {keys_str: "S-p",keys: ModKeys::One(ModKey {key: Key::Character("p".into()),mods: Mods::SHIFT,}),label: "push",msg: can_push.then_some(FilteredMsg::EnterSubMenu(model::SubMenu::Push)),
let push_sub_menu = |can_push: bool| {move || -> Binding {Binding {keys_str: "S-p",keys: ModKeys::One(ModKey {key: Key::Character("p".into()),mods: Mods::SHIFT,}),label: "push",msg: can_push.then_some(FilteredMsg::EnterSubMenu(model::SubMenu::Push)),}}
let pull = |can_pull: bool| Binding {keys_str: "S-f",keys: ModKeys::One(ModKey {key: Key::Character("f".into()),mods: Mods::SHIFT,}),label: "pull",msg: can_pull.then_some(FilteredMsg::EnterSubMenu(model::SubMenu::Pull)),
let pull_sub_menu = |can_pull: bool| {move || -> Binding {Binding {keys_str: "S-f",keys: ModKeys::One(ModKey {key: Key::Character("f".into()),mods: Mods::SHIFT,}),label: "pull",msg: can_pull.then_some(FilteredMsg::EnterSubMenu(model::SubMenu::Pull)),}}
ma.push(focus_next());ma.push(focus_prev());ma.push(save_record());ma.push(postpone_record());ma.push(discard_record());
push(focus_next, ma);push(focus_prev, ma);push(save_record, ma);push(postpone_record, ma);push(discard_record, ma);
ma.push(clipboard_copy_change_hash());ma.push(exit_other_channels());ma.push(show_entire_log());ma.push(fork_channel());ma.push(refresh_repo());
push(clipboard_copy_change_hash, ma);push(exit_other_channels, ma);push(show_entire_log, ma);push(fork_channel, ma);push(refresh_repo, ma);
ma.push(clipboard_copy_change_hash());ma.push(exit_other_channels());ma.push(show_entire_log());ma.push(fork_channel());ma.push(refresh_repo());
push(clipboard_copy_change_hash, ma);push(exit_other_channels, ma);push(show_entire_log, ma);push(fork_channel, ma);push(refresh_repo, ma);
ma.push(left());ma.push(down());ma.push(up());ma.push(down_no_skip());ma.push(up_no_skip());ma.push(clipboard_copy_change_hash());ma.push(exit_other_channels());ma.push(fork_channel());ma.push(refresh_repo());
push(left, ma);push(down, ma);push(up, ma);push(down_no_skip, ma);push(up_no_skip, ma);push(clipboard_copy_change_hash, ma);push(exit_other_channels, ma);push(fork_channel, ma);push(refresh_repo, ma);
ma.push(left());ma.push(down());ma.push(up());ma.push(down_no_skip());ma.push(up_no_skip());ma.push(clipboard_copy_change_hash());ma.push(exit_entire_log());ma.push(fork_channel());ma.push(refresh_repo());
push(left, ma);push(down, ma);push(up, ma);push(down_no_skip, ma);push(up_no_skip, ma);push(clipboard_copy_change_hash, ma);push(exit_entire_log, ma);push(fork_channel, ma);push(refresh_repo, ma);
fn left() -> Binding {Binding {keys_str: "←| h",keys: ModKeys::Two(ModKey {key: Key::Named(Named::ArrowLeft),mods: Mods::NONE,},ModKey {key: Key::Character("h".into()),mods: Mods::NONE,},),label: "",msg: Some(FilteredMsg::Selection(selection::Msg::PressDir(selection::Dir::Left,))),}}fn right() -> Binding {Binding {keys_str: "→| l",keys: ModKeys::Two(ModKey {key: Key::Named(Named::ArrowRight),mods: Mods::NONE,},ModKey {key: Key::Character("l".into()),mods: Mods::NONE,},),label: "",msg: Some(FilteredMsg::Selection(selection::Msg::PressDir(selection::Dir::Right,))),}}