gh-2.96.0-bp157.2.24.1<>,)jb2I%z 7dXB5X߅4ʹxLg*XM*-zr9'ΊFjKW#U&W5!2G)'7[x qhyԱ 49nt3NJb+le6m>"czb>'{gf]Ywqk/WxC .u5#+=D4Y. tZSv@(ڱpa}oͱ"Fv~/h4rcX; 6T6-e(&o ]Q瓯𩡁j&gTE_N J2ӌSMJLW6.WiPY6Zo+Q^#;`1X6^%9* 5ny6%=Kt,!MR*< a|Lq3|'jM/0\o_oZ٫hl m1 {Z,Yߒ E|I7F l8]լt㺓l>>\?Ld   5dhpt  d 8   F GK\OTTXHXX X| YR (Ys8Y|9[|:j3FGHI4X Y(\P]^bscdefluv w x4yzHCgh2.96.0bp157.2.24.1The official CLI for GitHubOfficial CLI client for GitHub written in Gojb2armv9`SUSE Linux Enterprise 15openSUSEMIThttp://bugs.opensuse.orgUnspecifiedhttps://cli.github.com/linuxaarch64P, X)qYl  &B +o4J-#[{ 0{Ua+norz|Pc1%-7uah-'3]hBZ<I6W|8i,A2x%^m#7VEHIV``y _Y0<PPT_ ?"?A(1G >LyP{R*]A큤A큤jb2ljb2jFӰjb2jFӰjb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2ljb2l208af06abfad33563436c894602e67f542247e8e56f222bc8174456c9828d1cc20474882784215acbf79a66729083dad40173e7bfaa7939537bb48735f6bc3356da4adc42392c8485e40b4251c7e332fc3352df1947c9ffade71dd60b14a7a4f31f2aade71896ba01c55f5d2eb65e4d2f33ff25a624c8a8f4f50b01db54d40baa76379638e68d785b4c136f2a6c2ac29749bd9918044c70d45b27df780e4d4ff0a4a15db61caca6b7c46e3d18b29f5f5233bd346de25085b8b90a03bb72e4b20b2199715212ac29fdc7cbd85dcd3489e4db6f56f572e4ab61ce625fcdec4873eb8175b343de1e360b1a206cc002c5e533285f82aef48960c528df2ddcaa63f46be19bc43f8745e51f8dc4e3756aec00ed1227f378c2fb8089887eb0000057dfa2c22c85a1651c8d2a85ee1f22385053b23d2271056ee346562a389938cc31c39832853160b2c9a94afea0b362ddba58173aebb116d7ab3d026a3a2a2f3032a6fde23682733db5409f1ed2037921499b2d6c7fa047decadd3a24498d8bfb72bacbe4b52b3d24e625e23ee8760dd24e0ed0a1cd925142d81b9c880e4d2fe47999a05fa0f87152413bd889decc95ce88640c59317b09794a1c346b1f673b8a246e6753b200a9ad559ac94aab636853fb8a558b447f3ef6024e9b60b62de0dd88b14d0f969e8bf90d54b6f57060eb54c92bfe35f67068c0e24435af3e94d8ca5a3db3b2aa78ce3319febbc96a153cde32fbd0afac7d1b324ae23d661dc0564e80ed768ddad5b7f079efe7f75c37883ea65372243aff0bd29c7cc410b015f124bb0f77b00c8c69f7c6f36c8e136a9543e57ca26f70f0e3610ab02272d97fd6d4303f981148a60fa3c1d181c8b6db95bc9f768badd6f7eee67e6cbc158bb506a9ccb72a0467a5136ba58abe489e47959419b3117634ccd4e037e2eb5e1d1c70d5cbd12f1fd1c46b802567bbed8ed17cb805296200737cf6750c8ca47f4345145408277783ae744eaf9d1bc5e630f15a32d8652a8fa7fef038339a94ef580f5bee28b63e6ea2e58e8426d93642e4bbb8cfda44723a1799a12df3dae242869eab07713d971a86efe900da3ea0a8b102f800e91035c589378ca7ab53bac6ccf9e286bc1fee87675a4144b19840eb2fdaa517d389538fa0853314280ac42872c2c71ad6e2f4b27b36eb676dcd64865f36dbc30dc8b3f909faa71682dc820516d279fb0ae555a1967f0a0199c44ecdc993076351a615238539487b3c7e2c4e4a63f275df93ce633d8ef29c25edfdecdf9a15c03e5a89b09bd11d134387084f9479d13865eaecc88ba0da392a9f8c3629daacbc828cd12c1fdc750fa50147e3ea0eeed5789c817ee3cd0a50319013070b451220f1c74c66f79a1254a5c10771759e21ee5b252ae9ead864acfdcf14a39f6a76ab6475843a5eb459d06b25c40db2c040655d81a16de4e253909ba391f9efd2496e04e5283177696393683beedf52d025f79374f725665c92300e0103caad0cb796e2d7df49fc42ef33aeed1604389863b95499e97c590eb8e8d7bbc6074339d1e51e881c34d4e28c08b9f76d67a597913ee56fe79fe3e685dc49443ebbe98b5fab85cb0385680ed1c12c8946801040612ee92fc29097b01d26fc328e9016f34b9d9aef7df142e06eceddc26d8235286f47d740e008690828690aba9fb139a0956404da8ec2543a3900090ba96d34bb3f665e10bd99e58bc383195c8ff925d5a597030314b4f288eaba08c1c2cbb06866dbcd50c13d1560c6d5b813293f2255394e7a195afbe1556dae7f9a1329d8cd4136bfc160cfa63915f10ade9e63b8455fc7a091ae9c87648cced6eccfa63c31bc897f40628777905df81b9d10da96ba3940e3dc6ac629ccce022c337b31870bf71fbb5ab234dc7cc7d3a49861449cc6f113617d05a1346a4101b5d8c15197cc61a65a10ae6c14375f77de7f28c57d8d603566d950bce352482f7a2d26bb49b5fc407fb6e114e76aa512d1d0d74ea3b2937aa7764bec4bdc3b90e088d575d0c1c5c13c309411d4ecbbf1853ac77647040350f0b472db6872692c6b458f33c37703ef7f53ae95b60b53392a1aacffee8312fb07a9ac88df1a835c8162800e18c6c5e657696f0800cc515eb5965ac9f5b1ba8f59048d35247cf0f6636d9924baa302f251a1cd26e343335c8ccb6833791a7e2b828b87f977171fdec258e4f08e225eca8b125257c1fa24bc48b30185c61d6017aee529965bd5d7a7f977f26a6b63b02adc192da62ce96cd392b7080e46ac26a9011a4641db163129ef8f83a1a33dd5e521b2a5248ed96266dfa0e599375ed9542e3ea40fdf36dd6d6fde6b78d56bf7c15a45d7ba08ef5ca9d0b6e39f573f2c043b5d902cd62fb56ad1a1ec3c685127e67cd20e5e7ae3001feb4a5eedb4e4ff22cb3effce3c5bed159a073fcb63921641d7c94e3f11b31934a0180c159bcdff260d184825e7f869f42d5fea2b3bb99878b1421339aace75a318d8d88cf907478b2689df8bbaea0628b65abd3db1774bea7343de4dd29b6cb33d03769ad3cb47113fb937b7ef0a486255bcb19862f3d9bb8928d6491609d394be1f50ba665d363a5cd22ad0c2577248fd486012eb729ba625f5e563b7f7669133d279cbec166e0f11526a046b098b3adecba03e42a7284e146637ce75d2be74586855b2160e490c4abe57d4d546b03c3976407057a451a96d869353bf32886351dbd3f7a005e7579c1e243ebfdbf74b624af3bfc0690a4c0d8c9bf1a5ec8e92f6664a01bb62bd03463f03283368e2c6e955bf87aeed6b1cb3eda00121038396c9d4a9f58e3c2622b6b213f9f19db1bfd06e2b4e0b63b3e603fcbafd3560045183b3542ef72e4e289628391c2de2d82fb6a29d392c8a9721a3e4ce239d7a8dccf28e7533a3d14769cccc52c82d338555297792f32980eba85d8ab58d430c1c9722bcdc4821d8b327ce5cf37eb116140dba68002882adce29dc008b13ecaf69beb7f26f2ac248ac8c37f680bf74a31a41eff068256ca4c6410e10223838fcb0f30a8f6bd5c3346a1a9b7d7d898f58b154cdfb917ac13099d6f8be6af6b734e4cfac1dde94a3829f9d6f4f45183c36450be1d3773dcf8fefb39ee2539cbd96382f46091c8671bb43f23eb4a913b1e36636f62cdd36c6daef51d793426af73b67e5a899ab7bf29717cda3d849249407e7e1fa96f4ac3e99e4553e1c5dd1a9ef46388d8230964b8246c5727661511072d149a1e9a54074b9a7f24c4cbb10aa8f0e3a9adc7f0f9ecb35e6727e428fb61af4c144429a2e87a78d5a23333f388c28481e0fe6561b710a291725975e3b1c94f1dc86c2996f66d9d65c4b33dd8b4137f5059121bd2a7cfb948f25bde7870a258aeba5355b014822f93816de174625af2f16b76a03e6bf20827162d067e27b798859f5ce252109972c4487c0898dbc19a336c51318923133597b9d305773f645d2447a2d09aac0ed49ea6c873c5dc5ff4f172481a669f382581c8719134ac501249934f1f3d00e8effee4c061605f35322b1880c6ef501f517701cb7fa3cdc9e43ecbf4469fb8ba73847aa7a08e062b63d800fdb00a844e284d82ed2bdfc905cf9079c744d97f014020cf8e2c318e8d7c6c30dd4f011b06be9a2356dd641b24ec85939c82d14954c1a24c0d6f30916e2baa7b5b47414d0f552007ddb1c7b06b616de1f13776e3e04a6fa0f007edf2d3565e4857a6624db604218d5363caaff2bac387d7d136253ea7cae12c647359e217ff3dce9b2ca6228ab5f73be7cf77fe76f9c4f99ece4f1bfed04ade4daea0d18d59bec6bcf6a468e17ae3169642159825cafc32fa77e60b67944f227daa96b0e05769bb2d048d9322bacd398bbde60bb8a78e2d93d14130f7fbfc56ab6edd2e0fb596e3097d44b6477904352204c7f23a15db5372c39bd6f89fbcdbd1c1eb66b0ef05e017bd77494eb8936427705f8b3e3199cd843e4dc689ff0c87f9d29ae93472efe797cce0fe46e221e536f947af0976fbf76e86a41860b1f797942d483945abf62cbfe5f6568eb0c197b764663cedeafb8e86e996a5a6cb9a57021169a162d01fa64f2aafa5332dbdb1255dc9cbe55d70cb5fe65f7fb76be8d960fab19794934eb27bd7e2a38165ca3f307e0674365291cd72dbc98f0870f835baf7082274dfec92c4a322ff66778a0754b867885fcccd51b74f0a171cdd927e393925659e5199b0f49ba1ba13232fa305a5e11327602fcfeb2e7f7648af14bb2546203108491ae2a72960df401aeedae3a18b5372b873a4c21b1b241a919e10d58e53a841b542d0ed446739f0ca12313123c49125542d2590dfb2d01c9fbc998f89735c92f5411eb10c654fcf497ec8526f4ac0a4664e5da06150b9251b0710481254b07718af104d8f49515355de19a5034e72c054dce0405ed1ef960b9814f12ca64ebacb0e092a8d2bba64a73fa11f1d233a60be63f2860980de1e2a9c7daa948116f29b2bfc09acb3d8e57214b75f489e03a08bcfdc01013e7c046fbc0fb754170c7d3b575ae6eb3620a203fb0750757e41a7b04a5a9efa59427414f5b8e012f86e39f34d4595ef42ae9cce20630aee187f2d253f97515b177336478fa09f94d39b12705ec1c6fe276d98e60f51561f444245f5cf9545ebe351ea93d7f8383c45dbcb6a25ff902a3b89074290c40f42096a53a3547005eed0b354eb0e6b2e87ac6eae1e9211e00374ee679e22587f26b4dd1d22b1309e498e15e5976cf7bd6b51305743ca33489ab7de0e8dd3ae1c739d6f3c57db2134ee77ab446664ed0dc28f9a8ba59768a7ede845fb86c790c164e6ac95e4715e982fe145b095e75a81a928646fcf07609f8ef204eaebd5d74d0bafd56357fe10426f1304b2102dac4320a1cc89830002b09ae5bbac9abd2bb98f0704ecc636452dbe8779fc957e7e9c36f8bd37f9e54fc4a6f1f8f46c6550d2fd23601af61b0999cd33c886bd1daa1b268d36b71f7b4a46da38fb6f43470d9e97299c84936d0419054a88affa34910615ed35aff1111c37dfb8064c6dd69742da3f86aa5062b933583ffafe69dd68b34cc0117b73341665177ec6e78f402115c8f8b072b9e775259cfc05b7763f904a7e1cba4a748d60b3f2928861c5a19654dc2c608509a6ce3c3e7fe3edd6340b4e4e177f27c46fcf530b489c933ef438316bf597fd8c38a27a57a14fade09b82912e4f8bef0c950933ec7deb55f96f37c1252b476b61f2de7a72bf8688b5c1eb9c8fb5889779fbc8289ee74ee225aab8c3d73ae0eceec678868a4fa64636176cbc3c4955116422d613eb174857c45053ff0d961b9a4ae0af1113ffc792fde6179686eb77bac7e169deab504827aef210cfc567084547fc8d3874cea75123e45ba0eed7b67cc00ea965d1fdd5227ab305dca2daa6c271be6895afec16ed2c538fa392cee2b2acbfd5b564bf55295bbbf08f81119286b11176daaf809e3539bf8f2aef74c403fee486c767072d33e9ffbcaa593784fe12cbfed707958f66b4d351f051a112e88e03e5f0464f114e5aec038b5dbd062d5313b16c4fd6ab21d5d2c7c050c18f26dff81c645e931785567790ecaf68951cb53da772a47f91cf0402f466fd5ebcf4514ba078bf6acd16b1114756763479d33230f8dc3e8b059506ff51f8bdb715d551d98652d9677c86cf8dd7c61be9fb21ce539040be49b0ecf5a6ce73b0d15aece9c8a67e676a8f79f069335e6ffd32d3e1b688289a2f1bd0e8eed2a3a48155bda0689765ad4e5a8c37b46c8ba8a5b6ae5664c2d490ebec261923ed7b638c218ad909391494ada8c894ec5b61dfda5ea2e4587e6039fcd31986d2bd6d0deab587c0b4f8e331189da57fff8d3131f0f51b0131e3f6e159c7c78afb6794e4dc14141839bcbe10d4c97c7009ea2a88ac87a361ae2357c17ab545b6bf6513f0e241ac6aacea225bf4183e0abe35b69d4e7c3dbdf1ea0dec17121d48a0c8cb1748a31e2a6f50bd1cc502d463596573e13b995ff93cf5547cd7002b11880dd01370ca8550d8801d4af8153b304232416b332a20d7429bd239654977a2c844b1d2888c943ae9985d249c78770f9830747d8ee508bb22152e82e0ada60f19aeb4e48406b9ef1bc79cf07330ee368d38392dd9ef378f4ecd72d68142e6305e03b20a8297d6e8c7cb56ef9fd424d7ed58ab1fce828819af5c9d1398aa98e3ac1a7cbadaec17db31999ebe2a106206ac7c9e3827b3352496e722d6a8ba60b65a91d4cf6aca907e7caa8eba33db381fd66fd5ad38752bead4ae3402a6614acc45c34a029a973d753b58ef8767a5ebd30d95ef47e9ca411c9f58ffe44338537c93c438058c5ac740da5c90f75e538ca1291c508931d78f90ebae84d494c918e30ce41ebc19e14b3c6d46028eef921869b4fcceb32744b495e94757b40dfffbc4cba0bb59ffee1165775bc2576443fff037d7429f6e822869023bb31faf0212f7333928be7486c29a0075a184570f85b8f18bd3b0230251df6e64e97479bf968b878e0a5a065396e5a3746baa76c66a911b6b734807a26aa9b42702c33f4a175524205eed704eecbb5ad190f31703c7b89450bcce489935e6acf547c76a7b7f90eba351fce402223691e22efd90a557ef921582770d68eceb316e35f40cb3bd8e603bff7385a0659bbccedd4d25005a20071af668cc0cb22a9b614b4565cbce7cbcb986e7ff066f583e25ec2e70ae010e872c97d0354cbd7aea7e5bce318b72416bcf0fa0f617a2ef97c20c5ea277daca453a8ffec72aeaa6ca112762e8d6b6dcc6eed2b1ea236d3df2350fbb009b0808bc2b1df662322556b4384cc76080913b20509e180044aa74701ffda27c9153868a59a5631204206e3237c371da2613581c9ed92d723c13671125de98707a59d8a41ebfb63f850e0ec4f493a2dffc3c060d20cf3ce8fdb11ec3ab2085b5dcb9fde83a4144dfbd565e8d0df243b4632d180b4153d7fb657450baaa6e52f766b476d3b3613770c66f412db75f452e92500a318c2fb52000643fd57ee1bc903224e7bdd57ac16d1eb55a946489624b9ed22a86173ada536a30746ad8cd65531cbd78ffe2d388147640c00fc0edd7ffc8de59f3e1508c95f1140335595fa08bba137c3b5d023a62c1ecc1c9331aa8cd7f88690516d358c07b9e2b84c6eaac0377fa51b1fdd4a34174994a677ec557ed5a88c12eeb181d81859acfc5333cccc04f16873d309a7e930368ebce95cf5509745da9b12fff101d2cb75426b876ae318bc6bcbce6501074dc71dccdd6f1efbf1d642d47116d621e94df3a13934d0bb5e71da0444c2cf901003a2ffdf84c697710ee905f4ae3018816da7dfbdc42add446138e9f4212c8eb59375486fc8bf207dc4476ea34f3ea0691796e326f4293e175848dcd8c84b73c38a5f4ba27eeab1c832ed9a13d295a7f848b56cdcc574b02c1bf24bbc5961406d9043564cba52adee4285f185fd5725cfa891da0bef38b84a6db615e527323db2f9030b6c46118d082210290bb6b936105f0196f67b21c09b42bbc78dfc65191df38eed9d0c26f7b6f7eba3bc6faf79a50abcdd703b266d80cfd4cb9ff881d39cfd1f6757a145aa9d2a53620a9e84c3fc782651c17f82d817f5efe2eaa8fb50473b8ce9697edc876c258e1b3d2897f4a91b287132ff9d57cc9e5a3738a762ffa730a1db138562f3e7cd2e396c903f15de4e901ddf711fad7f4d9f34c5b692c8f2fc15cc63b35cdc75193df64a63a160d801cfba8dcd0d17a4a2b99c2ba41983f285a2b5272a1d91c2709e691463dc2f1ff3fa90be7ddeac7fc466e5a5c9e4ec3ed17445bb291203891f404d3152e98d9ea0167e49d2851803a59466a89044cf0db63eef3237049eda8a7c976e5113d8b24a6ddf645fc250a3dbf45c7457b913a1b98338c2eb4363f6203788fe47a65efd5d432410ce95b9e1dace4199c01d39aed37d8fc3e4ffbf1622bf7967a843b990a4a7da9fa63335496502c660102bf9e0b1b9c7e0b265e75cf096c22e6d2fb97b7c7bae72f743350a3ea8911e67cc4b65bfe32a29ee684f1513d6befa34f432fac6843d278177f02ee3d4dd4a7859e35605fef8e2fa1cd41b874a7436ed9c4d3449bfbf8f8f288c01684964b5aee2860e5dcd749847ac16c1d207ba4a28beec8b50398b13f13705601c7ff52d89fd6c83dad9fceccdbac211cc701af5263ab5cbdf7640ad753b336730f3485b78e398143ee3f7431a59c4596ea9f28e1f9ea710b846e587eb7721995f56e443a8da27c34cc9f8456fb59567cad372e12ce702c2dbaadcedb24fe20901124caf9fb5b2b2e24b9145c4c4ecc2b5b568993643664479ab786329d6bc1f660d4a4aaa050eaf1f6d8fc032e39b9debb3c831175a686dc3c40e3029a8d793eeafc53f7329fdbd7f7a36d5a8bfe1d12afe5451008eda02531717390479c140432b53224dfdb5c569132fe2a63e2ce73ec304a7fdf63820ee0f1f76083e73db50773c40069b0064a589ffdaa96895a40b8ab732ee364d90b225f06c29dcef93b1906891aa84125cd08183c38760b5f5875062a873653e3dbc4898b1e9d2bcb2661ee31adab69d81d9cb3ac206e55f063bea85e883a92460e76adf90f6cd65729d8316d94e01757fc7d43a4ef332b0b470c31ee8ad7a1a5b8303f8bbf2290703e41382d8ccd33344c7f21eadc4de4d6ee39ecaeedcd9d1b07c958bfa67bf7ca893f0e3e46341ee19e5cb6b8e12364007d8b05e14155c78efb5bf2cd5aab9813241858c2c2cdbbddb7f5d5e8e4d2afc638a329d7df437152d5b9503d759d55c17307195328755f218c94946b2985fee71c2634d8b70fba75758ff0c157572a4c84528217fe461a41d46d0dd33735061331ffb2c6987b964137089e51ef49bae459e2ae87297ad4b312b4e860825e13663747115dc56759c97abad6b56dc242e03eabe65b0f2a52cf6d48235401466a30783fb8ab0650897525285f6c7fdd69f1d11f57df66bc5824ce192bc2194d6b2d530381e7142a45030bd04496a924dec9c40eec16e908432a4b9343f15552fd2219a7cc20420896f2a1a1ad1a6114a24f1f7907d0010c9b0eb5aeabf6e93b7d5816c836b8f4f43213a1fc8c090cda29dce10a3d2473728d7ac80ba1b9e938a1ecd02ae29cff7dfbf94195ed1415b80353ce86a76812df1a35869ab59077a2ee76a4b5aa7ce57b56c2ee3e704da8e03682e51385f7487356f3614a1bd830fb4840aa9e17837771dbac5330d9c644637b3e1597fe02e99d579cfac4371341373b0810ff8b1bbff67da9cdacc7571a3f5027a4c5152a098ed76ec8f5936a36c878bcce0f62045467fd628d9594ae3aef84a85fb0ee0af1e0e1544460b2291c5cc7798e4930a068bbe50f493f1dbc0a05c11be448893a32e5aecddb7a6af76fbeb7d56c51d6a8ce5b7a1c4f3d4e3ea4ca5c4f73f32d17eb0ab0af7708cd460484b8b5f4f6916db57be3564ca29c261d347a3a442e90f84c4f0a47d8f1f2eccc94196fa757a6e28dad33c37ce08a734ee65cbf2d567f8a8830a00ec9b62719f763abfbc2f35aa5ab44ab2b19f039698fa42fd56e93f5c00effa4dfe6dcf6d0074ada4d12df93ce076b77deb9836fd53eaf36925884fffbfc84887166a11406e89974470f427e7287fd37e635b8ec241ae47bb8cc49dade6f2d44480e8ec0aec716bfb24562730621f29d5c675521a6d52f3bad24e9c9055d9116ae3c4c5c3e2b078fa4adff1b906276280550fa9c670b39a0860323b5aa70bb57f133bc9da6f127fc048e85f88fdee10b82ee6359e14dac77128692d93d67e6ae4528481d8c72f12aab264b1b54c265fa7c1980b452bdc42f6c14821776755aaaaf47f8a96cd5cb8da1b4ebb82e25aaa698107cd4c7eef1ca97b441d3377770bae8a1c4f4cf748e8a91d608340c46cc0b4e2a8f11c5a5345cabe218e87a729cc40bb3a0faaaf661ed2d14e520ca4d628951eb9bab449ea17f8e7b93eba83eda117526875842702933542d85f7621f580fd16b6cb72f41a3e743045e825b9754f922b71f30633b7bbffdeab5d9fc41938579e06f340f2cda1f8940a6455c802531cd7cea3d9938a45d6ea256fec46f9ae022e452e8f3ba8b35a9f35c3b0f982aeed9b51ce016fc7a2ea7700f1700e2769517604b071e63cc6960f563c52e0be187d06675976aa2954f0f9dccb4ab30a2863e943842f5c4a64d96352fece02d8a236c8cc1265e95b1d8eb35bf4a17a7c44061a84758048b57894c9c374f31754eb88258eb280170424fdb090b25b7c85df4d642401194082b9a2d87af7fba12a9802d7fba51d9aacc8eb32a6aa719cbac354acd67f5bf720f059bb239ad8f036615edb7e9e81a1c6ac7bb479ccdcfea524998ab1a8751aee70b0ce1ab88146f6469732548c787eb7531cd2d152f1b91887f07173253691a1acab70a9797f6535352feeb3fe3f588fccb69506c7e463797102ade9c64431b4c85879b3aaa546deed2252689fabfebb34f39c5233fa4ee75rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgh-2.96.0-bp157.2.24.1.src.rpmghgh(aarch-64)@@@@    git-corelibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.32)(64bit)libc.so.6(GLIBC_2.34)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3jZ@jN;j6j2@j.@i@iiiY@i@iiLir@ij(@i?@iivhh@h@hҋh@hP@h@h @h|@ho@hUM@hLh9h4Wh@h@gJ@gI@gw@g@g;g@giPgR@gM@g77g+@f5ff4ffff1fl0fXj@fBfPavel Dostál Martin Pluskal Pavel Dostál Pavel Dostál Pavel Dostál Jeff Kowalczyk Jeff Kowalczyk Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Jeff Kowalczyk Jeff Kowalczyk Jeff Kowalczyk Pavel Dostál Pavel Dostál Pavel Dostál Andreas Stieger Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál pdostal@suse.comPavel Dostál Andrea Manzini pdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.comAndreas Stieger pdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.comAndreas Stieger pdostal@suse.compdostal@suse.compdostal@suse.comAndreas Stieger pdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.comMartin Pluskal pdostal@suse.compdostal@suse.comMartin Pluskal Martin Pluskal Bernhard Wiedemann Dirk Müller pdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.comMartin Pluskal pdostal@suse.compdostal@suse.compdostal@suse.compdostal@suse.comPavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Pavel Dostál Emily Roberts chris@computersalat.dekastl@b1-systems.dechris@computersalat.dechris@computersalat.destimut@gmail.comrombert@apache.orgchris@computersalat.deEmily Roberts Emily Roberts Emily Roberts Emily Roberts Emily Roberts Emily Roberts Emily Roberts Martin Pluskal Christian Wittmer Mustafa Çalışkan Mustafa Çalışkan Mustafa Çalışkan Mustafa Çalışkan Mustafa Çalışkan Martin Pluskal Mustafa Çalışkan Dirk Müller chris@computersalat.deEmily Roberts Emily Roberts Martin Pluskal Emily Roberts Emily Roberts Emily Roberts nopeinomicon@posteo.netEmily Roberts Emily Roberts nopeinomicon@posteo.netEmily Roberts nopeinomicon@posteo.netEmily Roberts - Add gh-CVE-2026-39821-idna-punycode.patch: reject all-ASCII xn-- Punycode labels in the vendored golang.org/x/net/idna package regardless of Go's unicode.Version (bsc#1266618, CVE-2026-39821). Bumping the vendored x/net version alone does not fix this, as the upstream check is gated behind unicode.Version >= 16.0.0, which our Go toolchain does not yet report.- Update to version 2.96.0: * Critical security fix: patched vulnerability in gh codespace jupyter that could allow command execution when connecting to malicious Codespaces * Merge commit from fork * Fix concurrent map writes in codespace port forwarding (#13313) * docs: fix broken install command and link/grammar errors (#13690) * Clarify `--clone` boolean flag behaviour in `gh repo fork` help (#13786) * docs: fix duplicated word in primer README (#13677) * fix(skills): honor --dir without agent prompt (#13766) * Support antigravity-cli and antigravity2.0 in gh skill (#13784) * chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 * docs(search): reword raw qualifier examples * chore(deps): bump goreleaser/goreleaser-action from 7.2.2 to 7.2.3 * docs(search): simplify raw qualifier examples * docs(search): add examples for multiple qualifiers * chore(deps): bump actions/attest from 4.1.0 to 4.1.1 * chore(deps): bump actions/setup-go from 6.4.0 to 6.5.0 * fix(cmdutil): honor DisableAuthCheck under repo-override parents * feat(release): allow download without authentication * fix(release): don't let a failed draft lookup mask a found release * Fix flaky TestHuhPrompterMultiSelectWithSearchPersistence on slow architectures (#13675) * Detect additional third-party coding agents (#13722) * Add security disclosure guidance to AGENTS.md (#13720) * chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 * chore(deps): bump github.com/microsoft/dev-tunnels from 0.1.19 to 0.1.27 * ci: pin GitHub Actions to commit SHAs * chore(deps): bump github.com/google/go-containerregistry * Use int64 for GitHub database IDs (#13403) * docs: fix broken anchor link in release-process-deep-dive (#13688) * Cover all printSummary branches in a table test * fix(skills): install universal agent to ~/.agents/skills * fix: show checks summary when all checks were cancelled - The following bugs are no longer present in this release (may have been fixed in previous releases): bsc#1234566, bsc#1235345, bsc#1237669, bsc#1239496, bsc#1241837, bsc#1243930, bsc#1251464, bsc#1251666, bsc#1253929, bsc#1258617, bsc#1260271, bsc#1262339, bsc#1262943, bsc#1265405, bsc#1265777, bsc#1266173, bsc#1266618, bsc#1266975, bsc#1267158, bsc#1269427- Update to version 2.95.0: * feat(skills): list available skills when install runs non-interactively (#13548) * fix(skills): stage updates in a temp dir and swap in-place (#13449) * feat: add `repo read-file` and `repo read-dir` (#13580) * Bump Go in devcontainer * Make filtering by bot authors more discoverable (#13642) * chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0 * chore(deps): bump golang.org/x/term from 0.43.0 to 0.44.0 * chore(deps): bump charm.land/lipgloss/v2 from 2.0.3 to 2.0.4 * chore(deps): bump github.com/sigstore/sigstore-go from 1.1.4 to 1.2.1 * chore(deps): bump golang.org/x/text from 0.37.0 to 0.38.0 * test(skill): fix test case name * test(skill): merge isolated test into table * Potential fix for pull request finding * docs(discussion): polish help docs * chore(deps): bump github/codeql-action from 4.36.1 to 4.36.2 * fix test * support custom CLAUDE_CONFIG_DIR in install- Update to version 2.94.0: * Add gh discussion and Issues 2.0 reference to the `gh` skill, plus a README note (#13631) * fix(discussion comment): fix bug in requiring body/body-file in add/edit mode * chore(discussion/client): rename client files * test(acceptance): fix discussion comment acceptance tests * fix(discussion/shared): error on out-of-range discussion number in URL * fix(discussion view): print only requested items in non-tty output * docs(discussion list): clarify answered examples refer to Q&A discussions * fix(discussion view): show comments and replies in chronological order * refactor(discussion list): simplify no-results message and use success icon helper * fix(discussion view): use color scheme method for success icon * fix(discussion view): error when --comments is used with a comment argument * test(acceptance): use positional comment argument in discussion view test * refactor(discussion/client): take host instead of repo in GetComment * refactor(discussion view): replace --replies flag with positional comment argument * chore: fix formatting * test(acceptance): cover discussion comment URLs in comment and view tests * feat(discussion): support comment URLs in --replies and comment command * test(discussion comment): add non-tty delete flag validation test case * test(acceptance): add discussion comment acceptance test * refactor(acceptance): use discussion comment command instead of raw API calls * feat(discussion): add discussion comment command * feat(discussion/client): add comment manipulation methods * chore: apply formatting * chore(discussion): remove unused HttpClient field from create and edit * fix(discussion): remove redundant error wrapping on ListCategories * test(discussion list): rename TestNewCmdList2 to TestNewCmdList * Add terminal-mockup canvas extension for marketing screenshots (#13612) * fix(discussion): add missing repo flag override * test(discussion list): consolidate tests into table-driven format * docs(acceptance): add new jq2env and jq-assert functions * test(discussion): add acceptance tests for discussion commands * fix(discussion list): print "answered" instead of checkmark in non-tty mode * refactor(discussion/client): precheck discussions enabled via getRepositoryMeta * refactor(discussion): add Cursor field and ExportData to DiscussionListResult * feat(extension): alias `uninstall` to `remove` * chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 * chore(deps): bump github/codeql-action from 4.36.0 to 4.36.1 * chore(deps): bump charm.land/bubbletea/v2 from 2.0.6 to 2.0.7 * docs(discussion view): improve long help text for clarity * fix(discussion): handle partial failure on create/update label mutations * Clean up deferred issue update helper (#13584) * Auto-install official extension stubs in CI (#13581) * chore(discussion/client): fix formatting * docs(discussion/client): add godoc to exported consts * refactor(discussion list): make pager call/error consistent with view command * refactor(discussion): extract command-level consts for enums * fix(discussion): various polish and small fixes * Merge pull request #13057 from cli/kw/issues-2.0 * Bump Go to 1.26.4 * chore(deps): bump github.com/mattn/go-colorable from 0.1.14 to 0.1.15 * address review comments * feat(discussion edit): add discussion edit command * feat(discussion create): add discussion create command * feat(discussion view): add discussion view command * feat(discussion list): add discussion list command * feat(discussion/shared): add shared utilities for discussion commands * feat(discussion/client): add discussion client package * Use github-copilot agent ID in skill list tests and help text * Rename hosts field and helpers to agentHosts in skill list * Stat SKILL.md before reading in skill list * Sanitize terminal control characters in skill list output * chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.9 to 2.13.10 * address copilot comments, clarify text * address copilot comments * handle skills in skills/ folder when running list command, by marking them as published * address bagtoad's feedback * add --all flag to install all skills in a repo * fix warning message to make it clear * skip prompting for skills without metadata when running gh skill update --all * add logic to preview too * fix discovery support in nested dirs * fix test * fix tests * fix linting * add skill list command- Update to version 2.93.0: * test(attestation): align integration tests with new external HTTP client * fix: use separate http client for non-github hosts * docs: note immutable releases starting v2.93.0 * bump golang.org/x/net * Link to Accessibility category for community discussions instead of ACR (#13481) * Allow agents as application for secrets (#13421) * SHA pin first-party GitHub Actions * chore(deps): bump github/codeql-action from 4 to 4.35.5 * Add 3 day dependabot cooldown period * chore(deps): bump github.com/google/go-containerregistry * Run govulncheck daily instead of weekly * Merge pull request #13486 from cli/tommy/update-x-crypto * Potential fix for pull request finding * Potential fix for pull request finding * Stop bumping homebrew on release * chore(deps): bump goreleaser/goreleaser-action from 7.2.1 to 7.2.2 (#13461) * Remove discussion workflow * Remove dependency on persistent token * Remove third-party license debris * chore(deps): bump github.com/theupdateframework/go-tuf/v2 * docs: drop --repo gh-cli from dnf install lines * Assert digest prefix in release verify no-attestation tests * chore(deps): bump google.golang.org/grpc from 1.81.0 to 1.81.1 * Derive digest algorithm from ref length in release verify commands * docs: fix duplicated "of" in release-process-deep-dive * chore(deps): bump golang.org/x/crypto from 0.50.0 to 0.51.0 * Simplify bump-go.sh toolchain logic * Remove unnecessary null checks in jq output handling * Rewrite script to use go mod edit instead of grep/sed * Address code review comments * Improve version comparison to handle both X.Y.0 and X.Y.Z formats * Update bump-go.sh to handle missing toolchain directive * Initial plan * Update CODEOWNERS for skills directory ownership * chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 * chore(deps): bump google.golang.org/grpc from 1.80.0 to 1.81.0 * chore(deps): bump golang.org/x/term from 0.42.0 to 0.43.0 * fix(copilot): update test assertion to match updated error message * fix(copilot): provide full path to copilot binary on exec error * fix(copilot): hint to run copilot directly when exec fails * fix(telemetry): use CREATE_NO_WINDOW to prevent tzutil console flash on Windows * Fix triage-pull-requests skipping PRs that open as draft * chore(deps): bump golang.org/x/sys from 0.43.0 to 0.44.0 * Bump Go toolchain to 1.26.3 * Fix skills acceptance tests * Add explicit build tags to platform-specific echo test files * Address review feedback on echo mode polling * Poll TTY echo mode instead of sleeping in password tests * Record accessibility state in telemetry * Bump copilot telemetry sampling to 100% * chore(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6 * Remove numberFieldOnly API shortcut * Grammar fixes * Switch from actions/attest-build-provenance to actions/attest * Enable extended PR screening for external PRs * Fix flaky Password test by increasing echo mode setup timeout * Add missing //go:build integration tag to verify_integration_test.go * chore(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.2.1 * Apply patch from code review feedback. * Print `gh auth refresh` for 401 returns * Update installation commands for GitHub CLI - Drop fix-accessible-prompter-test-timeout.patch and add-missing-go-build-integration-tag.patch: both fixes are now part of this release (upstream PRs 13304 and 13303)- add-missing-go-build-integration-tag.patch Add missing //go:build integration tag to verify_integration_test.go#13303 - fix-accessible-prompter-test-timeout.patch Fix flaky accessible prompter Password test timeout#13304 - Update to version 2.92.0: * Bump Go to 1.26.2 * chore(deps): bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 * Update command.go * Add "Resource not accessible" to ProjectsV2IgnorableError * chore: fix zsh completion on debian * install_linux: correct typo in Homebrew copy * chore(deps): bump charm.land/bubbletea/v2 from 2.0.2 to 2.0.6 * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.8 to 2.13.9 * Update acceptance/testdata/workflow/run-view-log-escape-sequences.txtar * Fix log terminal injection * fix(skills): include --allow-hidden-dirs in preview hint from install * Install skills flat by Name, not namespaced InstallName * feat(skills): add --allow-hidden-dirs flag to preview command * feat(skills): support GHEC with data residency hosts * Fix SetSampleRate not updating sample_rate dimension * fix: yaml.github-actions.security.run-shell-injection.run-shell-injection security vulnerability * Enable telemetry without env var * test(telemetry): assert ANSI escape chars for color codes * fix(telemetry): lower bias in sample bucket calc * feat(skills): detect re-published skills and offer upstream install * Log when there is no telemetry * Add telemetry command * Record official extension telemetry * fix(skills): prioritize DisplayName/Name over InstallName match * fix(skills): match skills by install name in preview command * use the right json field names for skills * fix totalCount guidance * docs(skills): note --template collisions and single-string search * backtick skill filename * docs(skills): drop hand-copied naming rules from gh-skill * use hyphen instead * docs(skills): add gh and gh-skill agent skills * feat(skills): support nested skills/ directories in discovery * fix(skills): make --fix and --dry-run mutually exclusive, suppress publish prompt * fix(skills): use canonical 'gh skill' not 'gh skills' alias * fix(skills): stop publish --fix from publishing * Include CI context in telemetry * refactor: decouple hidden-dir filtering from discovery layer * Add support for installation in multiple agent hosts in `gh skills install` (#13209) * Add skills specific telemetry * chore(deps): bump github.com/google/go-containerregistry * Do not send telemetry for aliases * Apply review feedback * Disable telemetry for GHES * remove misleading text * Add sampled command telemetry * Update publish_test.go * refactor: replace real git with run.CommandStubber in publish tests * fix: apply review feedback — nil HttpClient, local dedup type * Remove dispatch after install, install only * Rename official extension files and types to stubs * Replace em-dashes with regular dashes * Address PR review feedback * Add no em dash rule to AGENTS.md * Suggest and install official extensions via stub commands * Add @cli/code-reviewers to all CODEOWNERS rules * Add cli/skill-reviewers as CODEOWNERS for skills packages * style: fix gofmt alignment in publish tests * fix: update acceptance test to match current error message * fix: address post-merge review feedback for skills commands * refactor: remove redundant nil-client fallback in skills publish (#13168) * feat(skills): auto-push unpushed commits before publish * refactor: use shared discovery logic in publish command * fix(skill publish): remove misleading `validate` alias * docs(skill): improve help docs * fix skills names in examples * Disable auth check for `gh extension install` * Suggest and install official extensions for unknown commands * Update acceptance/testdata/skills/skills-search-noresults.txtar * URL-encode parentPath in skills discovery API call * Disable auth check for local-only skill flags * fix: address review feedback on namespace changes * chore: remove unused newTestGitClient function * fix: preserve namespace in skills search deduplication * fix: use target directory remotes in skills publish * fix: enforce size cap on first preview file, surface corrupted skills, fail on path traversal * fix: align relevanceScore comments with implementation and fix typo * chore(deps): bump charm.land/lipgloss/v2 from 2.0.2 to 2.0.3 * chore(deps): bump github.com/mattn/go-isatty from 0.0.20 to 0.0.21 * address review comments * clean up interface and fix a few bugs * cleanup frontmatter fields * add .agents/skills as default installation path for hosts that support it: cursor, codex, gemini CLI, github copilot, antigravity. * show loading spinner during installation, even for multi-file skills * use markdown renderer in preview when previewing multi-file skills * Expand test coverage and fix invariants/bugs * add core logic and improve test coverage * improve test coverage/cleanup * register initial skills commands * add skills command scaffold * docs: fix SHA512 checksum for GPG key * chore(deps): bump github.com/hashicorp/go-version from 1.8.0 to 1.9.0 * chore(deps): bump google.golang.org/grpc from 1.79.3 to 1.80.0 * chore(deps): bump github.com/sigstore/timestamp-authority/v2 * docs: add sha/md5 checksums of keyring files * chore(deps): bump github.com/google/go-containerregistry * chore(deps): bump github.com/sigstore/protobuf-specs from 0.5.0 to 0.5.1 * chore: delete experimental script/debian-devel * chore(deps): bump charm.land/bubbles/v2 from 2.0.0 to 2.1.0 * Document dependency CVE policy in SECURITY.md * docs: add manual PGP key verification commands * chore: re-add toolchain to go1.26.2 * docs: polish wording around PGP keys * docs: include PGP key fingerprints * Fix infinite loop in 'gh release list --limit 0' * chore(deps): bump github.com/in-toto/attestation from 1.1.2 to 1.2.0 * chore(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.5 * test(internal/authflow): assert user-agent header is not modified/added * replace github.com/golang/snappy with klauspost/compress/snappy * docs: require tests and linter pass before committing * fix(auth): preserve User-Agent in authflow getViewer * fix(api): propagate InvokingAgent in gh api HTTP client * chore(deps): bump github.com/yuin/goldmark from 1.7.16 to 1.8.2 * chore(deps): bump advanced-security/filter-sarif from 1.0.1 to 1.1- Update to version 2.89.0: * Ensure huh prompter cleans up * fix(huh prompter): remove unused fields and imports * go mod tidy * feat(huh prompter): clear search input after submitting query * refactor(huh prompter): custom Field for MultiSelectWithSearch * feat(huh prompter): add placeholder to search input * fix(huh prompter): use synchronized accessors to eliminate data race * fix(accessible prompter): update test expectations for huh v2 * refactor(huh prompter): pipe-based test harness with full coverage * test(huh prompter): add table-driven tests for all prompt types * Upgrade to huh/v2 and fix selection persistence in MultiSelectWithSearch * Fix gofmt alignment for prompter-enabled fields in IOStreams * Use LayoutStack for huhPrompter MultiSelectWithSearch * Add experimental huh-only prompter gated by GH_EXPERIMENTAL_PROMPTER * Add nameWithOwner to necessary tests * fix(pr view): fetch nameWithOwner in headRepository GraphQL query * test(acceptance): remove run-download-traversal test * fix(acceptance): set git identity in testscript sandbox * internal/codespaces/portforwarder: define err in go func instead of use err defined in outer scope * chore(deps): bump github.com/zalando/go-keyring from 0.2.6 to 0.2.8 * Update docs/triage.md * Update docs/triage.md * Align triage.md with unified triage process * Fix typo: remove extra space in README.md link * fix(survey): use useReviewerSearch consistently in prompt path * fix(pr create): wire up @copilot assignee replacement and [bot] suffix * refactor(survey): simplify ApiActorsSupported in RepoMetadataInput * docs(featuredetection): document GHES removal criteria for ApiActorsSupported * refactor(featuredetection): rename ActorIsAssignable to ApiActorsSupported * refactor(pr shared): consolidate ActorAssignees and ActorReviewers into ApiActorsSupported * refactor(pr shared): extract SpecialAssigneeReplacer for @me and Copilot expansion * chore(deps): bump github.com/google/go-containerregistry * Record agentic invocations in User-Agent header * Address review: table tests, godocs, code style * Add AGENTS.md optimized for AI agent token efficiency * docs: simplify flag text * docs(pr edit): improve command examples with grouped sections * docs: clarify that --add-reviewer can re-request reviews * feat(pr create, issue create): search-based assignee selection in MetadataSurvey * review: address code review feedback * refactor(issue edit): wire up search-based assignee selection * refactor(pr edit): remove actor accumulation hack from assignee search * refactor(pr edit, issue edit): use login-based assignee mutation for flag flows * fix(pr create): use login-based assignee mutation on github.com * chore(deps): bump microsoft/setup-msbuild from 2.0.0 to 3.0.0 * chore(deps): bump mislav/bump-homebrew-formula-action from 3.6 to 4.1 * Remove auto-labels from issue templates * fix(agent-task): resolve Copilot API URL dynamically (#12956) * chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 * chore(deps): bump azure/login from 2.3.0 to 3.0.0 * fix: improve docs around IssueRepoInfo * test(issue transfer): update stub for IssueRepositoryInfo query * fix(issue transfer): use IssueRepoInfo to fetch minimal fields for issues * test(issue create): update stubs for IssueRepositoryInfo query * fix(issue create): use IssueRepoInfo to avoid requiring Contents:Read permission * test(api): add tests for GitHubRepo and IssueRepoInfo * refactor(api): add IssueRepoInfo for minimal issue repo queries - Packaging improvements: * Drop lower-go-version.patch since go1.26.1 is now available. Patches to go.mod are brittle with fuzz=0 as adjacent lines containing dependency versions will change frequently. * Tests: skip two upstream tests TestPendingOperationDisallowsSSH and TestSelectSSHKeys which currently fail in the limited rpmbuild environment. These could probably be addressed with additional BuildRequires to provide a more complete system analog.- Update to version 2.88.1: * Revert "fix: clarify scope error while creating issues for projects" * Revert "refactor: deduplicate scope error handling between api/client.go and project queries" * Switch deployment signing to OIDC authentication- Lower the golang build dependency from >= 1.26.1 to >= 1.26 * lower-go-version.patch - Update to version 2.88.0: * fix: add if guard to no-response job to prevent running on workflow_dispatch * Add pitch surfacing workflow (monthly + manual dispatch) * fix: address review feedback on squash merge commit message * fix: gofmt alignment in test struct literals * feat(repo): add --squash-merge-commit-message flag to gh repo edit * chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 * refactor: change extractFileName param from []byte to string * Update Go version requirement to 1.26+ * Bump golangci-lint from v2.6.0 to v2.11.0 for Go 1.26 support * Bump Go from 1.25.7 to 1.26.1 to fix stdlib vulnerabilities * Address review comments: use actorDisplayName for Copilot author display * Show friendly display names in gh issue view * Add generic actorDisplayName for all actor display names * Show friendly Copilot (AI) name in gh pr view * fix: align example indentation with codebase convention * fix: address review feedback for --exclude flag * fix: share diffHeaderRegexp between changedFilesNames and extractFileName, fix gofmt * feat(pr diff): add --exclude flag to filter files from diff output * Fetch org teams via repository.owner inline fragment * chore(deps): bump google.golang.org/grpc from 1.79.1 to 1.79.2 * Exclude PR author from reviewer candidates in SuggestedReviewerActors * Fix duplicate reviewers in gh pr edit by passing logins as defaults * Exclude current user from suggested reviewers in gh pr create * Replace @copilot with Copilot reviewer login in gh pr create * Add TODO requestReviewsByLoginCleanup on GHES ID-based reviewer path * Remove /slug team reviewer shorthand normalization * Add TODO requestReviewsByLoginCleanup on static reviewer MultiSelect * Check state.ActorReviewers in MetadataSurvey reviewer search gate * Label Copilot detection in SuggestedReviewerActorsForRepo as a hack * Add TODO requestReviewsByLoginCleanup in CreatePullRequest * refactor: deduplicate scope error handling between api/client.go and project queries * Fix extension install error message showing raw struct instead of owner/repo (#12836) * chore(deps): bump github.com/docker/cli * Remove StateReason feature detection for issue close * Remove unnecessary StateReasonDuplicate feature detection * docs: add examples to gh issue close help text (#12830) * Fix incorrect integer conversion from int to uint16 in port forwarder (#12831) * Combine issue feature detection into a single GraphQL query * feat(browse): add blame flag * Reword `--no-upstream` help doc * test(issue list): cover additional PR search qualifier variants * fix(issue list): reject pull request-only search qualifiers * chore(deps): bump goreleaser/goreleaser-action from 6.4.0 to 7.0.0 * chore(deps): bump github.com/gabriel-vasile/mimetype * chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 * chore(deps): bump actions/attest-build-provenance from 3.2.0 to 4.1.0 * chore(deps): bump actions/download-artifact from 7 to 8 * chore(deps): bump actions/upload-artifact from 6 to 7 * Set COPILOT_GH env var when launching Copilot CLI * Simplify progress indicators in issue develop * Emit null for zero createdAt/updatedAt values * Address Copilot review feedback * Polish --json support for agent-task view * Polish --json support for agent-task list * Fix gofmt alignment in view_test.go * feat(pr): add changeType field to files JSON output * Add --duplicate-of flag and duplicate reason to gh issue close * Add --json support to `gh agent-task view` * Add --json support to `gh agent-task list` * fix(project/item-edit): preserve title/body when editing draft issue with partial flags * Add databaseId to assignees GraphQL fragment * fix(licenses): implement VCS-friendly embedding * chore(gitignore): ignore generated license files * Use pre-compiled regexp for matching Content-Type * chore(script/licenses): fix indentation * fix(script/licenses): generate licenses in separate dirs * Fix invalid ANSI SGR escape code in JSON and diff colorization * Add --no-upstream flag to gh repo clone * Clarify ReviewerCandidate relationship to AssignableActor * Move PR review queries from queries_pr.go to queries_pr_review.go * Use org/slug format in test fixtures and remove /slug normalization * Normalize /slug team shorthand to org/slug and fix docs * Include bot logins in login-based reviewer mutation guard * Skip reviewer metadata fetch when using search-based selection * Update test assertions to expect org/slug team format * Wire bot reviewer logins through CreatePullRequest * Partition bot reviewers separately for RequestReviewsByLogin * Preserve org/slug format for team reviewer slugs * Apply suggestion from @BagToad * Remove redundant comment * Don't swallow error from FD * Remove redundant comments * Fix issue develop repeated invocation with named branches * Fix redundant API call in gh issue view --comments (#12606) * Add toGitHubV4Strings helper to reduce code duplication * Address PR review comments * gh pr create: CCR and multiselectwithsearch * trigger rerun * test: TestGenerateScopeErrorForGQL and TestRequiredScopesFromServerMessage * fix: clarify scope error while creating issues for projects * fix: error when --remote flag used with repo argument * build: customizable install `prefix`- Update to version 2.87.3: * Fix project mutation query variable usage- Update to version 2.87.2: * chore(deps): bump golang.org/x/crypto from 0.47.0 to 0.48.0 * fix(agent-task/capi): fix capi API version * Remove debris licenses- Update to version 2.87.0: * Bundle licenses at release time (#12625) * Rename query for clarity * Remove pointer comments * Simplify error message * Remove DTO concept * Add `--query` flag to `project item-list` (#12696) * Clarify --clobber flag deletes assets before re-uploading * Add usage examples to gh gist edit command * Remove feedback issue template * Migrate PR triage workflows to shared workflows * Rename triage workflow to triage-discussion-label * Pass environment as input to shared triage workflow * Add missing environment and label check to triage workflow * Initial plan * fix(workflow run): bail out on feature detection error * refactor(featuredetection): remove temp in favour of early returns * docs(workflow run): improve help docs * docs(workflow run): add cleanup marker with explanation on future changes * fix(workflow run): apply `url.PathEscape` when compiling URL * refactor(workflow run): remove temp `out` * Add missing TODO comments for featuredetection if-statements * docs(featuredetection): fix typo in comment * test(featuredetection): fix test case name * test(workflow run): verify retrieval of workflow run details * feat(workflow run): retrieve workflow run if supported by the API * test(featuredetection): add tests for `ActionsFeatures` * fix(featuredetection): add `ActionsFeatures` to detect workflow dispatch features * pin REST API version to 2022-11-28 * Migrate stale workflow to shared workflow * Respect --exit-status with --log and --log-failed * document fork default branch behavior * Migrate issue triage workflows to shared workflows * fork default branch only in pr create * update third party licenses * chore(deps): bump golang.org/x/crypto from 0.46.0 to 0.47.0 * Add manual dispatch to bump-go workflow * bump go to 1.25.7 * update third party licenses * chore(deps): bump golang.org/x/term from 0.38.0 to 0.39.0 * update third party licenses * chore(deps): bump golang.org/x/text from 0.32.0 to 0.33.0 * Add toGitHubV4Strings helper to reduce code duplication * Address PR review comments * update third party licenses * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.4 to 2.13.7 * Update third party licenses * chore(deps): bump github.com/theupdateframework/go-tuf/v2 * Update third-party licenses * Clarify comment on reviewer API behavior * Clarify assignee/reviewer fetching behavior * Clarify EditableReviewers comment * Clarify Copilot assignee comment * Use unfiltered totalCount for reviewer 'more results' display * Include name in reviewer display for existing review requests * update Go 1.25.6 * Implement cascading quota for reviewer suggestions * fix(pr edit): send empty slices to clear reviewers in replace mode * Fix return proper slug only for ReviewerTeam * Remove redundant comment * chore: update licenses * chore: bump `cli/oauth` to `v1.2.2` * Add CCR and reviewer MultiSelectWithSearch * chore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0 * Remove outdated comment in SuggestedAssignableActors * Apply suggestions from code review * Remove outdated TODO comments in survey.go * Remove redundant comment in editRun test * Return total assignee count in SuggestedAssignableActors * Add test for MultiSelectWithSearch error propagation * Add test for legacy assignee flow on GHES * Remove unused Viewer struct from SuggestedAssignableActors * Add comments to assigneeSearchFunc for clarity * Simplify variables map in SuggestedAssignableActors * Simplify suggested assignable actors * Fix linter and mock prompter signature * Apply suggestions from code review * Apply suggestions from code review * Clarify TODO comment for reviewer search function * Only support assignee searchfunc on GitHub.com * Update edit tests * Refactor MultiSelectWithSearch to use result struct * Add comment describing logger * Pass editable to assigneeSearchFunc and update metadata * Add dynamic assignee search to PR edit flow * MultiSelectWithSearch initial implementation * prshared: named prompt interface parameters * typo: dont to don't * chore(deps): bump goreleaser/goreleaser-action from 6.0.0 to 6.4.0 * chore: update licenses * chore(deps): bump github.com/sigstore/rekor from 1.4.3 to 1.5.0 * chore(deps): bump github.com/theupdateframework/go-tuf/v2 * chore: update licenses * chore(deps): bump github.com/sigstore/sigstore from 1.10.0 to 1.10.4 * docs: lint source.md * fix(pr/shared): improve `ParseFullReference` error message * Fix fmt.Errorf format argument in ParseFullReference * chore(deps): bump actions/upload-artifact from 5 to 6 * chore(deps): bump actions/download-artifact from 6 to 7- Update to version 2.86.0: * refactor: address review comments * Update contributing guidelines for clarity * test(copilot): fix windows asset URL * fix(cache delete): add unit tests and expand help doc * feat(cache delete): allow for delete all caches for a ref * Fix OS name in test archive filename to 'win32' * fix(copilot): replace `windows` with `win32` to match asset names * fix(root): avoid command name collision when registering extensions * chore(root): register `copilot` command * feat: add `copilot` command * refactor(run download): extract zip extraction func into a separate package * fix: error when head and base refs are identical in pr create- Update to version 2.85.0: * fix: simplify set-default remote parsing * Handle repo argument before remote name * chore: update licenses * chore(deps): bump github.com/yuin/goldmark from 1.7.13 to 1.7.16 * chore: update licenses using `go-licenses@v2` * chore: install `go-licenses@v2` in scripts * Update go-licenses for 1.25 * chore: update licenses * chore: bump `github.com/sigstore/sigstore-go` to `v1.1.4` * chore: remove redundant comment * ci: enable noop linters * Add shell specification for temporary tag creation * ci: shorten `run` block * ci: improve step name * ci: tag per build job * Update Azure Code Signing endpoint URL * Update Azure Code Signing client to 1.0.95 * Update actions/checkout to v6 in extension workflow templates * feat: allow git remote names in gh repo set-default * Add test to ensure null values are skipped * ci: disable create storage record for artifacts * chore(deps): bump actions/attest-build-provenance from 3.0.0 to 3.1.0 * chore: run `go mod tidy` * chore: update licenses * chore: upgrade `github.com/cli/oauth` to `v1.2.1` * fix: prevent panic when processing null project items * ci: fix binary artficat dirs used in macos job * ci: fix binary artifact dir paths used in Windows job * ci: upgrade to GoReleaser v2 CLI syntax for `--skip` * ci: limit deb/rpm packages to `linux` build * ci: replace `archives.format` with `archives.formats` array * ci: remove redundant `archives.rlcp` * ci: replace `archives.builds` with `archives.ids` * ci: quote 386 arch * ci: upgrade `.goreleaser.yml` to v2 * ci: upgrade to GoReleaser v2 * chore: update licenses * chore(deps): bump golang.org/x/crypto from 0.45.0 to 0.46.0 * chore: update licenses * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.2 to 2.13.4 * chore(deps): bump golangci/golangci-lint-action from 9.1.0 to 9.2.0 * chore: update licenses * chore: update licenses * chore(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 * chore: update licenses * chore(deps): bump golang.org/x/term from 0.37.0 to 0.38.0 * chore: update licenses * chore(deps): bump golang.org/x/text from 0.31.0 to 0.32.0 * chore: update licenses * chore(deps): bump golang.org/x/sync from 0.18.0 to 0.19.0 * Fix Debian CLI package link in installation guide * Add tests of browse --actions * Add gh browse --actions flag * chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.1 to 2.13.2- Update to version 2.83.2: * Update licences * Bump dev-tunnels SDK 0.1.13 to 0.1.19 * Bump Go to 1.25.5 * Update licenses for go-containerregistry-0.20.7 bump * chore(deps): bump github.com/google/go-containerregistry * Update licenses for go-version-1.8.0 bump * chore(deps): bump github.com/hashicorp/go-version from 1.7.0 to 1.8.0 * Update licenses for tcell-2.13.1 bump * chore(deps): bump github.com/gdamore/tcell/v2 from 2.9.0 to 2.13.1 * chore: make licenses * refactor: drop multierror in favor of std * Bump Go to 1.25.4 * Update licenses for huh 0.8.0 bump * Fix accessible prompter tests with huh 0.8.0 upgrade * chore(deps): bump github.com/charmbracelet/huh from 0.7.0 to 0.8.0 * Update licenses with grpc-1.76.0 bump * chore(deps): bump google.golang.org/grpc from 1.75.0 to 1.76.0 * Update licenses for mimetype 1.4.11 bump * chore(deps): bump github.com/gabriel-vasile/mimetype * chore(deps): bump github.com/theupdateframework/go-tuf/v2 * chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.1.0 * Update licenses for protobuf 1.36.10 bump * chore(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 * Error if go-licenses is not on the PATH * chore(deps): bump actions/checkout from 5 to 6 * Update licenses for crypto-0.45.0 bump * chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 * Alphabetize Ubuntu section * Add Debian/Ubuntu to unofficial packages * Add PGP key rotation PoC (#12176) * refactor(pkg/search): rename `KeywordsVerbatim` to `ImmutableKeywords` * refactor(pkg/search): rewrite returns in a more verbose way * fix(pr/shared): delegate query compilation to `search` package * test(pkg/search): assert verbatim keywords are respected * fix(pkg/search): add `KeywordsVerbatim` field to `Query` type * Remove extra flag default from help usage * Refactor cfg out of CAPI Client- Update to version 2.83.1: * chore(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.0.0 * Check user and teams nil state instead of length * Update third-party licenses and dependencies * Ensure empty arrays for reviewers in PR API calls * Update .github/workflows/lint.yml * Annotate go-licenses install with version tag * Integrate license checks back into lint workflow- Bump go from 1.24 to 1.25 - Update to version 2.83.0: * chore(deps): bump github.com/cli/go-gh/v2 from 2.12.2 to 2.13.0 * Apply suggestions from code review * Add note on govulncheck source mode for Go 1.25 * docs(pkg/search): fix typo * docs(repo garden): improve func godoc * fix: ignore `nilerr` on intentionally swallowed error * fix: resolve `nilerr` issues * fix: resolve `copyloopvar` issues * fix: resolve `gocritic` issue * test(pkg/httpmock): ignore `bodyclose` on mock response value * refactor(repo garden): return pagination link instead of resp * fix: close resp body (bodyclose) * refactor: remove returned resp from `api.EndpointNeedsScopes` * refactor(pkg/search): remove passing resp for pagination * ci: enable basic linters * Update lint govulncheck to use source mode * chore: add `workflow_dispatch` to govulncheck triggers * Add example for --custom-agent usage * Update error messages in job creation tests * Update pkg/cmd/agent-task/capi/job.go * Add shorthand flag for custom-agent option * Fix: do not swallow job creation error * Clarify custom agent flag description * Add custom agent support to job creation * docs(release list): fix typo * docs(release list): reword comment * feat(release list): add `isImmutable` JSON field * fix(featuredetection): add `ReleaseFeatures` method * docs(api): add example for `--input` option * docs(api): mention use of `@` and `@-` for `--field` * docs: update go version 1.25 * refactor: replace backport with `strings.CutSuffix` * chore: exclude `third-party` from Golangci-lint formatting paths * chore: bump Go in devcontainer * chore: apply `go fix` to remove deprecated `// +build` tags * fix: --interval flags docs in gh pr checks * test(gist/edit): add tests for single file edit and interactive multi-file selection * Update Go toolchain version to 1.24.9 * docs(run list): mention `pr checks` in help docs * ci: bump Golangci-lint to v2.6.0 * chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 * chore(deps): bump golang.org/x/text from 0.29.0 to 0.30.0 * test(gist): fix failing tests * fix(gist): prevent fetching full content for already edited files * fix(gist): only include files that have changed in request * fix(gist): fetch full content for truncated files during editing * ✅ (repo delete) remove comprehensive assertions on check stderr output * Fix typo in comment for gh issue develop branch checkout command * 💡 (gh repo delete) Add warning when `--yes` is ignored without a repository, Closes: #12033 * chore(deps): bump github.com/rivo/tview * chore(deps): bump actions/download-artifact from 5 to 6 * chore(deps): bump actions/upload-artifact from 4 to 5 * Remove skipped tests * Make verifier choice more explicit * Return only basic pull request info when reverting a PR * chore(deps): bump mislav/bump-homebrew-formula-action from 3.4 to 3.6 * chore(deps): bump goreleaser/goreleaser-action from 6.3.0 to 6.4.0 * test fixup * Update release verify commands to use sentinel value * Initial plan * Make PGI verifier initialization non-fatal to allow GitHub attestation verification * Initial plan * improve docstring for release-create * Bump Go to 1.25.3 * Address remaining PR comments for revert implementation * Adjust PR revert based on new acceptance criteria * Return nil when err is nil * Fix revert unit tests by using renamed helper * feat: include revert PR info in message output * Undo autoformat changes * feat: implement `pr revert` * test(gist): add tests for handling truncated files in view command * test(gist): add tests for editing truncated gist files * test(gist): add tests for `GetRawGistFile` function * feat(gist): retrieve full content for truncated gist files * feat(gist): retrieve full content for truncated gist files * feat(gist): add `GetRawGistFile` function to retrieve raw gist content * feat(gist): add `RawURL` and `Truncated` fields to `GistFile`- Update to version 2.82.1: * Add test for non-interactive projects v1 unsupported * Inject Detector mock in edit command tests * Pass ProjectsV1Support to FetchOptions functions * chore(deps): bump github.com/gabriel-vasile/mimetype * Update .github/workflows/govulncheck.yml * chore(deps): bump github/codeql-action from 3 to 4 * chore(deps): Bump github.com/sigstore/sigstore-go from 1.1.0 to 1.1.3 * chore(deps): bump actions/attest-build-provenance from 2.4.0 to 3.0.0- Update to version 2.82.0: * chore: run `go mod tidy` * refactor(auth refresh): use `PlainHttpClient` instead of zero `http.Client` * refactor(auth login): use `PlainHttpClient` for OAuth flow * refactor(authflow): receive HTTP client via args * fix(factory): add `PlainHttpClient` to factory * test(api): assert `SkipDefaultHeaders` is honoured * fix(api): expose `SkipDefaultHeaders` option * test(api): improve `NewHTTPClient` test assertions * Fix agentTaskCmd to use repoResolvingCmdFactory * Add new displaying message to test expectation * Fix --follow not killing the progress indicator * Apply suggestion from @babakks * Apply suggestion from @babakks * Fix argument order in httpStubs test functions * docs(cache delete): remove redundant comment * docs(cache delete): add godoc for `deleteCacheByKey` * Remove default empty slices in RemovePullRequestReviews * Fix typo in error message for required flags * Refactor reviewer partitioning in PR edit command * Escape repo owner and name in PR reviewer API paths * Remove unused ghIds function and githubv4 import * fix(cache): report correct deleted count for key and key+ref deletions * Refactor PR reviewer editing to use REST API and optimize team fetch- Update to version 2.81.0: * test(auth status): correctly replace JSON-escaped paths * update the description * refactor: use strings.FieldsFuncSeq to reduce memory allocations * fix(pr checkout): add alias `co` * remove hidden value for release verify cmd * fix latest tag for relase verify asset * docs(auth status): explain `--json` will always exit with zero * fix(auth status): return JSON entries under `hosts` * fixup! examples * fix error missing in json output * examples * remove showToken from authEntry * address copilot comment on parameter order * add examples * simplify exporter usage * remove includeScope * do not mutate opts.ShowToken * move displayToken to String method * move flag validation to RunE * refactor without VisitAll * introduce AddJSONFlagsWithoutShorthand * fix show token when using json * fix exit code * revert showToken change * mutually exclusive flags * flag duplicate check * add ExpectCommandToSupportJSONFields * do not export authState * handle -t conflict * do not fetch scope if not necessary * json flags * auth state enum * Refactor entry to a single type * Fix missing assertions - Packaging improvements: * Update to BuildRequires: golang(API) >= 1.24 matching go.mod- Update to version 2.80.0: * chore: update third-party licenses * ci: pin release runner to Windows 2022 * Add math package import to sessions.go * Add TODO for better integer handling in GetPullRequestDatabaseID * chore: update third-party licenses * update the test * Update pkg/cmd/attestation/api/client.go * add initiator_type for attestations * fix(agent-task/capi): return proper error message when resp is not a JSON * test(agent-task view): populate `Session.Name` in all test cases * fix(agent-task view): improve session overview * refactor(agent-task view): merge empty println calls with next * fix(agent-task view): re-fetch session to get all pieces of data * fix(agent-task/capi): remove fallback to viewer when user id is zero * test(agent-tassk/capi): update `ListSessionsByResourceID` tests * docs(agent-task/capi): add TODO note for dropping local ID generation * fix(agent-task/capi): fetch viewer when resource session user id is zero * fix(agent-task/capi): handle unpopulated resource session `LastUpdatedAt` * refactor(agent-task/capi): keep `resource` private * update agents resource route * fix(agent-task view): improve session error * fix(agent-task view): display session error * fix(agent-task/capi): add `WorkflowRunID` field to `Session` * refactor(agent-task/capi): remove unused slice * fix(agent-task/capi): add `Error` field to `Session` * fix(agent-task create): block empty problem statement arg * fix(agent-task create): use pager when following logs * fix(agent-task create): avoid prompting when problem statement is provided * fix(agent-task list): show capitalised session state * fix(agent-task/shared): fix session state value * docs(agent-task list): add "(preview)" note to cmd docs * chore(agent-task/shared): regenerate `LogRenderer` mock * test(agent-task/capi): assert session with zero resource ID are kept * fix(agent-task/capi): keep sessions with no resource attached * refactor(agent-task list): remove unused `BaseRepo` from `ListOptions` * docs(agent-task/capi): fix test case explanation * Fix session deduplication and add test for paging * Remove repo-scoped session listing and related code * docs(agent-task): use `heredoc.Doc` * docs(pr/shared): add a `TODO` on decoupling PR finder from IO * fix(agent-task view): display zero premium requests * fix(agent-task/shared): make capitalised status names consistent * Update pkg/cmd/agent-task/agent_task.go * Update pkg/cmd/agent-task/agent_task.go * Enhance agent-task command help and usage info * Refactor comments in stripDiffFormat function * Remove obsolete log-3 test data files * fix(agent-task view): omit session overview in log mode * fix(agent-task view): display premium requests used * fix(agent-task/capi): add `PremiumRequests` field to `Session` * fix(agent-task view): display session duration * fix(agent-task view): display completed sessions as "Ready for review" * fix(agent-task view): disable PR finder progress indicator * test(pr/shared): assert `FindOptions.DisableProgress` is respected * fix(pr/shared): add `DisableProgress` field to `FindOptions` * Refactor stripDiffFormat guard clause logic * Use filepath.Ext to detect file extension in markdown renderer * Improve log rendering error handling and test coverage * Prefix rendered shell commands with '$ ' in logs * Clarify comment on CRLF normalization in tests * Refactor generic tool call titles map to package scope * Add pager support to log output in printLogs * test(agent-task create): add test for `--follow` * docs(agent-task create): add example for `--follow` flag * feat(agent-task create): add `--follow` flag * refactor(agent-task create): extract session URL polling into a func * Add TODO for bash-related tool call details * Update comment for reasoning text formatting * Enable Bash session tool handling in log rendering * Rename testdata log files for clarity * Normalize line endings in log testdata files too * Fix line ending conversion in tests * Add note for updating testdata files in log tests * Make log tests OS-agnostic by normalizing line endings * Fix comment for GetSessionLogs method * Add and improve function documentation in log.go * Update log test expectation files * Rename renderToolCall to renderToolCallTitle * Rename relativePath to relativeFilePath in log rendering * Refactor markdown rendering helper function names * Improve log rendering and tool call handling * Refactor JSON content rendering in log entries * Various log rendering improvements * feat(agent-task view): add `--log` and `--follow` flags * feat(agent-task view): add `--log` and `--follow` flags * fix(agent-task/shared): add log renderer * feat(agent-task/capi): add `GetSessionLogs` method * Add error type assertion to createRun tests * Add test for non-interactive problem statement input * Update test to use edited task description * Remove unused stdin field from create command tests * Refactor create command tests and add base branch case * refactor(pr/shared): rename `rest` to `tail` * refactor(agent-task/shared): enhance symbol names * Update command examples for agent-task create * Refactor agent-task create to improve file input handling * fix(pr/shared): ensure `ParseURL` regexp is backward-compatible * refactor(agent-task/shared): extract uuid pattern * refactor(agent-task view): rename `resourceID` to `prID` * feat(agent-task view): support PR `/agent-sessions/*` URL as argument * fix(agent-task/shared): add `ParsePullRequestAgentSessionURL` * fix(pr/shared): add rest return value to `ParseURL` * docs(agent-task view): improve `--help` docs * refactor(agent-task create): assign `Config` at instantiation * fix(agent-task create): only prompt for problem statement if not provided * fix(agent-task view): stop progress indicator before opening browser * test(agent-task view): enhance naming and stubs * test(agent-task view): add `--web` mode tests * feat(agent-task view): add `--web` mode * refactor: move Copilot Agents home URL to capi * fix(agent-task/capi): also return PR URL from `GetPullRequestDatabaseID` * Still prompt for task desc with -F * Add interactive prompt for task description in agent-task create * Fix default value in session selection prompt * Show session name instead of ID in agent-task list * docs(agent-task view): explain test case rationale * docs(agent-task view): explain when condition is met * docs(agent-task/capi): remove redundant comment * test(agent-task/capi): fix test case args * fix(agent-task/capi): skip unpopulated resource ID when hydrating * docs(agent-task/shared): add godoc to `SessionStateString` * test(agent-task view): update tests * fix(agent-task view): use lower limit for fetching sessions * fix(agent-task view): use `CapiClient.GetPullRequestDatabaseID` * fix(agent-task/capi): add `GetPullRequestDatabaseID` to `CapiClient` interface * test(agent-task/capi): add tests for `GetPullRequestDatabaseID` * feat(agent-task/capi): add `GetPullRequestDatabaseID` method * test(agent-task/capi): add tests for `GetSessionByResourceID` * feat(agent-task view): support PR arg * fix(agent-task/shared): add `SessionSymbol` func * test(agent-task/shared): add test for `IsSessionID` * fix(agent-task/shared): add `IsSessionID` * test(pr/shared): add test for `ParseFullReference` * fix(pr/shared): add `ParseFullReference` func * feat(agent-task/capi): add `ListSessionsByResourceID` method to `CapiClient` interface * feat(agent-task/capi): add `ListSessionsByResourceID` * test(agent-task view): add tests for the `view` command * feat(agent-task view): add `view` command * test(agent-task list): remove unused `stubs` * feat(agent-task/capi): add `GetSession` method to `CapiClient` interface * test(agent-task/capi): add tests for `GetSession` * feat(agent-task/capi): add `GetSession` method * refactor(agent-task/capi): populate PRs `IsDraft` * refactor(agent-task/capi): hydrate user data * test(agent-task create): quote file paths to pass CI on Windows * refactor(agent-task list): simplify cmd initialisation * refactor(agent-task create): remove redundant `if` * test(agent-task create): use `CapiClientMock` * fix(agent-task create): simplify command initialisation * test(agent-task list): update `TestNewCmdCreate` * fix(agent-task create): allow no positional arg * test(agent-task list): apply test args anyway * test(agent-task list): use `CapiClientMock` * test(agent-task list): update `TestNewCmdList` * refactor(agent-task/capi): drop embedding of unexported struct * test(agent-task/capi): add `CapiClientMock` * test(agent-task/capi): add `go:generate` directive to gen mock * test(agent-task/capi): add tests for job-related methods * test(agent-task/capi): add tests for session-related methods * fix(agent-task/capi): handle non-JSON error response * fix(agent-task/capi): improve returned errs * refactor(agent-task/capi): improve pagination * refactor(agent-task list): use shared `CapiClientFunc` * fix(agent-task/shared): add `CapiClientFunc` helper * Improve agent-task create command help text * Refactor test case struct in create_test.go * Add base branch option to agent task creation * Support reading task description from stdin * Increase backoff timing for agent task creation * Add file input support to agent-task create command * Update error messages and test repo handling in agent-task create * Simplify error handling in CreateJob response * Simplify stdout assertion in createRun test * Improve job error handling and update tests * Use Job struct in request * Escape URL path parameters in GetJob request * Escape owner and repo in job creation URL * Escape URL path segments in agent session links * Remove nil check for job in agentSessionWebURL * Update test to expect 500 error response * Update error message in createRun test * Remove redundant 'error:' prefix from repo error * Update command usage for agent task creation * Update agent-task create command argument handling * Add agent task creation command and job API * Add pager support to agent-task list output * Replace panic with require.FailNow in test * Add test for web mode with repo flag in listRun * Add comment on web dashboard filtering limitation * Add test case for negative limit in list command * Return NoResultsError when no agent tasks found * Add comment explaining error handling in listRun * Simplify time calculation in listRun test * Simplify BaseRepo assignment in list command * Handle repo resolution errors gracefully in agent-task list * Add --web flag to agent-task list command * Show default limit in agent-task list flag help * Add limit flag to agent-task list command * Add repo-scoped agent session listing support * Refactor session state color logic to shared package * Optimize session pull request hydration logic * Refactor error handling in generatePullRequestNodeID * Update API query name for session PR fetch * Refactor variable names in ListSessionsForViewer * Remove commented-out fields from sessionPullRequest * Refactor agent-task list command client initialization * Refactor session filtering in listRun function * Fix import alias for shared package in agent-task list * Add agent task listing command and CAPI client * Refactor agent task tests into table-driven format * Refactor test to use require.Empty assertion * Show help on agent-task command execution * Add agent-task command with OAuth token validation- Update to version 2.79.0: * fix(featuredetection): remove redundant `AdvancedIssueSearchWebInIssuesTab` field * docs(featuredetection): remove unknown dates * docs(search prs): mention advanced issue search syntax support * docs(search issues): mention advanced issue search syntax support * docs(pr list): mention advanced issue search syntax support * docs(issue list): mention advanced issue search syntax support * refactor(search): rename `Query.String` to `StandardSearchString` * test(search): improve test cases * chore(deps): bump actions/stale from 9 to 10 * chore(deps): bump actions/setup-go from 5 to 6 * Bump sigstore/rekor to v1.4.1 * Remove mention of public preview in trustedroot.go * docs(featuredetection): add godoc for min GHES version for advanced issue search * docs(issue pr): fix incorrect formatting * docs(issue list): fix incorrect formatting * docs: add cleanup/future TODO marks for advanced issue search changes * docs(pr list): explain use of advanced issue search syntax * docs(issue list): explain use of advanced issue search syntax * test(issue/pr list): assert integration with advanced issue search * test(pr shared): assert `ListURLWithQuery` works with advanced search syntax * refactor(issue/pr list): support advanced issue search * docs(search): improve `Searcher.URL` method docs * docs(search prs): mention advanced issue search takeover * docs(search issues): mention advanced issue search takeover * docs(search): improve docs for `Query.String` and `Query.AdvancedIssueSearchString` methods * refactor(search): improve special qualifier grouping * test(search): test advanced search support * fix(search): use advanced issue search when available * refactor: improve mock feature detector names * refactor(search): sort qualifiers in query * test(search): provide feature detection dependency * fix(search): add feature detection dependency * test(search): explain why `is:` and `in:` qualifiers used in test case * fix(search): sort qualifiers in advacned issue search syntax * test(search): add tests for `AdvancedIssueSearchString` method * fix(search): add `AdvancedIssueSearchString` method * test(featuredetection): add tests for advanced issue search detection * fix(featuredetection): add feature detection for advanced issue search * test(cache delete): combine test cases for invalid/non-existent refs * test(cache delete): replace `HTTP 204` with `200` to match API behaviour * docs(cache delete): explain different API responses * test(cache delete): add test case for key arg and `--all` * refactor(cache delete): simplify error handling * refactor(cache delete): simplify condition * fix(cache): validate `--ref` flag usage with cache ID * fix(cache): prevent using `--ref` flag with cache ID * refactor(cache): extract cache ID parsing logic * fix(cache): update error message for missing cache key with `--ref` flag * chore(cache): improve help text for `--ref` flag in cache deletion * test(cache): add tests for `--ref` flag in cache deletion * feat(cache): add support for `--ref` flag in cache deletion * refactor: use slices.Equal to simplify code (#11364) * feat: `gh auth` Automatically copy one-time OAuth code to clipboard (#11518) * docs(release create): difference `--generate-notes` and `--notes-from-tag` (#11534)- Update to version 2.78.0: * Add `--force` flag to `gh run cancel` (#11513) * Update third-party license versions (#11557) * chore(deps): bump github.com/go-viper/mapstructure/v2 (#11556) * Merge pull request #11536 from cli/copilot/fix-11535 * chore(deps): bump github.com/cli/go-gh/v2 from 2.12.1 to 2.12.2 * Update pkg/cmd/release/verify/verify.go * Update pkg/cmd/release/verify-asset/verify_asset.go * Hidden trusted root flag for release verify * Update Go dependencies to latest versions * chore(deps): bump actions/checkout from 4 to 5 * udpate the test * replace /git/refs/tags/ to /git/ref/tags/ * Update feature_detection.go * Update PR tests for v2 projects * Base changes for PR project items * Update `gh issue view` to show v2 projects * PR feedback from @bagtoad * Update v1 project detection logic * Update govulncheck workflow to scan source code * add test for FetchRefSHA * Apply suggestion from @Copilot * Update docs/install_windows.md * Consolidate repo profile, fix headings * chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 * chore(deps): bump github.com/yuin/goldmark from 1.7.12 to 1.7.13 * Update docs on contributing new install methods * markdown lint fixes * Formatting * Initial installation doc refactor * Pushing empty commit to run CI * Bump Go to 1.24.6 * Fix linter * Update pkg/cmd/search/search.go * chore(deps): bump actions/download-artifact from 4 to 5 * Update docs/triage.md * Update docs/triage.md * Update issue triage guidelines and label usage * fix error for ErrReleaseNotFound when fetching ref * Apply suggestion from @Copilot * Update .github/workflows/scripts/spam-detection/process-issue.sh * docs(search): move search syntax note to `gh search --help` * Update spam detection to comment on and close issue * Update permissions and events for workflow * ci: use `help wanted` label link in comment * ci: anchor regexp for `help wanted` label * Improve spam detection evals (#11419) * v1 project feature detection spike using version * docs(help): rename `search-syntax` help topic * docs(search): add reference to `gh help search` * Add help topic for search syntax in gh commands * docs(search): add note for exclusion search syntax * Regenerate third-party licenses on trunk pushes * chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7- Update to version 2.76.2: * Refactor tab completion test * Test `gh pr create --reviewer` tab completion * Include org teams for PR reviewers * docs(ci): delete obsolete comment- Update to version 2.76.1: * Updated third-party license compliance content * Add tests for reviewer team handling in PR creation * Refactor and improve RepoMetadata teams test * Refactor error assertion in Test_RepoMetadataTeams * FIX: conditionally fetching team reviewers * Add TeamReviewers flag to RepoMetadataInput * Update .github/workflows/scripts/spam-detection/generate-sys-prompt.sh * Use gh go templating for user prompt * Update eval script comments * Remove unnecessary file for heredoc * First pass to optimize and improve * Limit permissions of govulncheck workflow * Incorporate govulncheck into workflows * update ownership of pkg/cmd/release/shared/ * Run Lint and Tests on `push` to `trunk` branch * ci: echo spam detection result * ci: add `models: read` permission * ci: correct `sed` usage to remove Markdown front matter * docs: fix typo in script docs * ci: fix potentially confusing typo in system prompt * ci: use `issue.html_url` instead of `issue.url` * ci: remove unused env vars * ci: add spam issue detection workflow * ci: add spam issue detection scripts * chore(deps): bump github.com/sigstore/sigstore-go from 1.0.0 to 1.1.0 * chore(deps): bump advanced-security/filter-sarif from 1.0.0 to 1.0.1 * Improve `api` `--preview` docs * add tenancy aware for san matcher- Update to version 2.76.0: * Copilot Pro+ / Enterprise subscribers can now assign issues to Copilot during issue creation * Display immutable field in release view command * Do not fetch logs for skipped jobs * Transform extension and filename qualifiers into path qualifier for web code search- Update to version 2.75.0: * Quote Windows rsyso script global hook * test(search): verify `URL` returns quoted query * test(search): test pagination with multi-word quoted queries * fix(search): fix mutating query state fields * Add setup-go to bump-go * Update contribution design link * test(pr merge): always assert stderr * test(pr merge): verify `deleteRemoteBranch` behaviour when API returns error * fix(pr merge): ignore 404 as error when deleting remote branch * Ensure go mod tidy is run in bump-go * Inject token into bump-go workflow * Reformat gh run view help * docs(run view): explain restrictions of fallback API calls * test(run view): delete unused ZIP archive * refactor(run view): remove `Log` field from DTO types * test(run view): update tests * refactor(run view): use API as fallback to fetch job logs * test: add `BinaryResponse` helper function * Ensure bump go script has git user configured * Support --no-repos-selected on secret set * docs: consistently use apt in installation instructions * Consume dependabot minor versions for go modules * test: add test for `ParseURL` * Update microsoft dev-tunnels to v0.1.13 * Bump all dependencies except dev-tunnels * Fix inconsistent use of tabs and spaces * docs: explain PR URL parsing reason * test: improve test case to highlight host name override * test: remove references to `AssignedActorsUsed` field * test: verify providing a URL arg affects the base repo * refactor: select PR fields based on detected features * test: remove tests verifying assigne-related behaviour * fix: remove assignee-related intervention * fix: remove `AssignedActorsUsed` field * Add workflow to automate go version bumping * fix: expose `ParseURL` as a public func * Remove unused GH_TOKEN env variable from workflow * Add `workflow_dispatch` support to PR Help Wanted check (#11179) * chore: improve error message when `versioninfo.json` is not found * Fix: `gh pr create` prioritize `--title` and `--body` over `--fill` when `--web` is present (#10547) * chore: create `.syso` libs only on Windows * chore: delete `script/winres.json` * chore: add `versioninfo.template.json` * refactor: switch to `github.com/josephspurrier/goversioninfo` * chore: exclude generated `.syso` files from git repo * Ensure automation uses pinned go-licenses version * Fix missing newline in install_linux.md * Apply suggestions from code review * Update missed Go 1.23 references * chore: update Go version to 1.24 in devcontainer configuration * Use `make` for license generation and checks * Use temp directory for license checks * Update 3rd party licenses * Restored original test setup, clarified * Enhance Activetoken prioritize test * improve the description for gh release verify cmd * chore: fix function name * Push up * Use active token stubbing on auth config * refactor to simplify implementation * Primer formatting * Fix spacing * Add missing files * Rename READMEs * Initial restore of Primer CLI docs * use standardize color roles logic for the logging * moved to shared lib * moved to shared lib * update the artifact and bundle for testing * empty commit * clean the code * revert the workflow * debug windows env * debug windows env * debug windows env * chore: fix variable name casing * Avoid analyzing 3rd party license content with CodeQL * chore: ensure output path is a directory * clean the path * clean the path * Update 3rd party license information * Adopt license compliance scripts into workflows, docs * clean the path * improve test * fix test * add unit test * chore: prepare Windows resources `.syso` files before build * chore: add script to create Windows resources * Cleanup * fix: get token for active user instead of blank if possible * remove filepath test * update Sprintf * removed unused file * added the unit test * add json format * change verify-asset logic * minor fix * clean up the code * update the lng * wip * remove comment * wip * init * docs: install_linux.md: add Solus linux install instructions- Update to version 2.74.2: * Update docs/install_linux.md * Fix step order for CodeQL workflow * docs: update install command for Debian * chore(deps): bump github.com/google/go-containerregistry * Use t.Chdir in tests * Bump to Go 1.24 * Merge pull request #11121 from cli/11101-use-golangci-lint-version-2 * Apply suggestion from @Copilot * Improve help wanted check skipping logic * Ensure gh executes in workflow check script * Fix repo checkout in help-wanted check * Fixes #11126 * Fix script path for help-wanted check * Quote filenames suggested at the end of worklow run * chore(deps): bump github.com/in-toto/attestation from 1.1.1 to 1.1.2 * Quote workflow conditional * Add workflow to check `help wanted` labelling (#11105) * chore(deps): bump actions/attest-build-provenance from 2.3.0 to 2.4.0 * Add accurate context when `run rerun` fails (#10774) * Avoid requesting PR reviewer twice * chore(deps): bump github.com/sigstore/protobuf-specs from 0.4.2 to 0.4.3 * chore(deps): bump mislav/bump-homebrew-formula-action from 3.2 to 3.4 * test(pr): Add tests for actor assignees * Fix test, remove partial standalone test * Iterate on `pr edit` problems with existing assignees * chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.2 * Fix expected error output of TestRepo/repo-rename-transfer-ownership * Add instructions for MidnightBSD installation- Update to version 2.74.1: * test: fix test data const * Document support for `@copilot` in `gh [pr|issue] edit --add-assignee` and `--remove-assignee` (#11056) * Fix pr edit when URL is provided- Update to version 2.74.0: * Update `go-gh` to v2.12.1 * fixup release asset digest tests * remove nolint comment for release header * Update pkg/cmd/release/view/view.go * chore(deps): bump github.com/sigstore/protobuf-specs from 0.4.1 to 0.4.2 * chore(deps): bump github.com/yuin/goldmark from 1.7.8 to 1.7.12 * fix: `gh gist edit` panic when no file in a gist (#10627) * docs(pr list): mention `--head` does not support `:` syntax * add Digest to ReleaseAsset struct * doc(update): improve comments on updaterEnabled * Refactor build tag logic * replace deprecated func * replace deprecated type * update sigstore-go to v1 * feat(update): add `updateable` build tag for update notifications * Update README.md * test(run): add tests for `RenderJobs` and `RenderJobsCompact` * Add `--compact` flag to `run watch` (#10629) * test: improve test case naming * chore: run `go mod tidy` * test: ensure proper usage of pipes in docs * Revert "[gh config] Escape pipe symbol in Long desc for website manual" * doc(pr): format allowed values and defaults in help * Mention created PR's URL will be printed upon success * Add example usage of `--head` option * doc(preview): add long description * fix(prompter): print to iostreams stdout * fix(prompter): update prompter create for changes in trunk * fix(preview): remove needless newlines * import sigstore-go at a more recent commit * use constructor * include http client in verifier setup * add missing http client field in sigstoreConfig * simplify test * alphabetize fields * move live inspect test to integration test file * fetch http client from factory * set custom fetcher in options * pass http client for use with tuf * get the latest go-tuf release * get latest go-tuf version * create fetcher with custom http client and retry options * chore(deps): bump github.com/gabriel-vasile/mimetype from 1.4.8 to 1.4.9 * feat(preview): enforce fixed order for prompts * feat(preview): add `preview prompter` command- Fixing boo#1237669 - CVE-2025-27144 - Go JOSE's Parsing Vulnerable to Denial of Service - Do not skip the TestAccessiblePrompter tests - Update to version 2.73.0: * refactor(api): inline struct definitions in RepoAssignableActors * refactor(api): change CopilotActorLogin to constant * fix(editable): include DefaultLogins in EditableAssignees clone * doc(params): incorrect func name in comment * refactor(api): use constant for Copilot login * doc(issue/pr edit): clarify @copilot usage * doc(issue/pr edit): doc `@copilot` assignee * test(params): enhance Copilot replacer tests for edge cases * fix(params): remove needless err return * doc(editable): remove needless comment * test(editable): prompts use assignee display names * fix(pr edit): clarify error messages for assignee actors and users * doc(pr edit): condense comment for reviewer/user filtering * test(pr edit): fix typo in test name * refactor(pr edit): move httpclient initialization * feat(issue/pr edit): support @copilot in assignee flags * doc(pr edit): Add comments describing the use of DefaultLogins * fix(issues): fix non-interactive assignee matching to logins&IDs * fix(pr edit): remove merge conflict artifact, extra detector * feat(pr edit): fetch assignable actors * feat(pr edit): fetch assigned actors * fix(api): correct var name capitalization * refactor(api): remove needless parenthesis * fix(api): correct var name capitalization * refactor(api): remove needless parenthesis * doc(api): code comment typo * feat(editable): update assigned actors to use display names * feat(pr edit): fetch assignable actors * feat(pr edit): fetch assigned actors * doc(issue edit): clarify synchronous handling of assignees * feat(issue edit): replacing actor assignee is done synchronously with updateIssue * doc(api): remove needless comment * refactor(api): rename assignable user types and methods * fix(issue edit): revert rename of ActorAssignees * fix(issue edit): use double quotes for assignedActors * refactor(issue edit): add assignedActors to lookupFields * refactor(issue edit): rename loop variable for clarity * refactor(issue edit): rename AssignedActors to ActorAssignees * Increase `beforePasswordSendTimeout` to 100 us (#10977) * Update test case for removing all reviewers * doc(repo queries): clarify reviewer actor fetching logic * doc(issue): comment why assignable actors disabled * refactor(issue edit): improve actor type handling * Add test to verify removing all reviewers * fix bug when removing all PR reviwers * fix(issue edit): resolve race condition in actor assignment * chore(issue edit): comments cleanup * feat(issue edit): support assigning actors to issues * feat(issue edit): fetch assignable actors * feat(issue edit): fetch currently assigned actors * Improve assertion for disabled echo mode (#10927) * fix(a11y prompter): remove invalid defaults * Release download handles missing archive URLs * Fix release download test http stubbing * feat(fd): add ActorIsAssignable to IssueFeatures * Feature detect v1 projects on pr edit * Add `closedByPullRequestsReferences` JSON field to `issue view` (#10941) * fix(a11y prompter): confirm prompt default is readable * fix(a11y prompter): multi select defaults are readable * doc(prompter): remove TODO about default value panic * fix(a11y prompter): select prompt default value is readable * refactor(a11yprompter): shared method for prompt defaults * fix(a11y prompter): Select prompt respects defaults * fix(a11y prompter): input prompt default value is readable * test(prompter): add timeout before password input * Feature detect v1 projects for preview URL * Feature detect v1 projects on interactive pr create * Feature detect v1 projects on web mode pr create * Feature detect v1 projects on non-interactive pr create * Cleanup run command stubbed finders in tests * Fix `StatusJSONResponse` usage (#10810) * Feature detect v1 projects on pr view * Add `--delete-last` option to `pr comment` and `issue comment` (#10596) * Apply code review changes * chore(deps): bump actions/attest-build-provenance from 2.2.2 to 2.3.0 * chore(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.6 to 2.0.7 * Update the test code to align with latest changes * test pr number 0 * handle find pr number 0 * restore deleted file * move filterAttestations function * getAttestations unit tests * add test for predicate type filtering * add missing nil struct checks and udpate error messages * add check for nil api client * clean up test fixtures * reduce test duplication * comment * restructure api client methods * simplify client methods * remove duplicate predicate filtering code * create single fetch by digest client method * dedpulicate if else logic * pass params object to api client methods * move local and oci registry attestation filtering * reorganize getAttestations func to check for remote gh api fetching first * pass predicate type to get attestation api methods- Fix the package tests: * Ignore TestNewInspectCmd https://github.com/cli/cli/issues/10926 * Ignore TestAccessiblePrompter https://github.com/cli/cli/issues/10916- Update to version 2.72.0: * Introduce gh accessibility help topic highlighting GitHub CLI accessibility experiences * [gh pr view] Support closingIssuesReferences JSON field * Fix expected error output of TestRepo/repo-set-default * Ensure accessible password and auth token prompters disable echo mode * Fix: Accessible multiselect prompt respects default selections - Update to version 2.71.2: * Fix pr create when push.default tracking and no merge ref - Update to version 2.71.1: * Fix pr create when branch name contains slashes - Update to version 2.71.0: * gh pr create: Support Git's @{push} revision syntax for determining head ref * Introduce option to opt-out of spinners * Update configuration support for accessible colors * gh config: add config settings for accessible prompter and disabling spinner * Fix multi pages search for gh search * Fix: project commands use shared progress indicator * Issue commands should parse args early * Feature detect v1 projects on issue view and edit * Feature detect v1 projects on web and non web-mode issue create * Refactor Sigstore verifier logic * bump deps- Update to version 2.70.0: * Explain job log resolution reason * Document UNKNOWN STEP in run view * Add `$` anchor to log file regexps * Test normal job run log is preferred over legacy one * Prefer normal job run log file over legacy one * Explain when a negative number prefix appears * Improve explanation for missing step logs * Explain the `UNKNWON STEP` placeholder * Replace `UNKNOWN` with `UNKNOWN STEP` in job run log * Explain why step logs are preferred * test(prompter): fix invalid comment * test(prompter): fix race condition * Ensure markdown confirm prompt shows editor name * fix(prompter): remove needless default value assignment * test(prompter): doc how accessible prompter tests work * test(prompter): describe why echo is editorcmd * test(prompter): use *testing.T instead * Add missing `gc.AssertExpectations` calls * Add tests for `IsPinned` method * Simplify cosign verification example by not using a regex. * chore: go mod tidy * fix(prompter): pass io to `huh` and refactor tests * fix(prompter): update `huh` and fix tests * refactor(prompter): rename speechSynthesizerFriendlyPrompter to accessiblePrompter * doc(prompter env): accessible prompter includes braille reader * chore: go mod tidy * Merge pull request #10749 from malancas/update-to-sigstore-go-v0.7.1 * Update pkg/cmd/run/shared/presentation.go * Apply suggestions from code review * Test for explicit config disable of label colors * Use truthy value for `GH_COLOR_LABELS` * test(prompter): re-add skipped test for accessible confirm default * doc(help): label GH_ACCESSIBLE_PROMPTER as preview * fix(prompter): rename GH_ACCESSIBLE_PROMPTER * refactor(prompter): explicit return values * doc(prompter): remove senseless comment * refactor(prompter): remove unused variable * test(prompter): timeout for tests is 1s * fix(prompter): use os.lookupenv for accessible prompter * test(prompter): remove needless NO_COLOR set * test: use example.com in tests * doc: comment typos and formatting * test(prompter): add basic survey prompter test * test(prompter): fix race conditions * doc(envs): speech synthesis prompter * Escape dots in regexp pattern in example command * Verify fallback to job run logs when step logs are missing * Verify job run logs attached in `attachRunLog` test * Update `run_log.zip` fixture * Fallback to print entire job run log if step logs are missing * Add `Log` to `Job` data structure * Add `jobLogFilenameRegexp` function * Extract job name sanitization as a separate function * Deprecate ColorScheme.Gray for ColorScheme.Muted * ci: pin third party actions to commit sha * doc(prompter): clarify comments * refactor(prompter): less magic strings * fix(prompter): remove impossible condition * fix(prompter): notes about Confirm default * fix(prompter): input returns default when blank * test(prompter): more tests for bad input * Refactor ColorScheme initializer * Add label color env var to help topic, unused fix * refactor(prompter): rename env var for speech synthesizer friendly prompter * docs(prompter): doc prompter interface * fix(linter): linter errors * test(prompter): move to external package * test(prompter): skip vt10x tests on Windows * Fix comment language * Introduce `color_labels` support, update commands * test(prompter): remove needless variable declaration * tests(prompter): rename huhprompter * test(prompter): replace assert with require * fix(prompter): rename huhprompter * test(prompter): `go-expect` based prompter tests * feat(prompter): include `no` as false-y value * test(prompter): remove t.parallel calls * fix(md prompter): accessible prompt allows blank * feat(md prompter): md prompt respects blankAllowed * feat(prompter): add accessible prompter support * Remove deprecated note on gray color functions * Regenerate mocks * Remove configuration setting vestage * Remove out of scope configuration setting change * Implement tests for muted logic, standardize reset * Remove out of scope changes, update list commands * Accessible color config boilerplate, colors update * Acceptance test issue/pr create/edit with project * Update pkg/cmd/attestation/verify/verify.go * test(release view): fix indentation * doc(formatting): add line breaks for readability * Renaming tabl eheader variables for maintainability * doc(formatting): update sprig func descriptions * test(many): fix whitespace in tests expectations * updated test * added minor caveat * Tweaked language a bit, improved error message. * Rewrote the gh at verify --help text to a) clarify and b) document the verificationResult object. * doc(run shared): clarify 404 handling * Fixes #10590 * docs: add Sprig library functions to help topics * chore: update go-gh to v2.12.0 * Implement and fix tests for table headers * test(run list): update rulesets test name * doc(run list): add enterprise ruleset notes * refactor(tests): update test name for org workflows * docs(run list): doc runs without workflow names * fix(run list): do not fail on org workflows * Fix typos in CONTRIBUTING.md * Underline table headers if colors enabled but no theme * Ensure table headers are thematically contrasting * [gh ext] Fix `GitKind` extension directory path * More cleanup * `./script/sign` cleanup * Add initial test * Show host name in repo creation prompts- Update to version 2.69.0: * Curly bracket wrapping acceptance tests * Refactor commentable logic * Clean up pr/issue comment test names * Bring issue/PR comment tests up to par, correct * Revert "Merge pull request #10384 from iamazeem/9798-gh-api-encode-package-name" * Initial pass fixing gh issue and gh pr comment * Bump golang.org/x/net from 0.34.0 to 0.36.0 * chore: remove redundant word in comment * Make missing workflow regexp aware of GitHub App * Change issueauto and prauto actions to use the cli-automation env * Add environment to prauto and issueauto workflows * Add cli-discuss-automation environment to triage.md * Separate partitioning from globbing in cmdutil/args package and consumers (#3) * Add `exclude` callback function * Add tests for - and label args * Remove slicing * Support globbing for all platforms * Add testing to GlobWindowsPaths (#2) * Fix `gh gist create` for multiple filenames and glob patterns * [gh release create/upload] Expand glob patterns on Windows- Update to version 2.68.1: * Fix secret command panic when base repo from cwd * Fix(ci): base64 decode GPG passphrase * Update pkg/cmd/attestation/verification/attestation.go * Update pkg/cmd/attestation/verification/attestation.go * Fix acceptance test descriptions * Fix gh secret disambiguity test * Expand gh secret acceptance tests * Expand gh secret base repo tests * [gh secret] Check `GH_REPO` too in addition to `--repo` for disambiguation * Deep Dive Document Release Process (#10503) * Fix unhandled panic in FindWorkflow and add tests * Bump actions/attest-build-provenance from 2.2.0 to 2.2.2 * Fix checkout when URL arg is from fork and cwd is upstream * Update `project` help text; fix `unlink` usage * Inconsistent format of examples in help text * Inconsistent format of description of flags (starting with lowercase letter) (#10507) * Update Go version to 1.23 in CONTRIBUTING.md * Fix minor auth login help typo * Add docs; rename function name * Bump github.com/go-jose/go-jose/v4 from 4.0.2 to 4.0.5 * docs: OAuth doc link moves to newline * fix expected test output * undo regex changes * remove signer-ref option * chore: update go version in devcontainer * docs: warn about process revoking all tokens * docs: document how to revoke `gh` OAuth tokens * refactor: use a more straightforward return value * Test pr checkout force on different branch * [gh pr checkout] Add --no-tags option to git fetch commands in checkout logic * Allow injection of TUFMetadataDir in tests * Refactor remote resolver caching tests * Fix `remoteResolver` caching issue * Address pr comments * Add test for item-edit --number 0 * Support setting project item number to 0 * Wrap error * Rename flag to `--fail-on-no-commits` * Update tests * Fix non-TTY case * Suggestions to enhance upstream default handling * Use API REST Client * Use subtests in attestation verification integration tests * update default upstream when forking repo * Update usage to lower-kebab-case * Fix typo in README * Add missing <> in gh auth login docs * Add mutex to fix race in attestation test client * Update tests * Remove trailing whitespace * Standardize URLs * [gh issue/pr comment] Create a comment if no comment already * Update tests * Address review comments * Align no default repo message with other uses * [gh release create] Fail when there are no new commits since the most recent release * Use API without shorthand flag * Update tests * [gh api] Escape package name (URL encoding) for packages endpoint * remove custom transport * var naming * dedup local bundle err handling * Update tests * Add test cases for succeed on no cache and api errors for --all (#1) * Remove short (abbreviated) flag support * Address PR review comments * add checks to cert extensions func * fix option ordering * fix issues causing tests to fail * add signer and source ref, commit options * Bump github.com/spf13/pflag from 1.0.5 to 1.0.6 * [gh repo view] Improve error message for forked repo * [gh cache delete --all] Add `--succeed-on-no-caches` flag to return exit code 0 * set new options in enforcement criteria * reorder fields * add new signing options- Update to version 2.67.0: * Exit with error if no matching predicate type exists * Fix logic error in contributing docs * Improve http error test cases * Handle non-TTY behavior * Do not try to parse bodies for HEAD requests * Update pkg/cmd/pr/status/status.go * Collapse related instructions * Remove redundant instructions * Update language * [gh pr status] Mention `gh pr checks` in the `Long` section * Update release doc content * Doc: Clarify guidelines for `help wanted` issues and prs * Bump google.golang.org/protobuf from 1.36.4 to 1.36.5 * Update tests * [gh project item-edit] Fix number type * Address review comments * Address review comments * Revert breaking change * Revert "[gh repo edit] Allow setting commit message defaults" * Use HTML numeric code instead of escaping with slash * [gh config] Escape pipe symbol in Long desc for website manual * Ensure item iteration field is populated in tests * Drop accidental help text change * Error when `gh repo rename` is used with a new repo name that contains an owner * [gh repo edit] Allow setting commit title defaults * Rename staggler * Formatting * AuoLink -> Autolink * Use http constants * refac and some spacing in output * More consistency * whitespace * clean up * Autolink delete http tests * Revert change to deps * Autolink delete tests * Initial working implementation * remove duplicated Prompter type * revert isEqualSet to private * Revert color changes * [docs/releasing.md] Add basic info for homebrew update flow * consolidate tests around getBundle func when possible * change permanent backoff error condition * Remove unused env var, PRID * dont retry when parsing fails * Update test * [gh issue/pr list] Improve help text * [gh extensions install] Improve help text and error message * [gh api] Fix mutual exclusion messages of `--slurp` flag * Remove v1 project 'add to board' automation from prauto workflow * [gh project item-list] Add `iterationId` field in ProjectV2ItemFieldIterationValue * [gh workflow run] Improve error handling for `--ref` flag * update tests * add missing return statement * method update * update no attestations found err * remove old tests * drop unneeded methods * deduplicate get attestation code * fix tests * update testing * chore: remove unused file * feat: integrate new PRLister into pr list command * issue #2329: create shared PRLister * fix: tab format may break checkout prompts * issue #2329: handle empty list of PR * issue #2329: include PR status in the prompt's options * issue #2329: fix prompt header getting duplicated * issue #2329: simplify the UI of the prompt * issue #2329: update the prompt's format * issue #2329: fix unit tests * issue cli#2329: Fix linter * issue cli#2329: fix unsufficent properties required for PR checkout * issue #2329: move Interactive check to RunE * fix: update the copy * issue #2329: return error when not running interactively * issue #2329: fix missing stub * issue #2329: improve UI/UX * issue #2329: add happy path unit test * issue #2329: fix the linting issue * issue #2329: fix the unit tests issue - ensure its backward compatible * feat: let user select pr to checkout- Update to version 2.66.1: * Address PR comments * Remove unused ErrNoGitRepository error * Handle error from ParsePRRefs when the selector is provided * Add comment to status recognizing when we require a repo * Refactor finder to work with URL selectors * Add tests for using the pr Finder outside of repo * Update deployment.yml * update tests to account for logic flip * flip bundle fetching logic * Update formatting for autolink output * Rename PRRefs to PullRequestRefs and PR comment cleanup * Remove redundant error check * Keeping autolink IDs the same in all test cases * Expand test case * Remove unused test field * Remove unused test field * Use `defer` instead * Error case test for viewRun * Autolink view HTTP tests * Shorten description * Updates following renaming domain to shared * Partial testing for view * Initial, working implementation * Stop progress indicator on failure (`gh run list --workflow`) * Cleaned up some naming and comments * Minor refactoring autolink create help and logic * Bump github.com/in-toto/attestation from 1.1.0 to 1.1.1 * Cleanup comment * Fix pr create tests * Fix breaking changes from sigstore-go v0.7.0 upgrade * go mod tidy * Upgrade sigstore-go to v0.7.0: fixes #10114 formatting issue * Refactor pr status to use the ParsePRRefs helper on the Finder * Moved remote.pushDefault out of ReadBranchConfig and into finder * Remove @{push} from branch config * Add PushDefault method to git client * WIP: push default defaults to simple * Error if push revision doesn't match a remote * Bump google.golang.org/protobuf from 1.36.3 to 1.36.4 * Refactor finder.Find and replace parseCurrentBranch with parsePRRefs * Bump actions/attest-build-provenance from 2.1.0 to 2.2.0 * remove bolding from bullet point output * Update test to be compatible with latest Glamour v0.8.0 * reorder policy enforcement criteria print out * bold bullet point list header text * Enable MSI building for Windows arm64 * chore: fix some comments * Bump go module version to 1.23 * Bump github.com/google/go-containerregistry from 0.20.2 to 0.20.3 * Remove unncessary printf usage * Bump golang ci lint to work with go 1.24 * Fix: Ensure constant format strings in fmt and printf calls * Change back to exponential backoff * Linter * Better handling for codespace state polling * Add affected version to bug report form * fix: tiny typo fix * Fix: accidental whitespace in gist edit * Fix: gist edit test name * Fix: gist edit/view tests var name consistency * Fix: Gist edit tests for interactivity * Add small wait to extension update tests * Refactor test based on PR feedback * fixup! Add comments and a bit of code cleanup * Use PushRemoteURL instead of RemoteURL in prSelectorForCurrentBranch * Add comments and a bit of code cleanup * skip check * add tty check * formatting * delete unused function * drop unused handler method * print attestation output info as bullet points instead of table * Bump google.golang.org/protobuf from 1.36.2 to 1.36.3 * Fix typo in secret base repo selection comment * Change wording on secret repo prompt * Print informative message before prompting for secret repo * Secret base repo prompting should not use resolved remote * Move secret base repo prompting earlier * Add acceptance test for secrets remote disambiguation * Remove validated TODO and add review warning * Rename secret BaseRepo func * Use smarter base repo funcs for secret commands * Move secret repo validation into secrets subpackage * Always prompt on secret set when multiple remotes * Update setdefault test * Update docs for set-default * Prompt for secret commands * Add tests for secret commands * Add remote check to secret commands * Add missing git stubs to tests * Add tests for deleteGist * Make extension update check non-blocking * Update pkg/cmd/attestation/verify/verify.go * add install instructions for Manjaro Linux * Bump github.com/gabriel-vasile/mimetype from 1.4.7 to 1.4.8 * #10042: Attempt to add a new test scenario for handling error messages when TTY is unavailable * Rename domain pkg to shared * #10042: Applied code review suggestions to view_test.go * show error message for rerun workflow older than a month ago * Enhance help docs on ext upgrade notices * fix tests * fix tests * gist delete - check no gists * removed unnecessary space * Update pkg/cmd/gist/edit/edit.go * chore: fix some function names in comment * drop description from prompts, fix tests * Expand docs on cleaning extension update dir * Simplifying cleanExtensionUpdateDir logic * Separate logic for checking updates * Capture greater detail on updaterEnabled * Restore old error functionality of prSelectorForCurrentBranch * Change error handling on ReadBranchConfig to respect git Exit Codes * fix: add back colon that I removed * fix: actually read how MaxFunc work and simplify the code * fix: padded display * Collapse dryrun checks in ext bin upgrade * Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14 * Bump github.com/sigstore/protobuf-specs from 0.3.2 to 0.3.3 * gist delete - use in confirmation and success info * Rename test user in tests * Change pr number in test * Surface and handle error from ReadBranchConfig in parseCurrentBranch * Directly stub headBranchConfig in Test_tryDetermineTrackingRef * Refactor error handling in ReadBranchConfig to avoid panic * Refine error handling of ReadBranchConfig * Add test for empty BranchConfig in prSelectorForCurrentBranch * #10042 removed unnecessary field * Correct help documentation around template use in `gh issue create` * #10042: Add error messages for 'gh gist view/edit' prompts when no TTY is detected * Comment exported functions * fix gist description in tests * gist delete prompt with gist description * Remove shadowed errors from prSelectorForCurrentBranch and cover with tests * Added tests to cover prSelectorForCurrentBranch for confidence in refactor * Refactor prSelectorForCurrentBranch and tests * Add missing test for RemoteURL in parseBranchConfig * update table column headers * Change ReadBranchConfig error message in gh pr create * Remove private readBranchConfig method and remove parseBranchConfig from Client * update test fixtures to include buildConfigURI * add check for invalid attestation * tentative updates for acceptance criteria - pending confirmation re description in prompt * PR review edits * Refactor Test_readGitBranchConfig for easier parsing * update tests to use new function name * Update pkg/cmd/attestation/api/client.go * Update pkg/cmd/attestation/api/client.go * Remove named return values from prSelectorForCurrentBranch * Refactor ReadBranchConfig for test coverage of newly returned erros * Remove named returns from ReadBranchConfig and surface errors * remove old comment * remove commented out code * comment * undo more name chanages * undo other name change * remove spaces * undo name change for now * more mock http client cleanup * Update triage.md to reflect FR experiment outcome * simplify mock http client * use mock to assert number of http calls * add http client test constructors * setup testing struct for test cases * feat: make the extension upgrade fancier * Fix up intra-org fork test setup * Add renamed acceptance tests * Reflect coverage for view and status subcommands * Expand with gh pr status * Add base gh pr view acceptance tests for changes * Find push remote using branch..pushRemote and remote.pushDefault * Only find PRs w/ branch..merge if push.default = upstream/tracking * Find PRs using @{push} * add mutex for test field * add test case for bundle url fetch failure * add tests for bundle url fetch and fallback * fetch bundles in parallel * return fetch attestations err directly * provide additional logging and fallback * Update pkg/cmd/auth/login/login.go * Clear up --with-token fine grained PAT usage * Fix typos * feat: Add support for creating autolink references * cleanup * gist delete prompt for confirmation * undo extra move * rearrange struct vals for consistency * add gist delete tests for blank gist id * gh gist delete: prompt for gist id * Escape '.' in version validation regex in deployment workflow * Add job to deployment workflow to validate the tag name for a given release * update verify output table * simplify func params * add more verification integration tests * fix failing tests * add mock http client * update error messages * var naming * go mod tidy * add httpClient field to LiveClient struct * remove unused method * fetch bundles with sas url * Fix failig local extension tests * Implement remaining PR feedback * Implement partial feedback before trunk update * Add build constraint for non-Windows systems * Add build constraint for non-Windows systems * Refactor local installation manager test by OS * #10042 fixed test * fixing gh gist view prompts with no TTY * Remove unnecessary Extension.FullName() * Expand update tests for local extensions * Test whether extension update should be checked * Remove Extension.FullName() from interface * Enhance extension manager and tests * Initial extension update check testing * Refactor extension command testing * Bring extension update check in line with gh check * initial pass at fetching bundles with sas urls- Update to version 2.65.0: * Bump cli/go-gh for indirect security vulnerability * Panic mustParseTrackingRef if format is incorrect * Move trackingRef into pr create package * Make tryDetermineTrackingRef tests more respective of reality * Rework tryDetermineTrackingRef tests * Avoid pointer return from determineTrackingBranch * Doc determineTrackingBranch * Don't use pointer for determineTrackingBranch branchConfig * Panic if tracking ref can't be reconstructed * Document and rework pr create tracking branch lookup * Upgrade generated workflows * Fixed test for stdout in non-tty use case of repo fork * Fix test * Alternative: remove LocalBranch from BranchConfig * Set LocalBranch even if the git config fails * Add test for permissions check for security and analysis edits (#1) * print repo url to stdout * Update pkg/cmd/auth/login/login.go * Move mention of classic token to correct line * Separate type decrarations * Add mention of classic token in gh auth login docs * Update pkg/cmd/repo/create/create.go * docs(repo): make explicit which branch is used when creating a repo * fix(repo fork): add non-TTY output when fork is newly created * Move api call to editRun * Complete get -> list renaming * Better error testing for autolink TestListRun * Decode instead of unmarshal * Use 'list' instead of 'get' for autolink list type and method * Remove NewAutolinkClient * Break out autolink list json fields test * PR nits * Refactor autolink subcommands into their own packages * Whitespace * Refactor out early return in test code * Add testing for AutoLinkGetter * Refactor autolink list and test to use http interface for simpler testing * Apply PR comment changes * Introduce repo autolinks list commands * Remove release discussion posts and clean up related block in deployment yml * Extract logic into helper function * add pending status for workflow runs * Feat: Allow setting security_and_analysis settings in gh repo edit * Upgrade golang.org/x/net to v0.33.0 * Document SmartBaseRepoFunc * Document BaseRepoFunc * Update releasing.md * Document how to set gh-merge-base- Update to version 2.64.0: * add test for different SAN and SourceRepositoryURI values * add test for signerRepo and tenant * add some more fields to test that san, sanregex are set properly * Bump github.com/cpuguy83/go-md2man/v2 from 2.0.5 to 2.0.6 * update san and sanregex configuration for readability * reduce duplication when creating policy content * tweak output of build policy info * Name conditionals in PR finder * Support pr view for intra-org forks * Return err instead of silentError in merge queue check * linting pointed out this var is no longer used * Removed fun, but inaccessible ASCII header * further tweaks to the long description * Exit on pr merge with `-d` and merge queue * Addressed PR review feedback; expanded Long command help string, used ghrepo, clarified some abbreviations * Update pkg/cmd/attestation/inspect/inspect.go * Update gh auth commands to point to GitHub Docs * Reformat ext install long * Mention Windows quirk in ext install help text * Fix error mishandling in local ext install * Assert on err msg directly in ext install tests * Clarify hosts in ext install help text * Bump golang.org/x/crypto from 0.29.0 to 0.31.0 * Removed now redundant file * minor tweak to language * go mod tidy * Deleted no-longer-used code. * deleted now-invalid tests, added a tiny patina of new testing. * Tightened up docs, deleted dead code, improved printing * fix file name creation on windows * wording * hard code expected digest * fix download test * use bash shell with integration tests * simplify var creation * update integration test scripts * fix: list branches in square brackets in gh codespace * try nesting scripts * run all tests in a single script * windows for loop syntax * use replaceAll * update expected file path on windows * run integration tests with windows specific syntax * run all attestation cmd integration tests automatically * Bump actions/attest-build-provenance from 1.4.4 to 2.1.0 * Improve error handling in apt setup script * use different file name for attestation files on windows * test(gh run): assert branch names are enclosed in square brackets * docs: enhance help text and prompt for rename command * Revert "Confirm auto-detected base branch" * Confirm auto-detected base branch * Merge changes from #10004 * Set gh-merge-base from `issue develop` * Open PR against gh-merge-base * Refactor extension executable error handling * fix: list branches in square brackets in gh run view (#10038) * docs: update description of command * style: reformat files * docs: update sentence case * use github owned oci image * docs: add mention of scopes help topic in `auth refresh` command help * docs: add mention of scopes help topic in `auth login` command help * docs: add help topic for auth scopes * docs: improve help for browse command * docs: improve docs for browse command as of #5352 * fix package reference * add gh attestation verify integration test for oci bundles * add integration test for bundle-from-oci option * update tests * update tests * move content of veriy policy options function into enforcement criteria * comment * try switch statement * remove duplicate err checking * get bundle issuer in another func * more logic updating to remove nesting * inverse logic for less nesting * remove unneeded nesting * wip, linting, getting tests to pass * wording * var naming * drop table view * order policy info so relevant info is printed next to each other * Update pkg/cmd/attestation/verification/policy.go * Update pkg/cmd/attestation/verification/policy.go * Update pkg/cmd/attestation/verification/policy.go * wip: added new printSummaryInspection * Improve error handling for missing executable * experiment with table output * Assert stderr is empty in manager_test.go * Update error message wording * Change: exit zero, still print warning to stderr * wording * Improve docs on installing extensions * Update language for missing extension executable * Update test comments about Windows behavior * wording * wording * wording * add newlines for additional policy info * Document requirements for local extensions * Warn when installing local ext with no executable * wording * formatting * print policy information before verifying * add initial policy info method * more wip poking around, now with table printing * wip, gh at inspect will check the signature on the bundle * wip: inspect now prints various bundle fields in a nice json- Update to version 2.63.2: * include alg with digest when fetching bundles from OCI * Error for mutually exclusive json and watch flags * Use safepaths for run download * Use consistent slice ordering in run download tests * Consolidate logic for isolating artifacts * Fix PR checkout panic when base repo is not in remotes * When renaming an existing remote in `gh repo fork`, log the change * Improve DNF version clarity in install steps * Fix formatting in client_test.go comments for linter * Expand logic and tests to handle edge cases * Refactor download testing, simpler file descends * Bump github.com/gabriel-vasile/mimetype from 1.4.6 to 1.4.7 * Improve test names so there is no repetition * Second attempt to address exploit- Update to version 2.63.0: * Bump cli/go-gh for codespace fix * Update git/client_test.go * Update git/client_test.go * Update git/client_test.go * Add checkout test that uses ssh git remote url * Rename backwards compatible credentials pattern * Fix CredentialPattern doc typos * Remove TODOs * Fix typos and add tests for CredentialPatternFrom* functions * Add SSH remote todo * General cleanup and docs * Allow repo sync fetch to use insecure credentials pattern * Allow client fetch to use insecure credentials pattern * Allow client push to use insecure credential pattern * Allow client pull to use insecure credential pattern * Allow opt-in to insecure pattern * Support secure credential pattern * Refactor error handling for missing "workflow" scope in createRelease * ScopesResponder wraps StatusScopesResponder * Refactor `workflow` scope checking * pr feedback * pr feedback * Update pkg/cmd/attestation/verify/attestation_integration_test.go * Apply suggestions from code review * Refactor command documentation to use heredoc * pr feedback * remove unused test file * undo change * add more testing testing fixtures * update test with new test bundle * naming * update test * update test * Fix README.md code block formatting * clean up * wrap sigstore and cert ext verification into a single function * Adding option to return `baseRefOid` in `pr view` * verify cert extensions function should return filtered result list * pr feedback * Update pkg/cmd/attestation/download/download.go * fix function param calls * Update pkg/cmd/attestation/verification/extensions.go * Formatting fix * Updated formatting to be more clear * Updated markdown syntax for a `note`. * Added a section on manual verification of the relases. * Handle missing "workflow" scope in createRelease * Modify push prompt on repo create when bare * Doc push behaviour for bare repo create * Push --mirror on bare repo create * Add acceptance test for bare repo create * Doc isLocalRepo and git.Client IsLocalRepo differences * Use errWithExitCode interface in repo create isLocalRepo * Backfill repo creation failure tests * Support bare repo creation * use logger println method * simplify verifyCertExtensions * rename type * refactor fetch attestations funcs- Update to version 2.62.0 * CVE-2024-52308: remote code execution (RCE) when users connect to a malicious Codespace SSH server and use the gh codespace ssh or gh codespace logs commands (boo#1233387, GHSA-p2h2-3vg9-4p87) * Check extension for latest version when executed * Shorten extension release checking from 3s to 1s - includes changes from 2.61.0: * Enhance gh repo edit command to inform users about consequences of changing visibility and ensure users are intentional before making irreversible changes- Update to version 2.60.1: * Update testscript to use hard fork * Note token redaction in Acceptance test README * Refactor gpg-key delete to align with ssh-key delete * Add acceptance tests for org command * Adjust environment help for host and tokens (#9809) * Add SSH Key Acceptance test * Add Acceptance test for label command * Add acceptance test for gpg-key * Update go-internal to redact more token types in Acceptance tests * Address PR feedback * Clarify `gh` is available for GitHub Enterprise Cloud * Remove comment from gh auth logout * Add acceptance tests for auth-setup-git and formattedStringToEnv helper func * Use forked testscript for token redaction * Use new GitHub preview terms in working-with-us.md * Use new GitHub previews terminology in attestation * Test json flags for repo view and list * Clean up auth-login-logout acceptance test with native functionality * Add --token flag to `gh auth login` to accept a PAT as a flag * Setup acceptance testing for auth and tests for auth-token and auth-status * Update variable testscripts based on secret * Check extOwner for no value instead * Fix tests for invalid extension name * Refactor to remove code duplication * Linting: now that mockDataGenerator has an embedded mock, we ought to have pointer receivers in its funcs. * Minor tweaks, added backoff to getTrustDomain * added test for verifying we do 3 retries when fetching attestations. * Fix single quote not expanding vars * Added constant backoff retry to getAttestations. * Address @williammartin PR feedback * wip: added test that fails in the absence of a backoff. * add validation for local ext install * feat: add ArchivedAt field to Repository struct * Refactor `gh secret` testscript * Wrap true in '' in repo-fork-sync * Rename acceptance test directory from repos to repo * Remove unnecessary flags from repo-delete testscript * Replace LICENSE Makefile README.md acceptance api bin build cmd context docs git go.mod go.sum internal pkg script share test utils commands with * Wrap boolean strings in '' so it is clear they are strings * Remove unnecessary gh auth setup-git steps * Cleanup some inconsistencies and improve collapse some functionality * Add acceptance tests for repo deploy-key add/list/delete * Add acceptance tests for repo-fork and repo-sync * Add acceptance test for repo-set-default * Add acceptance test for repo-edit * Add acceptance tests for repo-list and repo-rename * Acceptance testing for repo-archive and repo-unarchive * Add acceptance test for repo-clone * Added acceptance test for repo-delete * Added test function for repos and repo-create test * Implement acceptance tests for search commands * Remove . from test case for TestTitleSurvey * Clean up Title Survey empty title message code * Add missing test to trigger acceptance tests * Add acceptance tests for `gh variable` * Minor polish / consistency * Fix typo in custom command doc * Refactor env2upper, env2lower; add docs * Update secret note about potential failure * Add testscripts for `gh secret`, helper cmds * Remove stdout assertion from release * Rename test files * Add acceptance tests for `release` commands * Implement basic API acceptance test * Remove unnecesary mkdir from download Acceptance test * Remove empty stdout checks * Adjust sleeps to echos in Acceptance workflows * Use regex assert for enable disable workflow Acceptance test * Watch for run to end for cancel Acceptance test * Include startedAt, completedAt in run steps data * Rewrite a sentence in CONTRIBUTING.md * Add filtered content output to docs * sleep 10s before checking for workflow run * Update run-rerun.txtar * Create cache-list-delete.txtar * Create run-view.txtar * Create run-rerun.txtar * Create run-download.txtar * Create run-delete.txtar * Remove IsTenancy and relevant tests from gists as they are unsupported * Remove unnecessary code branches * Add ghe.com to tests describing ghec data residency * Remove comment * auth: Removed redundant ghauth.IsTenancy(host) check * Use go-gh/auth package for IsEnterprise, IsTenancy, and NormalizeHostname * Upgrade go-gh version to 2.11.0 * Add test coverage to places where IsEnterprise incorrectly covers Tenancy * Fix issue creation with metadata regex * Create run-cancel.txtar * Create workflow-run.txtar * Create workflow-view.txtar * implement workflow enable/disable acceptance test * implement base workflow list acceptance test * Add comment to acceptance make target * Resolve PR feedback * Acceptance test issue command * Support GH_ACCEPTANCE_SCRIPT * Ensure Acceptance defer failures are debuggable * Add acceptance task to makefile * build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.5 to 1.4.6 * Ensure pr create with metadata has assignment * Document sharedCmds func in acceptance tests * Correct testscript description in Acceptance readme * Add link to testscript pkg documentation * Add VSCode extension links to Acceptance README * Fix GH_HOST / GH_ACCEPTANCE_HOST misuse * Acceptance test PR list * Support skipping Acceptance test cleanup * Acceptance test PR creation with metadata * Suggest using legacy PAT for acceptance tests * Add host recommendation to Acceptance test docs * Don't append remaining text if more matches * Highlight matches in table and content * Split all newlines, and output no-color to non-TTY * Print filtered gists similar to code search * Show progress when filtering * Simplify description * Disallow use of --include-content without --filter * Improve help docs * Refactor filtering into existing `gist list` * Improve performance * Add `gist search` command * Fix api tests after function signature changes * Return nil instead of empty objects when err * Fix license list and view tests * Validate required env vars not-empty for Acceptance tests * Add go to test instructions in Acceptance README * Apply suggestions from code review * Error if acceptance tests are targeting github or cli orgs * Add codecoverage to Acceptance README * Isolate acceptance env vars * Add Writing Tests section to Acceptance README * Add Debug and Authoring sections to Acceptance README * Acceptance test PR comment * Acceptance test PR merge and rebase * Note syntax highlighting support for txtar files * Refactor acceptance test environment handling * Add initial acceptance test README * Use txtar extension for testscripts * Support targeting other hosts in acceptance tests * Use stdout2env in PR acceptance tests * Acceptance test PR checkout * Add pr view test script * Initial testscript introduction * While we're at it, let's ensure VerifyCertExtensions can't be tricked the same way. * Add examples for creating `.gitignore` files * Update help for license view * Refactor http error handling * implement `--web` flag for license view * Fix license view help doc, add LICENSE.md example * Update help and fix heredoc indentation * Add SPDX ID to license list output * Fix ExactArgs invocation * Add `Long` for license list indicating limitations * Update function names * Reverse repo/shared package name change * If provided with zero attestations to verify, the LiveSigstoreVerifier.Verify func should return an error. * Bump cli/oauth to 1.1.1 * Add test coverage for TitleSurvey change * Fix failing test for pr and issue create * Make the X in the error message red and print with io writer * Handle errors from parsing hostname in auth flow * Apply suggestions from code review * Refactor tests and add new tests * Move API calls to queries_repo.go * Allow user to override markdown wrap width via $GH_MDWIDTH from environment * Add handling of empty titles for Issues and PRs * Print the login URL even when opening a browser * Apply suggestions from code review * Update SECURITY.md * Fix typo and wordsmithing * fix typo * Remove trailing space from heading * Revise wording * Update docs to allow community submitted designs * Implement license view * Implement gitignore view * implement gitignore list * Update license table headings and tests * Fix ListLicenseTemplates doc * fix output capitalization * Cleanup rendering and tests * Remove json output option * Divide shared repo package and add queries tests * First pass at implementing `gh repo license list` * Emit a log message when extension installation falls back to a darwin-amd64 binary on an Apple Silicon macOS machine- Update to version 2.58.0: * build(deps): bump github.com/theupdateframework/go-tuf/v2 * Include `dnf5` commands * Add GPG key instructions to appropriate sections * Update docs language to remove possible confusion around 'where you log in' * Change conditional in promptForHostname to better reflect prompter changes * Shorten language on Authenticate with a GitHub host. * Update language on docstring for `gh auth login` * Change prompts for `gh auth login` to reflect change from GHE to Other * Sentence case 'Other' option in hostname prompt * build(deps): bump github.com/henvic/httpretty from 0.1.3 to 0.1.4 * Add documentation explaining how to use `hostname` for `gh auth login` * Replace "GitHub Enterprise Server" with "other" in `gh auth login` prompt * fix tenant-awareness for trusted-root command * Fix test * Update pkg/cmd/extension/manager.go * Update comment formatting * Use new HasActiveToken method in trustedroot.go * Add HasActiveToken method to AuthConfig interface * Add HasActiveToken to AuthConfig. * Improve error presentation * Improve the suggested command for creating an issue when an extension doesn't have a binary for your platform * Update pkg/cmd/attestation/trustedroot/trustedroot_test.go * build(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.4 to 2.0.5 * enforce auth for tenancy * disable auth check for att trusted-root cmd * better error for att verify custom issuer mismatch * Enhance gh repo create docs, fix random cmd link- Update to version 2.57.0: * Update go-gh to use api subdomains * Use api subdomains for commands using ghinstance package * Add test for extension install fallback to amd64 on darwin * Stub hasRosetta for tests * Refactor conditions * suppress att verify output when no tty * add att verify test for custom OIDC issuer * build(deps): bump github.com/sigstore/sigstore-go from 0.6.1 to 0.6.2 * Suggest installing Rosetta when extension installation fails due to missing `darwin-arm64` binary, but a `darwin-amd64` binary is available * This commit introduces tenancy aware attestation policy building. * use sigstore-go v0.6.2 * check specific err * check err in GetLocalAttestations * go mod tidy * check for sigstore-go validation errs * get latest sigstore-go commit * handle os.PathError in GetLocalAttestations * Move non-integration test to different test file * print verify err * check for os.PathError * dont print err content * update bundle file parsing err messages * Expand active test cases * Added `--active` flag to the `gh auth status` command- Update to version 2.56.0: * Check for nil values to prevent nil dereference panic * build(deps): bump actions/attest-build-provenance from 1.4.2 to 1.4.3 * Update linux install to point to GPG troubleshoot * Revert "Remove note explaining 2 year old GPG ID change" * Remove note explaining 2 year old GPG ID change * Rename ProtobufBundle to Bundle * Upgrade to sigstore-go v0.6.1 * `gh attestation verify` handles empty JSONL files (#9541) * verify 2nd artifact without swapping order (#9532) * chore: fix some function names * Improve the help message for -F (#9525) * build(deps): bump actions/attest-build-provenance from 1.4.1 to 1.4.2 (#9518) * "offline" verification using the bundle of attestations without any additional handling of the file (#9523) * Drop surplus trailing space char in flag names in web * Remove `Internal` from `gh repo create` prompt when owner is not an org (#9465) * Fix doc typo for `repo sync` * Quote repo names consistently in `gh repo sync` stdout (#9491) * fixed the test * update error message * rename flag to bundle-from-oci * fix the trimming of log filenames for `gh run view` * Check http scheme as well * Fix tests * Always print URL scheme to stdout * udpate the options * addded more test * minor fixed * minor fixed * added test * clean naming * add contain check * refactor the logic and logging * tmp- Update to version 2.55.0: * Add flox to linux installation instructions * Update pkg/cmd/issue/develop/develop.go * Update api/queries_branch_issue_reference.go * add testing * fix behavior for `issue develop -b non-exist-branch` * Describe bucket and state JSON fields in pr checks command * Fix pr checks exit code (#9452) * Add a note about external contributors to `working-with-us.md` * Update attestation TUF root * include required permissions to generate attestations * build(deps): bump github.com/creack/pty from 1.1.21 to 1.1.23 (#9459) * Do not generate build attestations for otherBinWorkflow.yml * Use latest checkout version, generate attestations, and specify go version file input. * Update `gh search issues --project` flag doc to specify `owner/number` syntax * Update `gh search prs --project` flag doc to specify `owner/number` syntax * build(deps): bump actions/attest-build-provenance from 1.4.0 to 1.4.1 * Minor grammatical fix * Add test cases for PGP, SSH and X.509 signatures * Explain why not looking for signature begin marker * Wrap flags with backticks, continued * Replace `--project.*` flags' `name` with `title` in docs (#9443) * Change to requiring bundle v0.2 * Fix tests * Require Sigstore Bundle v0.3 when verifying with `gh attestation` * Change `gh repo set-default --view` to print to `stderr` when no default exists (#9431) * Document that `gh run download` downloads the latest artifact by default * Deduplicate the initialization of editor mode * Update docs/triage.md * Add Acceptance Criteria requirement to triage.md for accepted issues * Add `pr create --editor` * build(deps): bump github.com/google/go-containerregistry * Fix host handling in variable and secret delete * Unify use of tab indent in non-test source files * Update `gh variable get` to use repo host * build(deps): bump actions/attest-build-provenance from 1.3.3 to 1.4.0 * Add Flox as an installation option * Update tests with changes to `gitTagInfo` function * Add example for `--notes-from-tag` * Add test for `gitTagInfo` * Use signature-stripped tag annotation content- Reenable TestGetTrustedRoot test - Update to version 2.54.0: * update test and remove logic to check SourceRepositoryOwnerURI is empty string * update test * minor fix * update test * added * handle attest case insensitivity * Fix missing variable * Use closure-scoped variable to catch `--remove-milestone` option * Use closure-scoped variable to catch `--remove-milestone` option * build(deps): bump github.com/google/go-containerregistry * Verify `--milestone` and `--remove-milestone` are not assignable at the same time * Assert correct parsing of `--remove-milestone` option * Verify `--body` and `--body-file` are not assignable at the same time * Add `--remove-milestone` option * Improve `--remove-milestone` option description * Point to `Editable.MilestoneId` method * build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.4 to 1.4.5 * Update sigstore-go in gh CLI to v0.5.1 (#9366) * Handle `--bare` clone targets (#9271) * Slightly clarify when CLI will exit with 4 * Export databaseId for releases * Alphabetise release json fields * Add test for release view json export fields * Expose fullDatabaseId for PR json export * Add examples for template usage in PR and issue creation * document exit code behavior * Update documentation for gh api PATCH * Exit with 1 on authentication failure * Verify `--milestone` and `--remove-milestone` are not assignable at the same time * Assert correct parsing of `--remove-milestone` option * Add `--remove-milestone` option * Remove unused expected `output` from test case (with `wantsErr: true`) * Verify `--body` and `--body-file` are not assignable at the same time * Remove attestation test that requires being online (#9340) * Remove redundant whitespace- Update to version 2.53.0: * Disable `TestGetTrustedRoot/successfully_verifies_TUF_root` test due to https://github.com/cli/cli/issues/8928 * Fix bsc#1227035 - VUL-0: CVE-2024-6104: gh: hashicorp/go-retryablehttp: url might write sensitive information to log file * Rename package directory and files * Rename package name to `update_branch` * Rename `gh pr update` to `gh pr update-branch` * Add test case for merge conflict error * Handle merge conflict error * Return error if PR is not mergeable * Replace literals with consts for `Mergeable` field values * Add separate type for `PullRequest.Mergeable` field * Remove unused flag * Print message on stdout instead of stderr * Raise error if editor is used in non-tty mode * Add tests for JSON field support on issue and pr view commands * docs: Update documentation for `gh repo create` to clarify owner * Ensure PR does not panic when stateReason is requested * build(deps): bump actions/attest-build-provenance from 1.3.2 to 1.3.3 * Enable to use --web even though editor is enabled by config * Add editor hint message * Use prefer_editor_prompt config by `issue create` * Add prefer_editor_prompt config * Add `issue create --editor` * Update create.go * gh attestation trusted-root subcommand (#9206) * Fetch variable selected repo relationship when required * Update .github/ISSUE_TEMPLATE/bug_report.md * build(deps): bump github.com/hashicorp/go-retryablehttp * Update .github/ISSUE_TEMPLATE/bug_report.md * Add GH_DEBUG to issue template * Add `createdAt` field to tests * Add `createdAt` field to `Variable` type * Add test for exporting as JSON * Add test for JSON output * Only populate selected repo information for JSON output * Add test to verify JSON exporter gets set * Add `--json` option support * Use `Variable` type defined in `shared` package * Add tests for JSON output * Move `Variable` type and `PopulateSelectedRepositoryInformation` func to shared * Fix query parameter name * Update tests to account for ref comparison step * Improve query variable names * Check if PR branch is already up-to-date * Add `ComparePullRequestBaseBranchWith` function * Run `go mod tidy` * Add test to verify `--repo` requires non-empty selector * Require non-empty selector when `--repo` override is used * Run `go mod tidy` * Register `update` command * Add tests for `pr update` command * Add `pr update` command * Add `UpdatePullRequestBranch` method * Upgrade `shurcooL/githubv4`- Update to version 2.52.0: * Attestation Verification - Buffer Fix * Remove beta note from attestation top level command * Removed beta note from `gh at download`. * Removed beta note from `gh at verify`, clarified reusable workflows use case. * add `-a` flag to `gh run list`- Update to version 2.51.0: * Gracefully degrade when fetching annotations fails due to 403 (#9113) * build(deps): bump google.golang.org/protobuf from 1.34.1 to 1.34.2 * build(deps): bump github.com/gorilla/websocket from 1.5.1 to 1.5.2 * Bump go-keyring to fix keepassxc prompt confirmation * build(deps): bump goreleaser/goreleaser-action from 5 to 6 * replaced deprecated --json-result flag with --format=json in the gh at docstring. * build(deps): bump actions/attest-build-provenance from 1.1.2 to 1.2.0 * Specify rpm repository to avoid conflicts with community repositories * Add `signer-repo` and `signer-workflow` flags to `gh attestation verify` (#9137) * Ensure signed RPMs have attestations- Update to version 2.50.0: * Clarify Mac OS Installer packages are unsigned * Build completions during release on macos * Add build provenance for gh CLI releases (#9087) * Add integration tests for `gh attestation verify` shared workflow use case (#9107) * Update readme about MacOS pkg * Remove `v` prefix when `pkgmacos` is called * Integrate argument array to remove duplicate code * build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.3 to 1.4.4 * Added native min os version blocking * Fix distribution.xml + min macos version requirements * Added make macospkg target * Fix directory already exists * Add a `gh variable get FOO` command (#9106) * Add comment to pr diff regex * Update regex in changedFilesNames to handle quoted paths * fix: rename the `Attempts` field to `Attempt`; expose in `gh run view` and `gh run ls` (#8905) * Change minimum build script macOS version * Cleanup pkgmacos build script * Removed redundant specifications * Fix indentation * Undo goreleaser change * feat: add support for stateReason in `gh pr view` (#9080) * Fix indentation * Fix indentation * Indentation fix * Update choice title * Update pkg title * update generated content for man pages and website * williammartin simplifications * remove no-op if clause that returns 'No Aliases' * Conditionalize references, remove redundant alias * list the various alias permutations for the command and subcommands * Remove TODO and add comment on LoginFlow tests * Comment the purpose of the helper config contract * Test git credentials are configured in LoginFlow * Add HelperConfig contract test and FakeHelperConfig * Inject GitCredentialFlow to LoginFlow as test seam * Removed unused param flagDryRun from upgradeFunc * Added summary TTY message to tests * Added TTY message to summarize checking extension upgrades * Add Helper test for Windows * Add tests for gitcredentials Updater * Fix mistaken git installation error check * Move gitcredentials HelperConfig and add tests * Comment the new gitcredentials package * Comment the git credential flow * Remove unnecessary credential setup private method * Use tighter interface in setup-git * Rename gitcredentials Configure to ConfigureOurs * Make gitcredential helper smarter * Move fetching configured helper into gitcredentials * Extract units for configuring and updating git credential helpers * removed tty message * Implement ExportData to filter json fields * fix: rename fields list * feat: add json output for PR checks * Fix doc bug for gh run watch * Fix typo in macOS pkg installer build script * Add macOS pkg installer to deployment- Update to version 2.49.2: * build(deps): bump github.com/sigstore/protobuf-specs from 0.3.1 to 0.3.2 * Add further docs to Option type * Comment further on config changes * Remove unnecessary config list variable * Fix mistaken find and replace for Option type * Fix repo fork to use remote protocol if none configured * Avoid reconstructing config Options on each use * Make config list less fallible * Provide more type safety around config values * Move config interfaces into gh package (#9060) * Fix typos * Creating doc to capture Codespace usage guidance * Fix test function name * Add test to verify JSON fields section is rendered in Markdown * Output `JSON Fields` section in Markdown * Add test to verify JSON fields section is rendered * Add `jsonCmd` test command variable * Output `JSON Fields` section * Output `JSON FIELDS` * Add tests to verify proper `help:json-fields` annotations * Add `help:json-fields` annotation * Add `FormatSlice` function * Add --latest=false example to `release create` command * Update create.go * Add --latest=false to `gh release create` docs- Reenable all tests https://github.com/cli/cli/issues/8928 looks resolved. - Update to version 2.49.1: * Fix `attestation verify` source repository check bug * Fix unused params across project * Add support for jobs with long filenames * Run `attestation` command set integration tests separately * build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 * Adjust short and long to be the same * Do not mutate headers when initialising tableprinter * Document relationship between host and active account- Update to version 2.49.0: * Document repo clone protocol behaviour * whitespace aligment for inspect/inspect.go * whitespace alignment in attestation/attestation.go * Added tweaked note to tuf-root-verify * Tweaked gh attestation help strings to generate nicer cli manual site. * Update attestation's beta designation * Update cli/go-gh to v2.9.0 * Add beta designation on attestation command set * Test `gh at verify -b` does not require auth * Use ghinstance package for attestation host checks * Test cmdutil.IsAuthCheckEnabled cases * Fix issue with closing pager stream (#9020) * Support long URLs in `gh repo clone` (#9008) * check for enterprise host * Add missing title field for projectv2 * Match query fields with `ProjectV2` type * Include `URL` in `ProjectV2` type * Include `projectsV2` in GraphQL query * Remove unnecessary defensive check * Test verification failures when attestations are bad * Rework sigstore tests for easier maintenance * Make error more obvious when bundle has wrong extension * Add colon at the end of secret prompts (#9004) * Use cmdutil.ExactArgs instead of MinimumArgs; also add tests * proof of concept for flag-level disable auth check * remove hidden flag from attestation command (#8998) * Update `gh attestation verify` output (#8991) * Just base verification policy on trusted root, not bundle * Support offline mode for `gh attestation verify` * build(deps): bump google.golang.org/grpc from 1.62.1 to 1.62.2 * `gh attestation tuf-root-verify` offline test fix (#8975) * Update `sigstore-go` dependency to v0.3.0 (#8977) * build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 * Make it clearer that job flag is meant to be an ID * Ignore run-id when providing also job for rerun- Update to version 2.48.0: * Update install_linux.md (#8950) * Remove unnecessary --help comment * Fix `go` directive in `go.mod` (#8956) * Use `filepath.Join` to support different platforms * Run `go mod tidy` * Refactor into table tests * Explain `--skip-ssh-key` usage in long doc * Tidy `go.mod` * Fix cache contention in Go CI jobs * Fix `attestation` cmd offline unit test failure (#8933) * Change subcommands default to be more user friendly * Add unit test, update naming, ensure DSSE envelope is in-toto * Updates from linter feedback * Add support to `attestation` command for more predicate types. * Close zip file in run view tests * Ensure run log cache creates cache dir if it doesn't exist * Test `--skip-ssh-key` is captured correctly * Add test to verify skipped SSH key prompts * Add `--skip-ssh-key` to options * Add `SkipSSHKey` field to `LoginOptions` * Add tests for non-happy field paths * Fix api cache test * Use testify in git url tests * Ensure cache dir is always available in RunLogCache * Remove RunLogCache interface * Use real Run Log Cache in run view tests * Capture error on Run Log Cache Exists * Rework Run Log Cache so that cache dir is injected * Expose CacheDir on Config * Minorly refactor scheme normalization in git ParseURL * Test for parsing error in git ParseURL * Remove naked returns from git ParseURL * Fix parsing IPv6 remote URLs (#8893) * Add codeowners entry for the GitHub TUF root included in the `attestation` command set (#8919) * Add comment to explain `showSelectedReposInfo` assignment * Rename const to avoid CodeQL error * Add tests to verify `numSelectedRepos` is populated when necessary * Populate `numSelectedRepos` only if needed * build(deps): bump google.golang.org/grpc from 1.61.1 to 1.61.2 * Run defers in queue * Resolve PR comments * Wrap JSON arrays, objects in array with --slurp * Resolve PR comments * Clarify --merge-pages docs * Replace --paginate-all with --merge-pages * Resolve test issues * Add more JSON merge tests * Move jsonmerge package to internal * Merge JSON responses from `gh api` * Add tests for `FindByRepo` * Apply suggestions from code review * Improve error message returned by `FindByRepo` * Add test cases to verify exported JSON has non-zero `numSelectedRepos` * Populate `numSelectedRepos` in non-interactive mode, if explicitly selected * Anchor the log filename to the start * Add pr url pattern * Test pr url lock * update example for deeply nested array update * allow multiple items in nested array- Update to version 2.47.0: * Bump go-gh to v2.8.0 and go mod tidy * build(deps): bump github.com/sigstore/protobuf-specs from 0.3.0 to 0.3.1 * Bump glamour to v0.7.0 and go mod tidy * build(deps): bump github.com/google/go-containerregistry * build(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 * build(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 * Rely on go.mod go version in all workflows (#8911) * Upgrade to Go 1.22 (#8836) * build(deps): bump github.com/docker/docker * build(deps): bump gopkg.in/go-jose/go-jose.v2 from 2.6.1 to 2.6.3 * gh-attestation cmd integration (#8698) * fix segfault in `gh repo rename` * Bump go-gh to 2.7.0 * Fix typo in auth switch help example- Update to version 2.46.0: * Include draft ID in project item list JSON (#8754) * build(deps): bump github.com/cpuguy83/go-md2man/v2 from 2.0.3 to 2.0.4 * Document run watch and view not supporting fine grained PATs * Document auth switch behaviour for two or more accounts * Improve discovery of `gh auth status` * grammar: avoid e.g.+etc. together * Fix the description of `gh release upload` * Bump go-keyring to fix race condition * feat: support `dry-run` in gh `pr create` (#8376) * build(deps): bump google.golang.org/protobuf from 1.30.0 to 1.33.0 * fixed doc string * remove repetitive word * Fix breaking test for PR/issue # change * Enhance 2nd round of issue and PR number output * Apply first round of owner/repo#number consistency * fix: format files * feat(merge): add owner/repo in prompt- Update to version 2.45.0: * Bump cli/go-gh v2.6.0 for tenant using GH_TOKEN (#8787) * Support `project view --web` with TTY (#8773) * Handle case: some system set 600 mod for new file. * Clarify helptext for `gh search issues` and `gh search repos` regarding archived repos * Make minor cache list ref flag adjustments * Update incorrect regex comment for client Commits * Use regex to split apart the git client Commit logs * Use null byte separators when fetching comments from git * Add new tests to git client Commits * Remove unnecessary split conditional from client Commits * Extract new test helper for git client Commits * redirect users to the `gh environment` command * Revert "make comments in the default config file more informative" * make comments in the default config file more informative * fixed whitespace * Clarify helptext for search prs regarding archived repos * bug: fixed the result.Operation variable prior to patchRepoVariable being called in the setVariable function. * Remove mainLoop label from garden * feat: Add `ref` option to `gh cache list` * chore: simplify parameter `owner` * Support for `[HOST/]OWNER/REPO` format * Replace `assert` with `require` in testing * Simplify install command for Debian & Ubuntu * Remove `--format` flag and add description for not specifying `--repo` and `--team` flag * Fix printed project number * Support for directory based repo and `GH_REPO` env variable * Change the output of link` and `unlink` * Refactor `OrganizationTeam` * Replace `httpmock` with `gock` in testing * handle flags with `cmdutil.MutuallyExclusive`, and move mutation methods to `queries.go` * fix wording, move conditional blocks to functions, and add api to retrieve the ID of a team * Fix wording * Add testing for link and unlink * Support for team * Support for unlink * Remove support for team * Link Project to Repository or Team Command- Update to version 2.44.1: * Fix PR create regression around title and body when there is only one commit by @williammartin in #8707 - Update to version 2.44.0: * Feature: added Order flag for release list command by @leevic31 in #8632 * autofill with body by @guerinoni in #8423 * Add default values to web manual and man pages by @zsloane in #8395 * build(deps): bump microsoft/setup-msbuild from 1.3.2 to 2.0.0 by @dependabot in #8648 * Documentation for built-in aliases by @Rebeccasun31 in #8367 * Add more detail to fork failure message by @chrisroat in #8614 * feat: Add cache key option to gh cache list by @toshimaru in #8667- Update to version 2.43.1: * Avoid parsing create or update label http response * go mod tidy * Upgrade cli/go-gh to v2.5.0 for home-manager fix * Fix linting error * Parse SSH args before creating the shell * Send activity signals during non-interactive codespace SSH command * build(deps): bump microsoft/setup-msbuild from 1.3.1 to 1.3.2 * Specify refspec to push to the correct branch in the event of a conflicting tag * Update Arch repo to [extra] * added URL for newly created repo (#8574) * build(deps): bump actions/cache from 3 to 4 (#8594) * Add force flag to setup-git command (#8552) * fix: Prevent nil dereference in `pr view`. (#8566) * search repos command add usage example for --archived=false (#8391) * Add --json export flags to release list command (#8474) * Add json export flags to variable list command (#8516) * build(deps): bump actions/download-artifact from 3 to 4 (#8466) * build(deps): bump actions/upload-artifact from 3 to 4 (#8467) * Remove project JSON formatting objects (#8541) * Fix some typos raised by codespell * Add Webi as an option for installation (#8555) * Align devcontainer Go version with go.mod (#8570) * Move create codespace permission opt out behind `else` to fix token permissions * chore: Unify calling gh in examples (#8560) * Mark-up `gh-config` settings with backticks- Update to version 2.42.1: * Add Webi as an option for installation (#8555) * Align devcontainer Go version with go.mod (#8570) * Move create codespace permission opt out behind `else` to fix token permissions * chore: Unify calling gh in examples (#8560)- Update to version 2.42.0: * Prevent downloading releases with assets that match windows reserved filenames (#8517) * Support template, jq flags with standard format flag (#7832) * Mark-up `gh-config` settings with backticks- Update to version 2.41.0: * Update deployment.yml * Update pkg/cmd/browse/browse.go * build(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 (#8473) * Ensure Windows sign script fails based on signtool * Update deployment workflow for final HSM solution * Fix signtool invocation * Fix sign script fail conditions * Fix HSM goreleaser calling sign script * Fix HSM Windows signing * Fix issue sourcing signtool for Windows signing * build(deps): bump github/codeql-action from 2 to 3 * Verify the downloaded zip for `gh run view --log` * Add missing PowerShell file from previous commit * Unify Windows sign process on signtool * Add more help message to browse command- Restore _service to generate changelog- update to 2.40.1: * add Multiple Account Support * fix build after 2024-01-06 * Full changelog https://github.com/cli/cli/compare/v2.38.0...v2.40.1- update to 2.38.0: * `extension install` no longer errors unhelpfully if the extension is already installed * All tables now have headers * `project` commands have a clearer error message when no owner can be resolved * `workflow run` now presents a select for `choice` workflow input types * `codespace create` no longer polls for additional codespace permissions unnecessarily * `go install` now works with the removal of our crypto fork - update to 2.37.0: * `project`: Remove `template` field from `--format=json` output * In v2.34.0 we introduced the `template` field when outputing projects to JSON, unfortunately we forgot to take into account our GHES users. This field does not exist on GHES 3.8 and older. Including this field in our queries and output broke nearly all the `project` commands for users targeting these older versions of GHES. As we try our hardest to keep `gh` compatible with all * non-deprecated GHES versions this was a pretty big mistake. In order to fix it we are reverting the querying and exporting of the `template` field for `project` commands. We apologize for the inconvenience this may cause, and plan to bring back this field once GHES 3.8 gets deprecated. * `repo create`: Allow `--disable-issues` and `--template` flags to be used together * `repo create`: Allow `--homepage` and `--template` flag to be used together * `repo create`: Allow creating repositories from templates in interactive mode * `repo fork`: Set default repo when forking repo * `codespace`: Migrate all Codespaces operations from Live Share to Dev Tunnels * `codespace create`: Poll permission acceptance endpoint on codespace creation * `pr create`: Remove duplicates targets for push survey * `pr create`: Fix typo in documentation * `browse`: Do not use relative paths when `--repo` flag is used- Update to version 2.36.0: * update(run): Use attempt input when fetching jobs (#7831) * Bubble up return value from inner function calls in runEditItem * Update pkg/cmd/pr/create/create.go * pkg/cmd/root: fix startup panic (#8105) * Split clearing item, updating draft item and updating item values into individual functions for better readability; refactor field ID and project ID presence check into a separate function * Document clear flag in long form help as well * Add clear flag usage example * Move field value flag and clear flag exclusivity one level higher up to RunE * Use camelCase for fields * docs: update the details of fill and fill-first * Forward codespace ports over Dev Tunnels * Update triage.md * Support standard output format flags for secret and deploy-key list * docs: update the flag `--fill` docs * Show cancelled checks (#7960) * Return HTTP errors properly for some commands (#8037) * test: Add unit test for cache.ExportData * cache/delete: percent-encode keys * build(deps): bump mislav/bump-homebrew-formula-action from 2 to 3 * Hint adding codespace scope to auth login (#7961) * Tests for the new clear flag * Driveby unrelated update: when both field ID and project ID are missing, specify that it's necessary to update the field value * Introduce clear flag on 'project item-edit' command to remove field value * feat(cache): Add JSON exporting support for cache list- Update to version 2.35.0: * Cleanup release create around new --notes-from-tag flag (#8016) * Document when gh auth login writes oauth token to plain text (#7781) * Show full permissions URL in `gh cs create` (#7983) * build(deps): bump goreleaser/goreleaser-action from 4 to 5 * moved remoteTagExists under if NotesFromTag exists and added three tests * Clarify list repo behavior (#7964) * Reinforce not opening PRs without approval on an issue * Delete local tag when running `gh release delete --cleanup-tag` (#7884) * Add `--all` flag to `alias delete` command (#7900) * Move homebrew bump fork to personal repo * Revert "Add a test workflow for homebrew bump investigations (#7951)" * Add a test workflow for homebrew bump investigations (#7951) * Add `gh release create [] --notes-from-tag`- Update to version 2.34.0: * Use consistent variable naming * `gh status`: show status even if a comment 404s (#7873) * build(deps): bump actions/checkout from 3 to 4 (#7937) * rename template to mark-template cmd (#7923) * Simplify mock jobs response * Use "Link" header for pagination completion check * Fix pagination resp with "Link" header * Refactor GetJobs to use RESTWithNext * Add formula-path to homebrew-bump step (#7930) * Add JSON output flags to workflow list command (#7902) * fix tests * no other descriptions have a period * mark and unmark project as template * Add config clear-cache command (#7693) * Allow --disable-wiki flag with --template flag in repo create command (#7886) * Reword token invalid message (#7906) * 🐛 (repo create)execute clone when readme option is enabled (#7837) * Use go-gh prompter package (#7896) * pr checks return distinct exit code for PENDING checks (#7866) * Properly rename remote for GHES hosts (#7890) * Add verbose flag to api cmd (#7826) * Fix up Nix installation instructions (#7891) * Fetch all jobs on a gh view run --json- Update to version 2.33.0: * codespace: Handle HTTP request retry interruption (#7846) * linter appeasement * delete prompt package * prompter for milestone * prompter for projects * use prompter for labels * prompter for assignees * prompter for reviewers * use MultiSelect for metadata survey in pr, issue create * use prompter in shared editable code * linter appeasement * linter appeasement * prompter for milestone * prompter for projects * use prompter for labels * prompter for assignees * prompter for reviewers * use MultiSelect for metadata survey in pr, issue create * use prompter in shared editable code * use prompter in issue delete * use prompter in secret set * fix RegisterPassword * use new prompter in repo fork * switch to prompter in workflow commands * Upgrade to Go 1.21 (#7843) * Remove GHE handling for `workflow` scope (#7841) * Add clobber flag to `alias set` (#7787) * pass prompter around instead of opts * Add missing "ls" aliases to list commands (#7818) * Allow --org parameter in lieu of a repo context for rulesets, add current_user_can_bypass to rs view (#7747) * test for forking in org * strip more dead code * port more prompts and cover with new tests * remove dead code * finish porting existing tests * Codespaces: Use the host name from the logged in server for commands (#7795) * Update CONTRIBUTING.md * WIP porting repo edit to opts.Prompter * name MultiSelect parameters in interface * switch to Prompter.MultiSelect * Use filepath.Base to sanitize path for archive downloads (#7805) * `release create`: Trim spaces on interactive tag name input (#7759) * Do not allow issue and pr templates to be symlinks (#7756) * Allow deleting of local branch after merging cross repo PRs (#7709)- Update to version 2.32.1: * Use asciisanitization package from go-gh (#7745) * Do not make reviewer update request if there are no reviewer changes (#7730) * Fix pr checks command for GHES versions older than 3.9 (#7725) * Use filepath.Clean to sanitize path for archive downloads (#7720) * Sanitize file contents before displaying them (#7694) * Do not add auth token to redirect requests which do not have the same host as the inital request. (#7692)- Update to version 2.32.0: * add gh cache to Actions explainer * Clean up style nits and simplify some logic * fix typo * remove stray print * docs: example of setting multiple vars using stdin * Add --branch-repo flag * Add --verify-tag to release edit command (#7646) * make IDs cyan, add prompter test * Do not interpret "branch" placeholder in `api` command when `GH_REPO` is set (#7626) * Always show created gist privacy status. (#7645) * Use SmartBaseRepoFunc for api command (#7594) * Add check description to pr checks output (#7451) * fix pr create crash on interactive milestone selection * build(deps): bump google.golang.org/grpc from 1.49.0 to 1.53.0 * split org/repo graphql queries, better tests * refactor graphql query a bit * add rs check tests * fix merge errors * misc cleanup * add ruleset check command * initial view tests * list test updates * update bypass response and parents logic, tests * update tests, add rules to view command * interactive ruleset selection, move shared logic * gracefully handle missing admin:org scope * don't allow both --repo and --org, add docs * split ruleset types by API type * allow getting parents, move list to shared package * basic ruleset view works * updates, initial list test * refactor and support org rulesets * GQL query works but it's messy * wip * start on rs list * start writing up structs for rules API payloads * WIP compute branch, call API * start on gh rs * build(deps): bump github.com/henvic/httpretty from 0.1.1 to 0.1.2 (#7657) * Rewrite issue develop command to fix numerous issues * Ensure gist edit request body matches desired schema (#7635) * Automatically fetch new branches created with issue develop (#7589) * Support --server-port behavior with conn details * Update httpretty to released version (#7654) * gh run cancel needs input validation * Add tenancy support (#7636) * Add title to iteration and milestone fields for projects (#7621) * Change how remotes are treated during `pr create` when repo is forked (#7330) * Small tweaks to auth refresh remove-scopes and reset-scopes flags (#7631) * Don't deduplicate checks that stem from different events (#7618) * Add cli test to remove multiple scopes at once * Refactor as per review * Fix commit order * Add test for fill first flag * Add fill-first option to create pr * Add option to remove file from gist (#7560) * Remove old code paths and improve code comments for repo sync (#7610) * Early exit repo sync if merge-upstream requires workflow scope * Add remove/reset to auth refresh * typo * create cache commands * Return error on no-browser option if repo don't exists- Remove obsolete constructs from spec file- Update to version 2.31.0: * Add timeouts to keyring operations (#7580) * Alphabetically sort labels for `pr/issue view` (#7587) * output URL on project commands (#7578) * refactor: nest if (#7596) * Fix alias import clobber flag (#7569) * Fix error handling for extension and shell alias commands (#7567) * chore: pkg imported more than once (#7591) * Added wantErrOut property * Speed up listing extensions by lazy-loading extension information when needed (#7493) * build(deps): bump github.com/AlecAivazis/survey/v2 from 2.3.6 to 2.3.7 * Set upstream remote to track all branches after initial fetch (#7542) * api: output a single JSON array in REST pagination mode (#7190) * Introduce `gh project` commands (#7375) * fix tests * fix test * :nail_care: json export * fixed a type * Codespaces view command updates * build(deps): bump github.com/cli/go-gh/v2 from 2.0.0 to 2.0.1 * Use homebrew fork in cli org and update token * Change site deployment ssh key to PAT * Resolve tests/lint errors * update gh auth status to write to stdout on success * Remove unused linter flag * Replace SurveyAskOne with Prompter * Add gist selector option to gist edit command * Improve docs around run rerun job flag (#7527) * Support viewing logs for jobs with composite actions * Fix bash completions for extensions and aliases * fix: Allow aliases to recognize extended commands (#7523) * force method to uppercase (#7514) * api: support array params in GET queries (#7513) * Fix flaky test * Remove unused type * Add test * Fix linting error * Don't display retention period if 0 days * Address comments * Update fields to show * Check if running in a codespace * Add gh cs view command * fix tests * Print empty line between file headers * :nail_care: improve code search output * incorporate code review feedback * remove empty line * change highlight color * adopt changes to User * implement code search- Update to version 2.30.0: * build(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 * Do not generate docs for aliases (#7497) * Speed up gh start up time (#7487) * fix: apply latin matching filter to more fields * Allow creating of nested aliases (#7457) * fix variable name * Add cmd test for pr status with counts by state * Reorder Check and Status States enums variants alphabetically * Use go enums for status and check status graphql enums * Remove unused emptyIntrospectionFor test helper * Avoid setting status check rollups when user supplies fields * Rework state parsing for CheckRuns and StatusContexts * Split CheckRunState and StatusState parsing * Use two queries in one request for PR feature detection * go generate * switch to []int return for multiselect * Updated to sanitize asset filename prior to uploading. Fixes #7024 * Remove unused prInstrospection fixture * Inject fake detector into PR status tests * Move CheckRunAndStatusContextCounts feature detection up stack * Use pseudo field for statusCheckRollupWithCountByState * build(deps): bump github.com/mattn/go-isatty from 0.0.18 to 0.0.19 * Clarify docs regarding what is listed when running gh workflow list * Update browser package to avoid Windows crash * Update triage.md with severity descriptions * build(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 * Implement initial spike for detecting and using counts by state * Short circuit status check GQL introspection for GitHub.com * Add support for detecting status and check counts in GQL * Implement parsing and counting of PR checks using new GQL fields * build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 * Remove old, unused detector fields (#7458) * Fix windows crash by bumping wincred * Avoid using named return in PR ChecksStatus * Add some comments to PR ChecksStatus * Add some further test coverage around PR ChecksStatus * Do not fall back to legacy template if template selector returns nil (#7444) * Mention setting GH_ENTERPRISE_TOKEN * survey: fix color contrast of default values in prompts (#7354) * respect GH_REPO env variable in `pr create` * Allow `gh repo set-default --view` without repo argument (#7441) * Introduce helpTopics type and reduce duplication across commands (#7414) * linter appeasement * use new prompter in run download * implement multi select support for prompter * delete PromptForRun * golf * use new prompter in run watch * use new prompter in run rerun * use new prompter in run cancel * use new prompter in run view- Update to version 2.29.0: * Fix label assets * Fix release guard for deployment workflow * Print message after codespace deletion (#7353) * Include auto-merge information in gh pr view (#7385) * Include auto-merge information in gh pr status (#7386) * Make: Fix target name for Windows platform (#7370) * New deployment workflow * Add progress labels for `gh release download` (#7380) * Add PR auto-merge status info to PR queries (#7384) * fix empty default description for local repository (#7383) * Add `alias import` command (#7118) * Fix shellcheck bugs in generate.sh (#7392) * Add capability to filter codespaces by repo owner (#7347) * Fix Makefile compatibility with macOS- Update to version 2.28.0: * New deployment workflow * Pretty-print JSON results of jq filtering (#7236) * gh: move `CODEOWNERS` inside the `.github/` dir (#7366) * feat: add visibility field (#7337) * Edit multiple issues, PRs in parallel (#7259) * add `--created` flag to `gh run ls` to filter listed runs by when they were created (#7352) * add `--event` flag to `gh run ls` to filter runs by their trigger * Diacritics substitution in prompt (#7205) * Correct some typos * Fix `gh cs ports` requiring `sudo` for privileged port numbers (#7326) * Initialize deployment.yml workflow file * Clarify how SSH keys are selected (#7325) * build(deps): bump github.com/cenkalti/backoff/v4 from 4.2.0 to 4.2.1 * fix: normalize hostname for auth login (#6999) * Update go-gh to v2 (#7299) * Fix typo in `cs stop` command: `Stoppping` -> `Stopping` (#7318) * feat: add web flag for codespace list & create subcommand (#7288) * Enable owner flag to take multiple values for searching * Move completions generation from goreleaser to Makefile * Generate completion scripts for bundling in rpm and deb on release * Add `-R` as shorthand of `--repo` flag for search commands (#7274) * Fix invoker immediately closing * add "showing x of y organizations" header * Enhance ssh-key list to show signing ssh keys also * Add option to add ssh singing key * extend secure storage default to auth refresh * fix apparent typo * add --insecure-storage and make secure storage the default * fix: make number arg, commit arg, and flags mutually exclusive (#7268) * Additional help doc and example for auth setup-git (#7243) * docs: add commit SHA arg to gh browse help (#7267) * feat: add gh org list * move SSH key errors out of upload function * don't parse key bytes twice * lint fixes * cleanup * feat(run): add new delete command * Improve Amazon Linux install instructions * check SSH key existence before uploading * Fix typo in README.md * Autocomplete branch flags (#6031) * Resolve lint error * Specify branch to force exit code * Retry fetching repo from template * improve test resiliency * feat: allow filtering workflow runs by statuses * repo list: add test for invalid owner error * repo sync: clearer error message with actionable hint (#7110) * fix: throw error for non-existing org / repo with non-zero status in repo list (#7240) * refactor: use net/url JoinPath * refactor: set the default case first * fix: change MaximumNArgs from 2 to 1 in run view.go * Add `--template` flag for issue create and pr create (#7185) * Add a `--fail-fast` option to `pr checks --watch` (#7203) * docs: revise GH_CONFIG_DIR content in help_topic.go (#7230) * feat: add tests for attempt flag * feat: include attempt in getRunLog * refactor: don't show latest attempt * feat: append attempt number in returned run url * feat: pass latest attempt to RenderRunHeader for watch * feat: add attemptLabel to RenderRunHeader * feat: pass attempt to RenderRunHeader * feat: update GetRun path based on attempt * feat: pass 0 to fetch latest attempt * feat: add attempt flag to run view * refactor: revise errMsg in rename_test.go * refactor: remove unnecessary validations * refactor: use ExactArgs instead of MaximumNArgs * refactor: change from [] to {} * Properly handle closing files that have been writen to (#7199) * Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 (#7217) * feat: gist rename test * variable: fix listing and deleting variables in an environment (#7207) * Support ext install --force (#7173) * use Prompter for `pkg/cmd/repo/archive` (#7083) * fix: revise test cases in TestNewCmdRename in rename_test.go * feat: add FlagErrorf for missing flag cases * feat: TestNewCmdRename for gist rename * refactor: remove unused code * Replace deprecated command with environment file * Skip checking keyring for token in certain scenarios (#7169) * feat: add gist rename logic * feat: add gistRenameCmd to gist.go * Added apt update command to linux install docs. * Bump actions/setup-go from 3 to 4 (#7177) * Fix multiword keyword quoting for search commands (#7170) * Fixes #455 - Hide "current branch" for pr status --repo * Tech debt cleanup for variable and secret commands (#7151) * Only replace control sequences (#7168) * Dont follow redirects on repo delete (#7106) * Add variable delete command (#6929) * Add variable list command (#6995) * Add variable set command (#6928) * Clarify `gh auth refresh` command behavior (#7132) * Make repo sync git fetch authenticated (#7139) * Improve documentation and consistency of the `--commit` flag for `gh browse` command (#7105) * Use transform.Transformer interface for ascii sanitization (#7117) * use t.Cleanup(m.Verify) * fix bug with Prompter.MultiSelect * new tooling for assertions about prompting * config get: support getting oauth_token from keyring * codespace ssh: fix "connection reset by peer" * Manually get current user name rather than use api client (#7114) * pr diff: sanitize control characters for terminal output * Bump github.com/gabriel-vasile/mimetype from 1.4.1 to 1.4.2 * Make auth refresh more convenient with secure storage (#7098) * Fix delete tests * Match return style * Fix build errors * Properly handle C1 control sequences (#7079) * Introduce GH_PATH environment variable (#7025) * Use default host for auth token command if a hostname is not provided (#7094) * Always open new vscode window in `gh cs code` (#7092) * fix: correctly set `ErrNotOnAnyBranch` error in git client (#7082) * Standardize retry mechanism (#7027) * Update working-with-us.md * use new cfg.Authentication() * Include new line after existing fork error log (#7030) * Cleanup config.AuthToken and config.DefaultHost methods (#7049) * Add ability to store tokens in encrypted storage (#7043) * Refactor Config interface in preperation for encrypted token storage (#7033) * feat: add open num hash to browse command * Add `--repo` filter to more `gh codespaces` commands (#6669) * Update golang.org/x/net package (#7026) * Retry `git clone` on git clone failure in `gh repo fork --clone` (#6962) * use prompter for pkg/cmd/repo/unarchive * add command gh repo unarchive * Enable darwin arm64 builds in goreleaser (#4435) * Allow retrieving `projectItems` in JSON and allow adding/removing user owned projects (#7007) * Allow adding named gpg keys (#6993) * Adopt in delete.go * Rename f to run * Adopt in stop.go * Adopt in ssh.go * Adopt in ports.go * Adopt in list.go * Adopt in edit.go * Adopt in delete.go * Adopt in create.go * Move helper to iostreams * feat: add `--releases` option to `gh browse` (#6996) * Fix set-default interactive not showing all remotes (#6969) * Add visibility warning to repo edit (#6980) * Avoid implicitly fetching when adding a new git remote (#6990) * Teach gh cs create to use current repo as default (#6596) * Disallow update checker delaying the gh process (#6978) * Default to authenticated user on codespace delete (#6944) * Support Fork with Default Branch Only * Disable gh update checker in our precompiled binaries * GH_DEBUG: fix api logging not corrupting response bodies * secret set: enable multiline values when reading from .env file * Fix panic in ASCII sanitization (#6956) * Bump microsoft/setup-msbuild from 1.1.3 to 1.3.1 * Fix adding/removing projects using flags for edit commands (#6955) * include readme viewing in small help * longer small help * Bump github.com/cli/oauth from 1.0.0 to 1.0.1 * Sanitize ANSII control characters returned from the server (#6916) * Special case setting dependabot org secrets (#6941) * fix tests * WIP fixing tests * Change uint8 to uint64 to hold job with more than 255 run attempts (#6935) * Use int64 repository IDs for Codespaces user secrets * Fix ignoring ProjectsV2-specific errors for GHES * WIP: fixing tests * update doc * TODOs * clean up command screen * fix silencing git output * remove unused args from installGit * WIP on using pages * clean up some key handling * Rename `--confirm` flag to `--yes` for various destructive commands (#6915) * Fix race conditions in invoker_test (#6905) * Add `--reviewer` flag completion (#6873) * repo delete: change confirmation flag to `--yes` (#6911) * show token scopes on auth status (#6546) * Add notes about project scope to various commands (#6907) * Add `gh repo edit --enable-discussions` (#6903) * Bump the oauth library (#6885) * Fix flakey TestUpdateProjectV2Items (#6909) * extension create: make initial commit (#6833) * Warn against Windows absolute path when using `gh api` (#6895) * Codespaces create: Fix missing billable owner notice for individuals (#6891) * Linter and comment * Close port forward writer on reader * Add projectsV2 support to issue create, issue edit, pr create, and pr edit (#6735) * Use gRPC client to notify codespace of activity (#6870) * Fix `mergedBy` JSON export for PRs * Fix JSON payload for PR review author * repo set-default: support bare git repos * Use AuthToken function to retrieve AuthToken instead of GetOrDefault (#6878) * Migrate search commands to new table printer and add headers (#6869) * Add `search commits` command (#6817) * Use progress runner a few times * Add generic progress runner * Fix spinner on error * Start SSH server with gRPC * avoid panic when bad default given to Select * Rebuild container using gRPC client * link from readme * add intake document * Remove unused token field * Fix typo in has_uncommitted_changes for codespaces (#6812) * Address comments * Create `Invoker` object * Fix linting error and cleanup error messages * Create centralized Codespaces RPC invoker * Handle erase operation in auth git-credential command (#6805) * tweak selection * select base repo correctly when only one remote * Bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17 (#6794) * docs: update codespace installation instructions (#6781) * Bump github.com/gdamore/tcell/v2 from 2.5.3 to 2.5.4 * Fix fetching issue/PR comments * downgrade ubuntu to fix osslsigncode * Avoid sending empty JSON body when no params to api command (#6775) * Supported passing nested JSON arrays/objects to api command via fields (#6614) * Group PR, release, and repo subcommands * finish tests * WIP all but relocking * stub out rest of tests * todos * WIP tests * WIP on tests * Split issue commands into "General" vs. "Targeted" * further WIP * WIP on adding tests, add prompt, tweak things * Allow setting codespace display name during create (#6739) * wip: tweak output, update to Prompter, start on tests * error instead of prompt when no base repo + fixes * final bit of feedback * use factory git client * rename command and fix tests * tweak wording * Update git/client.go * WIP on single column support * Fix release assets upload retry logic * release create: clean up leftover draft release on upload/publish failure * Improve looking up draft releases by tag name * Fix API client code docs * freeze input when help active * use Pages to render help * these were bad * move help to its own window * Change alias list output format to YAML (#6603) * add more to usage * tweak UX and switch to prompter * tests pass * Fix clobbering old files in release download (#6694) * Bump goreleaser/goreleaser-action from 3 to 4 * Flags instead of PersistentFlag * linter * Use -R for --repo shorthand and deprecate -r * Go 1.19: fix comment formatting for moq-generated mocks * bump golangci-lint * bump safeexec for 1.19 fix * Linter fixes (#6722) * Bump goreleaser * Update to Go 1.19 * docs: Update installation instructions for WinGet (#6716) * port release command to prompter * Add `isDraft` to `search prs` json options, matching `pr view` (#6704) * export is_bot from issue list * export is_bot in issue/pr search * Add `--allow-update-branch` to the `repo edit` command * Use new domain for forwarded ports * Show version diff when updating a single extension (#6647) * Add support to exclude pre-releases from release list (#6625) * Prompt for owner when interactively creating repos (#6578) * Exclude the current user from reviewers when creating pr (#6464) * fix test * Document installing GitHub CLI in Codespaces * Expose commit OID in PR reviews JSON export * Bump mislav/bump-homebrew-formula-action from 1 to 2 * Avoid duplicate remote tag lookups * Clarify --verify-tag flag description * Add --verify-tag flag for release creation command * Update go-gh to v1.0.0 (#6618) * Authenticate network git commands (#6541) * Fix up bindir for new version of goreleaser (#6621) * Set fetch depth for goreleaser to work properly * Fix commands that use iostreams RefreshScreen (#6607) * Update goreleaser so we can release ARM64 binaries for windows (#6605) * Revert "Fix `repo list` when belonging to org with IP Allow list enabled" * Use git client in extension manager (#6547) * Group issue commands into general vs. additional * go mod tidy * Fix SECURITY.md * Create SECURITY.md * Allow accessing Cobra built-in doc generation features * Remove the feedback section from gh help * Migrate to the new Cobra command grouping feature * Bump Cobra * use Prompter in pr merge * use Prompter in Commentable * use Prompter in template manager * use Prompter in pr create * Test reasonsMap construction * Implicitly return the nil value when no lock reason given * Alphabetize fields * Update comments * Remove direct calls to graphql library * Use strings.Cut * Backport strings.Cut * Refactor code to live inside default pkg * default lint fix * lint test update * fixing lint and formatting * Created more test cases, added in env section * beginning testing * deleted scratch pad of commit * thinking of a better solution, wip. BaseRepo() might be better split up * headed in the right direction. Needs tests and to be cleaned up. This is a working example of the teams design combined with https://github.com/cli/cli/pull/4859#issuecomment-1012776582 * created `gh config base` a way to configure the base repo * Add failure icon * Restructured switch statement * Polished things * Polished error message * Use `if/else if` on error checking * Remove opts.PadlockState * Skip unlock api call if already unlocked * Remove opts.PadlockState * Refactor things * Modify documentation if called from issue or pr * Get graphql queries and mutations working * Rearrange * Add lock-related values to issue * Map parent commands to typenames * Export return values for Issue.Typename * Other changes * Added lock subcommands to pr command * Draft first design * Stub out files for lock command * Add author information in `pr list` JSON output- Update to 2.26.1 https://github.com/cli/cli/releases/tag/v2.26.1 What's Changed * extend secure storage default to auth refresh by @vilmibm in #7278 - Update to 2.26.1-pre0 https://github.com/cli/cli/releases/tag/v2.26.1-pre0 What's Changed * extend secure storage default to auth refresh by @vilmibm in #7278 - Update to 2.26.0 https://github.com/cli/cli/releases/tag/v2.26.0 Important: credentials now stored securely by default When running gh auth login, your credentials will now be stored in your operating system's credential storage instead of directly on disk. In other words, --secure-storage is now default behavior. We've added a new flag, --insecure-storage, to opt into the old insecure behavior in case you need to debug an issue with credential storage. As before, to take advantage of credential storage, please re-run gh auth login. For more context, you can read the v2.24.0 release notes Ref: secure storage by default by @vilmibm in #7276 Other new features * Allow filtering workflow runs by status by @alex-petrov-vt in #7249 * Gist rename by @wingkwong in #7212 * Add a --fail-fast option to pr checks --watch by @benjlevesque in #7203 * Add --template for issue and PR by @guerinoni in #7185 * gh run view --attempt by @wingkwong in #7232 * utocomplete branch flags by @bchadwic in #6031 Bugfixes * Make number arg, commit arg, and flags mutually exclusive by @kkocha in #7268 * Check SSH key existence before uploading by @vaindil in #7246 * Throw error for non-existing org / repo with non-zero status in repo list by @wingkwong in #7240 Docs and development changes * Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 by @dependabot in #7217 * Properly handle closing files that have been writen to by @samcoe in #7199 * Added apt update command to linux install docs. by @srgk26 in #7186 * Revise GH_CONFIG_DIR content in help_topic.go by @wingkwong in #7230 * Refine the Makefile file so that it can do the basic work by @cubxxw in #7228 * Clearer message with actionable hint for repo sync by @macmacbr in #7110 * Fix typo in README.md by @SonicGDX in #7244 * Retry fetching repo from template by @heaths in #7080 * Repo list: add test for invalid owner error by @mislav in #7241 * Improve Amazon Linux install instructions by @mislav in #7252 * Add commit SHA arg to gh browse help by @kkocha in #7267 * Additional help doc and example for auth setup-git by @kkocha in #7243 - Update to 2.26.0-pre0 https://github.com/cli/cli/releases/tag/v2.26.0-pre0 What's Changed * Bump github.com/mattn/go-isatty from 0.0.17 to 0.0.18 by @dependabot in #7217 * Properly handle closing files that have been writen to by @samcoe in #7199 * feat: gist rename by @wingkwong in #7212 * Added apt update command to linux install docs. by @srgk26 in #7186 * docs: revise GH_CONFIG_DIR content in help_topic.go by @wingkwong in #7230 * add a --fail-fast option to pr checks --watch by @benjlevesque in #7203 * Add --template for issue and PR by @guerinoni in #7185 * Feature(Fixes #7229) : Refine the Makefile file so that it can do the basic work by @cubxxw in #7228 * feat: gh run view --attempt by @wingkwong in #7232 * fix: throw error for non-existing org / repo with non-zero status in repo list by @wingkwong in #7240 * issue-6910 clearer message with actionable hint for repo sync by @macmacbr in #7110 * Autocomplete branch flags by @bchadwic in #6031 * Fix typo in README.md by @SonicGDX in #7244 * Retry fetching repo from template by @heaths in #7080 * repo list: add test for invalid owner error by @mislav in #7241 * feat: allow filtering workflow runs by status by @alex-petrov-vt in #7249 * Improve Amazon Linux install instructions by @mislav in #7252 * Check SSH key existence before uploading by @vaindil in #7246 * docs: add commit SHA arg to gh browse help by @kkocha in #7267 * Additional help doc and example for auth setup-git by @kkocha in #7243 * fix: make number arg, commit arg, and flags mutually exclusive by @kkocha in #7268 * secure storage by default by @vilmibm in #7276- Update to 2.25.1 https://github.com/cli/cli/releases/tag/v2.25.1 What's Changed * variable list: fix api path by @rsteube in #7207- Update to 2.25.0 https://github.com/cli/cli/releases/tag/v2.25.0 What's New * New suit of commands for working with Repository and Organization variables - variable set by @atirikt in #6928 - variable list by @atirikt in #6995 - variable delete by @atirikt in #6929 * ext install: Introduce new --force flag by @heaths in #7173 What's Changed * browse: Improve documentation and consistency of the --commit flag by @alex-petrov-vt in #7105 * repo sync: Ensure git fetch is always authenticated by @samcoe in #7139 * repo delete: Don't delete repos that have transfered ownership by @samcoe in #7106 * auth: Skip searching keyring when checking for environment tokens by @benjlevesque in #7169 * auth refresh: Improve documentation of --scopes flag behavior by @alex-petrov-vt in #7132 * pr status: Hide "current branch" when using --repo flag by @jtpetty in #7180 * repo archive: Change to use Prompter package by @Ruminateer in #7083 * search: Fix multiword keyword quoting by @samcoe in #7170 * Replace deprecated command with environment file by @jongwooo in #7195 * New prompt testing utility by @vilmibm in #7116 * Use transform.Transformer interface for ascii sanitization by @samcoe in #7117 * Only replace control sequences by @samcoe in #7168 * Tech debt cleanup for variable and secret commands by @samcoe in #7151 * Bump actions/setup-go from 3 to 4 by @dependabot in #7177 - Update to 2.25.0-pre0 https://github.com/cli/cli/releases/tag/v2.25.0-pre0 What's New * New suit of commands for working with Repository and Organization variables * variable set by @atirikt in #6928 * variable list by @atirikt in #6995 * variable delete by @atirikt in #6929 * ext install: Introduce new --force flag by @heaths in #7173 What's Changed * browse: Improve documentation and consistency of the --commit flag by @alex-petrov-vt in #7105 * repo sync: Ensure git fetch is always authenticated by @samcoe in #7139 * repo delete: Don't delete repos that have transfered ownership by @samcoe in #7106 * auth: Skip searching keyring when checking for environment tokens by @benjlevesque in #7169 * auth refresh: Improve documentation of --scopes flag behavior by @alex-petrov-vt in #7132 * pr status: Hide "current branch" when using --repo flag by @jtpetty in #7180 * repo archive: Change to use Prompter package by @Ruminateer in #7083 * search: Fix multiword keyword quoting by @samcoe in #7170 * Replace deprecated command with environment file by @jongwooo in #7195 * New prompt testing utility by @vilmibm in #7116 * Use transform.Transformer interface for ascii sanitization by @samcoe in #7117 * Only replace control sequences by @samcoe in #7168 * Tech debt cleanup for variable and secret commands by @samcoe in #7151 * Bump actions/setup-go from 3 to 4 by @dependabot in #7177- Update to 2.24.2 https://github.com/cli/cli/releases/tag/v2.24.1 What's Changed * codespace ssh: fix "connection reset by peer" by @mislav in #7120- Update to 2.24.1 https://github.com/cli/cli/releases/tag/v2.24.1 What's Changed * Fix progress indicator bug with generic RunWithProgress function by @jungaretti in #6848 * auth login: Fix retrieving current login name when pasting auth token @samcoe in #7114 - Update to 2.24.0 https://github.com/cli/cli/releases/tag/v2.24.0 What's Changed * repo fork: retry git clone on git clone failure by @jsoref in #6962 * repo fork: add newline after printing error about existing fork by @digitalfu in #7030 * codespace: add --repo filter to more commands by @cmbrose in #6669 * codespace code: always open new VS Code window by @cmbrose in #7092 * pr diff: sanitize control characters for terminal output by @mislav in #7108 * browse: use --commit flag to browse commit SHAs containing only digits by @yanskun in #7038 * pr status: fix when on a detached HEAD by @alex-petrov-vt in #7082 * auth token: respect GH_HOST if a hostname is not provided by @samcoe in #7094 * Address Projects bugs by @samcoe in #7007 * Properly handle C1 control sequences by @samcoe in #7079 * Cleanup logic to retry on failure by @samcoe in #7027 * Cleanup config.AuthToken and config.DefaultHost methods by @samcoe in #7049 * Bump golang.org/x/net package by @samcoe in #7026 * Bump github.com/gabriel-vasile/mimetype from 1.4.1 to 1.4.2 by @dependabot in #7107 * Update working-with-us.md by @vilmibm in #7077 What's New * Option to store gh access token in system encrypted storage The gh auth login and gh auth refresh commands gained the new --secure-storage flag. In this mode, the access token that GitHub CLI uses for GitHub API requests will now be stored in the system keyring instead of in the plain text config file. To migrate as an existing GitHub CLI user, re-authenticate like so: gh auth refresh --secure-storage -h github.com Depending on your system, you could get an interactive prompt to allow the CLI tool to access the system keyring. The systems that are supported are: * Keychain on macOS * GNOME Keyring on Linux (Secret Service dbus interface) * Wincred on Windows Please note: This feature is currently opt-in, but will become the default in the near future. If none of the system storage providers are found, or the store operation fails, the token will be written to the config file as before. Using this feature could result in Go extensions breaking if they were not updated to the latest go-gh version. If extensions you are using no longer work after migrating your token to secure token storage, please report the issue to that extension's repository. Storing tokens in system keyring most likely won't work in “headless” environments. Other additions * Add option to store credentials in OS keyring by @samcoe @mislav in #7033 #7043 #7098 * browse: add --releases option by @owenvoke in #6996 * Add gpg-key add --title to name GPG keys by @rpadaki in #6993 * Add command gh repo unarchive by @Ruminateer in #7003 * Add macOS arm64 prebuilt binaries by @beret in #4435 * Introduce GH_PATH environment variable by @samcoe in #7025- Update to 2.23.0 https://github.com/cli/cli/releases/tag/v2.23.0 What's New * repo fork: Add --default-branch-only flag by @jsoref in #6983 * repo edit: Add visibility warning by @tuananhlai and @samcoe in #6980 What's Changed * secret set: Fix setting Codespaces user secrets by @joshmgross in #6923 * secret set: Fix setting Dependabot org secrets by @samcoe in #6941 * secret set: Fix multiline values when reading from .env file by @mislav in #6932 * run: Fix integer overflow error when more than 255 run attempts by @samcoe in #6935 * extension browse: Improve usability and accessibility by @vilmibm in #6584 * issue/pr edit: Fix adding/removing projects using flags by @samcoe in #6955 * codespace delete: Default to authenticated user by @luanzeba in #6944 * codespace create: Default to using current repo by @rneatherway in #6596 * repo set-default: Fix interactive mode not showing all remotes by @despreston in #6969 * GH_DEBUG: Fix API logging corrupting response bodies by @mislav in #6976 * Avoid implicitly fetching when adding a new git remote by @mislav in #6990 * Sanitize ANSII control characters returned from the server by @samcoe in #6916, #6956 * Disable gh update checker in our precompiled binaries by @mislav in #6977 * Disallow update checker delaying the gh process by @mislav in #6978 * Bump github.com/cli/oauth from 1.0.0 to 1.0.1 by @dependabot in #6948 * Bump microsoft/setup-msbuild from 1.1.3 to 1.3.1 by @dependabot in #6973- Update to 2.22.1 https://github.com/cli/cli/releases/tag/v2.22.1 * Fix gh issue edit and gh pr edit for GitHub Enterprise Server by @mislav in #6921 * Add --reviewer flag completion by @benjlevesque in #6873 * Rename --confirm flag to --yes for various destructive commands by @damiensedgwick in #6915 * Fix race conditions in invoker_test by @cmbrose in #6905- Update to 2.22.0 https://github.com/cli/cli/releases/tag/v2.22.0 * Fix typo in has_uncommitted_changes for codespaces by @jkeech in #6812 * Create centralized Codespaces RPC invoker by @dmgardiner25 in #6657 * avoid panic when bad default given to Select by @vilmibm in #6831 * Rebuild container using gRPC client by @dmgardiner25 in #6830 * Start SSH server with gRPC client by @dmgardiner25 in #6838 * Add search commits command by @kevhlee in #6817 * Migrate search commands to new table printer and add headers by @samcoe in #6869 * Use AuthToken function to retrieve AuthToken instead of GetOrDefault by @samcoe in #6878 * Use gRPC client to notify codespace of activity by @dmgardiner25 in #6870 * intake doc by @vilmibm in #6815 * Fix JSON payloads for PR reviewers, mergedBy by @mislav in #6881 * repo set-default: support bare git repos by @mislav in #6880 * Continue projectsv2 support by @qoega in #6735 * Codespaces create: Fix missing billable owner notice for individuals by @RyanJamesCaldwell in #6891 * Half close port forwarding connections to fix hangs by @cmbrose in #6888 * Warn against Windows absolute path when using gh api by @kevhlee in #6895 * make a commit on extension create by @mntlty in #6833 * Fix flakey TestUpdateProjectV2Items by @mislav in #6909 * Bump the oauth library by @mislav in #6885 * Add gh repo edit --enable-discussions by @azu in #6903 * Add notes about project scope to various commands by @samcoe in #6907 * show token scopes on auth status by @mntlty in #6546 * repo delete: change confirmation flag to --yes by @damiensedgwick in #6911- Update to 2.21.2 https://github.com/cli/cli/releases * docs: update codespace installation instructions by @levenleven in #6781 * Bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17 by @dependabot in #6794 * Bump github.com/gdamore/tcell/v2 from 2.5.3 to 2.5.4 by @dependabot in #6798 * Handle erase operation in auth git-credential command by @samcoe in #6805 * select base repo correctly when only one remote by @vilmibm in #6803- Update to 2.20.2 https://github.com/cli/cli/releases * Update security policy by @maclarel in #6587 * Fix listing repositories for a named GitHub user by @mislav in #6608 * Fix commands not properly refreshing the terminal screen by @samcoe in #6607- Update to 2.20.0 https://github.com/cli/cli/releases- Update to version 2.14.2: * Remove accidental caching from `repo list` and other commands * strip whitespace when adding topics * Set blank headers so they are not automatically resolved by go-gh (#5935) * Post go-gh integration cleanup (#5933)- Update to 2.14.1 https://github.com/cli/cli/releases * What's Changed - auth login/refresh: Fix auth token not being present in login and refresh flows @samcoe in #5928 - fix spec * add missing Group- Update to 2.13.0 https://github.com/cli/cli/releases * What's New - Add pr merge --match-head-commit flag by @ffalor in #5692 - Add codespace create --retention-period flag by @gdomingu in #5825 - Add codespace list/stop/delete --org management capabilities for organization administrators by @greggroth and @8Gitbrix in #5807 #5812 #5827 - codespace ssh: automatically generate SSH keys by @cmbrose in #5752 - codespace create: notify user when codespace usage is covered by an organization by @jshorty in #5816 - secret set: allow setting Codespace repository secrets by @greggroth in #5802 - Add Windows ARM precompiled binary and support arm64 extensions by @azchohfi in #5715 * What's Changed - Improve gh auth help message based on CI environment by @spenserblack in #5781 - Fix determining the path to the gh executable under Homebrew by @mislav in #5822 - pr create: clear filter when selecting from a list in interactive mode by @wilhelmeek in #5841 - repo fork: raise error if attempting to fork own repository by @jf-delineate in #5794 - Simplify codespace picker by @greggroth in #5826 - Bump github.com/stretchr/testify from 1.7.3 to 1.7.4 by @dependabot in #5833- Update to version 2.11.3: * Bugfix: Retention period is being sent to the API as 0 (#5706) * Fix Cobra completion output going to stdout * Fix --version flag printing to stdout * Add --upstream-remote-name flag to gh replo clone (#5619) * Parallelize `label clone` (#5687) * Stop bumping winget manifest as part of release automation (#5699) * Write Cobra deprecation messages to stderr * Bump goreleaser/goreleaser-action from 2 to 3 * Clarify that ShowResponseHeaders includes status line * Fix owner qualifier for search queries (#5693) * Add `--pattern` field to `run download` (#5539) * add `include-all-branches` flag to `repo create` (#5537) * Add ability to set title for ssh key in auth login (#5524) * Always clear screen when watching PR checks (#5678) * Fix `label clone` to pass orderBy (#5675) * pr create: ensure clear error when `--body` is missing in nonTTY mode * Allow passing full extension name (#5464) * Fixing #5624 - Removing unneeded hint and additional new line (#5642) * Extract feature detection package (#5494) * dont need assignment * issue view: ensure loading indicator is stopped when a prompt is shown (#5641) * Change int to uint64 for large fields (#5651) * filter out internal ports from gh cs ports list * Support rerunning Actions runs with debug logging (#5594) * Allow nil to truncate template function * Support and favor delete for secrets (#5617) * Fix whitespace in search prs examples (#5650) * Fix struct field tag (#5649) * Replace uses of strings.Title (#5623) * Removing confusing user search text (#5620) * Re-enable linters now that golangci-lint has been updated (#5615)- Update to version 2.10.1: * Hide retention-period flag (#5607) * Merge pull request #5504 from greggroth/gregg/retention-period * repo clone: document the upstream remote (#5466) * auth: respect GH_BROWSER, `browser` config, avoid opening non-HTTP URLs * repo list: add `--visibility internal` filter (#5564) * Fix nil pointer exception in codespace selection * add devcontainer (#5592) * Ensure stable presentation of FORBIDDEN errors * :nail_care: optimize fetches * Ignore FORBIDDEN errors for `gh status` * status: exclude results from archived repositories * Add `exclude-drafts` flag to `gh release list` * Upgrade to go 1.18 (#5542) * Update order * Handle star in display name * Dis-ambiguate "currentBranch" * :nail_care: * Add `--json` support to `label list` (#5567) * Add Display Name to the list command * Remove empty return * Fix non-working `gh issue view` usage example (#5563) * Fix: 5501 - Added examples of negated qualifiers to search commands (#5562) * Add label list sorting and delete command (#5503) * Add the ability to pass teams to `review-requested` (#5538) * Document linux distribution updating (#5531) * Consistent version format in version upgrade notice * Fix grammar in `repo create` prompt (#5557) * issue comment: support quotes and arguments in EDITOR value * Remove mention of function * Use named return values * Use safeClose instead of Close * Update auth error message * Remove `Stringer` from `ghrepo.Interface` (#5536) * Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (#5533) * Add progress indicator to `gist create` (#5526) * Clarify `label edit --name` switch (#5525) * Bump github.com/cpuguy83/go-md2man/v2 from 2.0.1 to 2.0.2 * Add autocomplete descriptions for aliases and extensions (#5447) * Replace ioutil with io and os (#5498) * Add `label edit` command (#5519) * Properly handle issue and pr state options when building search queries (#5513) * Add `label clone` command (#5452) * Don't error on list commands when no results found (#5479) * refactor merge command * Bump github/codeql-action from 1 to 2 * Avoid crash when deleting gist with no owner * Add context to errors * Resolve feedback * Remove function return * PR feedback * Fix displayed header for search prs command (#5488) * add ls alias to gh repo list (#5480) * Clarify session helper * Clean up more errors * Clean up errors * Fix -c option * Print JupyterLab URL * Fix name of RPC service * Clean up Jupyter code * Fix tests * Final copy and behavior update for prompt * go fmt * Change the way we parse list-devcontainers response * Fix tests * Change some copy per product's suggestions * Refactor liveshare setup to a new function * Clean up code * Fix RPC call * Add cs jupyter * Rename test * Add interactive prompt to choose from list of available devcontainer files * Add devcontainer_path API param as an option- Update to 2.5.2 https://github.com/cli/cli/releases * Other Bugfixes - Fix HexToRGB panic by @markphelps in #5247 * Other Changes - Support filtering PRs authored by GitHub Apps by @joshmgross in #5180 - gh auth login: added flags to partially automate flow by @jonathan-enf in #5158 - Codespaces Create: Allow Accepting Permissions by @markphelps in #5234 * Development & Docs - Bump github.com/itchyny/gojq from 0.12.6 to 0.12.7 by @dependabot in #5263 - Misc. docs improvements by @mislav in #5223 - Use StringEnumFlag helper in more places by @mislav in #5221 - Change how gh-cli is installed on fedora by @Hanjingxue-Boling in #5204 - updated vendor.tar.gz- Update to 2.5.1 https://github.com/cli/cli/releases * New features - Add display name to codespaces prompts and JSON output by @veverkap in #5044 - Add pr checks --watch flag by @endorama in #4519 * Fixes - auth login --with-token: fix authenticating git operations by @mislav in #5186 - release create: respect discussion category when creating a release with assets by @k-jun in #5019 - gist create: handle Windows-style file paths by @joshmgross in #5173 - release create: warn about unpushed local git tag by @samcoe in #5104 - Ignore EPIPE errors when writing to a closed pager by @mislav in #5143 - Rotate our Windows code-signing certificates by @mislav in #5196 - updated vendor.tar.gz- Update to version 2.4.0 - Add repo edit command by @g14a in gh#cli/cli#4318 - release create: add --generate-notes functionality by @Sixeight in gh#cli/cli#4467 - release create: add interactive mode to choose a tag name by @sguzmanm in gh#cli/cli#4525 - pr merge: allow editing commit subject by @cristiand391 in gh#cli/cli#3344 - secret set: allow importing secrets from a dotenv file by @lpessoa in gh#cli/cli#4534 - run list/view: add --json export functionality by @cristiand391 in gh#cli/cli#3869 - Refresh man pages by @mislav in gh#cli/cli#4939 - Add installation instructions for pkgsrc by @bsiegert in gh#cli/cli#4931 - pr view: ensure that PR reviews are always rendered in --comments mode by @mislav in gh#cli/cli#4848 - api: handle HTTP 409 error message from the server by @mislav in gh#cli/cli#4862 - issue edit: fix race condition when updating labels by @despreston in gh#cli/cli#4861 - browse: support --commit with the repo override flag by @bchadwic in gh#cli/cli#4845 - repo create: fix printing repo URL in no-TTY mode by @mislav in gh#cli/cli#4904 - repo sync: use the new merge-upstream API if available by @mislav in gh#cli/cli#4942 - run: display and treat "Cancelled" status as a failure by @bchadwic in gh#cli/cli#4850 - extension upgrade: an already up-to-date extension should not a produce a failure by @tisonkun in gh#cli/cli#4857 - Avoid showing non-open PRs as related to the default branch by @AyushRawal in gh#cli/cli#4285 - git remotes: fix treating ssh.github.com as a github.com host by @mislav in gh#cli/cli#4938 - Bump Cobra to 1.3.0 for improved completion support by @mislav in gh#cli/cli#4936 - Bump spinner to 1.18.0 by @mislav in gh#cli/cli#4937- Change issue references in the changelog to proper OBS abbreviations- Update to version 2.3.0 * Add support for precompiled extensions - fix binary extensions on windows by @vilmibm in gh#cli/cli#4717 - binary extension migration by @vilmibm in gh#cli/cli#4588 - make extension create binary aware by @vilmibm in gh#cli/cli#4718 - Extensions create nail_care by @mislav in gh#cli/cli#4802 * rewrite gh repo create by @meiji163 @pxrth9 in gh#cli/cli#4578 - gh repo create will no longer automatically add a git remote to the local git repository in the current directory. To emulate old behavior when inside a local git repository, use gh pr create --source .. - gh repo create will only prompt interactively when run with no arguments. Otherwise, all arguments should be passed explicitly. * Fix codespace code command under WSL by @mislav in gh#cli/cli#4747 * Inherit API endpoint configuration from the Codespaces environment by @marwan-at-work in gh#cli/cli#4723 * Remove the default value from idle-timeout by @reybard in gh#cli/cli#4756 * Support listing and removing user Codespaces secrets by @joshmgross in gh#cli/cli#4714 * Support setting user Codespaces secrets by @joshmgross in gh#cli/cli#4699 * Add idle_timeout_minutes as possible cs create param by @reybard in gh#cli/cli#4741 * Adds a timeout context to the ssh waiter to prevent indefinite hanging by @reybard in gh#cli/cli#4635 * Rename errors from Live Share to generic codespace by @josebalius in gh#cli/cli#4705 * Add prebuild availability status to create codespaces by @adnamalin in gh#cli/cli#4737 * Add command gh auth setup-git for setting up gh-cli as git cred helper by @despreston in gh#cli/cli#4246 * Add gh config list by @meiji163 in gh#cli/cli#4729 * Add new flag gh secret set --no-store to print the encoded secret by @sguzmanm in gh#cli/cli#4423 * Adding release download for.zip and .tar.gz archives by @lpessoa in gh#cli/cli#4489 * gh repo rename by @pxrth9 in gh#cli/cli#4450 * Ignore scope suggestions for http 422 by @despreston in gh#cli/cli#4809 * pr diff color output fixes by @mislav in gh#cli/cli#4833 * PR merge should, after switching branches, pull by @pxrth9 in gh#cli/cli#4748 * Don't swallow duplicate SSH key error by @despreston in gh#cli/cli#4807 * gh pr merge fails to delete remote branch if $PWD is not a git repository by @pxrth9 in gh#cli/cli#4769 * Fix up bug in RemoveEntry and add tests for config_map by @samcoe in gh#cli/cli#4784 * Escape workflow information when generating URLs by @samcoe in gh#cli/cli#4760 * Confirm name change before creating a repo with special characters by @bchadwic in gh#cli/cli#4562 * encode gh browse output URL by @bchadwic in gh#cli/cli#4663 * add base repo resolution to gh repo archive by @meiji163 in gh#cli/cli#4654 * add base repo resolution to gh repo delete by @meiji163 in gh#cli/cli#4655 * Fix stack overflow in AddJSONFlags by @rsteube in gh#cli/cli#4614 * Fix rendering issue in "formatting" help topic by @pbnj in gh#cli/cli#4661 * fix branch flag on browse within dir by @bstncartwright in gh#cli/cli#4676 * Generate Go 1.17-style go:build directives by @mislav in gh#cli/cli#4838 * Bump github.com/itchyny/gojq from 0.12.5 to 0.12.6 by @dependabot in gh#cli/cli#4832 * some automation by @vilmibm in gh#cli/cli#4810 * Improve issue view re: overfetching, PR support by @mislav in gh#cli/cli#4803 * Improve queries in issue commands: no overfetching, support PR arguments by @mislav in gh#cli/cli#4794 * Bump github.com/mattn/go-colorable from 0.1.11 to 0.1.12 by @dependabot in gh#cli/cli#4804 * Replace shurcool/graphql with cli/shurcool-graphql by @samcoe in gh#cli/cli#4750 * update help for magic type conversion gh#cli/cli#4365 by @signalwerk in gh#cli/cli#4434 * fix angle brackets in man pages by @meiji163 in gh#cli/cli#4752 * Overhaul manual pages for the web by @mislav in gh#cli/cli#4675 * Fix CODEOWNERS for codespaces by @mislav in gh#cli/cli#4728 * Don't use gpg in Debian instruction by @TobiX in gh#cli/cli#4610 * Bump bluemonday to silence the security alert by @mislav in gh#cli/cli#4607 - Changes from 2.2.0 * Support for GitHub Codespaces * Add repo delete command by @meiji163 in gh#cli/cli#4451 * Add run cancel command by @cristiand391 in gh#cli/cli#3833 * Add gpg-key management commands by @owenvoke in gh#cli/cli#3822 * Support logging in to github.localhost by @joshmgross in gh#cli/cli#4523 * browse: respect the current working directory for file arguments by @bchadwic in gh#cli/cli#4007 * release create: respect the --draft flag in interactive mode by @Sixeight in gh#cli/cli#4542 * api: avoid repeating GET parameters when paginating by @mislav in gh#cli/cli#4559 * The progress spinner is now visible against a light background gh#cli/cli#4556 * Dispatch binary extensions directly by @vilmibm in gh#cli/cli#4568 * Fix copy/paste mistake in docs by @stdtom in gh#cli/cli#4582 - Changes from 2.1.0 * Add repo archive command by @pxrth9 & @meiji163 in gh#cli/cli#4410 * Add support for precompiled extensions by @vilmibm in gh#cli/cli#4308 gh#cli/cli#4373 * If an extension repository publishes Releases with uploaded binary assets named with a suffix formatted like {OS}-{ARCH} (e.g. linux-amd64), the matching binary will be downloaded and installed as the extension instead of cloning the code from the extension repository. * pr list: add --draft, --non-draft, and --head filters by @SiarheiFedartsou in gh#cli/cli#4316 gh#cli/cli#4279 * pr diff: add --patch flag by @m4ver1k in gh#cli/cli#4460 * browse: add --commit flag to open the permalink for the latest commit by @bchadwic in gh#cli/cli#3950 * api: add docs hint on how to use use stdin by @rethab in gh#cli/cli#4291 * pr checks/run: revised "pending" and "skipped" symbols by @bchadwic in gh#cli/cli#4090 * pr checkout: also set pushRemote for new branches by @RasmusWL in gh#cli/cli#4363 * extension list: speed up checking for updates by @samcoe in gh#cli/cli#4396 * extension install: document installing using a full URL by @wrslatz in gh#cli/cli#4271 * extension create: use /usr/bin/env bash instead of /bin/bash in generated shebang by @kidonng in gh#cli/cli#4203 * browse: add support for line ranges browse by @despreston in gh#cli/cli#4253 * browse: fix markdown files with line ranges by @andrewhsu in gh#cli/cli#4310 * repo garden: use the x/term package instead of shelling out to stty by @mislav in gh#cli/cli#4214 * repo sync: allow user input for git fetch by @samcoe in gh#cli/cli#4328 * repo create: avoid swallowing error from a prompt by @mislav in gh#cli/cli#4331 * Skip authentication requirement for internal completion commands by @cuonglm in gh#cli/cli#4189 * Add quotes around @me in documentation to ensure examples work in PowerShell by @Jernik in gh#cli/cli#4239 * Suggest to re-authenticate to fix "SAML enforcement" error by @mislav in gh#cli/cli#4241 * Print warning when limit exceeds search API maximum by @despreston in gh#cli/cli#3967 * Add git+https to the list of supported git remote URL protocols by @danburzo in gh#cli/cli#4347 * Fix detecting the current gh executable in PATH by @wilso199 in gh#cli/cli#4243 * Bump Survey library to fix the "Unexpected escape sequence" error by @mislav in gh#cli/cli#4405 * Warn about missing OAuth scopes when printing HTTP 4xx errors by @mislav in gh#cli/cli#4513- Fix boogh#cli/cli#1192421 - Changed git dependency to only git-core- Update to version 2.0.0 * Support for command extensions * Display label colors in issue list output gh#cli/cli#4106 * Add tablerow/tablerender template functions for rendering data as tables gh#cli/cli#3519 * Add GH_FORCE_TTY to enable terminal-style output even when redirected gh#cli/cli#4146 * Add repo sync command to sync a branch with its upstream state gh#cli/cli#3813 * Add pr checkout --branch flag to control the branch name gh#cli/cli#4005 * Add release create --discussion-category flag gh#cli/cli#4003 * Add config set browser option and GH_BROWSER environment variable gh#cli/cli#3992 * Add repo list --topic filter gh#cli/cli#4136 * Add PowerShell instructions to completion help gh#cli/cli#4114 * Improve accessibility of interactive select menus gh#cli/cli#4172 * Improve detection of truecolor terminal capabilities gh#cli/cli#4106 * Avoid wrapping issues in powershell.exe gh#cli/cli#4106 * Detect missing git and abort early during auth login flow gh#cli/cli#4109 * Fix HTTP 502 error printing from GraphQL responses gh#cli/cli#4154 * Require Go 1.16+ gh#cli/cli#4175 * Remove backwards compatibility with homedir library for config files gh#cli/cli#4145- Update to version 1.14.0 * Improve shell completion gh#cli/cli#4028 - Enable --json flag completion with multiple comma-separated fields - Add completion for repo create --gitignore flag - Add completion for repo create --license flag - Switch to Cobra's improved bash completion with descriptions - Enable descriptions in PowerShell completion gh#cli/cli#4085 - Add completion of -R/--repo flag based on available git remotes gh#cli/cli#3942 * Add pr merge --admin flag to allow admins to force-merge a pull request gh#cli/cli#4071 * Fix authenticating with GH_ENTERPRISE_TOKEN and GH_HOST environment variables gh#cli/cli#4019 * Fix labels display in issue list output gh#cli/cli#4079 * Fix printing certain GraphQL errors gh#cli/cli#4087- Update to version 1.13.1 * Release fixes pre-built binaries, changes aren't applicable to this package - Changes from 1.13.0 * issue/pr view: output label names in their own color gh#cli/cli#3912 * Add gh browse --no-browser to only print the URL gh#cli/cli#3943 * repo create: respect privacy setting when using license/gitignore templates gh#cli/cli#3972 * repo create: respect repository description when creating from template repository gh#cli/cli#3972 * repo create --confirm: avoid license/gitignore template prompt gh#cli/cli#3995 * pr merge --auto: merge immediately if the PR is already mergeable gh#cli/cli#3706 * pr merge: suggest using --auto when merging is blocked gh#cli/cli#3706 * Allow using cursor keys in interactive text inputs gh#cli/cli#3980 * gh run watch --exit-status: correct exit status for completed runs gh#cli/cli#3982 * Skip auto-migrate of config files when GH_CONFIG_DIR is set gh#cli/cli#4017 * alias set: add note about double-quoting arguments for Command Prompt users gh#cli/cli#4013 * Clean up GH_CONFIG_DIR docs gh#cli/cli#4020 - Changes from 1.12.1 * Fix bug where branchProtectionRule doesn't exist in enterprise 2.22 gh#cli/cli#3922 * Fix repo create in org with license/ignore gh#cli/cli#3924 - Changes from 1.12.0 * Added gh browse command * Add .gitignore and LICENSE when creating repositories from scratch * A new config value http_unix_socket can be configured to a local path to push all traffic over a socket * Print help even if logged out gh#cli/cli#3850 * Add shell completion for the --state flag gh#cli/cli#3877 * Allow explicitly empty body in issue/pr create gh#cli/cli#3787 * Increase GH_PAGER precedence gh#cli/cli#3789 * Fix showing Checks information in pr status gh#cli/cli#3804 * Update "Accept" header for github.com requests gh#cli/cli#3803 * Fix setting environment secrets gh#cli/cli#3832 * Fix gh run download fails on large artifacts due to uint32 limitation gh#cli/cli#3890 * repo fork: check that --org is not the empty string gh#cli/cli#3807 * Document installing via Conda package manager gh#cli/cli#3792 * Fix description for gh secret set --env option gh#cli/cli#3784 * Add a long command description for secrets remove gh#cli/cli#3786 * Update documentation for gist create command with default of secret gh#cli/cli#3871 * fork tests cleanup gh#cli/cli#3809 * Remove unused method from httpmock package gh#cli/cli#3834 * Factory cleanup gh#cli/cli#3841 * Improvements to build script on Windows gh#cli/cli#3846 * Ensure that tests for command factory never read from user's config gh#cli/cli#3856- Update to version 1.11.0: * Add support for environment secrets gh#cli/cli#3270 gh#cli/cli#3769 gh#cli/cli#3774 * run list: add "age" column and columns headers in output gh#cli/cli#3575 * Add support for XDG Base Directory specification gh#cli/cli#3671 gh#cli/cli#3768 gh#cli/cli#3717 * Additionally, the default configuration location on Windows is now changed from ~/.config/gh/ to %AppData%. * Include number alongside the title in issue/pr view gh#cli/cli#3741- fix build for SLES12 * fix Supplements: packageand(X:Y)- Update to version 1.10.3: * Fix gh pr merge with GitHub Enterprise Server < 3.0 gh#cli/cli#3688 * Speed up measuring display width of text gh#cli/cli#3668 * Simplify Debian/Ubuntu installation docs gh#cli/cli#3672 - Changes from 1.10.2: * Fix creating Windows directory for gh config gh#cli/cli#3666- Update to version 1.10.1: * Fix pr checkout for cross-repository pull requests gh#cli/cli#3663- Update to version 1.10.0: - Improvements to JSON exporting * Add gh repo list/view --json support gh#cli/cli#3627 * Add gh release view --json support gh#cli/cli#3656 * Fixes numerous issues with gh pr list/view --json support gh#cli/cli#3547 - fetching closed field - fetching date fields like createdAt or mergedAt - fetching files field * Fix exporting milestone field for issues and PRs gh#cli/cli#3529 * Add commits field to JSON export for PRs gh#cli/cli#3547 * Show more than 100 comments in gh issue view --json comments gh#cli/cli#3547 * Add shell completion for valid --json flag values gh#cli/cli#3628 - New Features * Add gh repo fork --org option gh#cli/cli#3611 * Allow passinggh alias set value via standard input gh#cli/cli#3490 * Prompt for value in gh secret set gh#cli/cli#3499 * Update gh api placeholder syntax to {owner}, {repo} to match GitHub API documentation gh#cli/cli#3536 * Extend our package repository to support Ubuntu Hirsute and Kali linux gh#cli/cli#3398 - Fixes * Speedup across most gh pr commands gh#cli/cli#3547 * Fix gh pr operations from GitHub Actions when a PR was added as a card to an org project gh#cli/cli#3547 * Allow deleting local git branch in gh pr close gh#cli/cli#3547 * Fix showing more than 100 checks in gh pr checks gh#cli/cli#3547 * Fix viewing and editing draft releases with GitHub Actions token gh#cli/cli#3656 * Fix Windows path in gh auth status output gh#cli/cli#3491 * Ignore HTTP 404 error for annotations in gh run watch gh#cli/cli#3517 * Handle Incorrect function exception for MinTTY users (typically in Git Bash) by suggesting switching to Windows Terminal gh#cli/cli#3537 * Query fewer fields to determine issue status gh#cli/cli#3525 * Warn about empty contents on gh gist create gh#cli/cli#3578 * Fix "null" display in colored JSON output gh#cli/cli#3626 * Fix some docs formatting for the web gh#cli/cli#3648- Update to version 1.9.2: - Actions Fixes * Fix Actions use int64 explicitly in Actions support gh#cli/cli#3432 * Fix requesting REST sub-resources on GHE gh#cli/cli#3461 * Fix run view --log when steps have slashes gh#cli/cli#3445 * Include magic repo resolution magic for gh workflow and gh run gh#cli/cli#3468 - Other Fixes * Fix issue create --web gh#cli/cli#3472 * Fix detecting PR status when passing branch as arg gh#cli/cli#3351 * Bump AlecAivazis/survey to fix bug with unicode input gh#cli/cli#3439 - Development / Docs * Increase linter timeout from 1min to 3min gh#cli/cli#3462 * Remove unused embedded struct gh#cli/cli#3402 * Add note on supported value types in raw-fields gh#cli/cli#3400 * linuxbrew details added in linux installation docs. gh#cli/cli#3465 * Add Funtoo Linux install instructions gh#cli/cli#3438 * Add Debian install variant without add-apt-repository gh#cli/cli#3419- Update to version 1.9.1: * Create cache dir * Fix whitespace formatting of `issue/pr view` help text * Disallow unsupported values for `--json` flag * Fix `pr view` tests broken by `createdAt` → `submittedAt` switch * Fix assigning null Exporter * Tests for GraphQL query builder and JSON exporter * Add `gh help formatting` topic & link to it from commands with JSON output * Placeholder consistency * Minor usage improvements * Bump run list limit * Annotation fixes * Unhide actions commands * Incorporate wording feedback * Fix small bug with startup_failure conclusion * Add note about current branch detection - Prevent Makefile from overriding variables - Enable tests- Supplement bash-completion instead of bash- Update to version 1.8.1: * Fix pr status/checks crash with unrecognized statuse from the server(gh#cli/cli#3336) * Fix repo fork --clone not cloning an existing fork locally when running non-interactively(gh#cli/cli#3334) * Fix commands not respecting default hostname from GH_HOST(gh#cli/cli#3347) - Create subpackages for completions- update to 1.7.0: * see https://github.com/cli/cli/releases/tag/v1.7.0 * https://github.com/cli/cli/releases/tag/v1.6.0 * https://github.com/cli/cli/releases/tag/v1.5.0- fix build for SLES12- Update to version 1.4.0 * Add ability to view issue and pull request comment threads * Add management of GitHub Actions secrets * Set up git credentials when logging in to GitHub CLI * Add make install and make uninstall for POSIX systems when building from source * pr merge: attempt the merge even if mergeability status could not be determined * repo clone: enable cloning repository wikis * Recognize Include directives when parsing ssh config files * Display the new release notice only once per 24 hours- Fix app not showing the correct version - Install readme and license files- Build and install manpages as well- Use source specified at Source0 URL - Switch from tar_scm to download_files for obtaining source archive- Simplify BuildRequires- Revert back to tar_scm service for submission to openSUSE:Factory- Update to version 1.3.1: * Allow interactive `pr create` even if we failed to look up commits * AskStubber now throws a more descriptive error when stubs do not match * Make MetadataSurvey testable by accepting an interface * Ensure efficient resolving of `issue/pr create` metadata to GraphQL IDs * don't reset previously added metadata * Prompt: avoid resetting PR/issue metadata if no option is selected * Fix "Continue in browser" for `pr create` coming from forks * Fix browser URL test on Windows * Fix respecting chosen action in interactive `issue create` * Properly check env auth tokens in CheckAuth * Delete an error message that is not useful (and had a typo) * Document that reviewers can be teams (gh#cli/cli#2465) * Bump AlecAivazis/survey * Sort latest PRs first when looking up PRs for a branch- Reinstated and fixed obs_scm service for source control - Fixed build for openSUSE Leap- Return to tar_scm due to breakages with obs_scm service- Switch from tar_scm to obs_scm service - Update to version 1.3.0: * Warn termux users with older Android versions (gh#cli/cli#2467) * no shorthand for --recover * switch to recover instead of resubmit * linter appeasement * use TempFile though the testing is gross * fix dumb test * preserve and restore issue/pr input on failure * add IOStreams.ReadUserFile * spelling: unmatched * spelling: template * spelling: settings * spelling: response * spelling: nonexistent * spelling: error * spelling: dunno * spelling: dismissed * spelling: deprecated * spelling: chestnuts * spelling: beginning * match parent repo protocol when forking (gh#cli/cli#2434) * respect GH_HOST when resolving remotes (gh#cli/cli#2301) * Add "reference" help topic (gh#cli/cli#2223) * Implement --web for gh pr checks (gh#cli/cli#2146) * Downgrade survey to v2.1.1 * fix missing import * Support for --web when using gist create (gh#cli/cli#2263) * Add a command to delete a gist (gh#cli/cli#2265) * fix survey invocation * Fix USAGE help for some commands * add empty line between functions * Generate correct URL when branch option is passed in * add Draft to issue state * use NewIssueState * get everything working * stop using Defaults struct * stop using string pointer * WIP works, probably some title/body input edge cases * use named output param * Fix typos * Empty auth token env variables are equal to being unset * cleanup * Add support for GH_TOKEN and GH_ENTERPRISE_TOKEN * Consistently print commands in DEBUG mode- Clean up .spec file- Update to version 1.2.1: * Fix git executable name for Windows in tests * Improve error message when git isn't found * Omit the full path of a command in DEBUG mode * Ensure that only PATH is searched when shelling out to external commands * Bump golang.org/x/text * Bump golang.org/x/crypto * Bump shurcooL/githubv4 * Bump muesli/termenv * Bump mattn/go-colorable * Bump AlecAivazis/survey * Fix `truncateLabels` for empty values * Ensure parentheses are preserved after truncating labels in table view * Render links as absolute URLs in `repo view` (gh#cli/cli#2363) * Add Gentoo instructions to install the package (gh#cli/cli#2389) * Show MousetrapHelpText when double-clicking gh.exe * Small cleanup * Make markdown:generate annotation a markdown generation override for hidden commands * Generate markdown for help topics * Refactor help topics to include short message * Extract repeated code to util function * improve error message * Refactor regexp writer * Add multiple writes test * Use custom scanLines function for RegexWriter * Fix up regex to escape dot in URL * Address PR comments * Filter out unwanted stderr output during git push commands * new packages for get and set subcommands * Export type ConfigOption and group InvalidValueError code * Refactor config command * Cleanup duplicate config options * move cobra mutation and document it * Update install_linux.md * more iostreams passing * try passing iostreams around instead of writer+colorscheme * use shared color function * favor SuccessIcon * Use slice and make both status lines the size of the terminal width. * Use terminal width for the status line * port entirely to ColorScheme * added extra notes * Better tests for clone argument parsing * added Snap installation docs * Simplify checks test * add message on `pr checks` returns no CI with non-empty PR * Fetch all issue labels * Update triage.md * link to aliases * :nail_care: code style * :nail_care: simplify `sortPullRequestsByState` * PullRequestForBranch: fix outdated error message * Allow PullRequestForBranch to search in closed pull requests * Mention winget as an install option in README (gh#cli/cli#2272) * Small releasing docs cleanup * Update triage.md * Clean up and refactor unused doc generation code * Remove SEE ALSO from markdown docs generation * Remove Cobra autogenerated string from docs generation * Internalize doc generation from Cobra * Print friendly error when "gh repo clone" is missing required argument * removed runtime compare for windows The MousttrapHelpText will only be validated in cobra when running on windows. * run gh commands from explorer.exe- Initial package versionarmv9 1784820365  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.96.0-bp157.2.24.12.96.0-bp157.2.24.1ghghREADME.mdghLICENSEgh-agent-task-create.1.gzgh-agent-task-list.1.gzgh-agent-task-view.1.gzgh-agent-task.1.gzgh-alias-delete.1.gzgh-alias-import.1.gzgh-alias-list.1.gzgh-alias-set.1.gzgh-alias.1.gzgh-api.1.gzgh-attestation-download.1.gzgh-attestation-trusted-root.1.gzgh-attestation-verify.1.gzgh-attestation.1.gzgh-auth-login.1.gzgh-auth-logout.1.gzgh-auth-refresh.1.gzgh-auth-setup-git.1.gzgh-auth-status.1.gzgh-auth-switch.1.gzgh-auth-token.1.gzgh-auth.1.gzgh-browse.1.gzgh-cache-delete.1.gzgh-cache-list.1.gzgh-cache.1.gzgh-codespace-code.1.gzgh-codespace-cp.1.gzgh-codespace-create.1.gzgh-codespace-delete.1.gzgh-codespace-edit.1.gzgh-codespace-jupyter.1.gzgh-codespace-list.1.gzgh-codespace-logs.1.gzgh-codespace-ports-forward.1.gzgh-codespace-ports-visibility.1.gzgh-codespace-ports.1.gzgh-codespace-rebuild.1.gzgh-codespace-ssh.1.gzgh-codespace-stop.1.gzgh-codespace-view.1.gzgh-codespace.1.gzgh-completion.1.gzgh-config-clear-cache.1.gzgh-config-get.1.gzgh-config-list.1.gzgh-config-set.1.gzgh-config.1.gzgh-copilot.1.gzgh-discussion-comment.1.gzgh-discussion-create.1.gzgh-discussion-edit.1.gzgh-discussion-list.1.gzgh-discussion-view.1.gzgh-discussion.1.gzgh-extension-browse.1.gzgh-extension-create.1.gzgh-extension-exec.1.gzgh-extension-install.1.gzgh-extension-list.1.gzgh-extension-remove.1.gzgh-extension-search.1.gzgh-extension-upgrade.1.gzgh-extension.1.gzgh-gist-clone.1.gzgh-gist-create.1.gzgh-gist-delete.1.gzgh-gist-edit.1.gzgh-gist-list.1.gzgh-gist-rename.1.gzgh-gist-view.1.gzgh-gist.1.gzgh-gpg-key-add.1.gzgh-gpg-key-delete.1.gzgh-gpg-key-list.1.gzgh-gpg-key.1.gzgh-issue-close.1.gzgh-issue-comment.1.gzgh-issue-create.1.gzgh-issue-delete.1.gzgh-issue-develop.1.gzgh-issue-edit.1.gzgh-issue-list.1.gzgh-issue-lock.1.gzgh-issue-pin.1.gzgh-issue-reopen.1.gzgh-issue-status.1.gzgh-issue-transfer.1.gzgh-issue-unlock.1.gzgh-issue-unpin.1.gzgh-issue-view.1.gzgh-issue.1.gzgh-label-clone.1.gzgh-label-create.1.gzgh-label-delete.1.gzgh-label-edit.1.gzgh-label-list.1.gzgh-label.1.gzgh-licenses.1.gzgh-org-list.1.gzgh-org.1.gzgh-pr-checkout.1.gzgh-pr-checks.1.gzgh-pr-close.1.gzgh-pr-comment.1.gzgh-pr-create.1.gzgh-pr-diff.1.gzgh-pr-edit.1.gzgh-pr-list.1.gzgh-pr-lock.1.gzgh-pr-merge.1.gzgh-pr-ready.1.gzgh-pr-reopen.1.gzgh-pr-revert.1.gzgh-pr-review.1.gzgh-pr-status.1.gzgh-pr-unlock.1.gzgh-pr-update-branch.1.gzgh-pr-view.1.gzgh-pr.1.gzgh-preview-prompter.1.gzgh-preview.1.gzgh-project-close.1.gzgh-project-copy.1.gzgh-project-create.1.gzgh-project-delete.1.gzgh-project-edit.1.gzgh-project-field-create.1.gzgh-project-field-delete.1.gzgh-project-field-list.1.gzgh-project-item-add.1.gzgh-project-item-archive.1.gzgh-project-item-create.1.gzgh-project-item-delete.1.gzgh-project-item-edit.1.gzgh-project-item-list.1.gzgh-project-link.1.gzgh-project-list.1.gzgh-project-mark-template.1.gzgh-project-unlink.1.gzgh-project-view.1.gzgh-project.1.gzgh-release-create.1.gzgh-release-delete-asset.1.gzgh-release-delete.1.gzgh-release-download.1.gzgh-release-edit.1.gzgh-release-list.1.gzgh-release-upload.1.gzgh-release-verify-asset.1.gzgh-release-verify.1.gzgh-release-view.1.gzgh-release.1.gzgh-repo-archive.1.gzgh-repo-autolink-create.1.gzgh-repo-autolink-delete.1.gzgh-repo-autolink-list.1.gzgh-repo-autolink-view.1.gzgh-repo-autolink.1.gzgh-repo-clone.1.gzgh-repo-create.1.gzgh-repo-delete.1.gzgh-repo-deploy-key-add.1.gzgh-repo-deploy-key-delete.1.gzgh-repo-deploy-key-list.1.gzgh-repo-deploy-key.1.gzgh-repo-edit.1.gzgh-repo-fork.1.gzgh-repo-gitignore-list.1.gzgh-repo-gitignore-view.1.gzgh-repo-gitignore.1.gzgh-repo-license-list.1.gzgh-repo-license-view.1.gzgh-repo-license.1.gzgh-repo-list.1.gzgh-repo-read-dir.1.gzgh-repo-read-file.1.gzgh-repo-rename.1.gzgh-repo-set-default.1.gzgh-repo-sync.1.gzgh-repo-unarchive.1.gzgh-repo-view.1.gzgh-repo.1.gzgh-ruleset-check.1.gzgh-ruleset-list.1.gzgh-ruleset-view.1.gzgh-ruleset.1.gzgh-run-cancel.1.gzgh-run-delete.1.gzgh-run-download.1.gzgh-run-list.1.gzgh-run-rerun.1.gzgh-run-view.1.gzgh-run-watch.1.gzgh-run.1.gzgh-search-code.1.gzgh-search-commits.1.gzgh-search-issues.1.gzgh-search-prs.1.gzgh-search-repos.1.gzgh-search.1.gzgh-secret-delete.1.gzgh-secret-list.1.gzgh-secret-set.1.gzgh-secret.1.gzgh-skill-install.1.gzgh-skill-list.1.gzgh-skill-preview.1.gzgh-skill-publish.1.gzgh-skill-search.1.gzgh-skill-update.1.gzgh-skill.1.gzgh-ssh-key-add.1.gzgh-ssh-key-delete.1.gzgh-ssh-key-list.1.gzgh-ssh-key.1.gzgh-status.1.gzgh-variable-delete.1.gzgh-variable-get.1.gzgh-variable-list.1.gzgh-variable-set.1.gzgh-variable.1.gzgh-workflow-disable.1.gzgh-workflow-enable.1.gzgh-workflow-list.1.gzgh-workflow-run.1.gzgh-workflow-view.1.gzgh-workflow.1.gzgh.1.gz/usr/bin//usr/share/doc/packages//usr/share/doc/packages/gh//usr/share/licenses//usr/share/licenses/gh//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:19595/openSUSE_Backports_SLE-15-SP7_Update/d5697b569d191a94370611aef741b462-gh.openSUSE_Backports_SLE-15-SP7_Updatedrpmxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3bc2a251b80914ca6ee088b65b7802528e1b8e3b, not strippeddirectoryexported SGML document, UTF-8 Unicode text, with very long linesASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text, with very long lines (gzip compressed data, max compression, from Unix)HTML document, ASCII text (gzip compressed data, max compression, from Unix)RRRRpݳ*99$qutf-8d0021a071535d23b1982711db0f8e9c634bc46515ecbc8ac064cd151fbb5fd8a? 7zXZ !t/q]"k%f%w@P]Ot-T QԿr4!Yi犯Co EA b)oJGҘ wXס B UK >{d"W_؜ޒLK a4y ひ@G<ĵΓ}u|~2.*⵵PA Yf[ 3wY^:C,ӻt=z3@kM#MQ&g~J#{'ZP܄;Q/)s&cf~k3~3" @CwEp«Ebd݄L=abZ+ },wT!VGO7(͋0ow>}nޜs$zZΧS:%S*LЊzǚӉmyv @fd ?aBJ$NUIG[c*(1+:3mF;V śA5!)[ wOpv hVXH%#d)g-\m:oi9L $ઇ$E/n 2Y*ԽQn]x3-V`L{S!fΖj8#TX`<1F|hQ?uB-%V/2f4U A?(~3_){ _lLGB1>4-zR 1-)J ۖ_MXY\~mBdShABnJDm%{ᗻaK*;o6YGOoȢ:ġǪW`iO+ _YW)zz~'O;;k86ۺq;[@#Dyj ._JU8@G(6.$xwP#D]Gbss_{_]@ O4 3+=݄d=piYgSX vfAt]kIa.ɽ'Dm eg16BKL ;Uwx-|$yd8 ~lR8L>~EVd%;S\zeh`(؋fW6\D]DS#S)lET@&|,Fw;vyܥE2!R|7_F3OQ>3>ޱ|!  H =П/5ُG֛]*yu #J9Գ]ZeѽNn&fc~z#OŬiKjB[:2,6]U4_C^o8TOw1v[V4VAh™l,R>F,?yn9a,pW|zYHrl%rt9xHQbL5[h48^ #?^bZtװ.u"Y=MZ zWJiX@/ׅIgIIU1^d RYHBqQODwguZ%j.zQgڕg/zi$+ue?HKaKcWfdPr%!'˱5'Y (ZmZkXvcu%h9Y)Oj3żV;FaDB1 "*Z42 ]>8ăJP>Մ><{J؃ܠ%)$˯y&g;(?v( a`Fbc!&J;1~,B+%ፕFEe{H: BeQB9ќ(<:rL!]}bCnTވ *ڬٟk fFXʾz V Ki3 ;ivQ,sz$z0VɁrtO걄sZ'15LO-HZ=; g:%=S^Lݷ;(A vn#i&g@(W,8)Z}M\xsu#2hy98qڎ , @H`X P-TV 3nyVY*ȸ3&+\/jHV*RHr:([Rb[ڵgGښ-op \JEanR1F*І͏0HKB!/?dhȉcۼaySY1BX^jh5(o4_23aN| qU a6r\~a@N9k_S_1Xl[*&9ư :`XTba"}q+(C~w1)yc?\XB򌨺M~V5tuϮž8q]*N*[sRβ Uw jxZW"F!\XL)$4WcДaH8`{ ac4I#wʱ{m`,|xԢdK;Vt1 >nWA n/tL'&/BO>|hD&jh§b~jDRTk@F.]= 66bh{]ޠUҎR[E#+f,&R2 `| O/n`D|seڍ W*yt)F wDY_RV1䒣QnG,dKO^bd$'V sz|R!uy`f)Ul_k}:?.慢a Lt s"t2q{u ^aЎO>‘` P E_9Vkِ&ߜ@:w=x6bܹ2̦6W6cF[/Te~NkZ/44OP#7`I'1Z.ݷNE=rX粶l9sޚ(/]'Gd4҉GANf8{>9#L<㰚y}U~P[3<u u&M]jBnśLZ/D=rZp!J;S|[XaU(sM=ŏY )g,Bd,ܺR!+ؗfԚ~9fE ![?ܻ+Wz3S(:㞽}SPSfO>E.tB6e"^>Ө#_7_ZX:X7]0Gy ܳ*ƵC h:TIDh'!X;y )PÙ+%? w?ZSލƲz%*b fddm-~dtsa9kA6wR;'fZHY.jPeׯ'R_!/h#u^~ l'p6X r;xMM,`yL PN)S9Y@d 9L NlЌm.GOVMFyKio,ES!ɴu܃ڞ&uƄRQ%y@e˫?Omf$ВpzXweojѲқ K^j!N-pqtNVP0Q7"_x ' 6r 2ckN3c {0C2=7"<{wo%Mӂl&$A^",>!A\wӋB)h1QM/IYC5( ֢!Ad#E(.v.=7EXx#ķ骱o+Mi ȴ'iMqFqڠRV:.9jPK5fP{ 4rlt 2IK=Ջ;X5l#$Wv'&*zYwj~R+A' iv"~㧆PTV'=Ys AR.t1bVqU@ݙPgdڡ?Zt$%ʱ1vx2SFRyzs79yR^%JxdiEK,/Xu@QQQe2zջ_y$` ĝrؚ_Bp|bL8ͺ?1eĪKk,Z)|ބ0b+1  ζ?sFj8^Y8>&UeG_K !^%DZ{|US6Crm@zxaJ#6-ʼ^W3$(u5s_bntTI'?|TX`!&Z> mfKaf}B0LAFLmMq8Μ#>/ѻ$QB^Tv\Bwk q׃U^{EO&=o $剣ߛbUBw0`zy&.0B!w B''6~~r'/&H p&\2F-ihA."y٥y}+?vK p;5 qAۋO^5\ ͎M>wƾGTAnޞypv̫gBZ(zohbkt 'QW8Jo9\2L3[9!Qd.IɚCdP0ϖZ\CǍvR XLz8Y>YBCr4aBa#)2;ca8Bv:mjщ !:H7kbNg,-i[\Y=g$,4?$U*mljyj#zUIՙ㳉z+2EDZ0Ho2UL[T= MQ07qŭ$p5ՋIBk#Tf(ax. BvZ*&4 a xAXVrWPޯpMz*EK j2MhtsqL0ƌh8N,%;e[űs-w_KnZgJH@)g8,&Q݃n,uƑrm0uۧEQjĴC`g)DjJx-VIkg]hkB`e'aIm/J/cmݾV`+lXB m &# N5u 榃QY f$C暰K T!͏yRsJ6Q,w bE,ug)6P.#& 忰p:al)tٿƽ!Ct3{L`b[Zj!/OF슋YCt݇)/<0v׽B"5)6Z|1VLDONĻ[#s{ T?8+E/QG9sN*r/7q*ko|w9/)@l /J#j@gźO`7j 5D:YrRˆC?Bv+[T-P `Z}o2 {kZdg"9M|w`#trgEW=:Kw (ަ`6 TB <^"UqG*j6 2GF9k1*a`>^FL/ p sͧ)q3nC,XC!8!<諭]2jYe}>̦U>?W:< RQԹl=DY_Vk<qīYϼ-!l#KْRP?kD<NnlFXij|EV-]ס cpbpN@*QG|ͻÏqzJ|FTq4d4` IZd%[>18?D͂|\{? ^qLk}负eZ.#Zaz}rk:JF'F Ks7\OIb '7y n* x4'~X}}SG,!SR@zNf匏,-=E**?t>}34C.A{/@*gQyUԇK*!=@]HFA0*"5t>/C)q5h4Z/,D7לى~߿Ǖ3\^jRQ,6Ƞw1רVHfݬET:rW1n$_qFJ"iMԿ$ ar%_it>"|\[xۆY\Yk 9᥋R0:VZM&0['or> ~?CEUۦ|4+$V\sId&HYObk*G:%Pݵ\!+HZfOq"C%N ;yO[8!7a/]jJӌYbbVt3;-4Cb 㹲xhes-5ncb:Eq di5){t!EJvA1BsFNae͐NMrB?a,g`aUuDw ^V!@? D~,N9STIhx֕쪚$jmhyD x׶{½}8QK,G0j=)ZĨpgr)LXyO2E1,hsjuy&7*܉uj2縗ܩa>+y +Ȯ! B<—ܔތE/Js5{? xI,}Evf|E ]G?o$=i1V)Enr3r·n֞T/"chh5 rB]Q>鈭O[/9&s3@,eznQDܜy#W/R7 c/Zŝ,X^'Y G]B[t͢msrƪYE)b|nc /,^f W@Ѥ5 wu&+JAS7hU̯>RftL̆xU%5֒KW1R1g}T4,iS7} /t ;m_0OM*=byn%Ab82c +>L#Ib6xAt=)Y$ఋ|.M-zdO %ՌaԜr<7oE2 {d f#\ 'SF1b.x_(틃f?pRX`D |`n0H$s6JlM0ϘCä2=?^[*΃y(Zj _̿f\9Ԡ~ʋzvFr=o*R#Xo%A[4v#?m)ܣ"\'Sy3+P`/L[zzNnM<8 2H{ !,6qgKVK?kvUzYg;;ƕ F8H "=@1ˡT#+q0rt' [f4&fkХЙ{9YJ:kB1ީ>$ hK7`S , 5PrDp^AN MtgR=կw+饴Os)鰵^A:S1Q{~o©Ϗy*4>ϕCg{A ߗoɜw U2c_dy\ _Xxm$^!7[wn}gS2,hUj?y p|3n+U ݯlwLXve'k*!HJ,K4CW{lԫ@o-<0aZxL 8aӜ98\v7"QnxUl8NV^G4'z%Z@4y嶚TCuX`n* n*N>0.e5('=5+`@G$sMÂŐ^=c8:22&{j#^GG(^mjH 0'l"gVa`/"FX?Z}jӀo4T yxv^1pzA4rCR'W`&V0nel1 4QtB¯꧃B`:HI!)^j"ݓhD9YY%~X``->-[ Od~ -G2"ĉ㙛صd^d41'^#&DNTLRg/._+_5_MF3ufOB . !S*?L%RV>S;n$kPC%f. q]fψ266(9V)pdk[*9u* w`]4N'M U_N(}ao(&HCPNb%EǣOm=x,_9%\Ɇ=Z`3z+z~?[Y6x̂#?ײ˨Kg<*jY =z937U櫋R$V IJ2/ brȶDFx#6]fq{S@&=.9.p/ i_X+)/ed=oeYX9_&&uYtI`Ql.oG.NL>W/)> z_ YIJ6UTt"IדoΠ@d%حx1\ t&KwP:;v2W1fWVdr2T=?qj*!O7P>hBU% tpɹF/|JFAT;wV$:1=[Q8 F:Ay->5'}5-Wț-j4v//wg9Kf|H@+E$-+Ӛ8@K "א^s2_iqGlu8ӨHQqe_k(ey tGR݀.@X&24Uyuݠl:IS5C $41\#n}ߒvL鸧i m }@6Xφt'`)j,ͅüsɸhAݾ;0ڏ/K<9QhcIBƧ NQ_"<6jICzb36"X~NrEܕ&ٻE_Pcꇞ#)RDh|ʝ`γa`ZZ.I@ 1jYSmp'D[,2:e{VmJMz\>.T\f[HҶw#rF+ژӖ eRS e؀J|>f3D7mO|!{EjXz'$% (Go_&kp}/ӭ-eH994p4= u Ⅶ{KlTҶOPHe3ו >Ԯw@t̯lEr np%f`^ۅ62p;Gr+ohg3=Ϧx%bNs$Xx1H0'Sί$O[VĞ5Q3gcH:KRꎼ0(Ӎ^m%덡R<s,ײ8 Lu0}N$ЎxSk(0Ì>i}хςp}0hXBת98YԂYn"z_\T\fJXk;͔pTAXETFyg'I:4VO4Hy܋#@Ywo,?qe:(I<):yufW[thWs8h_iƾv#pˎ|*EnE!`I[WYY. *RAs cݾR 0'LӖ@z'-̃뀄\4yqmz )AccYoo:܇N̔\ ^THTHp8#G<@>|SWlFh[/+~o q@9dvႈ=Wq˟i]o@ NVP\xUEPKpMfY^c CD heOO)gP&J7Xb:P^lU>Oedv8tukg/*9*eOp?-Gv W%RΊ&U DL d^x((&giKWCVXV8-ߍ;TBuV8cUhCo<\%BħhOvGW$|ܑG.QN[!ju#NdizU̔> nZ2d*<]>9?b?V+Bծ3LX+R1( #L$h0RxΜ>@_>*% җ0M+Rz9IB߳X[]UZ:ȭ [7P s#_qBz *_SSOٝ6D \R @ %pu)=K=w[Vc$1+)(g)&:o[fR'#&k/5ni;ΑS+3zU=^%"TPW'TA:Mu}.&|nz7]Ѫ&R2ma+3ܢXa.}FŇeTDِaJD/g%|lй '\2Hf{@X]T5iOs.~"QJ'")TͽPj.VX';w<@ wި맣+.g庇qܬ  @_L? RE,-2@>5FeDrY&%LT;ŻT}De'OK;/ؾhA6x鞷\O`2x7ZCiOnmeLz{4|_i޲c7o~ 6P3my2]9%&ͣLo0:H ̥4_3a+^IK2p,>vd/5G eMS]AO#e!< OA16KZgFJ?ĵplJF\oI(nYW I}r;aM,V{< $k}ҩ/ кU 0OPG}Ninu˒F6[ϭl3LئZ:5r- vɃEnqab9ook&H|idnifih/ ÞƳNDhXiˢ}}rK|15ЅR%l{.w'0:q;uhghl V4"V6КMaXZmv%7cS㍠@ł7++%SB-b34(frm>&Е[nx`CXg.q]zX ldN l`-&_HZOGȖ"e` 6E9Lʞh$M\qq+`w>4J#+e_P.Vt g "B d{'e8wKCmUI"$KCtvZN(f6r]T%WP=* `K4`)N}E)bC(V4q5y(s=xxSBYl1au6`X;jV|A4&HZYO0@Gn_0Cx5X:CY76:4>D|G}K _qs)9T5ei50Bm}aWHNjbׄS&̘@L@(\b]SSZ[&Xgorn|o]=0vaG >{u~^VW->nm{BA%G Xb;ӛ2Zvim#1ELjQ9Lv (V 7.yi*r -yǸ_N dzMgҡgƫk/e-Y$͚Wqa }inK$.1|Ԇ z$e0bNplv^wi opԫ$fUnr/e8c$̉7cyy%ًO'v0` .\BU@ky FG#!BEImDF}_usXC6'?j_%Ơ_0},G Qs96Z]#9`DvIJp@T./آR kȥY_mݲ4JQe4b$PD+jn?mkzV⮺u֙U7uvA{W)?w*j'Ib9L3>]tGH;óAs<J]>BC&ũtrX,k*äSJtrY]ER1V!7^/L P,#K_%OM-< n^[m]xfQ"YwsQDv,?%~0~{g*oYϨ)`nW@Xe,Upٝshf^*URFP)o!- IɶF;D> gck]tc'g~k{ċ}% > wz΅i9 Æl_ aSO A7ZZsj)/,}Xgr!L4C`  ~ݏ-`!c$ "}2$;uIf}_9/#sڦC 2}#eHp7ix[A7e2ӺSm?N!8?&')zPvWgX0{&*ٵꔠAt{)X(fFdV"#eJAxCS#?Ʒ?Bj-B*a sɠ/yRA03`AyhN3>aQ4:i4m V**081%+2`iH_YN=ފ3w % 5*q BBto3t0g9п/2͋֌]hE5GiQxEiۏ-c 47umM +9(TBcuym:{a!%18] DOZ&r1_䩫BU=$t]WIH嘭^֪m7|T9.49Rd,G9/%z:G)|L-Gƙa:.X\/c|H'TP ˜[ϫ '6x '^<'I}:>پ~qfߥCy?c/!xf/}w^rVAv;4X_ޚdHJ["!@4&';U=_tnxC8*rBICEV CaYyEGl##?hJU P>ڨ]vR F3١8W^sY ~ qR#:?j XNa|VD!:EomG+nWe#p(HtŐ1V9n_1G4FkT7}8n7%<3"0qٳ5^=%Rc%6㒊Ȯ,՝ !m0myZagkTQ]@LC[Эc`h5ΥnoB\YQ=1}G}ͺÿ6m-Ι(V@VIi";S9 E_>Ƿ:x\ĄӱLKDh{ϝTBo@X\:18cg EnZ M#t^֨N` 3؉Ms3#-ꔧ)o23eK9=&=h֤y0J @oxji,0xR+'*}B+W@r柞SD )9 利BYlC5IfP[984KR<(9JZxP{N=]QU>bWhb86e;rO+?cA'Uu/ݩ8VӖ/}}D?Z1ah~ozkIUOF6j=U!?ioz Bl9>3XIz8&jҔ+qb"Dy.3A`X8#)Hͽ1tEaYs!cai(S) _F{tX;} j<^@r]y {c6I z©ө6 Fg1,[]4+o$V:(X]i2 /ME9"Mm O|*$Ze](tI^>|^46EWf*ji;ω/폯fPB;m5Uf#~f\l.*y>FX(@Oj-_rens=6ݻVcy@x~\zٸ/j.t{2Z@t##g7|՜q@ĤR)MJ:^Hv s'yNΧ'#w% 6z* kc& 1SىUL%@Y?r3KJ>\Ƚw[71?\gw`jeFL "8wc6(]ʅHqTF֤=^v.SQDP X!6OZ~PV,9*KOYaQ~U{p.- c Ta0hg?+ּKt-7v5@P_(m7w,s~z(B uKqՁ#95)OxvB ԟ'tNJhAg|3gVz a .}ʗt2 ]g IqEyʬWX 甞X@&S{Qj i&햱8DP}[,xK++Ζs}7bOO`>$xW-fRX؀?j`A^OiP/34p)^df.0oف৔fy ,2Uf ;n5,& ̉sZ e pꤰ\o޲t#Swe^p;Ej  mJ%/a]W8#騵PhR)$Ha_p5Ac[J+jRyTV́)sSK8/~GH%2͒T7ŭ}CadOǒʻȣ3FD@/jC4!}AIchi7Bp[W4hI`0̘'($ +W# _[M-0Z<B,4}sQ1x˫*TN$<?&^9$^OaipW@VA,~~iH ^1K`2qJLN `l"Qh%mrIT`m`?)_@ɮCP+kd6cs#q=Ȕ͌IJ=%P-j)+MHЏ鷏`9td}% ]@$?##Ys5 ٜ:~/i홨v~ZƖ+8\3fL9Fcc6 vGҍ($To. $|DYa<3 hY3g|̀OeZL!rn PLDVOSL򀬿dEzHa|Ǵ|;qNt&H<) ~c򾳎Rm歃)gҟWyN(Df׉ [F Ezvkq,2KsP*;rIx?K-1$K)BgJͼuKemJǁ\rw& b_S]A5U[78^T%FlǴ:2<ޯi\LtmL lU6`F㮛\aS}ј.4C tpsD3s0wTlH~9}bXqXF{I*Q~f͛JRdNt2͉][z fW9[gd<AIu aةUy[XSհ;*x߻xG#J֎Ð^QTn@ g#yQ+2- $b$%ͥq~R4/ pvs׎.7 P<X 7q֗v'qn|o3͚!bϢcL Ͽc~N6 }Xt-OO"W;;,8(zchpQX iI&qyڗ.H6*fr$sZG.*A!ļB6x+ugN+'=2 _;O\/|)ŴS">oH h}"@2s. 3mj1g[g;s. fmBW6rx>Eh  5= sܾ]V0IwB퇘2ʃгhHW7|Hd}=׿eedcf̃,?go\׭Ⱥ͚!.]Dԍj(h]sğn?8|Ƒ Ob/晼 a :'lA~LҜ,I_e'?(他'ph5qN)fi2I" M:66gf#H ad(]RD<`Dd;T=(-25ܐzs&判1 bUܳжa tq>q©9ƉZ~-!?=DSr0%m#MEE0@Ђؚ/(s¡35hC\]К*%lȗНSm 1U\Wd./,\# e{. zQdwi}>O7c*{Ø97;.GWգ,x<ȍ][xlY^LF=-N,NiZ2'$ .LV3+crd4O"| XL[B:۷Z/VNqwE {Br} 2[+x\It_:p&&e ,?v)nK.A ۣ3[ Tfsؑ[&~3DB~ڔG҉vZmqۛ0_ Ms 5)m|_:XDJD?N#+L+#BfP͔igJK51)hw٩;*~5B=-B馕 s'F+^2&ƶۍ{B= @[tn[rxp~Hɱt2y%1\_uU҇#Lj"c^a]@x ?\&$'DtPIEAsR,|:>?rk^4KBM~髨MmTŞQ@KfGl$(PyjA$W>Z{IEr؏ᚁM.s@ыs f!VB~Exetm0BC{㙵FZM|Bd7cQ҄u0j0U~᠞F?MR\Dyk޶Gڿk"ǯB!jdcָ/+G\H~Hpr[)L .υSӧX»m^f.I\!Via"CG.=4\Prp%#%"e[.p "]!]L E QF:3/@2d ${8ꮇ?M2 q,EHּ2Ẁk~n \P$ny\[F]<7۱0?AΛ*7?yTyy؂yKG/GDi1"$oe>Bޅ#7ЪI&qKDEnZ|;/'Wpp1[vS-?\[-F~L\}ME6{X뭭| Tba!&m99>M1̩Plc3-gj V[*#ޞ=iά+%L@+ˇ&yAжm"9P,(dXRG$څ(CFHwfŏgŇ2Jv@8 TQAee)&d,ibԼfq:ym`mT:2큫j- „+Q`w[A =R^@6 0MXMܟ0#xFcA 5aHc=v]*;=Fu$4%dV׳`;.IWH&\0SKO|ilcL%u "]AkAxY \W-EWƛ=#^NXZɔN7];`ږ#zhVd7rrdxp:nƹMrK8&dW٘ho̽Z0f<~ir6dtYEr͜AT ES~CY4>Nk00yD(COmgV2G^F-,+?^{XM1β]5O!{d#H_67VJFzw3C>S3: s u΂10K#/L4["*͟[ҲzpDyRK+naa1g +{"91X?~@NbK(|% B2&y- \k]w9\Jb%<ܿ,Jæ L`\)e&P PVKSp<qÐ ]ʒcv ^oWP;Xfrē<,|Y6mRڀ "wlq+ȟ kkwTb\sc)bKl(4 |kvT{l{v݋.4 ET8&tPcI효d(Pw]JäXE_cs]S  [\A7%#9!X>6t6mWpr"_OM&| ,b3WZ/Q:CTexJBz,+bD~U8~ˏHT'>,Cfs%z>(vkoJxtи+f|̡s & b56ӠaĽ@05R#$$/w1؊e=j3S @E_{ =*@;A:Ez6*4by)b] k\Ic/<[&dh̙e k <-pu8N4+^p%'V: >Z7;y5@RM? nxAo|<4ע%\$n ^?76V~sΨFp+oDAC:XBH^bJg}ANbKXɋ>]-l! :`d쎏 UX(獷1)yK9E"o+bνlE P")Wx{/iRI_wg5*#(:D`V%q988T)h!P;4r jMJ)H 텹Ey 1Ma%ެXyz ɐ0̴זE2Ȃ~jѼPi`  p)5ZϠ"#=SÑI@@|e))V:? S")K|XZjwB~!毙m".gmu/f ~~OIUz9L hKN?ax#`~9Aʃ 5ݱiKaM^ άaӷ)㣾ۣ9Zl- aîב ÷,j `YhJ`|BQWFKH%Wۀ TlqY uiX]J&۬Yay.4{t؋dlpQM$]P-oen^xůFm r~R_s[.)Gmnr76ĩ;܀F }[xC;c=M48/x`YJZSwہih4kI/&$SyRJ]\9ICM"b$E sp{ t2(Y?鱕)|J&)Kګ/͚uX Buuw@NF?ĕ"R뵁EIl'_hݡ/B[&'b&SJYηƣPQؐUkLk֜~*N\z~=pT`z.ZD5 ~*sgUG0MSᬃ) ^ ӭmڝ%CΩdܗFcԌKE^Uw>#fc%od1@g#Ԉ.$n4ƅ>Sk| lE#l}$~7m19 TK0?idn/i]`V[Tᰜ;T-Mm!Ug0VZ&n8WwIXjZ [?BQW;ȷiQ ckc *A }M3qAvzU", VB2FriQ a_è䏣}l<ôD裇:&kDcnw Q5G& ۦ;z{zO0O-D!m9qYMհ?>mژkOb:)6L#8@/͹@) 'IDPV|B 7}8t4Ѽr2!jr)0b 䁟Rw\R #0b$(dv[羅 0ѿ/x< hY(fc,Qߦ}.$ZQx]kcDs1Ft]]gbɡ,P1V-ÿ M8) km庇`*5(=G:}e)&zS~ާoQ)lO㇁r슘)OBܭ!׍nR.imRSjt)S^lA)a.߰==d >r58۹2try% g=|Y }miJg#le7o5rLկaʼVX ]x Vi7#S%d .| ibΏ*}PYjE-[2zcPJ: 2M2(x_><P_W \U+EOԗXnFt2hRSe1ɒRֶ | ?# ˄+r!HCڰ+igY!xT\F`hTZb}M>gI!8{9htvU,E-ӛ68_*Kp6u;Vd!#|q'Kb'2ϘP2p[ ~;,Ch핲`sgbEqo0&jxmҒ .qGΡ#ihPx%%YOeFA74Orl.]j 'cR7N$JX|0+byPNԝu\@@ ga{I(h6L3N8  6~aŒii:aBFI OP hP迯&E$mnR~❶_VxlQ\T{ bx*XlGpA eVE:&y Z頝"xBs.T\.+U~yL</X@N-ffD4'3x]8M:1a.G'$a7ligC?P>EnjY?*fZX4MZ/&X%5ÔݕBG.8Q>?$q *`odY{UM ѧ`,9A/5l3II!Ӳmeo1Β*e5 " r)3`E܏G U([:| \lɮuoDMknxz~9 ] ѬwEћ}j2U 8/F-#wXQ2rQgaM:ci)ލ 'fn5 atZbKCSYa# kF?|{H&8kݍ|RCOǚԫ̬KىȤ x :SO\)!0ϔlV}[gj%]AYq{w!A\{_B‚)]qD$wyAP5LM廄c:f?|Oh M^5b' \8dS o~zԓO&))d`1 'n@S _T)cW~|jҾR_?װf?u )Jk.t(QgqOxI,%{o{}5Yj# %?*DKD!i=yC5<$0)S w"(tChȸc|"ܗG7 iF,gdݘiko&uqB^Zak>12}-d%T`+QpڃNpJw\&s[QBbIdT'>!:qۼ,z y#Ug">|窓6=sJ.zr.Q {!zD(eYɛ 7|PI]wɞ헶 G-7^7m^8(p.a N ˳]LV&^ZNf7Z|/W {7D3 գgujox<Ԉ)`RQZwP13u5rM NٟIqP{DoL$@, ]><#KX dFow@h)* KxGv{x"nG[zd=Z x*%'ޱsmjIb=lO+WY7^g+)@h SMZR:-x5Vig 5BQ㻱 3N$LԁEq[K&͑=r<%[59ZR37nIs$z||$aڧ33T.l씹ZH641Apz~<Y_AQ{~|uǒ\:U3G'>1N`?$pb33m 6VOģ42]*z|n%sbv썸\+|Naˀg@3?-(8VAZ,\wȓv_:IjNэգhs7! *IqW~IQj ZOS)MxUx_ %œ Ӈ8|R;Djw~C}7 Hʅ; *X}M-[R镊S:*DW$Sr.m;j@:3w9D%>ɰVHֺJBadWpg-4N5U'{e:94iC$`i)օ(x3Sp_+—D0E^l1V]/'n z{5g D(Z'fU\Pw2Ϥs @L6QVA ԖUAN7!Y|H6q7ZM&z}H%˂ d'%Ͳ:k/Ը5rp.F VQ6o X c? )(lQ}o(ȧ\_ 0J!ny;" [jMIfTZ5r9ܚ*kP1š4[;&394iaWDv"TQz~vw( ]bUs|vz}朡ΌdE..f`+qXͲRFA+F$2 ;F fj-]rC{G.,3TOgA/jC=]6ާk[IDp7=i5g[&e.+hJ z4&jcC|ii+zaJDzY#yM7u=@l4"5X>%K)WTHTVB m+"m %9jO khbiyd9$X+U.Zܽo8}O,JAۿ;鑩7>bGDk&䩖SI])WC z&?KdէosS: ϙsVfdbwhP{/_o j##葶p2=w.h+( 5AӁPwHL#“ۤk?`2-6;`L"1,QԘqEcSGAI_[yZ߻Ƙ ?=tв3Zf0[Li-d3ఀ@Z:%^p{!7?4Vi/&N&G;PK?(EydO!xT"v,(uz)#ܻŠ-SyV咫xFZݤ!x>ZF`HY w;kNξ+X.;ڿmn91`N-ǵLܚKp'Y*BWVX% WnghQ>Bz>Yfq@-xidf|Ԕ\a<`>kd'hߖ{U߼&D[1:5$(\#ƭ,CsGsJH蔐7mF)? Ko%]%ȏXUy#>95}\HGV$  I^:~KV5UZۈJ5M{2(RĎ~)l̞p= >jY-,2$+g"uV`V qex 474>>Oo#-S) A#d%~i(&I [kJ"/@8i5B`Zu Oftw"Y>D=/2oqK>1GB>,}ӨEF HQH|E(hG6iy N5SERڋǧ}^8wyu Ox9lh(eOH\yH#>^^Ƽ<©11'8 Kp27]S\JIЌ5;A3h{%iAP<>䇿g*?O9m%.?+}.0,'6 +m6\?^:5)Aʖ0i]mS&G8IE4zPUXLOځ>f̈́GaMpg$ F-8e*y1IDZn A |O |H9De#VA_x} ЊEHI{}< ,eՓ6:j ŰW8 oFs"$L~hmpKY H눵htQ=rhyrp7wcec:|C糐nRܯI:ɼac8/!~6}K&ϴ[f+5+f hmjl=`>BJDHS+X;nQ0ŵ"(Պư2ʊ{CeRwJ̢u ;.r߿:M{77OS4䴍Y/s}r-tC*A]ýڇjdn}眍.MV#a6r9mi7;H?(8tYǞw)/VoqM݉am@ZƷ쬃ARwӐJ:Ut2Mq{21D^,slYQY=Ba@V6Z n /a{~$lJnKG,6xI^w{A1{dwRZMPzD6iW*Z}>!~Mځ,x:XZb  !jdڠLni] 5,a h_RrPl\lD6o(Pq8PQTZ~Ր=MZI%R-}d5b'> P23#N$/P, L(beLIeQ &gUyaaÊ*Zo)uL#bAI9dv,vDWo^f_ . fo69C w !0nTcE<}tѥV׾tlW"q CtG@)aA[@x[4kѝ.!b=#Ƃ UdvuS" H|'=]~/+(H=e Jm5y;ܺ\y̌ӿ3xx6D-Z$#I{銍iFvהaؽl[={,Sqrkp|noN,}9iL3 !%-BK|*yG~^cy$̒lϋyWYnegh9u]d ӊ$B]`7dUDGg}w"n=(d>f*Vuk%T| z Js^)KcOQEqP5DC11G̍w!'=8 Lx620z(fҪDe: `4QPת0(S’/} BLp8A$2]*22V B8B+׃J#G8"h=5ռ2H%pP΂)ZM'24ߣ^જ9 PHlY vj/WM6#L4 Z 5)3xM|oiǑ8⨃΄3}C&YSu9p.-oLKS܎ݙ3u'0!PN]w A@(ǃPŽdzD9&IPؓr.$RZ(͎Ƽ'iYG=ǗkF( hjc_d40 2A?`sb&Lgm">KD4K d~vfҖ8#湀YQgX΁yuXtƫs COM[ W⬔׃}.Y Q&8Wؖ-[~N\3?}'̪/>h!xEձ xۅW|a:'{nQ.Mn ZcOp'l6K#]z5nsDs3{Wv!wkiXƕ@q4 PQˌN_WoBj:Z6EAyfC|4qs&`̎9@EK)nQNq:Leoڗ @ֆ>kŲXj&Ǒ̗{Ow#MxƭPFzBz>픴\'IhX=]J8o`;ٿ(QR|-67g>JLL}/P)_Աc+gO{`^)[6,gZ$k3@idq^})opw!sx@96YG"8|/6lK rcY߲X#uOu 8[kաʈCr!pX 3tGǵq#9Bȣ lWb)Cfe]|"1 JGԘ_'&N؊674/CS^0.erJnh$7?G]FS -u-:P.7ʝlN}qlI37]qSOE<: _TR! 6Yg=t70], -kfڿn̋@w ioO̦;]nm~Lϝl%& rO9c}l g-< >r0ֳ{,)j2TUO9pgBF2QxӋ B+u 9Qg{ٝ]۸FVȋʷDM}|X.$pU]I61*`-9ы0]7nA+{Lv' aƳ{Khv¤ Y,hu圞5lv5>dX8U ~ <(b9HXτe=הjzW:Q#ڤρk:լx҇I= \C|, 8i&.dfdK1e۷}b IUoHvp:]jxSGCȄu;Rn2 N):l0|C&5CkTEڶ dMAfʣE\/fgk37Gs[i~=Nsed&*7煭K5^>Xճ"'7V1^71`}k=1Jsb"eJHvϸm)nOy|H B~!PlX8Q(@@WmDWU-k#Vmg8U= uO_uVV@X ;˻m"׈:[n4x6V'}0o /p qcPąN Yfh&/ 'Oنx {zh)EvvR#~+1L× Gk` bf&AԺ_C6tOj<+8Qz/Pu+ǧƒ,L'8uZ}4u؉C6⅀9uyAxBK=0ttK0g_q:(*傸\UmCqJ5zwxk؎N^ u"@ؤ?[܅OP SWosŬΔ:gJo!t%N0pԧ}*Le(켒229ܕOͤb.g"}g.֚>fl)@kAs֐x8.HI27;Mh%uoce\[n\9AKt/3Ё*tiKQb{W,ѝKYյb#b fneǮWeS*B4)\ﺳ$KͧU'ѓU@N묗҃Td -dF7JOD{.s<A˗e OPXsR\2~~;FqJRo80ܓ#Eہem0&]\m/(#IGpru4YgKxA.kmv9'HXeƒ>jF_NjĮWFQ|2hv{j"@'!Te[Ig 5i4{˪添íJOdqKּw$R|SEI!n6iPؠw/P?TPv*B[yWw,H\f(?p@O XD ĤVMʁ_j|?y4ko咞v[յ$.gmz:V9Hv4r‘&OMoV+WE6*!X`ȍ#f9v7ҍ AO]Yn]q]]۹.=#&̾<̀CZRqcw#lԎ5$kV1%ݑFi89D!Y/1û,]rtJzp=ߡL136}<~A?}vcOxA lu}kE J3w( $M#,HR|''Zk^G0c@pwe/2Pr>`C@iQj1mn($J(x @N#!L0_ `d~nىKJԫ]sT$C_-Dg'1}HhxUِV4'A#{j$<(7JZ)x2!u]9uU*~zY5fkoX8 rF4??ЎAb#x-J ̔u]ަsw l,qF(X_6ؐKQԭuJL|}Udɇ"c؋lj-WGQzFpv\qsCS k!U,Q}!)̒>xFEVz"/IM}:X) >-9ΏWRD8gựG qW1K<}#@#~1O7z-2C$T2EOlRŹ ʙ`젻]r\51G$';ͭݜ"j># *c #c_{F*p9,vAJ evW*?8b0X"Dqы>-E4 o{hx Sg`hnun>IK,WpuOQӳD[[$bEx{UPakw8:Y8M^8OP.[A-wγcݤ-\n;CFZ\ )+@1 R)TgUf#\uz"tH}l;ϖ4eYY&ZۍIȝk24^[ ѵk n j+)`E4$P"ڗBcJ'TnW~f@eͤr<ή[v%y0rDl7jR;d2{ qO:JH2p0cY`vN@g-?"!+L.q UİB?=@&י#?OvHHWK#0 8>KmB9]PV 4 d_Ĥ {,Lz=4Ovu9L;H*]Af'YmM7 ;E23);f ,줥X8C|s 5DXT4cY)Hs`\p^)lϓAKH]w֪}2hnO1.%*RST_4%ըaV3?'_=!g{}PBgȖ;ZX_nTw>PL Ղ 8/Qt0L(.Wة"cHl\zb}<=.J߱>IX厤mW}V'Vg]m X Im&3r#f[{m,bO W7vGk!)nt/7[qLjY.~=% ] 7af`&i|UrZP%)`X ,娟7ܶ8L@^ qsGni &$)E{1hB ΃>x"ߍ ݇fߗl!aAbT2CN˚dǁ^ ӢJ|2|0k"-{QDW薊~·qCm.o!|Bj\Z;P;`B3jgؔ7ɋ|$0 bXN>%u0XKWš#΅Kr9O Mru6K=ܙשBX@m1RS!p6lЊS=eDNS-D`Ʊt=)9ד!XT&Iswq1*0m+?"w}7+md?_ qbR|}( xq p FK-Ϛ*aѓZȰ3 .Mo?Ĩ ŃTb1NO;o}L&x~"VxJ R=]63سm83@nePQv1IffB4Wricqc9 >y "oJypY̝x }P# 6mx\4r~hR'$|)GLF؈Ci}9U:g)OtDH'1]u50xi={h D+qaCźh:9= X[^ >> ++t"+8v)9:S}bN7=[ܬ(U0֜pZQ$`rìEo{+]<-_D3D -X뽚vJPƯXR486;ՕYħ$E`vH:n_n/ILsxcԌ f4RKzUR3Lh<ŢK$(ۋKF2,=޿ ?AY>kl$ggrQB^rwKv=j\5EW^$Dwb/XɮC0 n[&;@W +赏V<-JWO9*ͧps}=$N*)9>A̟Q!̰:,Y\YCK5S̪F˄{Hf& JĂNZL6o~m7UEί'eE|kecfw"+Ďlst+ѿOQ&9e.ZsaYݑۚ-Wnٶ;Ƴp9ci5tcX8qHp3f@޴: ]M^^hR Um.{VwXjo0o#=eO|C ϟUZ`΃Jl"ݷ{a&XҬȄM=y݁g3w[%XiI2Y2Dy5`7{ 1p41BUQYiٍymL>>MaP}@Z̼sjaQNc S~x=j|; N *e:Xb鴹k4$?ʮ ~fk0,pe1)/ӛb.2#h6t_ G< I jMs( ?IzY[j+Y&tli0X=+>ũ~go!5Ϟ=A4/Ҭp,JG >JL!/̄˜hE InH=O-ɶ?rE}lqc B32^3RLj+*xku2 y> 6%;r聮VdPABqVڲRTY9 uQxg<bp1 v,"rտ㥑 {TGT~5 wVJ44&ıdX铍ee&Y"Me zP X( %&r~N kvlG3.Ӳ/NEG[teQ{ң3<<ʂ%h>Y&5KA97im,܃H^C 1\g0$aE H3^2K}tEo<޺轀fnu} .5O祾5sEn% 42#zf;CFԽ!/&q?S ʔBHr;>NY&q0^h{`uu <#g&EpwDZKB.*>z%mbv$KM  | tKSXڨ!@bd PWQIn2ȁ)=[<1m+3= "e`{}{|`.)ѕ̗Lգݯ_GV;;7B0JН/0P3a);|>ѱ(&F}Cx\硪F bѰ 3!$ou(n ɑZ"9G'H]J5~Cn;HY.VBS*vH#3,tLGǨ+-:eժ @d1diw=Gofm1`oV}WCm󧎉n-'6aQ| N B:^9lN>(@"YPz<9&gkN5}!VvMs >{Se.g2/VzE_;0=C`b_Fa%Un"-hƷӓJw6#;u|83#8#vV8mwݗ NRZL` @~|S~,@RGJO2}::*h]fs>HzHبg>MպLfj,~ Mu;GQ:Sf3`OoS6YZƹӽfx3g]2??ϸTWLl Z_ 9OL5 RH`E091Zj/k2Tv<* qHg[ =%.*V#6?1j(u$"KD=r%3;.hY ,OV͠T4NF3Tm>߄OS b= L$ +rhd" . L uP5PҘ>+%!5q߅xD0"^E+*Duߴf1 ~jUls\y߻t% uNW"_Lsn^J]Sq^Ys;kӯƣ  IBUz\MRiBSK4O&"7j;rX| Ĥ?#+ˬSxÒ* UIh۩tSrW 5d罄 6J2@7>A3ՒHNx޿"~ 言iDPl%(%d&qNoʻoPx=7v@miiM+h4p&>psGj1]c7gc&ŊVR)6ׂf-,.UYUpZ6uJJ*LFZm[%b~ҷ|.^E`#+s+,QB[y%iM;9q %7}]Ǹ՘N#Y9 ȡ=no%NMTNK $H\/s65=}B!<ޕ*[@Do* |rpyc-EtΕõ5g~=g ܐƋEF LDH.z'T;vbO]ʳ$m^E˽\nCBK6V/-N54p-:gAG?Jzpukˁ"ka|hB &E32+қ]T#FnkXڞĻI:VP+j~j"bbjql1K=\5I4LxyݔQq'Y;_ CT$c(b?S԰D(tb3-Jl4;75Zvk})*)DRY2ĞošaD>Au4W%r7).%8-FВ"ik_=ؿaNl;K8ba2WB ʯԥշ_8g~P$UP'.iy6B˞YHˇRgrs'x%dJVjxI9RSpbtyt%Դ]>PM$z QP*Un|٪8󐰄5g&*S?p($pXyyz_-=#b=W~*Of #1l0jl(?͇'Kݽ\a:8KM$=e98L.;7yvIqP\&kv$-]G|M_VŮ;|e`sj[Tը8P#a1Vk"m}&-2%cH3COk{OGx;>Ӭ6uy8 Z\vŬ-<}dtcܫ<">@9)"ȕMNZWk /6bknZx'\5v ̇ʈnls2] w)蘻<c|\4[(ڱ#Rt$OHRB!pH5& GۀSIy]ޣ+wGYj=0졍s`X(m<RbG40 &1̾u4W1\c7~囄.fsEoi"NH@}i6mؓ4)̞4T2!;u(:XP*T7 [TF~KBoYSd}!CONHA(ZaM@yG7V׸,2eޥ"Yw tx\*U^Ki(7`J'7 mH4g?jILa1L+"eE4`niho/>)؁ZY;_NM k\'Bh˻QհkAhpw,5[T[hI'7Eu^JqkU$N JM 00 Vδ6ʸE嬫ϒOy߭+(]֬-uPj1;FBXey(;9m0V~6Tѥ. 豢 =]['Q 2 z(bD^U#x^7}0$XINY!GΥHv -ޒuK'>##o8%&"oxHl|CmS3*4 OYWK-:::*y&j8S9DzO&-GR~)Z܏ 0gN:zXys 2񄆝Ӑ9GH5@iJѢY;gu^<ƹFɹKv0pGIxGrzmzLG|_A$"q'BfM+ln|BBhtx1V 4)q{Atd/=G"n;w؀>5aě4Aam]tJM#CLx }ޚp׶2Bх 41[w<}?b*?p⥨#7m_-fvIA8B"֟A.;.L/ |1\VNp'iItUs 2jݙMͮ@Xf؋uL{=a)I`x saAB;(ѭ]yN):Ͽf/*z@'FWOl;E[q0>?}"S]z8 ]! -U786GR?ZMbhxa|H|  #aTsJ yɲ)udn$AA,wjaȐ.9~guH!I4U.K1gfdSRŃj e؈:+'5wL;S\::Fg̣{yNHxLL+G,~nPHm~1]?LgB}xЗA·[ ,oO>q!n* ~ '- _\|4eVYe7hS9bKSa[\@SQ}N8U`/`uBK9c_R h "*bB*KX0 g v9UxpYQT+6kww `%i.0酢7vɱ. )w26V(xI%tg >2wx䜐zݡy1_e,2}?/ }9jzu8rr%GK{W$Q&WKaP*GYj2Q'eKMX񻔔Ƨ;5V-8:Pt@ Swڳ$"|ׁAGrdgo<㽥* :*k}b'zNAOenZք}NYu \"%8gH ӋYgw5%NŽ+dc_$LϠחΑ&pFuzȟ.Pp!aT3I  "IqU F)pIښB1K\M|nGyś`^a1ݥ~י]O*\,J b\lWY^!UPGK)U0Cg9U>ߗQ>*%kVQ.1 ~~=7;~ 3:"$dm$ib x ֳlؔFފ|P*Іs!q9+r7ʼtQsfc&E}r}`k1xD/qy-to_E%NANTFooXcn&n ? tVA^xA#%%_s;F' UHFiuadrJ[7Yg)-d5\)bX'G6|`Ζ*GCt^q&%"Sٰ72#7c@&JT33.s9^^ArE>ʤ,[yl,szF--p]ÃXHfCe0%kb7ySi=C轤Ss{5kسaI##HGznQ&jmdPX/|jRд  =BoX& =52!]R>)bl7uE3y7tˌO{T=g<'V|t%>knjNiݺ-S)K۱XJ]Y/Z(D)iCCmkA ?рM{ʀV jZmnHRvOƂmN&&?n|g` `d0YC.h{c}J'(,|.QS_, Ʊ<n&\! 1z fMJZ ?xH{&`JSx3i%F&0̉W<ہH_BFHz:^`aeQW7wqBwmwHGsOJ6B.-(-_wZfUw=ݨ0mga( ydbLzwrKrv$dNHAkH>9k!'9CyQp,\7;e..Qmta Z `kz>J;AպDYg5&r.ja2OMv'U͎WbuDI]&77(-Vz^(Un<^5PG;wlsbͩ?0͂ԬPj_3ڮձޝ0Ҥ^M9G h8*)h20Nffq$uJ^|GHu{tRG26F۟hcPT⯽ٵZTf/1geE?KX Z@6RǹŸs/>caٯAt: ML|p™OGty{U;x! ٝ*ˍ[GB"3ٍX|ؤJVΔk&9_NϕnmX1G[*e~PNijx3x$^J1g/f5{C$I+O ẍV˷^ԋy~!Qׂŕo/'3?'%MCMG2[rV@ߺU]qJ 3>1, #DlH3ˑ?J1@GR%Es,CFxyTB80o?V]!J: =Vč]Z Jy<.GhY˔ox#j&cV+FDZ̻eg_h(PB*G-7.аKԀPǽS8,(NSBwy\U^!>g9Gv:oF~} WeT4k֗:2J;?G?'(WޚP.ѾiQK雗 "8]4$H1N:'*xH"a T41VO~z9-~Y I|#"$Nx́hУ•ut2w=-yDL?MrCYdvqLYc&_&fx8'H)iM@{hoE[R1=r^W}[6V[Ii,g/>*i aٚV%gtCFnrZ쁣z$W!OLtDCEHnƂ\Rɵ¬rةkVFz,^r<Doڑ'҅ 5ͫjk8,:ql,>ŅnyMwF wffF2 ⶈP9Ը *HT,-n-'hm4L]s M==~oI۶6 &IIGwDg|[IZ T^+l F"}2oiy.QRقD pcZw9N]Zy ǚOWw%Ȯ`\FA*˱Fer"wvy!?/D/}HBڀyMqʼnOՀI(IchaX$}ؐC~Ȼ$z7PAwX9³isz̿N@S+t|&nSvob+H_&jya{AI 9i!&#)j\GLCd`>j]r]v=⇥r.An5'+O?Ǣ8{VSr 3?G1Ʌ/o>Ƙݰ֣;)mR3qi+۶k"5)3ĒO|b;d0YmgQu YEX)s̙3v^8)aX'K%/CbodC1mԹ d ò= t?"^U`A mQT %_=nqfAƘL$V"lMNCܭٚ;B_\Ɲ+j&doyğ`$B,zRبSP؆i1}3!l  c{PWX#L/phضY tV K[u%Iء-IYdսC{%O P׏fG=ywaǟT \AZPXhON^]9niaySe&L({+X$M9 :,6 .-Y?qpUb] c P7c$ϦEFj^hˣޝ5MZDZ1S|bG9 8S`M"0} m)X@E&*֪YU^Xv>~EtD𱃿oiVpzEtrh{ sqġVnYIqﳝLq>H!m[/V\VC _ZÜ}UXXN޹Zmy1Aѓ f#Q EMj0 i"_ ?G}Xg_xǾWqB^te!I 5I=zÂ$AX*R$͓ޘcHX]aޙ^ps>Go"ҔhQJ3H* uiݔg2U)6 5,e723-X?n_ zJYX _Z]RPz# 7hCBĉ/ MllRSj`G¬^.bg [>{\Op;z %"+tQ]Y1bH]ji4ǫ3)/P?!IM&Z^fO]?/vڝN\mV#` 7<C;)sK2eUh߹d{Ẅ3<+@w K^3Aosc¹A\<; ܸXaC#| 8e8>f$; 2̰A'H%y1p9E稕4϶a !ɡ PĊP|~UJp!+ЭYfF>U% w UNP&μO/wb&"ݽ0 Fv {yc,`7FhUElwɜLc9F0 :yɷ>aݣZ|N zF 5**Ss3s-bO=mhcC6갰DpTsmYPfm˔{VֈJ0q2Njx2p͐.b*KX>DCQΨV^\p6W6&Q/+; 4,4$+\>_s 6J$ V30L7i[WeXGyVpg⸏uogO{ FĻMhƤ`>c!bA}LhMܒCV7n}'rS&8- rܿ"RSb (|t5/όbWN3n-Dbho nTvhn޾: M͋xTh ǼU00$PUR[hEe`ۣO QVV*Q sg-+n6NJSF,2ip $ NRg<DMU3su/A=&~9{I!S䇔pԛBp;*|@n5a;u"<{e `g5"e'[?p37L9ܝkgwVoV k/#U_>1=8s"d.$ŤO}Y}7."+[ ƫ{.̫3~yA;K|$G<5gڂWnK4(t^ky1*^Ft`3L0{5M+s#Q,D*3kfz r(xd pX"pEkWgp'aQA ..i#/X{Rb SM(wEF N $ąKf>E 0P.YmK@$68 x=g;#5?Ղ&W9wf'tԥCh0 {;K>AiD:HP-ecU x )To|ۖybn8Liť^̏ \sI, `ڥkavkk| 뤱<X^%`.ߍ6Yyxj%dKe$$U֎0DN /TvU8TQPb ^EsXh b1sk 2DUJ+[5B,7LSzM+2 j`0ڄXv_ wA$벫#j:Zuʭި`/QҶ 5C$onZN\҄fte"tդ& f`l5V% ů9pykآVQӑpcm|K^%Z};j=2 6|1Q;NJ^EP[J.m|O}54k;SthJDR? i}M7I)#LIpDuzGͧ?^P>9L6uJZpF f]"84`! TF}D.I͌5Mx8bm8`SZ{XlE^4tRi)qk)yl q,KPW3|EaSjNeP¬:q $-9]Ǖ {h΋DoyPyHJ"xrL֟HE8u}(z$(_kI MuX3`l #J /wJ1FCk ϭr{f+h)"xBwo} :-} *}#orLF 8j Y 40SFEno<5 *,n .7=ttq|X{A4FmRfMv+ƌ1 5:ʘl+HZ'1d^UV׿ߑ@[<@{@B.SvLSR2=TAYPXCbj*3]\>*j0stKQ*]_*< IrGt_tzpҘoō_xL'Hb d=w͏͆fGEQЁ}0[dwY.ZSޔk ۴ w/0"u>h!o` yO@ȧD1&4=_B m< ,|մ"Yy-y*b x|),n`i!0䠭zSf2x˜G;M^<% u b|&)psdOR8W/G9iq$Hls8ch*av;ě+֏ZB_!Ki]!%C*:7i.Iu 2˓=ɇg l Mt0 tn^砥YB'1]Iz!]Zo`On>~7 ; Ra Y"6_D9|uU,g;NC{4,;<%K_Ot3TƳOgwrm-LjZMkʥ3ʸj 4c +&!]raaa5OmU/0~P=@͒1HzqRu m} 53C #W@v!k,tkAt5[88] p׋Fy"5[7 avx=rrsN~zj lJyx#jMY+6S7ļIffB>;y] n"a`bƈ{>%OqKk*Uf T/hXy6iVdosZ+퓳6Ve ڭy蕇 J Cӌ58 N[o;kO{MͩT>gF4eRuءZ]U1Z;z2Ri-j;~Fr/H>Ş Qg)Ν9P#2pԅ5~ye"watIADI4@fXrנz-)ԹI 18b:P‡1ۣnsi r܈c ZW!5Nx1 "(MCUP0 }5PwG [u=N~5j&"b=} 6'P?;uܨ9xg~pٍ uC=$T´)Z qeq!oطcȧ`L%IcEgaWڲ SsP;EKkjF}=?߯QwWIZ&NeDp+i/Z(c;o`L]r1hEPd_bUFy@"^^6qe0ޫ.!2F#PIgg 'Ȥlག ñ -!w)qeg9nT:wsP]j;v$6!U|q&Q?ɱܗC&Xkǣva\َHΰx֪2*},xпWpixxS^ $ [kWn6CV<;AsM)F3IYyknPj75M b&& GD Ŧn@r[KU>^]> :M-tZ^V}/qǞQyfkhS?&%Wg@ngw ^%IJk' IހIg[!WuwNJY3&lm vboj!d{QW1HG݂粻)RivQ+*`IPRg H쾬qLIˎ6AJuA&x.,eg!ƥ#!eA32Ѿ wuh,t0E#d}*G[~6P]*~|(<chp'͎zvCQR5"]tōy:r`Nd (46:}C$EZ32Aio̷lG{Hc4:Z)]WɉOQ0Ih:~;-%S_.n֏L>(Sc6lnFΑ"Ĕl|6.ȧax7*\ w)] UYȺ@V9J8%{U/d68ovD\4%et#48cCf na3ʉZn2LeSňN14ԙ^J糙᷂Q_^•9W+0CytW)Wٓ ~B2`"qu32%XS`JʥEyozUc#Svǟҳ*d8@{u5=8A'̨<'ƴKl0 'n< 1}|0(XCa 3) b_Lܬ)"!1xs:V'LsN>օ䃛/(Ъ0s,\KVaڸ?rxx㫲PO~G3LyW TSf4 nRPv3ͫO zUjtrd.4Lc(tz-&5r +[+-ס  $Ê.M9K)o$>[o^;E~a2me.A渉)ᷠ!ꁺoesT5}rLIѻ8}wl? ?BzPO8~ʻό!J; .b:HzeSZk5ҏ)_)r U`Y2bf6^wת=_{lvdS2j}÷.ZPdVcDOIx17,ݎF '4KJ(xfADj^L`&ϭBKx%j ޾%(A^2gsla=Zx:ɣس贍HPpSg=E>mͭ-#n@T% HW/虣ן|\up7=Q=Ї 8KtOtO)&scqTwsah\5:vhv'~Šf۸ 7͏L%}l%2=Cʵw])K;l9aI\%t9tCK Ua؀LTw&PUJ/i Bړ:hXJg6;t} tDMTg,ABټfiMW1I{ua n fS$C! \S¬DJ F*sHޠ]µ<J_zAH饒!}LN@ZGp{nI3-/GݨnG%Ԯ>NC y w'ϐc/`C Ɛd d#iM$]no`C ~/V<1/ ݑLms΀xOfZҼu Jv ͎ (Y/O %[&YC T՛ޔP(J^]]T Ӥ{ 5K`-{'#S'U) Aa LP!y;Ub K0xFU)UR~fŭ>ƶ7C>%3Ƹ/0YN-'iۤ->ͩůAˊ^?%4eUAo<` IP[fp@p,J fJAWA ,6Nj]OЋYeN0޵H:hՅtD>@E,ٛkw &Z 7NR ? ܇tsUw-)+ ΒHCf# /g^`qJn7k'$\Mi_q6$+ 2@nƹr4jL)~푿SGɂJĵµiN! CFz^0&_zxKvE_zjD;q 8N  a̝4-^+-I`wW?3^JJX{K7hK |#~)jVBj8mà4w=rОm  ws[;>e%սZI) /(< j_ƀu>N'fpŌV'g䢊Jyb m6] M^*rݣVɓN3 --z]yD)NTH|وLEҫ"=FjG}1;J g}o j+ucTm3#49`d^eƉ]'[f2YܦtJ=},^$ד۠[ C$}b=[~ S)vg@&lXCb,W9.>iѿ߂г,pLw2N583հeERiu mⰈEm <)z4=pTcy6c} =HPoqx</&+mb "5zU,-_nK =x:~.}V/J)DsKɦϕ)R5[w͞>cM+ ؐ1 7@Naz&xK\ ,#H"Ս̑c.E;D Ls^R2i^Bq톺,1G[?$HZ'VDt^ <ms|f`_u0 t& 3}TN#UʝH?W~ߝE̬ O.>6d=奃T\$P:7:.-f/# )P1Z>I[F&_77Y,wtV-(:`4lqndQAd"fÄq/օ?s2ibVkSZ퍀@zfa=#1)N3t~lry] dɑ#3 D55X,_8F7k$ΉiF;9Ux?*SyOsk3~~ǡsq[FSO61),6$@D0gwkdӮUFE%u1ﯵ:07xoK>5C+XT)P+$=1*n-C+'* %cm-k i)p\qVHnG!.h;!l>vP@}(yS%f__Y@m/Y{n!ɉƽ "!=h<*AFݦ۴tE~uK²%kKC5?[NLU E&>2OH j amuQEM3t7LX+OL"'TB)4TpCӂR] GT|b6l؛Xw:9'TXo:7_'MyS~B?"`2j$)a|pORCK P QF&MK*sk(QGeALQQ#TjFL6ܥvrbtnE|kS+͉Hx_ه\LY9OY C_Qs8[X<}kSA(Iݵ ̹\{;Wrf젘YLt-ζѫ\ 8cOR]w,~ Qfŗ,(pyg_qh.RCyYSqNDOOQ&dI(3BBcM-x  zܨHӚp6Xn ?)%sބ>d`!h݊A ag1@)>3y}04ᱭU;a \_DŽ#*G$·/,Q&joʫA/H#Pk -3aR[75If2#VUd}8Ni{lяC.ܥe%J\).!^:Ly䷕fjMQN.T Wa( [ s_ &:r®ӧPIx %^ZwM26[_^Dw@?x ԡ>F;Dd3xȭI.xRTDX=žH ÷vQz8DR*.2#Kj}C tL $%) esz+}r>dX)"ZO/XLvb}Xڢ'E̋?".X!P"$(fNWaί)ky|g"BA"g{ݢD^/3rK՛Z'<o7PVFp,C{:`ڵU+2 36تUɫWlxfлgsj!E^%X1M"{R'Ȟ_{7 ip Or5ve, XcLU&e9}UU };x'U'!]czmUEKϏn%ئ&环-'VTB2p = ڎԢ+Q&ڱfz٭g:1H3W?kN=#Q:05ΕibIP<^7-׻9ܤ[JN0~u'pRZc\]z ו^#bNƜ\*ejᮾz'1[HEXbˌwCF˽/Rrl9UT+XHl KKZPˠJ^jҴf1߳w ]Z&A-"&--)nruha)*nF;2yuxwl.BdZ-6ET׍KӼl_ 4OHsxK2 ]Leph>;QaWobS.\DB' .oحќڄ.9Lꘪ aҏRڂ o%.;0)/ShVflDJUCkI../EVw8>9B qij?)l x1K67|L8Ңx(5caz<6hp zհ<ŕ)vUqALGAUL ,hf)f{xD7/Vu*0Q7cgJ s'H6< "`Tv"DgA(LVw01/j$BVԹB6‹* _ 5։0^=̣(P(aΜRWq=e@؂r-gb8;wԱjn6G MP Se1?UvP GFQ N“V{ZlYϺc 뭟K]("Y~0J681>/G9?= AZ0"~6F6jy*9CUgLիtxO~4[H%O 9V_6MnBNȟTr]=O dâǔO,H9>k̖ B\A6.D:S#?>4gbŪk|>Ӟ,$2:I1ly]ef|N@S;;rB]{U‰LzdzW^n0I#{'5BdӺրE_2A?l3oS2:짜*xB])*/&emvBXYLR)t9ֶ':p!A0EV,y- <|=QWcZj1Jo fҸ#G{# tQhTaЩۉVY$k:hؿ #>BO%ވ*!N,$X <+1x^m oU6x/$1xbb Eyg;]1c¶]ӏcA3# )nV8w?0/]=-97qP!r\EIys?4isWb"M8lxof7W”®B4b*H;y)S$w_E[z PeG5߉\r}8ֈooyf=V~ȕ9cУ բ{v&uLg .wYEɨi&׫I.5ҁzVY-qKNjȥ7k7=Վ/~&KP>Q楅iȲ;pgk~uksիx΃PO+Vb. \I umDNbe4*zrM#%7UE|:YP)F-'K(e$ɨLv-e瀿!|rA)}gCyGMEmVзb!< #: V{mzIڧ)~cqc#+i{,W-i10P;(7d0q!yo5aVK}{CNjf&e纍qV 2M3L?ӑ_m-ܵ ! '*R+TpiGQ,OB; w(O5~uw73b :[N#:cQqؘCܲ"Ųw/aվxlB!rDmܸ"Ie?Ñe63C*[M+ }߰dNMR<(7EW>8惐j#c5 ,05dutr4ȀxG vc~H5+u&xR#I4 8Ţ3L ^TCzT?E(Vo9ݪI+@յ߅S1&ˀxo*b 9b@t!r^_v")%?0t[a*q]+6*{sb"ӆmCNr駉YE#㷙vk.g3$vf]ID=YX="Wf f]w ƙrtEW{z}۳ik5YQa>>u.|~fÆ̽ /MF=Y(6(|0d+YHrʗ1B[M~t( (NU\7Y9<2b9Eܞe:MZ$5[k܏w@)bj;0H (E;ӿ2å8F9ȳk>x៕ =ƭZrP.k0W#~(ǎ+wz1* " OE>|Y[-ُ۸:+/[P-RGñ땲h4)1kp# ȄmU~$kk[T& EN dnKa,1vB| Ű:ysÈDZZVFXж#KlV}kNL[?9nޮo `v%kzǯni1ऍ ÃUq6]QYcVc>wu̯SY{Wuͤ2%-)Dףux \J~/< \(zO.W9MRPT$P1Hȼm~Uw|3!Aa[U@+oxw,U G(lhZ=Nm/vp5_T^Jyj?2\4ت9|^*-8J%UꅈJ{9?6&f B*l^ MRNC6]*"@#mR̚YA{l*VߢywrRgˮKUuA r&n ´q'w t2x}>V5'medǭ n:6 dS9D]}On&~} 2 ƋkL G y Dկ{!bQZ| RMTi )R Ǚ ۱16dxA⹈H` }#eX}F,(esx/͊vi6t\Fگ]Uv{eya؜0D@2rR?2yRt;-Wdb|୿%zR=q-/)S9d*V)9&kY dh{ā3250RO,6HB*]ۯSU$XG5IT{Y; \fXƉdOUi#ÿm>2 ɚBIŮ$;h 3EiDIW6p7ez1AZ:>HK[.5A؀dkIp=Pɳ.bs_g,BR]c읕n#bj<?-]_g/lXv>$Z27Ѕb;5XJCg[9gjx[TU){H Qu,>zA yKF L\b䱚yWڠf׻-ЋC3nCSmH3@ឭ蜍f(Ǹu\x\9JH *MD!lzO3ZaN}[rb>Nwg>-!A€,5 /~"ٸףFTR_4~4$ؿxkWނaPk *:Ϊa;Rq-kґB U;dU9>;/33EN\zbiȕ52o ^@cR,̭Ps 5C\ನJ>BSWyOn ;턾Cn=[ψ q!_+u28S71 (U ~]}LH4kŋ=:G MfS!LmS=F"Za@ۨqr-:de-9xWh"$NIv <*q4ne@ ̗ݝj\>Gm2fH"ܝY^(ƵimVJK}D4<=ͦOVƎ \=]{u3́Ri.kX1>eTQ Hw#/֚(1^M|1<n\,!}s`c`"t'ḻ2^4ouL#gHx,PH\ùBf6&n1P ](peE뭀w_'^p7DoNŧ\坙 C(IDyG%+Ԣks`347N_A3)s6F *__ZC+yHf;* si Ry }Smb :HlM(Аl۾ }-;"MT_2q-,#$8&A}mUos[^?Nz=kb$;bd{_G\?":N$ٟ=5N hdNyaF!CATV'"'F~?'~K"Oh2R٦0=lOP@!_U{z;9o)"fM.\OFaC=XmR7rC@gov9e^s:5W-a)!4d\ZTᆆ?aq|CD6ܧ|h 5rDmmXQ$T/CD&0+P,:N/ZYZA ORC$@͖چd3i4 4036 la{=@. In?bbuw496}fk$PBREGN_r'Ap&& |S[PQyI?!~k)o'8ݖ2Z s!2t=KYs',k4A:|Wrʅq ݟ}2Pjٴ̲jVYFtkc6Vy'g9q=MBڐ<)Z3ök݃A,O5_9wcގ6c"TlwEc~&"ǿ;&-?Bu #"RP$7n>ohq)17*ORiD=u0'ͯ[`'\}/$n\6%PY>\ŏc]¾oe80Q4 6z"m8nFTxh^p`dQ`~<%Xk)Ua~G 1G-sb&*.b[BBP賳IG̩6[oTx:O@IoZ6XS޻JL]]FDQvp gkX\ͭ?%'mDR-N*=BXױ S"nĆdE}A.cO: k3A1KF#"戯b' A+S}D*CT|z[ghW vVKSZhA-4\zLT(yꀒc6ܬҊSnEbx$m)N%;=rr~L hdik;6m~ kYhH=HY΄Ii$(|O/Abdx:Nh4/gwx..jv‰:x]Yrc)#Cʰ(  R cԂ>V8?ul:~XcSIlBW@\@lN~:=RL_hXfzGu(eHZձ]}BW)꧀9*zfG[N)z鱏씂6Uy.}/iK邹IG赓<K^EqlL^%`> >bep^ CF\}D$v(ܵ6RȺ weaGahD>wDVN8-XQޅ:δO}v# +Ia&!WP?SGP:Gjy+7QUY gRƆYz  Nb,g4_I(*Ώu=n9{!HnaY`{bedK502#ox&x.}~,ޚ^Ww7JPe ̄@VO^0K .R$[RJ,$pp6z*?Kvdꯉ`o 4K2{w;h`fFw~"p9=XjV0"AznAĎQJb|Ia nCAƉ[Pf:Wɰ|}^Dr!Z I体)RsA(L4^HVa"zve/*'{#͌GGBd2vmm]s g+m~[4@\ٜow!njɻUN|Vd 46^\@/*q1z=F|OI ::K܄f>|+1r,ŕ+j4v}&֑iT.>M㠄\2[qQAׁ.widw/%cG?7]g]_^'.B]KRa<>a.d6)HNt|D0LЈ 4U}V];BȾb rYcQR? #] }k[^B1SLw?7:,mh;HtJPY 姦)89"jc{Xr;!Rz3Zcp Gcl,3Ac24_Fx딻BL4}~2`$C<#C c a^?xͥu X|Q2@GSZrNޤ2pF̳çů'kۂ_f2?G.MRDk@}Tqm%V|щ Ⴌ׾>A6kN߽*^S̫#E$E gз4W27JVQ]L$嫩%}϶r@]]% Ao69;P!Ŵ]{LjRRRp A0) e+M,t[_}PPEx> }KMz!7ӁK^|)\.4r~F*p9V* FOo?"F\ <[SLȱ 7|tB_*7Yi_쨗!➷ l}\^FUnh'Rjyj$d?ݴfW+p(M<1'OӞmu e EN1aS&rǒ7$*NҨLFK߀j/)!ڬEлٌQH'= 6 :lvoi8L-{:[&-AGrxZD#\5͏Ʌ/:-aTg_͕?M?NHb]2鞁P&/=Jepy)JW)-2pQ%}kHI[޶haƢk,}8'v^"c/}~ iHz*XmPm|\jO{`kgtCbUjH8'j6x%n!t,*#vXs1"L`P[w?#){[h*/4͋JF Zsnltcvh@W>6uDw oB_p! 1Ū*sZ2ꎓV{:R>7U7۽6.f:N #yq`6R3Ǡ2#ҍ  5jyQt^g4Xv۟kczӊx5Q)mSN%2^9⸌JkC4::ڢg=-6;5H?\5P8<#r>*9ǽKo0k, _:M*ɵouw.pHL+mG@8ң+x29ix;ךԛ|8}R3*ԁTIcDf݊jCЕTVN _uЇ_ZMLt2[S +,NG2G JkRc]`q70U\*J1Q\iZ@j䖶vjTm| ˚L*pW=1hfZUҊo&OnF# YySG!j'甐!DnKƷ7hGo{)/NgMds/C.VB`#N-,w7ۇ]7$啄IxHN;uvgG~7P*=úXꕇ\(-CQoq{/rKHOE֚ylly8)[r91zmjخw 讎믧) EeNTJ 2>t%\bI_S@Fz[u1 X qȝBICv \zWH?T4 &Գ:ԫ.(G6&!opT8j:ԝjH u6C̽c7Nؤ(k1|Ν>nˀJS17aW)Ly8G zʱ wQ&WA:uiV6tNbOMaC)Rs :f 6_!O> Q?'˧Tw/N.OME bۧFî!\EFiUމd^DBi1URx, %z^|9ZSqs`}2K͝F? (ݔ7?g![ErRK+ }B(6,G{Rhǔ1S 4Ϛc1;-*YerFtÃl{=U@IUfH"]pZg7чIf.ig!+lfàG*Pε(v+Z4R~YaȀ!7鮟DTgY$'|in nsw cyJd-bE(!vn=QԴeYk\J@(fC9t)y Kό"QrFafiʀhX4JڪP+#*e]֟oЭOJnU/ Y @q t c/.,1Sڠ+\X7y0ݷ=yG3/^|Y+~_*}W8[Fj7ݰpV7hz]zVEefg.%q_G޶os4~]9T-rd^K6l ۯTƋNNKJDa-UO/=Eec۠`Uao,c=^a}v CXOnCiϠKʕ=ex=Y&ħٖ:ZS?D3MoT4江8jtn{NB.L~6*=DR.h ր?[;왩P5 .vlL/(QKBZZˁjnJ{vǸu2ɳO$My+B,CwC1QbDִ›6wWTM3*fuR%\{=IBfޔb,a9ЎS/ Yc Z<0&fFha 2`ÎnX=Of1=2&;tkb3cWYTG$RwE]QH.uKN\rǡ;*jל^)JA0KlU,lCؒ[#Yd&}Srb$.j6bęq`~Ze;q8 YuWk[YYi:Z}QW_Im(2vp 3dJ}:ۖFchIFg\j|'Ӹ=A/ywKkHk/|4;z#tYv}_:JmՆR E)+F/,X)ak뚲沂,UwS=1}[6ڬSOQDaNw]=/%`LO95ֿ&h'n5Rq#";@AY =bz_%B@?[t=bNDn;`'܍Y$N 5  >_fPiI nE~ؙeTx6IC5Z8$Yzd_)‡|tv7-b FoYchMc֞ eO:o8?{G`WdJY05,ߜ#kT}|)i\LJL62˵_^OB'!*FȠYAys:@.L?dd0 ^E#qL[hrpټ`-ff, 晘nipy:ښ4nnA'& B<_9eU`6&lq % B)E4j|@f3UXHH8_ |rS-/ )2φR/;HK?pD1\lt26bV({O%hc|ɝF^R[:H6co8?e~ݽkh,Bi^%aRR#v5YSfףoEU=`\do"*\sS 1ԱZ 3)"ľ оإ8t^.)W_y5]m55 7Za#w 6ZB!dS4&XT!?bLeBvkB<~b^TxĦ3EsAm.İߥC~+5-8/9-$LX]ŹgFlᾏɣK3C.|2]~5enJˤRŅ}TL[>4;#Š\ld,"JMVv2QP @W_#=X|ófCç٢" FXVbVgcu+zѣt,#T}2-X) ^}Xͦ0y&M VcW.J;A/7a8ԡVD4`UBZwL=gaao=%[_"07oPJ87ьΣjnqSNUz濾!(֓63ig]w[pa`n,b#]ckscCp+q̂)hUoAIu d%nW"?߈ޛjۛ x{+lԹc|tM!62֕`{R/& aAXr,oQ#ЋwISh:M}t_ue|Нjy?",Jw`!rfϜ/̜9Y۾qǗZü8sr7Je'6Nt+t{dJ W6=sؖߓ3@``@ f'Z_TIɵ-.z3o K3J8rfASjQ}:,Ҹ`Q wPC9uc\hHQFL|'~Gy7vBƪzYϦ~|`Ԋڊُ!&`3apE耉LF? }kSr&E‘x+{`V<$"KV6Yv% ;ڟ+ϼ>hntQ舰^d]BBFCALq?`I6'nLCM v5˼՞ YP.9dB6UuQu(t4^zL&C?f!d\ˇ ql;@?qוʙ >U{ypԗ bE".mk#c`xgm 6[i#uZLZu;0Z2ZƇF,8#Fj2Eˡ<_ '9M9'YI?Hw81E?cb6uљ2{bJk:y$ia|uTF)^KVQ ;t EOyJ\JSrSrƍLw oĽkzfLF26NU)/m,.5G) 8[V5  ĀnEޠ3DC#\/S7r.9W]-l\JAFȞFDx*y{RZ7m/Gԑ6}gY Jγf9'^ڕaVu;X~DR 3"Ї"-@pҒu+Ah/V)>m n%<-BxG'0odD2QȏÅ,ulgzt5.8xIXR5%Ͻy3>" @V7{BeoQA5C]F6NN"w߯v#W.p\za),E~WTg;ɦuʖt,K_7Z'0R?M.z*+c7dK&f$:ijNrMJE>'r7p> J|pGWqE̙z Kϼ+~PъJmQ*21qrVRΖ+j KYcdw5'WN0+ ,}r*V((KnJ< :fod? .b8qtx<<:HzՎVA*u?€6Lj 7 Nk>O* Caq9+n`J?T )Oȧ8pWcxׄs@]ƩOn]gt`ю\mД<3SqߝI;Amiͼq]:u+6\cR 0Ez :)Ԓt+HAlTuho!ƪĂl6bl8=i_7TSZOrg&x%a|7ϣAzf8¥hv8=uke.C$SbK{bZWs7^G^.p麤Dž_>N\#[SBX@' װ{l { pv7$]UVQbXTaEJ)ЖPGūسmJ]Hy#vLJD鈹+v=W~a,e~R*rZ.$u! *.}̘>,Wi(՛xgg2yΔѴF.?IOLx%2CD*FPL\*zqhK ÊC;SI=|IGWO/+4Tvrħڈ({=W{wKV&cBƨtsSإßēp wFoo DoJ|BGE`ELT q淞?$DTE̝|v9B&Fxz:&["h o8C:l@:9!oDi%]uӸz)']=gO$AD+ K4/GvfFvع8? ܿeamW^c~mxQaR@5FpwP#(O C-+s勆٩וSkJa8Jg vb øՔpc]4׽DU4mPAq"Ԃa*~`F4{u0lI5fhʪ ;3VW ^ ~3[`m˄2m7oAQ yo^>=x&X9\q4lGɳi.)St A Pc&XF{-uUiut[y0$ske(V1 `zo{kS ̳fYH4H,Rы7 Ə kvviV0՝gk %SdnOߓQ(f!o(o|'Z!JFL3v:;Ko]Vڱi<CKC4H"_&&Ć$6gFP=ΖgiW2L;cq5D1yZ\ѹTqAu]jܒINJýn7|Qb5 ɻpocXWgR<ʻEK+sť_n!35>س')* )A,wΈS!ZK*_?)Qm|KO kPTL<\Dg65HJJ5=s ApXHu+s n{ QL?C!=jZyE,%ШFH>2 V#Gީ  Oܤvp.Gyx\lu-4`јX#gkbJHFk\)g_&} =3vlַz)X~K2!.ƴDe'b.tWJx44'|sM)RSKdz+F()I@d^ɸ']c>׾J6'{Vp@:/MhS?V I)NsJSL 98^RFwFx ]rߙǶ;8?D{;`YvB7z6 f:z./\i_v{9r o{sns,: tKTcaX m;?bSΏd . A FZ23g.: U"U/rڇa,A^=/9*aJA I nã}RZ:C:t}"3)qH'gKpLWd ^5]\`n )G?zq:851yZJ)]DGY(Q [tJy©43Jb1D'5j1֪tWџ2!尚kD#]XyEO6IQeO2ރcyqN8]^(ttQf]رEwh!O|P1|7Z??6F}0jʈQSTeKGe_,J5; xj2)${Ȯ\ PAk :v1PO|5&앹qo5k̻jimPY]7겆{~\fΥq+Ǯ01o'`?D$_oxB.ҵgCe 4ZawsW91NE7Uq#"GnD%3QNjPN@{)/(>aUR ^R+12qwߏ$?w!1j\}J{[?2u(^\R {ӠtJtTZDžے~C>AJo 2ԯXQ[(\[OeXќ~QƔy[1Mn _衷:2#d9LbWj\\ư'kRt ;nD$2%Y9ѓ] dR%?3M߀!)r}ѝ$`3 Q#7lёւ%2wF6,g/ڵu9RxBD<(O;ic' 0m2CH<5@i=1];'J`FNt.<_ڶszꡪ Z{ss<qޤ?aߋ!;D|x@1 = L$ NQnc6лNm>2s>[a- %̸ / ([#\V)Dl^#|2l4L|U,v u;"ę =z71t: P( z4ɘPZg85R8nFydɪXg o|p懙({:m$Ldˬ B"_4.OO kKma9"A窪BD SdK2U]h<]$Ud[,fuZCx$(vw3Rig6`3YRvG@$8S 0}otӁoED&EceFoSe+-=ǸHTp@#y/X40!Jne.'qr@ݸTEPH$y'3' dskYg4ޔ̀-$aiHu[j7N8S#rz,5ʆ^QlX6XDeQ/9Њ=PHVocjޓmlc[..sDw0 &4("٘kP,fwq[O7?ػ/y󜵞 0k8@uZ>LqOwZ^ցT{E{Zۈ#*zXC_H7Yyqb؜jaO=mvM@Fb0 >Yj7. WփB?M90n Puw tZY'4v_ĂC^`WSv07NAJ|`RycnߨꨐdžF=;0˴[N,cJc ;B ?jHP4A8Hs9K7֘ S ӦݲA= sGOЬmn EPDjO,:}L~FN":9ە;$2`2ie)t0كMZ]1Dě_Fx,jc)$jFR96qQ?bwɣ}ri!c S[e'N!@= Ϗ:6luk&fB[Xasמ)ӣ";@~41m[L*r2k<vh$ԕŐ8ՃݒXM[Ϊ8ժ|ZJMΗ *Taܼy^T~J2ng|.<nC#Ia+j]W|{j l1ݖh&L(}#9+WLb# F ȧZǑ=#V^&ݱi"7+p56Z̙'ӿ< hZR<j)n ]Q\LWnUO]WIރ:r.`.-|:lئԕAF!K"_?YJb++ %`9TUlA_h$CTΛ1 ǐ7EXuKIx'5H'ͻmg5)ewQҮ lCH_ 6+ܮ,oH 8p f8\짅b% j|j H05V§~۝>Lj1v摜`IM[m,i E^_+atl(k*dtUpJ~npP]֟qd^bE>Ƿ<MULXI)`682Pk~7}ЩLU]"͊|E_bTb!:Yx:C0D`,PpVYAW\J M25t`E6";/YU;h&d+5;kAC-ţY,@~g7y%W&|Cަi8nU!3uM42C@nrLpp*"ϬE~:Ő@o!Eh:o 0` Hvp'[י|A#މؔZJ$3xmJ?H}`Ujp}mT:v {ǒ3) Cq@QvG iYYrlng"sc0HV;qzRe$fҝjߡ@[t \ 5"G oviM9l[f;ў!o !b*$rH<5Qvʃsl2ٓU]kJT`Opn7Sl>AU{ Ϣr8oٽTx ʒ 3ot̶(9mw f Y{ ɂ.Jt0~Jj0PIh.(.3X>И-s@֚(wmxF (_KLh{O`VB蛑 dDp_01ǡF?Ad0;P%͑W << v sf?R5w 8j#dA`dr"@l/A:2\S[qm&p$nA0n2޺Tb6z+M5p1 d>4e ϾC-`.(ȍMU7n0wqp5ne"bpS8~:G$W¥F/2O9AL5Hv%5>T!;yq"N*db$BltuξJa@/EN3HE:J, ϥ)&ҬγI|~2PN0R]E#>> 'ʦVqe U;>rAt5oJ(?aHl9L{x- |_]B;qλ\ jӡ5_!r<&Uc %dspm8Tvf 0*+m4kcjhdFb^ap5b 䍚ƈ+g^EܞX:W%Dj YcM<]R$|ѡĨyޫajڨ\!) 41ҨEWY#?}A<].RMFRIg;9'{mcM@vTo,Z,4L~R5ZxvXr:<>H?`m*xO^$=7f6R68E,bwPWݽۿEkoG5E:ؚqˤ\!r`[ *-ksdIOB֞uKfUj$ݻ6KveS@%ZmuX;s`rV 9d,htL;gNDr`˖.r2|_TNvo\>ҌpaPW|Vzfi4*aeO 4:;D ߀s/zM돇3 ׌_K6e+BgyCYƷzyɄח0 \Ɩyb!lfv,#iRsvwE>=8Όp J6 ؼR_ T#C椃-Drpt: Ѡ%s6z'99tgz_F+[rI}Q9nəMFYvRrPИ^[/C {v:9l؎#Nz6Po-8a| D?dS% Z7Z\IҢW4N*Չs_/zp I 2bBx*B\NӡmXZ[k$Y$NNϐ=E.Qo\VL5Ghy+\|P=EGFUӤk&Aބid3A:HБ3#`eUGGsar36q5~s%%f-c\$EMȨ2z5&7b6̫mr 4!龎`/Ҝv XaNYed ؞t*eLD_ ]6w k5I{XG 2Aiw4d{MDgf]Pvi 5btwn8ٽ -fHC15q$x Ư F9l.#mxNx x0ٴ6}B^8XH %y@'%rwP(]6bيUEdl.@.R@<̭F~X)̏[阭^ȑFH`ŒZѱp%wFSPr1ce6׮no :tKtk=l L )nDrفenECVZYw |5+3=L`5U~A<S8d BHkAj8\QO *7LL hӶsHJ)9~6]jIn41 ] qv ΢Rk ~k{g\ZNƁUXz!I Eq IeI%!Fw1rT4Y`*:8۳"Ju>vc,qW% ² J Z CiƳ0KSC~Yv3" srU_*FҤ!T1P)`\q(̜r;-~]9CcrE9-|㋻XFk5=%2@~J^*-\>,W!nş#ڑL7J?^I˛U5X"= B/y G~ tOYTBԽa޵3'rK(qhyN0#+ssz~5|Rc(M6 } )X r, GBs[/[&p! ^z'`SQ7{v"'Hz>~7 ћ i|lQJ</0*KfD;+).ZAu/ ٔƎeaQbI$pxxjH5yꚈ_K6nIۖK*Ҭ5x)ߜO H\-FIw$,xc @Bv=JzX3XYuwNZCB4B2pxx[$zE+ ~GqB4\JdQB(!mVHVtz #t R&pDs@}G]1U[+jwaXZvq9E;S`YEGגӣ&Ţ*'`:J@cx׹i+u`S! /+O!T *p"e_ō7VBſ495(K!^kY 4)Ve37&WEmsz8RUm19{t$[sԇ)e5XN5fmb$dVצiD9J͈ĢS)s{ExmzJZb`-.j6M(D]1^?.m_ݲzr Ͼ08FZ@P'Q~j< *Ak-sy?Sb cJtJ4AԎ!s?R) =r پ)ب PXbv~!p#hb.}n$OImZ 6Ч۵R\ JrsE !"W8`TLn ~%Uq'x hX[D]b^})DmL"b iҹCqsjnʼm_iXqg~r Gzr^.6݈ "R ezN|*ɏ_ctKI,p&*Tp*XJTs_43z+ndV lR "%Yh)]Ő\NZ*8P,͋{n`KfhHp=1m8M8mסKAC]3b,3GGqL`c=FR QXMܱÛs1h jIXae G/1Nx9W"6(toDŽ }Xhu nd AA=Hj$p`~̣q-RR7IJf^Zc p~&W;Ft WUٸ*B,`z[gGt EsO\tU񼒨_$N;vaŐ̯yP:@s۪[՚?ȃ"rF&srUc6I lCEZ8Sf~?bVmS u8]ƆKwͥ~)ԩ$p؈*MtN47A:c5&iO&3!U:ci|TP򹏿׭Qo0ᤎ.蒟_<W<-5D)٠&mZLsf#CuyiTt)_T4yyۏC}P .5Sr5p[_2ȅ`)L|&ϞكRSrOdTtmH !R pI&DY/]0S+ /oÚd_ilQDpvh0-XŞYH6osA!71Q4EueVv$a8MmC(D`$Cі!6XKXbVNzj⟷3º^55R+,mJl^*<"Ю|$=C>XRD_X7{ʣ?RNq) |zA9e 5,L<8#YZ K6#c4%A# l?++XlɘlCG^#M \%yPK W]lDHР]6~&0ۑp٭5?MI}W9Ȉcٜ:ՆY8œ;hR9KBڗqfdwgdiۙ_/F]7v`͐{RfĽ~{<=on{j_;f*uBŰ$aуCrzQq$j3ƾ7xѾxdKl-86OL.CԼ}ouf`ZqJt.!}3k=}[$MI,4=L>on\w._\~76('_s'q;U>-P6TZ"t۫P aVй *_{`"(+BXB\F({U13bEpɭ#Y6F`EnMjk@@5Vlf@W7!␈;]w 8-'6ν 57W,}eK#uAȒQͰ r'o¼_Kd쐆t|?J#CRg)4C~[ + B1&NYҒ"twX?M N"xg[~V݉w`I%f6-FavՔ@㾿Q5^b?q +޸` ޔP/b1.uJ/' ;6R2٨OWJB􄐲 dUӐ$!Bw*a(2l[bV4-ǭ?(9=,9 zڌB kYƣpG ^D9[Rw$Q%8;-{ˤ*$,TBaaQ)&? %^Tκ !0kɭNPn+ě6Vuc[6w㍔u휲YNՏ3&f!yP0KᓉSMˈ(k2oBOd P/zAВ,>q;ݠURvEA?3j"|?fmҚAqͫv ۲AI5)'#ΒG v&_ zҰWu$ U qO}~a&mtUj@Zv@Pu0;MB>3 hW+}&O4s6uTK#E~74a&A">;%<qF%+wO'' `KʋNj€v|oWZm|oӻaE27,4Eٮ(rܳ mQbPv’jd ~v nh"$Ҏ#mU1 ZA ̯0# oq@wtǽ$C=7~SNf f,ulKy]\B} ;- SN7XаbKCB#vUJs2IYoiHݴ^_So_WF GDUfwՌ EĽ`146I[yP6s>8n1-oh3b A~ק(%4a{$H9t6 ++q[Y 糼IS!4!Nf`J̭],^Ęl" @_#z'5 l*&-3]q7'J? zh,c0+ f/4c%)?'$ɓ{27,$E(9 m•z<IUXtpEZFxngY:Ds?ȒrÙ}.Lʀe»HP0KOn2D]K~&07XJSͨކߜ[CX\`Yb]hGJϠ2q'^}Y+'F(|5zŶfVAZ;AAA=*Iڂc>c?}$sJjh. ;h ǐdt 0DbӜD,xt/'h=c6(`| 'xj/] p7Hn8tH6S>Y-dxr5t\WùOKMh9mAI~̒"0ɳ=6?Dȟ'V;d9QJֹ&m$Ú5B2UI=f31XY|C ]o+p-CT̮K*ͣ?-uD)); Zt#}S&((;f2R  ,jF/d4H#b(2 > /9GL빖qSg}SB9F+G/$=>r{,&5~ǜ&%Y 4' R 8NHňpddK9U^R,i>.-RXJR.NF~m){(%]R>b!Ag#=t&olWVSL?-sM^l ^eŔgB~`"/ո1/Zaa Aic3\wG= (4 1q0_T2)aaJ CEB:8dJ ͝O=] TxR| N:Wbof\>UG?Зu(o +Y,Zm >=;Q8yVȥԜS.wrO[+^ǎ>X,kpq}C{eGc2K)_Wߙrgޝvwlx#^֐&@B5C~q֟ZVݩxҐݢQ8E ,"Z@f|H`5Nr.%0~܊-vg}_6cU_wE>ӏұF ܌u| S-^߆ΐӽN*ڤv\jeEMdJS`gڶe]I7e9H>Ds|kI{ *ü(~{Xs, aWBssuTrf'$u]l)وWܮ2m 53`LCήwK e6f^~\sF4l[ XP{D^W6(>x1zᡦhCWS0&*_ϖ[ٵx-4ŒJu:m1fopаtMxS[[i560(ā,*'h>=lWkE)̱{vͼȶX~f+!OVSDF.2~0Vg)^$Q08ֻtd*;a=[@C1@ 8nHZ!^iSK_~֢¦DO=\,ёW/bzB~UNv. 3:eIlUV yja -.# _4w Lep"- FVc%oWyvi0 #4m4p"{!/Wr,#fe aoI?\3@VN&07p~ٸtOm#4f 05(ڐv`e ҆Ն凴L"뭦` :@J58G00ͼ"q1%I're fxQNNFs=|GX)nX\V*N&CM7K|aSAOZ="Y MS`pJƼ'B3G$TBƿ^'uH>My=>DiaԺ^@gPf꜅0vJYeJ$A%;9] ^{n4m7`nDԤrIWv } Nu-U`,D)Y$  ~ҘP, ,=(J<:jT+ &poE_;vdq ~ދ)2(}1͇;EpxU& /|w]Ί 81Ky4/r+8z_>(P  ~ovj*;q1%kԢ=$6JE {i$ynbxJ>@Mr,Xt(L]$w^(N֥e\@ʫ?d {K:c)ƶY!7^6*"9e?ʄBuas*I2F|X8E@+4b";M[¹EʪF聍^o0]絣""G+T=}^d[ؐF'gsgRb].bŽu^MT6oq)Ñ9tq \1q{Gʱ=ɷ do>(kr39:Bw2$0nu;`:ME3/QiTY|+ &6吝] | YJ 'rH%.7;2}@Ex8t,>Q'e/pe 턔P~|P{B@vb6ae@Qo 2 ɦ=FI4 a = 5 "ڲ%`xlYWck2ʊ_n0:c#eMϞكc Kֆ;y AvCTۄy)LJ)H_net{*\4bأĦv 84_H\4U uaUP*,o>=.< e7y0t5J ?3eÁc7]% '/@Jn+Uz \c45g/`5Us'\d/qeR~4~^=n&.N6f޳vG^Έ1aF frIo!f1 >Rr99*mv8[sfOS;tmGܐ"bDk&c52'+=p83]0A7k}^(|B᎕=Sٗ b#z>FsW|$Bc0HQiY DsO|ǢCp^p7efPkfPz?RlmA ]1p($0Kʴ:Cw%yZP+Ც'p$܌3PHb M A:r1GϾpV%]F4}]SH2cm쁃iۙ8Ɏ2rn#?{%&mЍH٪QV`$v"kc6. 48dY e5>n_E>nK'x[?SXoQ`jAo_iAqZ%2'x@vs 8D 'c&Y!=@szTo$+5m=cJqՏVaML YVǻP* Xs%EXɖ "g>׹ U 9]P{m&xѣ!t9gmАܴogE=h=X$,bxևg/a3c/wQf.l aȤ (({ ь$Zd3ørxmˁr&A5x+VI},nABwe`Tvպ!bmrҖO@ZP!Ϗ?jkؑJ ~;&Ů( w/ǘ_gY_@u7/Dža?$bd{QtYJne݄,TR÷~Tk/Wha&Y2\*]>sRXE9^ UbaWu\-(T?aD2/%j 2`O la3&N<_ 1w=4kyΧj+&`D([|I[+FB'!Jtz\?ЉlzՊ(;ty B:_ |m ])}9VdlV;-;ŖR/"B>pTBc kM D&GE~*8^#a>6!V=AXlU齖.V|oiѹHi"XXI9# :7CT1@Տ"I̐/#u/1:vEU"MGwE(2awim!_ݳn1󭀮0Vh0db+o"`Ųw]SvIN`4^*#A3?a@:=}J\hܟa#J"TdMJFPnАPlOL,sǜNn'mttts8lH,]=9lJJ,Tq -v|F";&g̏2-Ux !.$mV{f:#ӺIs!D~=^o@N_*tR[]:_h(m)K58bX1o ӦCsMVjV*'ԢEU&T)E0[`iK4B82JPJ'gaܰ$5kd 1{PGRUi֭ :@rg79"iP/|VEE}0fq7w/b,uQ&eRgUC WE@@YȇG[8U'm\4 9n2QʤeGD;D3Ӂ BCa2v{g۱b׽1ae/郞> %z2d/.{ir,ʍRŗ4²΍JN_a]S&,Oa*`. ك;#Jӆ,k@?)sM);7Ж˵'na {P Xz᛼7<Hd}SƖoh~)Z%PFN^,%]Jio{G/ >EP}H3;SkW j0Tn9yquԐ eTYs[g`5["!2ыj'rEB^#b<窏Y9w6܀a^|J*/DYOZ${2*&=Bp/ՎY\Z!H{={5v<'iT-Njh{{o|?Yю'RO~!-s` JID.X2*_̄F"YdLڳVB]UG谗HŔ"$YODז`HW,cGYeW*v5MsQ]\ވnA8Ð M @CN)Gzk<@5%밞5m >G(g`λ󸏣nD'x֠NNuTZSLM$1"3mZ1Gjk;,p4W#-5U8u.3'if#S8E19aW7)N٘ la]tz"mA$mߊ #Z2y@>!Z/KxJ3hoZ+,b?Reۆ!m>hUx78_48#\Sy3>`T{˼w#榥UA\E";Cluc _H-:pł+o^b ['HX!ӭ?}8Rku v\8ibXoHi , .v+ _l4? g%M22w?"r_O=,+9%*7`wԎ Vmt'P|ٕzv Li0}Hvz{D+Ako%a&Y]א "uWYRajw:!פgO_,0X{Q_Ha.Y3ؙp5`T^"5M8 ̜:/xlXcjXm@ D'*)բ]q|bojR8(o #b f`Ǵ+|%W-U\nl#>N”,JҒ M >G$5$j1>\MqfuMqoYq$-'"1X:k3`5s BMq1fuRYvzQ#>ZYB*#lE@|i`ܭ'eBZX6;8חlȪs 4ؓr̀[\(uuC*!vW8dUN7+JWeW"2-VVP u`]LH笞@PB(9,־nc]uR 8T*_b2*6et0S1P3Cj&#WAEd&#/rŦ$x3sU\AJ`X&P!XkAk Wk-}^EInz[Oaկ7|{q<RxYp - %~3#&P+A,C%emV0r'=A.*-;LKZ%4XɃ([AR,HP{YnYJL|zF2fۓd[LeqDKc&8Ȣ+E~mhi\|/HM>&>;#,yE^(k@(O2`\L]1I-&5xR"%4 orң XZ>JOkt穭BY:m,mmj{]FfHJZq`SgOӊ )BSZV{N^~f)kYV]6툪Gmq`ϯ ΢2 ӌ~sX[;t%HP+8Ȳ0"mo,袓c)p7}(!}yHpcpBQi|he-Ljm{KDFm1Uˎ@ȟ:2WtBؙY#WbY"ԬUz?g#73u]̃lIK㝶o+(6cD#,D* fdk e.L}&TENz/oJ-] M4(qյcs<{5ηsB0X{[!da_ؼhh..N89>?6BWlPje'u}@%*01QJaό5h6c '9ǭ- h-K =_PQJq7n:"SQ> twJe5,23N jJ?z}jW(ɇ?ֵl[)\#kIĻzLܬk(oseE5%JMHbG2!*%wi7=e3^NuHi_ fc4-6b=XB i@kO~hLai<5Ѓ*<(`*}/g 2}lX$z-7̕*_'aVB7U hz·B%<(>i0Q3&8? jW()eA+E.hJ2/(l"Q_?InYqI5 bs6Fh27c0xY?Y\RVN| |KB١~la&G}UxEḲ>(6Gbjd! jp,x%aG n3InAG8f團jz~kE}1=<+kw2k 6a8 DUij6֥`ͱkvl\Zӊb9h&Vԑ7 1++&?XEϾY }HH OG ߰2qw'Yi7p:`t 찟<,PA8}B.Y\UO(sZny\fdWByz ȆTݶN1/l9瓬Ae@#+|$EiAUJ8+cg7$McϵSE[wϴ U |!=-XH^v*FU]'͕6?w3,F@'Ab0Gę&a)'rz+M;O;kLE>Cs*'eLґ!7frF= Uj T!`:o^ksXUǙ@Pj8ņJ,KDZ>E`Pld:نr[#ܾS:58IMl@t/,'`m NL&T#ˏS(ԚOͽC#zro8swnz9/;=i< ¹<!<3Pc~*5y24OG4DHa|&ӅYeWWqRx*좁k9mx9yn^8r$i2 w ո-⸩ (M)⻛Ųj&a1ަ`~<o}kI\Ӎl+^q4h{ʌuAWO!e=kH}ͽ^)3Z!ʼLmb|¶:Z 6`Bo~D֣Q4YnY& n ayz*XDb3AHWZ54mA) lUy$}Jj$m2}rd?׉ 𜺏62XlV;-6V%˸"tÀ;\͝ps9 Ln\~EVMFOҨcHSY*MSsfﻔ!&va:L{0֪&Kd)GG``az{Ι췼p]O|cάvT]u&xmb)"nXF= ZJZxis wPjFWbhGzxE|2SN1* Vџrq;)SmOɊ+iT_A.Mࢿ5 mi̒ hԶ_4KPƑX}}k h~VŜ4Q 9;?NW|~z8AyX/0Y.3¹ϧ# Y:d4w+Łi<ӊWU? xLC9M/Q%l%mq^R~:|i75%b 9oKypd#;G(hzr ]iϺ$ՕI{EB'EEy3үn @ C<0xI;v ыjjA_gO ֌*[(%˶Z4h ޛZ^G:1db׮rŐ=[/OqO0]JYUsxmMڛ!xi" @o<ӫ Sb$31H#8Ba4Z~Y wcخur1 f)kفym(;%ja_R ,n/z2(15 bxv;q3[fhh tʬ': \!HJUhv>NS 58#ƤFje ZMxVtO\+R+rI^{Q$p1WwXG%"ㅠː嫯]r]bUwܾYnoF~Y"ꮞ2 [~ǃs^Qķ*;)/)O&4S!pVV~]E0]ssM_ !CfY@$* n]cSmbxVNe"ڻazV53eL5W>)RNCT;t{Рh6Daݳ36yTZO}HvԬ"Dɚ_> _6 X0oB9hViu8xvnS-qk D .9:YS8իJf*Mo1Xp,66m5 1vo#9A)/:JFT)@}!6*8!DJRoWH] 1cvz mKB&wH㹻(CTgk~usŶԍA\*eg?́`rz-輹;`'Gf݁\IcP]wwZi*J*'%G.Sj91Z_<]–kQ@r+L V+hcP^~WPqrS[[;B3p/U+E=<^MISjͳñGp33%-u&L6*(9l 9kzNZ`b拱m_}zF,> b*{;>[SHz(CB}\66j")ũeh44ævUVe9AnH=UE6~.cptÍW<ڂll/ڒʶo# %vU?7\7Jqp/ Ót{Ri\LѾ2H^ms`xrvвE>nۄSW-7ooW#:WI$ _נPk .YP[#qd6&_vBpoomyc (h2-Iv8NuQ:cи;3#.iP^ ̻SP5nggvS?-.H߳D:Kv#C1R$wƩgQjm8Id=VÑ>7jq\CwB/ʆ;Nƛ:;Um-SvQmCvl<77:r4UrMɛsD!ϿFZ֓Bu~$p|Yv%ѝj)Xɱg1}GjҠ/u\ٔnF󮊫#C](~j@ $"zJŅ3cO: wi/du*4nZ0=_VڿBNp7~s Dk܉tW{{;X>حhhBsoBсRR A3L)S(tWZ?dEnۑVpɉ udj^Hm`hS57q~!H#t*Йލs6iݧN6:&S7ym)F#qqa1!WgתNZ6hZƲl$vݡLгWEuvyUiE-) Jy(IBC+4MM> h5#'fz`(z0I_=ur,ky KVIːluyibV=D@#`8T&/L.\lZ ^z$7v3CkآC[MB4nx!?0--| w%bqV.(XS4zjo\Sy>+t;?X/V?wO;G؇U`&yq$׻!l[ɼ*bCdqi2î/38tvT(ch>U*$q A B}.5#]˭T.fl|t3 gr$` KR0p4[Ja+)J<pKc|ȁ>K* Wk$UνQ(oIOL^vK2ssHރ6]`#mt&m؞SaU!&CDWQE-ԂR&%ϗ4ߜh ^iN/}19s gO&k 8"u6'45Jǿ?4l2YCpXTUJx$9( CD{3zw~=bƘ[[`FnN%;GVs&(!RL# ja*.Zj)D)Eu8~4X^f+_~qnz-bB[h\uX t&eq@i ḵx5cl6tQUej+\=W"~pe`Tt"ބf]q@4-HxLٌ8)I ~+xIkXU\NǍJSe\v_[#[S"} dlrs|7Ϩ/H6* i8ywu([Ci\~~Slqxy/f-TԼL"e=Ol '?!maaMJz$$1r':4nD=G:9o;;%خڜ9jiE#tQ OK (u+U89G' 5D ?+vgr Jy}]3yH,KuÎU+͋/|6_dXK4飪fƩw|o5jH{{G@c# YIưĻIhGÄKymo|Ֆ鹳+OHV cuL8 >miG=$"0oT>P֡z&%Wզ:L>,GL_*|'ϽxұhBykN\Ģ/Q YZ