87 skills found · Page 1 of 3
joanrod / Star VectorStarVector is a foundation model for SVG generation that transforms vectorization into a code generation task. Using a vision-language modeling architecture, StarVector processes both visual and textual inputs to produce high-quality SVG code with remarkable precision.
OmniSVG / OmniSVG[NeurIPS 2025] OmniSVG is the first family of end-to-end multimodal SVG generators that leverage pre-trained Vision-Language Models (VLMs), capable of generating complex and detailed SVGs, from simple icons to intricate anime characters.
ajstarks / SvgoGo Language Library for SVG generation
HatScripts / Circle FlagsA collection of 400+ minimal circular SVG country, state and language flags
MohmmedAshraf / Blade FlagsSVG country & language flags for Laravel Blade, Vue, React, and vanilla JS — 1,759 flags in 3 styles (rounded, circle, flat)
sdras / JS StrollRewriting code from other languages or other technologies into Vanilla JS and SVG for fun and practice.
MirrowApp / MirrowSVGs. One file. Zero fuss.
jettbrains / L W3C Strategic Highlights September 2019 This report was prepared for the September 2019 W3C Advisory Committee Meeting (W3C Member link). See the accompanying W3C Fact Sheet — September 2019. For the previous edition, see the April 2019 W3C Strategic Highlights. For future editions of this report, please consult the latest version. A Chinese translation is available. ☰ Contents Introduction Future Web Standards Meeting Industry Needs Web Payments Digital Publishing Media and Entertainment Web & Telecommunications Real-Time Communications (WebRTC) Web & Networks Automotive Web of Things Strengthening the Core of the Web HTML CSS Fonts SVG Audio Performance Web Performance WebAssembly Testing Browser Testing and Tools WebPlatform Tests Web of Data Web for All Security, Privacy, Identity Internationalization (i18n) Web Accessibility Outreach to the world W3C Developer Relations W3C Training Translations W3C Liaisons Introduction This report highlights recent work of enhancement of the existing landscape of the Web platform and innovation for the growth and strength of the Web. 33 working groups and a dozen interest groups enable W3C to pursue its mission through the creation of Web standards, guidelines, and supporting materials. We track the tremendous work done across the Consortium through homogeneous work-spaces in Github which enables better monitoring and management. We are in the middle of a period where we are chartering numerous working groups which demonstrate the rapid degree of change for the Web platform: After 4 years, we are nearly ready to publish a Payment Request API Proposed Recommendation and we need to soon charter follow-on work. In the last year we chartered the Web Payment Security Interest Group. In the last year we chartered the Web Media Working Group with 7 specifications for next generation Media support on the Web. We have Accessibility Guidelines under W3C Member review which includes Silver, a new approach. We have just launched the Decentralized Identifier Working Group which has tremendous potential because Decentralized Identifier (DID) is an identifier that is globally unique, resolveable with high availability, and cryptographically verifiable. We have Privacy IG (PING) under W3C Member review which strengthens our focus on the tradeoff between privacy and function. We have a new CSS charter under W3C Member review which maps the group's work for the next three years. In this period, W3C and the WHATWG have succesfully completed the negotiation of a Memorandum of Understanding rooted in the mutual belief that that having two distinct specifications claiming to be normative is generally harmful for the Web community. The MOU, signed last May, describes how the two organizations are to collaborate on the development of a single authoritative version of the HTML and DOM specifications. W3C subsequently rechartered the HTML Working Group to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and for the production of W3C Recommendations from WHATWG Review Drafts. As the Web evolves continuously, some groups are looking for ways for specifications to do so as well. So-called "evergreen recommendations" or "living standards" aim to track continuous development (and maintenance) of features, on a feature-by-feature basis, while getting review and patent commitments. We see the maturation and further development of an incredible number of new technologies coming to the Web. Continued progress in many areas demonstrates the vitality of the W3C and the Web community, as the rest of the report illustrates. Future Web Standards W3C has a variety of mechanisms for listening to what the community thinks could become good future Web standards. These include discussions with the Membership, discussions with other standards bodies, the activities of thousands of participants in over 300 community groups, and W3C Workshops. There are lots of good ideas. The W3C strategy team has been identifying promising topics and invites public participation. Future, recent and under consideration Workshops include: Inclusive XR (5-6 November 2019, Seattle, WA, USA) to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive, including to people with disabilities; W3C Workshop on Data Models for Transportation (12-13 September 2019, Palo Alto, CA, USA) W3C Workshop on Web Games (27-28 June 2019, Redmond, WA, USA), view report Second W3C Workshop on the Web of Things (3-5 June 2019, Munich, Germany) W3C Workshop on Web Standardization for Graph Data; Creating Bridges: RDF, Property Graph and SQL (4-6 March 2019, Berlin, Germany), view report Web & Machine Learning. The Strategy Funnel documents the staff's exploration of potential new work at various phases: Exploration and Investigation, Incubation and Evaluation, and eventually to the chartering of a new standards group. The Funnel view is a GitHub Project where new area are issues represented by “cards” which move through the columns, usually from left to right. Most cards start in Exploration and move towards Chartering, or move out of the funnel. Public input is welcome at any stage but particularly once Incubation has begun. This helps W3C identify work that is sufficiently incubated to warrant standardization, to review the ecosystem around the work and indicate interest in participating in its standardization, and then to draft a charter that reflects an appropriate scope. Ongoing feedback can speed up the overall standardization process. Since the previous highlights document, W3C has chartered a number of groups, and started discussion on many more: Newly Chartered or Rechartered Web Application Security WG (03-Apr) Web Payment Security IG (17-Apr) Patent and Standards IG (24-Apr) Web Applications WG (14-May) Web & Networks IG (16-May) Media WG (23-May) Media and Entertainment IG (06-Jun) HTML WG (06-Jun) Decentralized Identifier WG (05-Sep) Extended Privacy IG (PING) (30-Sep) Verifiable Claims WG (30-Sep) Service Workers WG (31-Dec) Dataset Exchange WG (31-Dec) Web of Things Working Group (31-Dec) Web Audio Working Group (31-Dec) Proposed charters / Advance Notice Accessibility Guidelines WG Privacy IG (PING) RDF Literal Direction WG Timed Text WG CSS WG Web Authentication WG Closed Internationalization Tag Set IG Meeting Industry Needs Web Payments All Web Payments specifications W3C's payments standards enable a streamlined checkout experience, enabling a consistent user experience across the Web with lower front end development costs for merchants. Users can store and reuse information and more quickly and accurately complete online transactions. The Web Payments Working Group has republished Payment Request API as a Candidate Recommendation, aiming to publish a Proposed Recommendation in the Fall 2019, and is discussing use cases and features for Payment Request after publication of the 1.0 Recommendation. Browser vendors have been finalizing implementation of features added in the past year (view the implementation report). As work continues on the Payment Handler API and its implementation (currently in Chrome and Edge Canary), one focus in 2019 is to increase adoption in other browsers. Recently, Mastercard demonstrated the use of Payment Request API to carry out EMVCo's Secure Remote Commerce (SRC) protocol whose payment method definition is being developed with active participation by Visa, Mastercard, American Express, and Discover. Payment method availability is a key factor in merchant considerations about adopting Payment Request API. The ability to get uniform adoption of a new payment method such as Secure Remote Commerce (SRC) also depends on the availability of the Payment Handler API in browsers, or of proprietary alternatives. Web Monetization, which the Web Payments Working Group will discuss again at its face-to-face meeting in September, can be used to enable micropayments as an alternative revenue stream to advertising. Since the beginning of 2019, Amazon, Brave Software, JCB, Certus Cybersecurity Solutions and Netflix have joined the Web Payments Working Group. In April, W3C launched the Web Payment Security Group to enable W3C, EMVCo, and the FIDO Alliance to collaborate on a vision for Web payment security and interoperability. Participants will define areas of collaboration and identify gaps between existing technical specifications in order to increase compatibility among different technologies, such as: How do SRC, FIDO, and Payment Request relate? The Payment Services Directive 2 (PSD2) regulations in Europe are scheduled to take effect in September 2019. What is the role of EMVCo, W3C, and FIDO technologies, and what is the current state of readiness for the deadline? How can we improve privacy on the Web at the same time as we meet industry requirements regarding user identity? Digital Publishing All Digital Publishing specifications, Publication milestones The Web is the universal publishing platform. Publishing is increasingly impacted by the Web, and the Web increasingly impacts Publishing. Topic of particular interest to Publishing@W3C include typography and layout, accessibility, usability, portability, distribution, archiving, offline access, print on demand, and reliable cross referencing. And the diverse publishing community represented in the groups consist of the traditional "trade" publishers, ebook reading system manufacturers, but also publishers of audio book, scholarly journals or educational materials, library scientists or browser developers. The Publishing Working Group currently concentrates on Audiobooks which lack a comprehensive standard, thus incurring extra costs and time to publish in this booming market. Active development is ongoing on the future standard: Publication Manifest Audiobook profile for Web Publications Lightweight Packaging Format The BD Comics Manga Community Group, the Synchronized Multimedia for Publications Community Group, the Publishing Community Group and a future group on archival, are companions to the working group where specific work is developed and incubated. The Publishing Community Group is a recently launched incubation channel for Publishing@W3C. The goal of the group is to propose, document, and prototype features broadly related to: publications on the Web reading modes and systems and the user experience of publications The EPUB 3 Community Group has successfully completed the revision of EPUB 3.2. The Publishing Business Group fosters ongoing participation by members of the publishing industry and the overall ecosystem in the development of Web infrastructure to better support the needs of the industry. The Business Group serves as an additional conduit to the Publishing Working Group and several Community Groups for feedback between the publishing ecosystem and W3C. The Publishing BG has played a vital role in fostering and advancing the adoption and continued development of EPUB 3. In particular the BG provided critical support to the update of EPUBCheck to validate EPUB content to the new EPUB 3.2 specification. This resulted in the development, in conjunction with the EPUB3 Community Group, of a new generation of EPUBCheck, i.e., EPUBCheck 4.2 production-ready release. Media and Entertainment All Media specifications The Media and Entertainment vertical tracks media-related topics and features that create immersive experiences for end users. HTML5 brought standard audio and video elements to the Web. Standardization activities since then have aimed at turning the Web into a professional platform fully suitable for the delivery of media content and associated materials, enabling missing features to stream video content on the Web such as adaptive streaming and content protection. Together with Microsoft, Comcast, Netflix and Google, W3C received an Technology & Engineering Emmy Award in April 2019 for standardization of a full TV experience on the Web. Current goals are to: Reinforce core media technologies: Creation of the Media Working Group, to develop media-related specifications incubated in the WICG (e.g. Media Capabilities, Picture-in-picture, Media Session) and maintain maintain/evolve Media Source Extensions (MSE) and Encrypted Media Extensions (EME). Improve support for Media Timed Events: data cues incubation. Enhance color support (HDR, wide gamut), in scope of the CSS WG and in the Color on the Web CG. Reduce fragmentation: Continue annual releases of a common and testable baseline media devices, in scope of the Web Media APIs CG and in collaboration with the CTA WAVE Project. Maintain the Road-map of Media Technologies for the Web which highlights Web technologies that can be used to build media applications and services, as well as known gaps to enable additional use cases. Create the future: Discuss perspectives for Media and Entertainment for the Web. Bring the power of GPUs to the Web (graphics, machine learning, heavy processing), under incubation in the GPU for the Web CG. Transition to a Working Group is under discussion. Determine next steps after the successful W3C Workshop on Web Games of June 2019. View the report. Timed Text The Timed Text Working Group develops and maintains formats used for the representation of text synchronized with other timed media, like audio and video, and notably works on TTML, profiles of TTML, and WebVTT. Recent progress includes: A robust WebVTT implementation report poises the specification for publication as a proposed recommendation. Discussions around re-chartering, notably to add a TTML Profile for Audio Description deliverable to the scope of the group, and clarify that rendering of captions within XR content is also in scope. Immersive Web Hardware that enables Virtual Reality (VR) and Augmented Reality (AR) applications are now broadly available to consumers, offering an immersive computing platform with both new opportunities and challenges. The ability to interact directly with immersive hardware is critical to ensuring that the web is well equipped to operate as a first-class citizen in this environment. The Immersive Web Working Group has been stabilizing the WebXR Device API while the companion Immersive Web Community Group incubates the next series of features identified as key for the future of the Immersive Web. W3C plans a workshop focused on the needs and benefits at the intersection of VR & Accessibility (Inclusive XR), on 5-6 November 2019 in Seattle, WA, USA, to explore existing and future approaches on making Virtual and Augmented Reality experiences more inclusive. Web & Telecommunications The Web is the Open Platform for Mobile. Telecommunication service providers and network equipment providers have long been critical actors in the deployment of Web technologies. As the Web platform matures, it brings richer and richer capabilities to extend existing services to new users and devices, and propose new and innovative services. Real-Time Communications (WebRTC) All Real-Time Communications specifications WebRTC has reshaped the whole communication landscape by making any connected device a potential communication end-point, bringing audio and video communications anywhere, on any network, vastly expanding the ability of operators to reach their customers. WebRTC serves as the corner-stone of many online communication and collaboration services. The WebRTC Working Group aims to bringing WebRTC 1.0 (and companion specification Media Capture and Streams) to Recommendation by the end of 2019. Intense efforts are focused on testing (supported by a dedicated hackathon at IETF 104) and interoperability. The group is considering pushing features that have not gotten enough traction to separate modules or to a later minor revision of the spec. Beyond WebRTC 1.0, the WebRTC Working Group will focus its efforts on WebRTC NV which the group has started documenting by identifying use cases. Web & Networks Recently launched, in the wake of the May 2018 Web5G workshop, the Web & Networks Interest Group is chaired by representatives from AT&T, China Mobile and Intel, with a goal to explore solutions for web applications to achieve better performance and resource allocation, both on the device and network. The group's first efforts are around use cases, privacy & security requirements and liaisons. Automotive All Automotive specifications To create a rich application ecosystem for vehicles and other devices allowed to connect to the vehicle, the W3C Automotive Working Group is delivering a service specification to expose all common vehicle signals (engine temperature, fuel/charge level, range, tire pressure, speed, etc.) The Vehicle Information Service Specification (VISS), which is a Candidate Recommendation, is seeing more implementations across the industry. It provides the access method to a common data model for all the vehicle signals –presently encapsulating a thousand or so different data elements– and will be growing to accommodate the advances in automotive such as autonomous and driver assist technologies and electrification. The group is already working on a successor to VISS, leveraging the underlying data model and the VIWI submission from Volkswagen, for a more robust means of accessing vehicle signals information and the same paradigm for other automotive needs including location-based services, media, notifications and caching content. The Automotive and Web Platform Business Group acts as an incubator for prospective standards work. One of its task forces is using W3C VISS in performing data sampling and off-boarding the information to the cloud. Access to the wealth of information that W3C's auto signals standard exposes is of interest to regulators, urban planners, insurance companies, auto manufacturers, fleet managers and owners, service providers and others. In addition to components needed for data sampling and edge computing, capturing user and owner consent, information collection methods and handling of data are in scope. The upcoming W3C Workshop on Data Models for Transportation (September 2019) is expected to focus on the need of additional ontologies around transportation space. Web of Things All Web of Things specifications W3C's Web of Things work is designed to bridge disparate technology stacks to allow devices to work together and achieve scale, thus enabling the potential of the Internet of Things by eliminating fragmentation and fostering interoperability. Thing descriptions expressed in JSON-LD cover the behavior, interaction affordances, data schema, security configuration, and protocol bindings. The Web of Things complements existing IoT ecosystems to reduce the cost and risk for suppliers and consumers of applications that create value by combining multiple devices and information services. There are many sectors that will benefit, e.g. smart homes, smart cities, smart industry, smart agriculture, smart healthcare and many more. The Web of Things Working Group is finishing the initial Web of Things standards, with support from the Web of Things Interest Group: Web of Things Architecture Thing Descriptions Strengthening the Core of the Web HTML The HTML Working Group was chartered early June to assist the W3C community in raising issues and proposing solutions for the HTML and DOM specifications, and to produce W3C Recommendations from WHATWG Review Drafts. A few days before, W3C and the WHATWG signed a Memorandum of Understanding outlining the agreement to collaborate on the development of a single version of the HTML and DOM specifications. Issues and proposed solutions for HTML and DOM done via the newly rechartered HTML Working Group in the WHATWG repositories The HTML Working Group is targetting November 2019 to bring HTML and DOM to Candidate Recommendations. CSS All CSS specifications CSS is a critical part of the Open Web Platform. The CSS Working Group gathers requirements from two large groups of CSS users: the publishing industry and application developers. Within W3C, those groups are exemplified by the Publishing groups and the Web Platform Working Group. The former requires things like better pagination support and advanced font handling, the latter needs intelligent (and fast!) scrolling and animations. What we know as CSS is actually a collection of almost a hundred specifications, referred to as ‘modules’. The current state of CSS is defined by a snapshot, updated once a year. The group also publishes an index defining every term defined by CSS specifications. Fonts All Fonts specifications The Web Fonts Working Group develops specifications that allow the interoperable deployment of downloadable fonts on the Web, with a focus on Progressive Font Enrichment as well as maintenance of WOFF Recommendations. Recent and ongoing work includes: Early API experiments by Adobe and Monotype have demonstrated the feasibility of a font enrichment API, where a server delivers a font with minimal glyph repertoire and the client can query the full repertoire and request additional subsets on-the-fly. In other experiments, the Brotli compression used in WOFF 2 was extended to support shared dictionaries and patch update. Metrics to quantify improvement are a current hot discussion topic. The group will meet at ATypi 2019 in Japan, to gather requirements from the international typography community. The group will first produce a report summarizing the strengths and weaknesses of each prototype solution by Q2 2020. SVG All SVG specifications SVG is an important and widely-used part of the Open Web Platform. The SVG Working Group focuses on aligning the SVG 2.0 specification with browser implementations, having split the specification into a currently-implemented 2.0 and a forward-looking 2.1. Current activity is on stabilization, increased integration with the Open Web Platform, and test coverage analysis. The Working Group was rechartered in March 2019. A new work item concerns native (non-Web-browser) uses of SVG as a non-interactive, vector graphics format. Audio The Web Audio Working Group was extended to finish its work on the Web Audio API, expecting to publish it as a Recommendation by year end. The specification enables synthesizing audio in the browser. Audio operations are performed with audio nodes, which are linked together to form a modular audio routing graph. Multiple sources — with different types of channel layout — are supported. This modular design provides the flexibility to create complex audio functions with dynamic effects. The first version of Web Audio API is now feature complete and is implemented in all modern browsers. Work has started on the next version, and new features are being incubated in the Audio Community Group. Performance Web Performance All Web Performance specifications There are currently 18 specifications in development in the Web Performance Working Group aiming to provide methods to observe and improve aspects of application performance of user agent features and APIs. The W3C team is looking at related work incubated in the W3C GPU for the Web (WebGPU) Community Group which is poised to transition to a W3C Working Group. A preliminary draft charter is available. WebAssembly All WebAssembly specifications WebAssembly improves Web performance and power by being a virtual machine and execution environment enabling loaded pages to run native (compiled) code. It is deployed in Firefox, Edge, Safari and Chrome. The specification will soon reach Candidate Recommendation. WebAssembly enables near-native performance, optimized load time, and perhaps most importantly, a compilation target for existing code bases. While it has a small number of native types, much of the performance increase relative to Javascript derives from its use of consistent typing. WebAssembly leverages decades of optimization for compiled languages and the byte code is optimized for compactness and streaming (the web page starts executing while the rest of the code downloads). Network and API access all occurs through accompanying Javascript libraries -- the security model is identical to that of Javascript. Requirements gathering and language development occur in the Community Group while the Working Group manages test development, community review and progression of specifications on the Recommendation Track. Testing Browser testing plays a critical role in the growth of the Web by: Improving the reliability of Web technology definitions; Improving the quality of implementations of these technologies by helping vendors to detect bugs in their products; Improving the data available to Web developers on known bugs and deficiencies of Web technologies by publishing results of these tests. Browser Testing and Tools The Browser Testing and Tools Working Group is developing WebDriver version 2, having published last year the W3C Recommendation of WebDriver. WebDriver acts as a remote control interface that enables introspection and control of user agents, provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of Web, and emulates the actions of a real person using the browser. WebPlatform Tests The WebPlatform Tests project now provides a mechanism which allows to fully automate tests that previously needed to be run manually: TestDriver. TestDriver enables sending trusted key and mouse events, sending complex series of trusted pointer and key interactions for things like in-content drag-and-drop or pinch zoom, and even file upload. Since 2014 W3C began work on this coordinated open-source effort to build a cross-browser test suite for the Web Platform, which WHATWG, and all major browsers adopted. Web of Data All Data specifications There have been several great success stories around the standardization of data on the web over the past year. Verifiable Claims seems to have significant uptake. It is also significant that the Distributed Identifier WG charter has received numerous favorable reviews, and was just recently launched. JSON-LD has been a major success with the large deployment on Web sites via schema.org. JSON-LD 1.1 completed technical work, about to transition to CR More than 25% of websites today include schema.org data in JSON-LD The Web of Things description is in CR since May, making use of JSON-LD Verifiable Credentials data model is in CR since July, also making use of JSON-LD Continued strong interest in decentralized identifiers Engagement from the TAG with reframing core documents, such as Ethical Web Principles, to include data on the web within their scope Data is increasingly important for all organizations, especially with the rise of IoT and Big Data. W3C has a mature and extensive suite of standards relating to data that were developed over two decades of experience, with plans for further work on making it easier for developers to work with graph data and knowledge graphs. Linked Data is about the use of URIs as names for things, the ability to dereference these URIs to get further information and to include links to other data. There are ever-increasing sources of open Linked Data on the Web, as well as data services that are restricted to the suppliers and consumers of those services. The digital transformation of industry is seeking to exploit advanced digital technologies. This will facilitate businesses to integrate horizontally along the supply and value chains, and vertically from the factory floor to the office floor. W3C is seeking to make it easier to support enterprise-wide data management and governance, reflecting the strategic importance of data to modern businesses. Traditional approaches to data have focused on tabular databases (SQL/RDBMS), Comma Separated Value (CSV) files, and data embedded in PDF documents and spreadsheets. We're now in midst of a major shift to graph data with nodes and labeled directed links between them. Graph data is: Faster than using SQL and associated JOIN operations More favorable to integrating data from heterogeneous sources Better suited to situations where the data model is evolving In the wake of the recent W3C Workshop on Graph Data we are in the process of launching a Graph Standardization Business Group to provide a business perspective with use cases and requirements, to coordinate technical standards work and liaisons with external organizations. Web for All Security, Privacy, Identity All Security specifications, all Privacy specifications Authentication on the Web As the WebAuthn Level 1 W3C Recommendation published last March is seeing wide implementation and adoption of strong cryptographic authentication, work is proceeding on Level 2. The open standard Web API gives native authentication technology built into native platforms, browsers, operating systems (including mobile) and hardware, offering protection against hacking, credential theft, phishing attacks, thus aiming to end the era of passwords as a security construct. You may read more in our March press release. Privacy An increasing number of W3C specifications are benefitting from Privacy and Security review; there are security and privacy aspects to every specification. Early review is essential. Working with the TAG, the Privacy Interest Group has updated the Self-Review Questionnaire: Security and Privacy. Other recent work of the group includes public blogging further to the exploration of anti-patterns in standards and permission prompts. Security The Web Application Security Working Group adopted Feature Policy, aiming to allow developers to selectively enable, disable, or modify the behavior of some of these browser features and APIs within their application; and Fetch Metadata, aiming to provide servers with enough information to make a priori decisions about whether or not to service a request based on the way it was made, and the context in which it will be used. The Web Payment Security Interest Group, launched last April, convenes members from W3C, EMVCo, and the FIDO Alliance to discuss cooperative work to enhance the security and interoperability of Web payments (read more about payments). Internationalization (i18n) All Internationalization specifications, educational articles related to Internationalization, spec developers checklist Only a quarter or so current Web users use English online and that proportion will continue to decrease as the Web reaches more and more communities of limited English proficiency. If the Web is to live up to the "World Wide" portion of its name, and for the Web to truly work for stakeholders all around the world engaging with content in various languages, it must support the needs of worldwide users as they engage with content in the various languages. The growth of epublishing also brings requirements for new features and improved typography on the Web. It is important to ensure the needs of local communities are captured. The W3C Internationalization Initiative was set up to increase in-house resources dedicated to accelerating progress in making the World Wide Web "worldwide" by gathering user requirements, supporting developers, and education & outreach. For an overview of current projects see the i18n radar. W3C's Internationalization efforts progressed on a number of fronts recently: Requirements: New African and European language groups will work on the gap analysis, errata and layout requirements. Gap analysis: Japanese, Devanagari, Bengali, Tamil, Lao, Khmer, Javanese, and Ethiopic updated in the gap-analysis documents. Layout requirements document: notable progress tracked in the Southeast Asian Task Force while work continues on Chinese layout requirements. Developer support: Spec reviews: the i18n WG continues active review of specifications of the WHATWG and other W3C Working Groups. Short review checklist: easy way to begin a self-review to help spec developers understand what aspects of their spec are likely to need attention for internationalization, and points them to more detailed checklists for the relevant topics. It also helps those reviewing specs for i18n issues. Strings on the Web: Language and Direction Metadata lays out issues and discusses potential solutions for passing information about language and direction with strings in JSON or other data formats. The document was rewritten for clarity, and expanded. The group is collaborating with the JSON-LD and Web Publishing groups to develop a plan for updating RDF, JSON-LD and related specifications to handle metadata for base direction of text (bidi). User-friendly test format: a new format was developed for Internationalization Test Suite tests, which displays helpful information about how the test works. This particularly useful because those tests are pointed to by educational materials and gap-analysis documents. Web Platform Tests: a large number of tests in the i18n test suite have been ported to the WPT repository, including: css-counter-styles, css-ruby, css-syntax, css-test, css-text-decor, css-writing-modes, and css-pseudo. Education & outreach: (for all educational materials, see the HTML & CSS Authoring Techniques) Web Accessibility All Accessibility specifications, WAI resources The Web Accessibility Initiative supports W3C's Web for All mission. Recent achievements include: Education and training: Inaccessibility of CAPTCHA updated to bring our analysis and recommendations up to date with CAPTCHA practice today, concluding two years of extensive work and invaluable input from the public (read more on the W3C Blog Learn why your web content and applications should be accessible. The Education and Outreach Working Group has completed revision and updating of the Business Case for Digital Accessibility. Accessibility guidelines: The Accessibility Guidelines Working Group has continued to update WCAG Techniques and Understanding WCAG 2.1; and published a Candidate Recommendation of Accessibility Conformance Testing Rules Format 1.0 to improve inter-rater reliability when evaluating conformance of web content to WCAG An updated charter is being developed to host work on "Silver", the next generation accessibility guidelines (WCAG 2.2) There are accessibility aspects to most specifications. Check your work with the FAST checklist. Outreach to the world W3C Developer Relations To foster the excellent feedback loop between Web Standards development and Web developers, and to grow participation from that diverse community, recent W3C Developer Relations activities include: @w3cdevs tracks the enormous amount of work happening across W3C W3C Track during the Web Conference 2019 in San Francisco Tech videos: W3C published the 2019 Web Games Workshop videos The 16 September 2019 Developer Meetup in Fukuoka, Japan, is open to all and will combine a set of technical demos prepared by W3C groups, and a series of talks on a selected set of W3C technologies and projects W3C is involved with Mozilla, Google, Samsung, Microsoft and Bocoup in the organization of ViewSource 2019 in Amsterdam (read more on the W3C Blog) W3C Training In partnership with EdX, W3C's MOOC training program, W3Cx offers a complete "Front-End Web Developer" (FEWD) professional certificate program that consists of a suite of five courses on the foundational languages that power the Web: HTML5, CSS and JavaScript. We count nearly 900K students from all over the world. Translations Many Web users rely on translations of documents developed at W3C whose official language is English. W3C is extremely grateful to the continuous efforts of its community in ensuring our various deliverables in general, and in our specifications in particular, are made available in other languages, for free, ensuring their exposure to a much more diverse set of readers. Last Spring we developed a more robust system, a new listing of translations of W3C specifications and updated the instructions on how to contribute to our translation efforts. W3C Liaisons Liaisons and coordination with numerous organizations and Standards Development Organizations (SDOs) is crucial for W3C to: make sure standards are interoperable coordinate our respective agenda in Internet governance: W3C participates in ICANN, GIPO, IGF, the I* organizations (ICANN, IETF, ISOC, IAB). ensure at the government liaison level that our standards work is officially recognized when important to our membership so that products based on them (often done by our members) are part of procurement orders. W3C has ARO/PAS status with ISO. W3C participates in the EU MSP and Rolling Plan on Standardization ensure the global set of Web and Internet standards form a compatible stack of technologies, at the technical and policy level (patent regime, fragmentation, use in policy making) promote Standards adoption equally by the industry, the public sector, and the public at large Coralie Mercier, Editor, W3C Marketing & Communications $Id: Overview.html,v 1.60 2019/10/15 12:05:52 coralie Exp $ Copyright © 2019 W3C ® (MIT, ERCIM, Keio, Beihang) Usage policies apply.
bablubambal / All Logo And PicturesAll Logos and Pictures of Programming-logo Languages and Social Icons SVG format. Download the logos and use them in your projects
Agents365-ai / Drawio Skilldrawio-skill — From Text to Professional Diagrams. An Agent Skill (SKILL.md) that generates draw.io diagrams from natural language and exports to PNG/SVG/PDF. Works with Claude Code, OpenClaw, Hermes Agent, OpenAI Codex, and SkillsMP.
hmwang2002 / InternSVG[ICLR 2026] Official repository of "InternSVG: Towards Unified SVG Tasks with Multimodal Large Language Models".
kapowaz / Square FlagsA collection of 400+ minimalist square SVG country, state and language flags
klonnet23 / Helloy Word{ "releases": { "2.0.4": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta1": [ "[Fixed] Refresh for Enterprise repositories did not handle API error querying branches - #7713", "[Fixed] Missing \"Discard all changes\" context menu in Changes header - #7696", "[Fixed] \"Select all\" keyboard shortcut not firing on Windows - #7759" ], "2.0.4-beta0": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693", "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688", "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.3": [ "[Fixed] Crash when loading repositories after signing in through the welcome flow - #7699" ], "2.0.2": [ "[Added] Extend crash reports with more information about application state for troubleshooting - #7693" ], "2.0.1": [ "[Fixed] Crash when attempting to update pull requests with partially updated repository information - #7688" ], "2.0.0": [ "[New] You can now choose to bring your changes with you to a new branch or stash them on the current branch when switching branches - #6107", "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[New] Repositories grouped by owner, and recent repositories listed at top - #6923 #7132", "[New] Suggested next steps now includes suggestion to create a pull request after publishing a branch - #7505", "[Added] .resx syntax highlighting - #7235. Thanks @say25!", "[Added] \"Exit\" menu item now has accelerator and access key - #6507. Thanks @AndreiMaga!", "[Added] Help menu entry to view documentation about keyboard shortcuts - #7184", "[Added] \"Discard all changes\" action under Branch menu - #7394. Thanks @ahuth!", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Fixed] Emoji rendering in app when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Conflicts banners do not hide after aborting operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Unable to switch keyboard layout and retain keyboard focus while using commit form - #6366. Thanks @AndreiMaga!", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Menus disabled by activity in inactive repositories - #6313", "[Fixed] Race condition with Git remote lookup may cause push to incorrect remote - #6986", "[Fixed] Restore GitHub Desktop to main screen if external monitor removed - #7418 #2107. Thanks @say25!", "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] \"Automatically Switch Theme\" on macOS checks theme on launch - #7116. Thanks @say25!", "[Improved] \"Add\" button in repository list should always be visible - #6646", "[Improved] Pull Requests list loads and updates pull requests from GitHub more quickly - #7501 #7163", "[Improved] Indicator hidden in Pull Requests list when there are no open pull requests - #7258", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Alignment of icons in repository list - #7133", "[Improved] Command line interface warning when using \"github open\" with a remote URL - #7452. Thanks @msztech!", "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] Styles for manual resolution button in \"Resolve Conflicts\" dialog - #7302", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Visual progress on \"Remove Repository\" and \"Discard Changes\" dialogs - #7015. Thanks @HashimotoYT!", "[Improved] Menu items now aware of force push state and preference to confirm repository removal - #4976 #7138", "[Removed] Branch and pull request filter text persistence - #7437", "[Removed] \"Discard all changes\" context menu item from Changes list - #7394. Thanks @ahuth!" ], "1.7.1-beta1": [ "[Fixed] Tab Bar focus ring outlines clip into other elements - #5802. Thanks @Daniel-McCarthy!", "[Improved] Show explanation for manually conflicted text files in diff viewer - #7611", "[Improved] Alignment of entries in repository list - #7133" ], "1.7.0-beta9": [ "[Fixed] Add warning when renaming a branch with a stash - #7283", "[Fixed] Restore Desktop to main screen when external monitor removed - #7418 #2107. Thanks @say25!", "[Improved] Performance for bringing uncommitted changes to another branch - #7474" ], "1.7.0-beta8": [ "[Added] Accelerator and access key to \"Exit\" menu item - #6507. Thanks @AndreiMaga!", "[Fixed] Pressing \"Shift\" + \"Alt\" in Commit summary moves input-focus to app menu - #6366. Thanks @AndreiMaga!", "[Fixed] Incorrectly encoding URLs affects issue filtering - #7506", "[Improved] Command line interface warns with helpful message when given a remote URL - #7452. Thanks @msztech!", "[Improved] Lowercase pronoun in \"Revert this commit\" menu item - #7534", "[Improved] \"Pull Requests\" list reflects pull requests from GitHub more quickly - #7501", "[Removed] Branch and pull request filter text persistence - #7437" ], "1.7.0-beta7": [ "[Improved] Error message when unable to publish private repository to an organization - #7472", "[Improved] \"Stashed changes\" button accessibility improvements - #7274", "[Improved] Performance improvements for bringing changes to another branch - #7471", "[Improved] Performance improvements for detecting conflicts from a restored stash - #7476" ], "1.7.0-beta6": [ "[Fixed] Stash viewer does not disable restore button when changes present - #7409", "[Fixed] Stash viewer does not center \"no content\" text - #7299", "[Fixed] Stash viewer pane width not remembered between sessions - #7416", "[Fixed] \"Esc\" key does not close Repository or Branch list - #7177. Thanks @roottool!", "[Fixed] Stash not cleaned up when it conflicts with working directory contents - #7383", "[Improved] Branch names remain accurate in dialog when stashing and switching branches - #7402", "[Improved] Moved \"Discard all changes\" to Branch menu to prevent unintentionally discarding all changes - #7394. Thanks @ahuth!", "[Improved] UI responsiveness when using keyboard to choose branch in rebase flow - #7407" ], "1.7.0-beta5": [ "[Fixed] Handle warnings if stash creation encounters file permission issue - #7351", "[Fixed] Add \"View stash entry\" action to suggested next steps - #7353", "[Fixed] Handle and recover from failed rebase flow starts - #7223", "[Fixed] Reverse button order when viewing a stash on macOS - #7273", "[Fixed] Prevent console errors due to underlying component unmounts - #6970", "[Fixed] Rebase success banner always includes base branch name - #7220", "[Improved] Added explanatory text for \"Restore\" button for stashes - #7303", "[Improved] Ask for confirmation before discarding stash - #7348", "[Improved] Order stashed changes files alphabetically - #7327", "[Improved] Clarify \"Overwrite Stash Confirmation\" dialog text - #7361", "[Improved] Message shown in rebase setup when target branch is already rebased - #7343", "[Improved] Update stashing prompt verbiage - #7393.", "[Improved] Update \"Start Rebase\" dialog verbiage - #7391", "[Improved] Changes list now reflects what will be committed when handling rebase conflicts - #7006" ], "1.7.0-beta4": [ "[Fixed] Manual conflict resolution choice not updated when resolving rebase conflicts - #7255", "[Fixed] Menu items don't display the expected verbiage for force push and removing a repository - #4976 #7138" ], "1.7.0-beta3": [ "[New] Users can choose to bring changes with them to a new branch or stash them on the current branch when switching branches - #6107", "[Added] GitHub Desktop keyboard shortcuts available in Help menu - #7184", "[Added] .resx file extension highlighting support - #7235. Thanks @say25!", "[Fixed] Attempting to revert commits not on current branch results in an error - #6300. Thanks @msftrncs!", "[Improved] Warn users before rebase if operation will require a force push after rebase complete - #6963", "[Improved] Do not show the number of pull requests when there are no open pull requests - #7258", "[Improved] Accessibility attributes for dialog - #6496. Thanks @HirdayGupta!", "[Improved] Initiate cloning by pressing \"Enter\" when a repository is selected - #6570. Thanks @Daniel-McCarthy!", "[Improved] Manual Conflicts button styling - #7302", "[Improved] \"Add\" button in repository list should always be visible - #6646" ], "1.7.0-beta2": [ "[New] Rebase your current branch onto another branch using a guided flow - #5953", "[Fixed] Horizontal scroll bar appears unnecessarily when switching branches - #7212", "[Fixed] License templates do not end with newline character - #6999", "[Fixed] Merge/Rebase conflicts banners do not clear when aborting the operation outside Desktop - #7046", "[Fixed] Missing tooltips for change indicators in the sidebar - #7174", "[Fixed] Icon accessibility labels fail when multiple icons are visible at the same time - #7174", "[Improved] Pull requests load faster and PR build status updates automatically - #7163" ], "1.7.0-beta1": [ "[New] Recently opened repositories appear at the top of the repository list - #7132", "[Fixed] Error when selecting diff text while diff is updating - #7131", "[Fixed] Crash when unable to create log file on disk - #7096", "[Fixed] Race condition with remote lookup could cause push to go to incorrect remote - #6986", "[Fixed] Mistaken classification of all crashes being related to launch - #7126", "[Fixed] Prevent menus from being disabled by activity in inactive repositories - #6313", "[Fixed] \"Automatically Switch Theme\" on macOS does not check theme on launch - #7116. Thanks @say25!", "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Emoji rendering in app broken when account name has special characters - #6909", "[Fixed] Files staged outside Desktop for deletion are incorrectly marked as modified after committing - #4133", "[Improved] Visual feedback on \"Remove Repository\" and \"Discard Changes\" dialogs to show progress - #7015. Thanks @HashimotoYT!", "[Improved] Onboarding language for blank slate components - #6638. Thanks @jamesgeorge007!", "[Improved] Manually refresh pull requests instead of having to wait for a fetch - #7027" ], "1.6.6": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.6-test1": [ "[Fixed] Clicking \"Undo\" doesn't repopulate summary in commit form - #6390. Thanks @humphd!", "[Fixed] Handle error when unable to create log file for app - #7096", "[Fixed] Crash when selecting text while the underlying diff changes - #7131" ], "1.6.5": [ "[Fixed] Publish Repository does not let you publish to an organization on your Enterprise account - #7052" ], "1.6.5-beta2": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.5-beta1": [ "[Fixed] Publish Repository does not let you choose an organization on your Enterprise account - #7052" ], "1.6.4": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta1": [ "[Fixed] Embedded Git not working for core.longpath usage in some environments - #7028", "[Fixed] \"Recover missing repository\" can get stuck in a loop - #7038" ], "1.6.4-beta0": [ "[Removed] Option to discard when files would be overwritten by a checkout - #7016" ], "1.6.3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Fixed] Context menu does not open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Fixed] Display question mark in image when no commit selected in dark theme - #6915. Thanks @say25!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and update illustration in dark theme when no local changes exist - #6894", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Moving mouse pointer outside visible diff while selecting a range of lines in a partial commit now automatically scrolls the diff - #658", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!", "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!" ], "1.6.3-beta4": [ "[Improved] Update GitHub logo in \"About\" dialog - #5619. Thanks @HashimotoYT!", "[Improved] Sign in form validates both username and password - #6952. Thanks @say25!" ], "1.6.3-beta3": [ "[New] Display \"pull with rebase\" if a user has set this option in their Git config - #6553 #3422", "[Added] Provide option to discard when files would be overwritten by a checkout - #6755. Thanks @mathieudutour!", "[Fixed] No left padding for :emoji:/@user/#issue autocomplete forms. - #6895. Thanks @murrelljenna!", "[Fixed] Reinstate missing image and fix illustration to work in the dark theme when there are no local changes - #6894", "[Fixed] Display question mark image when there is no commit selected in dark theme - #6915. Thanks @say25!", "[Improved] Group and filter repositories by owner - #6923", "[Improved] Add option to fetch when a user needs to pull changes from the remote before pushing - #2738 #5451" ], "1.6.3-beta2": [ "[Fixed] Text selection in wrapped diff lines now allows selection of individual lines - #1551", "[Fixed] Resizing the diff area preserves text selection range - #2677", "[Improved] Moving the mouse pointer outside of the visible diff while selecting a range of lines in a partial commit will now automatically scroll the diff - #658" ], "1.6.3-beta1": [ "[New] Branches that have been merged and deleted on GitHub.com will now be pruned after two weeks - #750", "[Fixed] Context menu doesn't open when right clicking on the edges of files in Changes list - #6296. Thanks @JQuinnie!", "[Improved] Enable Git protocol v2 for fetch/push/pull operations - #6142", "[Improved] Upgrade to Electron v3 - #6391" ], "1.6.2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349", "[Improved] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Updated verbiage for ignoring the files - #6689. Thanks @PaulViola!" ], "1.6.2-beta3": [ "[Improved] Guided merge conflict resolution only commits changes relevant to the merge - #6349" ], "1.6.2-beta2": [ "[Added] Allow users to also resolve manual conflicts when resolving merge conflicts - #6062", "[Added] Crystal and Julia syntax highlighting - #6710. Thanks @KennethSweezy!", "[Fixed] Fix pointy corners on commit message text area - #6635. Thanks @lisavogtsf!", "[Fixed] Use higher contrast color for links in \"Merge Conflicts\" dialog - #6758" ], "1.6.2-beta1": [ "[Added] Automatic switching between Dark and Light modes on macOS - #5037. Thanks @say25!", "[Added] Lua and Fortran syntax highlighting - #6700. Thanks @SimpleBinary!", "[Fixed] Abbreviated commits are not long enough for large repositories - #6662. Thanks @say25!", "[Fixed] App menu bar visible on hover on Windows when in \"Let’s get started\" mode - #6669", "[Fixed] Remember scroll positions in History and Changes lists - #5177 #5059. Thanks @Daniel-McCarthy!", "[Fixed] Inconsistent \"Reveal in …\" labels for context menus - #6466. Thanks @say25!", "[Fixed] Prevent concurrent fetches between user and status indicator checks - #6121 #5438 #5328", "[Fixed] Merge conflict conflict did not ask user to resolve some binary files - #6693", "[Improved] Add link to all release notes in Release Notes dialog - #6443. Thanks @koralcem!", "[Improved] Arrow for renamed/copied changes when viewing commit - #6519. Thanks @koralcem!", "[Improved] Menu state updating to address race condition - #6643", "[Improved] Updated verbiage when clicking on changed files to make it more explicit what will occur when you ignore the file(s) - #6689. Thanks @PaulViola!" ], "1.6.2-beta0": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.1": [ "[Fixed] Don't show \"No local changes\" view when switching between changed files" ], "1.6.0": [ "[New] Help users add their first repo during onboarding - #6474", "[New] \"No local changes\" view helpfully suggests next actions for you to take - #6445", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Only execute menu action a single time upon hitting Enter - #5344", "[Fixed] Show autocompletion of GitHub handles and issues properly in commit description field - #6459", "[Improved] Repository list when no repositories found - #5566 #6474", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Don't show merge success banner when attempted merge doesn't complete - #6282", "[Improved] Capitalize menu items appropriately on macOS - #6469" ], "1.6.0-beta3": [ "[Fixed] Autocomplete selection does not overflow text area - #6459", "[Fixed] No local changes views incorrectly rendering ampersands - #6596", "[Improved] Capitalization of menu items on macOS - #6469" ], "1.6.0-beta2": [ "[New] \"No local changes\" view makes it easy to find and accomplish common actions - #6445", "[Fixed] Automatically locate a missing repository when it cannot be found - #6228. Thanks @msftrncs!", "[Improved] Enable additional actions during a merge conflict - #6385", "[Improved] Increase contrast on input placeholder color in dark mode - #6556", "[Improved] Merge success banner no longer shown when attempted merge doesn't complete - #6282" ], "1.6.0-beta1": [ "[New] Help users add their first repo during onboarding - #6474", "[Added] Include ability for users to add new repositories when there are none available - #5566 #6474", "[Added] Support JetBrains Webstorm as an external editor - #6077. Thanks @KennethSweezy!", "[Added] Add Visual Basic syntax highlighting - #6461. Thanks @SimpleBinary!", "[Fixed] Don't include untracked files in merge commit - #6411", "[Fixed] Don't show \"Still Conflicted Warning\" when all conflicts are resolved - #6451", "[Fixed] Enter when using keyboard to navigate app menu executed menu action twice - #5344", "[Improved] Image diff menu no longer covered by large images - #6520. Thanks @06b!" ], "1.5.2-beta0": [], "1.5.1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix \"Open In External Editor\" for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the \"Clone a Repository\" dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta6": [ "[Improved] Consistently order the options for adding a repository - #6396. Thanks @vilanz!", "[Improved] Clear merge conflicts banner after there are no more conflicted files - #6428" ], "1.5.1-beta5": [ "[Improved] Commit conflicted files warning - #6381", "[Improved] Dismissable merge conflict dialog and associated banner - #6379 #6380", "[Fixed] Fix feature flag for readme overwrite warning so that it shows on beta - #6412" ], "1.5.1-beta4": [ "[Improved] Display warning if existing readme file will be overwritten - #6338. Thanks @Daniel-McCarthy!", "[Improved] Add check for attempts to commit >100 MB files without Git LFS - #997. Thanks @Daniel-McCarthy!", "[Improved] Merge conflicts dialog visual updates - #6377" ], "1.5.1-beta3": [ "[Improved] Maintains state on tabs for different methods of cloning repositories - #5937" ], "1.5.1-beta2": [ "[Improved] Clarified internal documentation - #6348. Thanks @bblarney!" ], "1.5.1-beta1": [ "[Added] Provide keyboard shortcut for getting to commit summary field - #1719. Thanks @bruncun!", "[Added] Add hover states on list items and tabs - #6310", "[Added] Add Dockerfile syntax highlighting - #4533. Thanks @say25!", "[Added] Support Visual SlickEdit as an external editor - #6029. Thanks @texasaggie97!", "[Improved] Allow toggling between diff modes - #6231. Thanks @06b!", "[Improved] Show focus around full input field - #6234. Thanks @seokju-na!", "[Improved] Make lists scroll to bring selected items into view - #6279", "[Fixed] Allow repositories to be cloned to empty folders - #5857. Thanks @Daniel-McCarthy!", "[Fixed] Prevent creating branch with detached HEAD from reverting to default branch - #6085", "[Fixed] Fix 'Open In External Editor' for Atom/VS Code on Windows when paths contain spaces - #6181. Thanks @msftrncs!", "[Fixed] Persist Branch List and Pull Request List filter text - #6002. Thanks @Daniel-McCarthy!", "[Fixed] Retain renamed branches position in recent branches list - #6155. Thanks @gnehcc!", "[Fixed] Prevent avatar duplication when user is co-author and committer - #6135. Thanks @bblarney!", "[Fixed] Provide keyboard selection for the ‘Clone a Repository’ dialog - #3596. Thanks @a-golovanov!", "[Fixed] Close License & Open Source Notices dialog upon pressing \"Enter\" in dialog - #6137. Thanks @bblarney!", "[Fixed] Dismiss \"Merge into Branch\" dialog with escape key - #6154. Thanks @altaf933!", "[Fixed] Focus branch selector when comparing to branch from menu - #5600", "[Fixed] Reverse fold/unfold icons for expand/collapse commit summary - #6196. Thanks @HazemAM!" ], "1.5.1-beta0": [], "1.5.0": [ "[New] Clone, create, or add repositories right from the repository dropdown - #5878", "[New] Drag-and-drop to add local repositories from macOS tray icon - #5048", "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Notify users when a merge is successfully completed - #5851", "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Display current branch in header of merge dialog - #6027", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Update license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta5": [], "1.5.0-beta4": [ "[Fixed] \"Compare on GitHub\" menu item enabled when no repository is selected - #6078", "[Fixed] Diff viewer blocks keyboard navigation using reverse tab order - #2794", "[Improved] \"Publish Repository\" dialog handles emoji characters - #5980. Thanks @WaleedAshraf!" ], "1.5.0-beta3": [], "1.5.0-beta2": [ "[Added] Resolve merge conflicts through a guided flow - #5400", "[Added] Notify users when a merge is successfully completed - #5851", "[Added] Allow merging branches directly from branch dropdown - #5929. Thanks @bruncun!", "[Improved] Merge dialog displays current branch in header - #6027", "[Improved] Clarify the direction of merging branches - #5930. Thanks @JQuinnie!", "[Improved] Show the branch name in \"Update From Default Branch\" menu item - #3018. Thanks @a-golovanov!", "[Improved] Default commit summary more explanatory and consistent with GitHub.com - #6017. Thanks @Daniel-McCarthy!", "[Improved] Updated license and .gitignore templates for initializing a new repository - #6024. Thanks @say25!" ], "1.5.0-beta1": [ "[New] Repository switcher has a convenient \"Add\" button to add other repositories - #5878", "[New] macOS tray icon now supports drag-and-drop to add local repositories - #5048", "[Added] Keyboard shortcut for \"Rename Branch\" menu item - #5964. Thanks @agisilaos!", "[Added] Commit file list now has \"Copy File Path\" context menu action - #2944. Thanks @Amabel!", "[Fixed] Launching Desktop from browser always asks to clone repository - #5913", "[Fixed] Publish dialog displayed on push when repository is already published - #5936", "[Improved] Sanitize repository name before publishing to GitHub - #3090. Thanks @Daniel-McCarthy!", "[Improved] Getting a repository's status only blocks other operations when absolutely necessary - #5952", "[Improved] Avoid repository checks when no path is specified in \"Create Repository\" dialog - #5828. Thanks @JakeHL!", "[Improved] Display a more informative message on merge dialog when branch is up to date - #5890" ], "1.4.4-beta0": [], "1.4.3": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Added] Add keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Emoji autocomplete not rendering in some situations - #5859", "[Fixed] Release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Avoid unnecessarily reloading commit history - #5470", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta2": [ "[Added] Added keyboard shortcut to delete a branch - #5018. Thanks @JakeHL!", "[Fixed] Fix release notes text overflowing dialog box - #5854. Thanks @amarsiingh!", "[Improved] Avoid unnecessarily reloading commit history - #5470" ], "1.4.3-beta1": [ "[Added] Add \"Remove Repository\" keyboard shortcut - #5848. Thanks @say25!", "[Fixed] Fix emoji autocomplete not rendering in some situations - #5859", "[Fixed] Support Python 3 in Desktop CLI on macOS - #5843. Thanks @munir131!", "[Improved] Publish Branch dialog will publish commits when pressing Enter - #5777. Thanks @JKirkYuan!" ], "1.4.3-beta0": [], "1.4.2": [ "[New] Show resolved conflicts as resolved in Changes pane - #5609", "[Added] Add Terminator, MATE Terminal, and Terminology shells - #5753. Thanks @joaomlneto!", "[Fixed] Update embedded Git to version 2.19.1 for security vulnerability fix", "[Fixed] Always show commit history list when History tab is clicked - #5783. Thanks @JKirkYuan!", "[Fixed] Stop overriding the protocol of a detected GitHub repository - #5721", "[Fixed] Update sign in error message - #5766. Thanks @tiagodenoronha!", "[Fixed] Correct overflowing T&C and License Notices dialogs - #5756. Thanks @amarsiingh!", "[Improved] Add default commit message for single-file commits - #5240. Thanks @lean257!", "[Improved] Refresh commit list faster after reverting commit via UI - #5752", "[Improved] Add repository path to Remove repository dialog - #5805. Thanks @NickCraver!", "[Improved] Display whether user entered incorrect username or email address - #5775. Thanks @tiagodenoronha!", "[Improved] Update Discard Changes dialog text when discarding all changes - #5744. Thanks @Daniel-McCarthy!" ], "1.4.2-beta0": [], "1.4.1-test2": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1-test1": [ "Testing changes to how Desktop performs CI platform checks" ], "1.4.1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta1": [ "[Added] Support for opening repository in Cygwin terminal - #5654. Thanks @LordOfTheThunder!", "[Fixed] 'Compare to Branch' menu item not disabled when modal is open - #5673. Thanks @kanishk98!", "[Fixed] No message shown when filter returns no results in Clone Repository view - #5637. Thanks @DanielHix!", "[Fixed] Co-author form does not show/hide for newly-added repository - #5490", "[Fixed] Dialog styling issue for dark theme users on Windows - #5629. Thanks @cwongmath!", "[Fixed] Desktop command line always suffixes `.git` to URL when starting a clone - #5529. Thanks @j-f1!", "[Improved] Commit summary expander sometimes shown when not needed - #5700. Thanks @aryyya!", "[Improved] Commit disabled when commit summary is only spaces - #5677. Thanks @Daniel-McCarthy!", "[Improved] Error handling when looking for merge base of a missing ref - #5612", "[Improved] Clone dialog re-runs filesystem check when re-focusing on Desktop - #5518. Thanks @Daniel-McCarthy!", "[Improved] Branch names cannot start with a '+' character - #5594. Thanks @Daniel-McCarthy!", "[Improved] Warning if branch exists on remote when creating branch - #5141. Thanks @Daniel-McCarthy!" ], "1.4.1-beta0": [], "1.4.0": [ "[New] When an update is available for GitHub Desktop, release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Fixed] Caret in co-author selector is hidden when dark theme enabled - #5589", "[Fixed] Authenticating to GitHub Enterprise fails when user has no emails defined - #5585", "[Improved] Avoid multiple lookups of default remote - #5399" ], "1.4.0-beta3": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta2": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta1": [ "[New] When an update is available for GitHub Desktop, the release notes can be viewed in Desktop - #2774", "[New] Detect merge conflicts when comparing branches - #4588", "[Fixed] Avoid double checkout warning when opening a pull request in Desktop - #5375", "[Fixed] Error when publishing repository is now associated with the right tab - #5422. Thanks @Daniel-McCarthy!", "[Fixed] Disable affected menu items when on detached HEAD - #5500. Thanks @say25!", "[Fixed] Show border when commit description is expanded - #5506. Thanks @aryyya!", "[Fixed] GitLab URL which corresponds to GitHub repository of same name cloned GitHub repository - #4154", "[Improved] Avoid multiple lookups of default remote - #5399", "[Improved] Skip optional locks when checking status of repository - #5376" ], "1.4.0-beta0": [], "1.3.5": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta1": [ "[Fixed] Disable delete button while deleting a branch - #5331", "[Fixed] History now avoids calling log.showSignature if set in config - #5466", "[Fixed] Start blocking the ability to add local bare repositories - #4293. Thanks @Daniel-McCarthy!", "[Fixed] Revert workaround for tooltip issue on Windows - #3362. Thanks @divayprakash!", "[Improved] Error message when publishing to missing organisation - #5380. Thanks @Daniel-McCarthy!", "[Improved] Don't hide commit details when commit summary description is expanded. - #5471. Thanks @aryyya!" ], "1.3.5-beta0": [], "1.3.4": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta1": [ "[Improved] Cloning message uses remote repo name not file destination - #5413. Thanks @lisavogtsf!", "[Improved] Support VSCode user scope installation - #5281. Thanks @saschanaz!" ], "1.3.4-beta0": [], "1.3.3": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-beta1": [ "[Fixed] Maximize and restore app on Windows does not fill available space - #5033", "[Fixed] 'Clone repository' menu item label is obscured on Windows - #5348. Thanks @Daniel-McCarthy!", "[Fixed] User can toggle files when commit is in progress - #5341. Thanks @masungwon!", "[Improved] Repository indicator background work - #5317 #5326 #5363 #5241 #5320" ], "1.3.3-test6": ["Testing infrastructure changes"], "1.3.3-test5": ["Testing the new CircleCI config changes"], "1.3.3-test4": ["Testing the new CircleCI config changes"], "1.3.3-test3": ["Testing the new CircleCI config changes"], "1.3.3-test2": ["Testing the new CircleCI config changes"], "1.3.3-test1": ["Testing the new CircleCI config changes"], "1.3.2": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.2-beta1": [ "[Fixed] Bugfix for background checks not being aware of missing repositories - #5282", "[Fixed] Check the local state of a repository before performing Git operations - #5289", "[Fixed] Switch to history view for default branch when deleting current branch during a compare - #5256", "[Fixed] Handle missing .git directory inside a tracked repository - #5291" ], "1.3.1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta1": [ "[Fixed] Background Git operations on missing repositories are not handled as expected - #5282" ], "1.3.1-beta0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes indicator and ahead/behind information - #2259 #5095", "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Added] Syntax highlighting for PowerShell files - #5081. Thanks @say25!", "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Display root directory name when repository is located at drive root - #4924", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Fixed] History omits latest commit from list - #5243", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Improved] Change primary button color to blue for dark theme - #5074", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta7": [], "1.3.0-beta6": [], "1.3.0-beta5": [ "[Fixed] Ensure commit message is cleared after successful commit - #4046", "[Fixed] History omits latest commit from list - #5243" ], "1.3.0-beta4": [ "[Fixed] Only perform ahead/behind comparisons when branch selector is open - #5142", "[Fixed] Render clickable link in \"squash and merge\" commit message - #5203. Thanks @1pete!", "[Fixed] Selected commit not remembered when switching between History and Changes tabs - #4985", "[Fixed] Selected commit when comparing is reset to latest when Desktop regains focus - #5069" ], "1.3.0-beta3": [ "[Fixed] \"Discard Changes\" context menu discards correct file when entry is not part of selected group - #4788", "[Fixed] Return key disabled when no matches found in Compare branch list - #4458", "[Improved] Status parsing significantly more performant when handling thousands of changed files - #2449 #5186" ], "1.3.0-beta2": [ "[Added] Option to move repository to trash when removing from app - #2108. Thanks @say25!", "[Fixed] Markdown header elements hard to read in dark mode - #5133. Thanks @agisilaos!", "[Improved] Diff gutter elements should be considered button elements when interacting - #5158" ], "1.2.7-test3": ["Test deployment for electron version bump."], "1.3.0-beta1": [ "[New] Notification displayed in History tab when the base branch moves ahead of the current branch - #4768", "[New] Repository list displays uncommitted changes count and ahead/behind information - #2259", "[Added] Syntax highlighting for PowerShell files- #5081. Thanks @say25!", "[Fixed] Display something when repository is located at drive root - #4924", "[Fixed] Relax checks for merge commits for GitHub Enterprise repositories - #4329", "[Fixed] Display local path of selected repository as tooltip - #4922. Thanks @yongdamsh!", "[Fixed] Support default branch detection for non-GitHub repositories - #4937", "[Fixed] Handle legacy macOS right click gesture - #4942", "[Improved] Repository list badge style tweaks and tweaks for dark theme - #5095", "[Improved] Change primary button color to blue for dark theme - #5074" ], "1.2.7-test2": ["Test deployment for electron version bump."], "1.2.7-test1": ["Sanity check deployment for refactored scripts"], "1.2.7-beta0": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6": [ "[Fixed] Visual indicator for upcoming feature should not be shown - #5026" ], "1.2.6-beta0": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.5": [ "[Fixed] Feature flag for upcoming feature not applied correctly - #5024" ], "1.2.4": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.4-beta5": [], "1.2.4-beta4": [ "[Fixed] Compare tab appends older commits when scrolling to bottom of list - #4964", "[Fixed] Remove temporary directory after Git LFS operation completes - #4414", "[Improved] Remove context menu needs to hint if a dialog will be shown - #4975", "[Improved] Upgrade embedded Git LFS - #4602 #4745" ], "1.2.4-test1": [ "Confirming latest Git LFS version addresses reported issues" ], "1.2.4-beta3": [ "[Added] WebStorm support for macOS - #4841. Thanks @mrsimonfletcher!", "[Improved] Update banner message clarifies that only Desktop needs to be restarted - #4891. Thanks @KennethSweezy!" ], "1.2.4-beta2": [], "1.2.4-beta1": [ "[New] Dark Theme preview - #4849", "[Added] Syntax highlighting for Cake files - #4935. Thanks @say25!", "[Fixed] Unable to compare when two branches exist - #4947 #4730", "[Fixed] Unhandled errors when refreshing pull requests fails - #4844 #4866", "[Improved] Discard Changes context menu entry should contain ellipses when user needs to confirm - #4846. Thanks @yongdamsh!", "[Improved] Initializing syntax highlighting components - #4764", "[Improved] Only show overflow shadow when description overflows - #4898", "[Improved] Changes tab displays number of changed files instead of dot - #4772. Thanks @yongdamsh!" ], "1.2.3": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-beta1": [ "[Fixed] No autocomplete when searching for co-authors - #4847", "[Fixed] Error when checking out a PR from a fork - #4842" ], "1.2.3-test1": [ "Confirming switch from uglify-es to babel-minify addresses minification issue - #4871" ], "1.2.2": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Restore text selection highlighting in diffs - #4818" ], "1.2.2-beta1": [ "[Fixed] Make cURL/schannel default to using the Windows certificate store - #4817", "[Fixed] Text selection highlighting in diffs is back - #4818" ], "1.2.1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-test1": ["Upgraded embedded Git to 2.17.0"], "1.2.1-beta1": [ "[Added] Brackets support for macOS - #4608. Thanks @3raxton!", "[Added] Pull request number and author are included in fuzzy-find filtering - #4653. Thanks @damaneice!", "[Fixed] Decreased the max line length limit - #3740. Thanks @sagaragarwal94!", "[Fixed] Updated embedded Git to 2.17.1 to address upstream security issue - #4791", "[Improved] Display the difference in file size of an image in the diff view - #4380. Thanks @ggajos!" ], "1.2.1-beta0": [], "1.1.2-test6": ["Testing the Webpack v4 output from the project"], "1.2.0": [ "[New] History now has ability to compare to another branch and merge outstanding commits", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[Added] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] 'Open in Shell' on Linux ensures Git is on PATH - #4619. Thanks @ziggy42!", "[Fixed] Pressing 'Enter' on filtered Pull Request does not checkout - #4673", "[Fixed] Alert icon shrinks in rename dialog when branch name is long - #4566", "[Fixed] 'Open in Desktop' performs fetch to ensure branch exists before checkout - #3006", "[Fixed] 'Open in Default Program' on Windows changes the window title - #4446", "[Fixed] Skip fast-forwarding when there are many eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' always opens a new instance - #4381", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429.", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta7": [], "1.1.2-beta6": [ "[Added] Add MacVim support for macOS - #4532. Thanks @johnelliott!", "[Fixed] Open in Shell on Linux ensures Git is available on the user's PATH - #4619. Thanks @ziggy42!", "[Fixed] Keyboard focus issues when navigating Pull Request list - #4673", "[Improved] Automatically add valid repository when using command line interface - #4513. Thanks @ggajos!" ], "1.1.2-test5": ["Actually upgrading fs-extra to v6 in the app"], "1.1.2-test4": ["Upgrading fs-extra to v6"], "1.1.2-beta5": [ "[Added] Syntax highlighting for JavaServer Pages (JSP) - #4470. Thanks @damaneice!", "[Fixed] Prevent icon from shrinking in rename dialog - #4566" ], "1.1.2-beta4": [ "[New] New Compare tab allowing visualization of the relationship between branches", "[New] Support for selecting more than one file in the changes list - #1712. Thanks @icosamuel!", "[Fixed] 'Select All' shortcut now works for changes list - #3821", "[Improved] Always fast-forward the default branch - #4506", "[Improved] Warn when trying to rename a published branch - #4035. Thanks @agisilaos!", "[Improved] Added context menu for files in commit history - #2845. Thanks @crea7or", "[Improved] Discarding all changes always prompts for confirmation - #4459" ], "1.1.2-beta3": [ "[Added] Syntax highlighting for Haxe files - #4445. Thanks @Gama11!", "[Added] Syntax highlighting for R files - #4455. Thanks @say25!", "[Fixed] Fetch to ensure \"Open in Desktop\" has a branch to checkout - #3006", "[Fixed] Handle the click event when opening a binary file - #4446", "[Fixed] Skip fast-forwarding when there are a lot of eligible local branches - #4392", "[Fixed] Image diffs not working for files with upper-case file extension - #4466", "[Fixed] Syntax highlighting not working for files with upper-case file extension - #4462. Thanks @say25!", "[Improved] Getting list of changed files is now more efficient when dealing with thousands of files - #4443", "[Improved] Checking out a Pull Request may skip unnecessary fetch - #4068. Thanks @agisilaos!", "[Improved] Commit summary now has a hint to indicate why committing is disabled - #4429." ], "1.1.2-test3": ["[New] Comparison Branch demo build"], "1.1.2-test2": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-test1": [ "Refactoring the diff internals to potentially land some SVG improvements" ], "1.1.2-beta2": [ "[New] Render bitmap images in diffs - #4367. Thanks @MagicMarvMan!", "[New] Add PowerShell Core support for Windows and macOS - #3791. Thanks @saschanaz!", "[Fixed] Error when creating Git LFS progress causes clone to fail - #4307. Thanks @MagicMarvMan!", "[Fixed] 'Open File in External Editor' does not use existing window - #4381", "[Fixed] Always ask for confirmation when discarding all changes - #4423", "[Improved] Pull request status text now matches format on GitHub - #3521", "[Improved] Add escape hatch to disable hardware acceleration when launching - #3921" ], "1.1.2-beta1": [], "1.1.1": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior for Pull Request list does not match Branch List - #3597", "[Fixed] Keep caret position after inserting completion for emoji/mention - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable commit summary and description inputs while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when all entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Fixed] Attempt to focus the application window on macOS after signing in via the browser - #4126", "[Fixed] Refresh issues when user manually fetches - #4076", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link after the password dialog to match expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!", "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta4": [ "[Improved] Context menu in Changes tab now supports opening file in your preferred editor - #4030" ], "1.1.1-beta3": [], "1.1.1-beta2": [ "[New] Render WebP images in diffs - #4164. Thanks @agisilaos!", "[Fixed] Edit context menus in commit form input elements - #3886", "[Fixed] Escape behavior should match that of Branch List - #3972", "[Fixed] Keep caret position after inserting completion - #3835. Thanks @CarlRosell!", "[Fixed] Handle error events when watching files used to get Git LFS output - #4117", "[Fixed] Potential race condition when opening a fork pull request - #4149", "[Fixed] Show placeholder image when no pull requests found - #3973", "[Fixed] Disable input fields summary and description while commit in progress - #3893. Thanks @crea7or!", "[Fixed] Ensure pull request cache is cleared after last pull request merged - #4122", "[Fixed] Focus two-factor authentication dialog on input - #4220. Thanks @WaleedAshraf!", "[Fixed] Branches button no longer disabled while on an unborn branch - #4236. Thanks @agisilaos!", "[Fixed] Delete gitignore file when entries cleared in Repository Settings - #1896", "[Fixed] Add visual indicator that a folder can be dropped on Desktop - #4004. Thanks @agisilaos!", "[Improved] Add `Discard All Changes...` to context menu on changed file list - #4197. Thanks @xamm!", "[Improved] Improve contrast for button labels in app toolbar - #4219", "[Improved] Speed up check for submodules when discarding - #4186. Thanks @kmscode!", "[Improved] Make the keychain known issue more clear within Desktop - #4125", "[Improved] Continue past the 'diff too large' message and view the diff - #4050", "[Improved] Repository association might not have expected prefix - #4090. Thanks @mathieudutour!", "[Improved] Add message to gitignore dialog when not on default branch - #3720", "[Improved] Hide Desktop-specific forks in Branch List - #4127", "[Improved] Disregard accidental whitespace when cloning a repository by URL - #4216", "[Improved] Show alert icon in repository list when repository not found on disk - #4254. Thanks @gingerbeardman!", "[Improved] Repository list now closes after removing last repository - #4269. Thanks @agisilaos!", "[Improved] Move forget password link to after the password dialog to maintain expected tab order - #4283. Thanks @iamnapo!", "[Improved] More descriptive text in repository toolbar button when no repositories are tracked - #4268. Thanks @agisilaos!" ], "1.1.1-test2": ["[Improved] Electron 1.8.3 upgrade (again)"], "1.1.1-test1": [ "[Improved] Forcing a focus on the window after the OAuth dance is done" ], "1.1.1-beta1": [], "1.1.0": [ "[New] Check out pull requests from collaborators or forks from within Desktop", "[New] View the commit status of the branch when it has an open pull request", "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Added] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Update layout of branch blankslate image - #4011", "[Fixed] Expanded avatar stack in commit summary gets cut off - #3884", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Avoid crash when unable to launch shell - #3954", "[Fixed] Ensure renames are detected when viewing commit diffs - #3673", "[Fixed] Fetch default remote if it differs from the current - #4056", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Handle error when \"where\" is not on PATH - #3882 #3825", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Update branch button text from \"New\" to \"New Branch\" - #4032", "[Improved] Add fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911", "[Improved] Show fetch progress when initializing remote for fork - #3953", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!", "[Improved] Error handling around ENOENT - #3954", "[Improved] Clear repository filter text when switching tabs - #3787. Thanks @reyronald!", "[Improved] Allow window to accept single click on focus - #3843", "[Improved] Disable drag-and-drop interaction when a popup is in the foreground - #3996" ], "1.1.0-beta3": [ "[Fixed] Fetch default remote if it differs from the current - #4056" ], "1.1.0-beta2": [ "[Improved] Update embedded Git to improve error handling when using stdin - #4058" ], "1.1.0-beta1": [ "[Improved] Add 'Branch' to 'New' branch button - #4032", "[Improved] Remove references to Hubot from the user setup page - #4015. Thanks @j-f1!" ], "1.0.14-beta5": [ "[Fixed] Improve detection of pull requests associated with current branch - #3991", "[Fixed] Disable drag-and-drop interaction when a popup is in the foreground - #3996", "[Fixed] Branch blank slate image out of position - #4011" ], "1.0.14-beta4": [ "[New] Syntax highlighting for Elixir files - #3774. Thanks @joaovitoras!", "[Fixed] Crash when unable to launch shell - #3954", "[Fixed] Support legacy usernames as co-authors - #3897", "[Improved] Enable fuzzy search in the repository, branch, PR, and clone FilterLists - #911. Thanks @j-f1!", "[Improved] Tidy up commit summary and description layout in commit list - #3922. Thanks @willnode!" ], "1.0.14-test1": ["[Improved] Electron 1.8.2 upgrade"], "1.0.14-beta3": [ "[Added] Add TextMate support for macOS - #3910. Thanks @caiofbpa!", "[Fixed] Handle Git errors when .gitmodules are malformed - #3912", "[Fixed] Clear repository filter when switching tabs - #3787. Thanks @reyronald!", "[Fixed] Prevent duplicate entries in co-author autocomplete list - #3887", "[Improved] Show progress when initializing remote for fork - #3953" ], "1.0.14-beta2": [ "[Added] Add RubyMine support for macOS - #3883. Thanks @gssbzn!", "[Fixed] Allow window to accept single click on focus - #3843", "[Fixed] Expanded avatar list hidden behind commit details - #3884", "[Fixed] Renames not detected when viewing commit diffs - #3673", "[Fixed] Ignore action assumes CRLF when core.autocrlf is unset - #3514", "[Improved] Use smaller default size when rendering Gravatar avatars - #3911" ], "1.0.14-beta1": ["[New] Commit together with co-authors - #3879"], "1.0.13": [ "[New] Commit together with co-authors - #3879", "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allow double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.13-test1": [ "[Improved] Update embedded Git to 2.16.1 - #3617 #3828 #3871", "[Fixed] Update Electron to 1.7.11 to address security issue - #3846", "[Fixed] Allows double dashes in branch name - #3599. Thanks @JQuinnie!", "[Fixed] Pull Request store may not have status defined - #3869", "[Fixed] Render the Pull Request badge when no commit statuses found - #3608" ], "1.0.13-beta1": [ "[New] PhpStorm is now a supported external editor on macOS - #3749. Thanks @hubgit!", "[Improved] Blank slate view is now more responsive when zoomed - #3777", "[Improved] Documentation fix for Open in Shell resource - #3799. Thanks @saschanaz!", "[Improved] Improved error handling for Linux - #3732", "[Improved] Allow links in unexpanded summary to be clickable - #3719. Thanks @koenpunt!", "[Fixed] Sort the organization list - #3657. Thanks @j-f1!", "[Fixed] Check out PRs from a fork - #3395", "[Fixed] Confirm deleting branch when it has an open PR - #3615", "[Fixed] Defer user/email validation in Preferences - #3722", "[Fixed] Checkout progress did not include branch name - #3780", "[Fixed] Don't block branch switching when in detached HEAD - #3807", "[Fixed] Handle discarding submodule changes properly - #3647", "[Fixed] Show tooltip with additional info about the build status - #3134", "[Fixed] Update placeholders to support Linux distributions - #3150", "[Fixed] Refresh local commit list when switching tabs - #3698" ], "1.0.12": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta1": [ "[New] Syntax highlighting for Rust files - #3666. Thanks @subnomo!", "[New] Syntax highlighting for Clojure cljc, cljs, and edn files - #3610. Thanks @mtkp!", "[Improved] Prevent creating a branch in the middle of a merge - #3733", "[Improved] Truncate long repo names in panes and modals to fit into a single line - #3598. Thanks @http-request!", "[Improved] Keyboard navigation support in pull request list - #3607", "[Fixed] Inconsistent caret behavior in text boxes when using certain keyboard layouts - #3354", "[Fixed] Only render the organizations list when it has orgs - #1414", "[Fixed] Checkout now handles situations where a ref exists on multiple remotes - #3281", "[Fixed] Retain accounts on desktop when losing connectivity - #3641", "[Fixed] Missing argument in FullScreenInfo that could prevent app from launching - #3727. Thanks @OiYouYeahYou!" ], "1.0.12-beta0": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521", "[Fixed] Preserve the selected pull request when a manual fetch is done - #3524", "[Fixed] Update pull request badge after switching branches or pull requests - #3454", "[Fixed] Restore keyboard arrow navigation for pull request list - #3499" ], "1.0.11": [ "[New] Highlight substring matches in the \"Branches\" and \"Repositories\" list when filtering - #910. Thanks @JordanMussi!", "[New] Add preview for ico files - #3531. Thanks @serhiivinichuk!", "[New] Fallback to Gravatar for loading avatars - #821", "[New] Provide syntax highlighting for Visual Studio project files - #3552. Thanks @saul!", "[New] Provide syntax highlighting for F# fsx and fsi files - #3544. Thanks @saul!", "[New] Provide syntax highlighting for Kotlin files - #3555. Thanks @ziggy42!", "[New] Provide syntax highlighting for Clojure - #3523. Thanks @mtkp!", "[Improved] Toggle the \"Repository List\" from the menu - #2638. Thanks @JordanMussi!", "[Improved] Prevent saving of disallowed character strings for your name and email - #3204", "[Improved] Error messages now appear at the top of the \"Create a New Repository\" dialog - #3571. Thanks @http-request!", "[Improved] \"Repository List\" header is now \"Github.com\" for consistency - #3567. Thanks @iFun!", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] Fix ordering of commit history when your branch and tracking branch have both changed - #2737", "[Fixed] Prevent creating a branch that starts with a period - #3013. Thanks @JordanMussi!", "[Fixed] Branch names are properly encoded when creating a pull request - #3509", "[Fixed] Re-enable all the menu items after closing a popup - #3533", "[Fixed] Removes option to delete remote branch after it's been deleted - #2964. Thanks @JordanMussi!", "[Fixed] Windows: Detects available editors and shells now works even when the group policy blocks write registry access - #3105 #3405", "[Fixed] Windows: Menu items are no longer truncated - #3547", "[Fixed] Windows: Prevent disabled menu items from being accessed - #3391 #1521" ], "1.0.11-test0": [ "[Improved] now with a new major version of electron-packager" ], "1.0.11-beta0": [ "[Improved] Refresh the pull requests list after fetching - #3503", "[Improved] Rename the \"Install Update\" button to \"Quit and Install Update\" - #3494. Thanks @say25!", "[Fixed] URL encode branch names when creating a pull request - #3509", "[Fixed] Windows: detecting available editors and shells now works even when the group policy blocks write registry access - #3105 #3405" ], "1.0.10": [ "[New] ColdFusion Builder is now a supported external editor - #3336 #3321. Thanks @AtomicCons!", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell on Windows too - #3455. Thanks @JordanMussi!", "[New] Swift is now syntax highlighted - #3305. Thanks @agisilaos!", "[New] Vue.js is now syntax highlighted - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted - #3356. Thanks @agisilaos!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[New] Objective-C is now syntax highlighted - #3355. Thanks @koenpunt!", "[New] SQL is now syntax highlighted - #3389. Thanks @say25!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta3": [ "[New] Change \"Create Pull Request\" to \"Show Pull Request\" when there is already a pull request open for the branch - #2524", "[New] VSCode Insiders build is now a supported external editor - #3441. Thanks @say25!", "[New] BBEdit is now a supported external editor - #3467. Thanks @NiklasBr!", "[New] Hyper is now a supported shell - #3455. Thanks @JordanMussi!", "[New] Cypher is now syntax highlighted - #3440. Thanks @say25!", "[New] .hpp is now syntax highlighted as C++ - #3420. Thanks @say25!", "[New] ML-like languages are now syntax highlighted - #3401. Thanks @say25!", "[Improved] Use the same colors in pull request dropdown as we use on GitHub.com - #3451", "[Improved] Fancy pull request loading animations - #2868", "[Improved] Avoid excessive background fetching when switching repositories - #3329", "[Improved] Refresh the pull request list when the Push/Pull/Fetch button is clicked - #3448", "[Improved] Ignore menu events sent when a modal is shown - #3308", "[Fixed] Hitting Return would select the first item in a filter list when the filter text was empty - #3447", "[Fixed] Add some missing keyboard shortcuts - #3327. Thanks @say25!", "[Fixed] Handle \"304 Not Modified\" responses - #3399", "[Fixed] Don't overwrite an existing .gitattributes when creating a new repository - #3419. Thanks @strafe!" ], "1.0.10-beta2": [ "[New] SQL is now syntax highlighted! - #3389. Thanks @say25!", "[Fixed] Windows: Detect VS Code when installed to non-standard locations - #3304" ], "1.0.10-beta1": [ "[New] Vue.js code is now syntax highlighted! - #3368. Thanks @wanecek!", "[New] CoffeeScript is now syntax highlighted! - #3356. Thanks @agisilaos!", "[New] Highlight .m as Objective-C - #3355. Thanks @koenpunt!", "[Improved] Use smarter middle truncation for branch names - #3357", "[Fixed] Windows: Removed the title attribute on the Windows buttons so that they no longer leave their tooltips hanging around - #3348. Thanks @j-f1!" ], "1.0.10-beta0": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta1": [ "[New] ColdFusion Builder is now available as an option for External Editor - #3336 #3321. Thanks @AtomicCons!", "[New] Swift code is now syntax highlighted - #3305. Thanks @agisilaos!", "[Improved] Better message on the 'Publish Branch' button when HEAD is unborn - #3344. Thanks @Venkat5694!", "[Improved] Better error message when trying to push to an archived repository - #3084. Thanks @agisilaos!", "[Fixed] Parse changed files whose paths include a newline - #3271", "[Fixed] Parse file type changes - #3334", "[Fixed] Windows: 'Open without Git' would present the dialog again instead of actually opening a shell without git - #3290", "[Fixed] Avoid text selection when dragging resizable dividers - #3268" ], "1.0.9-beta0": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8": [ "[Fixed] Crash when rendering diffs for certain types of files - #3249", "[Fixed] Continually being prompted to add the upstream remote, even when it already exists - #3252" ], "1.0.8-beta0": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7": [ "[New] Syntax highlighted diffs - #3101", "[New] Add upstream to forked repositories - #2364", "[Fixed] Only reset scale of title bar on macOS - #3193", "[Fixed] Filter symbolic refs in the branch list - #3196", "[Fixed] Address path issue with invoking Git Bash - #3186", "[Fixed] Update embedded Git to support repository hooks and better error messages - #3067 #3079", "[Fixed] Provide credentials to LFS repositories when performing checkout - #3167", "[Fixed] Assorted changelog typos - #3174 #3184 #3207. Thanks @strafe, @alanaasmaa and @jt2k!" ], "1.0.7-beta0": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.6": [ "[Fixed] The Branches list wouldn't display the branches for non-GitHub repositories - #3169", "[Fixed] Pushing or pulling could error when the temp directory was unavailable - #3046" ], "1.0.5": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!", "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-beta1": [ "[New] Create new branches from the Branches foldout - #2784", "[New] Add support for VSCode Insiders - #3012 #3062. Thanks @MSathieu!", "[New] Linux: Add Atom and Sublime Text support - #3133. Thanks @ziggy42!", "[New] Linux: Tilix support - #3117. Thanks @ziggy42!", "[New] Linux: Add Visual Studio Code support - #3122. Thanks @ziggy42!", "[Improved] Report errors when a problem occurs storing tokens - #3159", "[Improved] Bump to Git 2.14.3 - #3146", "[Improved] Don't try to display diffs that could cause the app to hang - #2596", "[Fixed] Handle local user accounts with URL-hostile characters - #3107", "[Fixed] Cloning a repository which uses Git LFS would leave all the files appearing modified - #3146", "[Fixed] Signing in in the Welcome flow could hang - #2769", "[Fixed] Properly replace old Git LFS configuration values - #2984" ], "1.0.5-test1": [], "1.0.5-test0": [], "1.0.5-beta0": [ "[New] The command line interface now provides some helpful help! - #2372. Thanks @j-f1!" ], "1.0.4": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917" ], "1.0.4-beta1": [ "[New] Report Git LFS progress when cloning, pushing, pulling, or reverting - #2226", "[Improved] Increased diff contrast and and line gutter selection - #2586 #2181", "[Improved] Clarify why publishing a branch is disabled in various scenarios - #2773", "[Improved] Improved error message when installing the command Line tool fails - #2979. Thanks @agisilaos!", "[Improved] Format the branch name in \"Create Branch\" like we format branch names elsewhere - #2977. Thanks @j-f1!", "[Fixed] Avatars not updating after signing in - #2911", "[Fixed] Lots of bugs if there was a file named \"HEAD\" in the repository - #3009 #2721 #2938", "[Fixed] Handle duplicate config values when saving user.name and user.email - #2945", "[Fixed] The \"Create without pushing\" button when creating a new pull request wouldn't actually do anything - #2917 #2917" ], "1.0.4-beta0": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.3": [ "[Improved] Increase the contrast of the modified file status octicons - #2914", "[Fixed] Showing changed files in Finder/Explorer would open the file - #2909", "[Fixed] macOS: Fix app icon on High Sierra - #2915", "[Fixed] Cloning an empty repository would fail - #2897 #2906", "[Fixed] Catch logging exceptions - #2910" ], "1.0.2": [ "[Improved] Better message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta1": [ "[Improved] Clone error message now suggests networking might be involved - #2872. Thanks @agisilaos!", "[Improved] Include push/pull progress information in the push/pull button tooltip - #2879", "[Improved] Allow publishing a brand new, empty repository - #2773", "[Improved] Make file paths in lists selectable - #2801. Thanks @artivilla!", "[Fixed] Use the initial path provided when creating a new repository - #2883", "[Fixed] Windows: Avoid long path limits when discarding changes - #2833", "[Fixed] Files would get deleted when undoing the first commit - #2764", "[Fixed] Find the repository root before adding it - #2832", "[Fixed] Display warning about an existing folder before cloning - #2777 #2830", "[Fixed] Show contents of directory when showing a repository from Show in Explorer/Finder instead of showing the parent - #2798" ], "1.0.2-beta0": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1": [ "[Improved] Message for GitHub Enterprise users when there is a network error - #2574. Thanks @agisilaos!", "[Fixed] Disable LFS hook creation when cloning - #2809", "[Fixed] Use the new URL for the \"Show User Guides\" menu item - #2792. Thanks @db6edr!", "[Fixed] Make the SHA selectable when viewing commit details - #1154", "[Fixed] Windows: Make `github` CLI work in Git Bash - #2712" ], "1.0.1-beta0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0": [ "[Fixed] Use the loading/disabled state while publishing - #1995", "[Fixed] Lock down menu item states for unborn repositories - #2744 #2573", "[Fixed] Windows: Detecting the available shells and editors when using a language other than English - #2735" ], "1.0.0-beta3": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.1": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "1.0.0-beta2": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.9.0": [ "[New] Allow users to create repositories with descriptions - #2719. Thanks @davidcelis!", "[New] Use `lfs clone` for faster cloning of LFS repositories - #2679", "[Improved] Prompt to override existing LFS filters - #2693", "[Fixed] Don't install LFS hooks when checking if a repo uses LFS - #2732", "[Fixed] Ensure nothing is staged as part of undoing the first commit - #2656", "[Fixed] \"Clone with Desktop\" wouldn't include the repository name in the path - #2704" ], "0.8.2": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[New] Option to opt-out of confirming discarding changes - #2681", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta1": [ "[New] Option to to opt-out of confirming discarding changes - #2681", "[Fixed] Windows: Don't rely on PATH for knowing where to find chcp - #2678", "[Fixed] Relocating a repository now actually does that - #2685", "[Fixed] Clicking autocompletes inserts them - #2674", "[Fixed] Use shift for shortcut chord instead of alt - #2607", "[Fixed] macOS: \"Open in Terminal\" works with repositories with spaces in their path - #2682" ], "1.0.0-beta0": [ "[New] Ask to install LFS filters when an LFS repository is added - #2227", "[New] Clone GitHub repositories tab - #57", "[Fixed] Long commit summary truncation - #1742", "[Fixed] Ensure the repository list is always enabled - #2648", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Clicking the \"Cancel\" button on the Publish Branch dialog - #2646" ], "0.8.1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488", "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502", "[Fixed] Windows: Detecting the available shells and editors when using a non-ASCII user encoding - #2624", "[Fixed] Ensure the repository list is always accessible - #2648" ], "0.8.1-beta4": [ "[Improved] Persist repository filter text after closing repository list - #2571", "[Improved] Redesigned example commit in the Welcome flow - #2141", "[Improved] Tidy up initial \"external editor\" experience - #2551", "[Fixed] Missing \"View on GitHub\" menu item for non-Gitub repositories - #2615", "[Fixed] New tab opened when pressing \"]\" for certain keyboard layouts - #2607", "[Fixed] Windows: Crash when exiting full screen - #1502" ], "0.8.1-beta3": [ "[New] Windows: Enable adding self-signed certificates - #2581", "[Improved] Adds ability to close repository list using shortcut - #2532", "[Improved] Switch default buttons in the Publish Branch dialog - #2515", "[Improved] Bring back \"Contact Support\" - #1472", "[Fixed] Properly identify repositories whose remotes have a trailing slash - #2584", "[Fixed] Windows: Fix launching the `github` command line tool - #2563", "[Fixed] Use the primary email address if it's public - #2244", "[Fixed] Local branch not checked out after clone - #2561", "[Fixed] Only the most recent 30 issues would autocomplete for GitHub Enterprise repositories - #2541" ], "0.8.1-beta2": [ "[Fixed] Branch list not rendered in app - #2531", "[Fixed] Git operations checking certificate store - #2520" ], "0.8.1-beta1": [ "[New] 'Open in Shell' now supports multiple shells - #2473", "[Improved] Enhanced image diffs - #2383", "[Improved] Line diffs - #2461", "[Improved] Octicons updated - #2495", "[Fixed] 'Include All' checkbox not in sync with partial selection - #2493", "[Fixed] Copied text from diff removed valid characters - #2499", "[Fixed] Click-focus on Windows would dismiss dialog - #2488" ], "0.8.1-beta0": [], "0.8.0": [ "[New] Added commit context menu - #2434", "[New] Added 'Open in External Editor' - #2009", "[New] Can choose whether a branch should be deleted on the remote as well as locally - #2136", "[New] Support authenticating with non-GitHub servers - #852", "[New] Added the ability to revert a commit - #752", "[New] Added a keyboard shortcut for opening the repository in the shell - #2138", "[Improved] Copied diff text no longer includes the line changetype markers - #1499", "[Improved] Fetch if a push fails because they need to pull first - #2431", "[Improved] Discard changes performance - #1889", "[Fixed] Show 'Add Repository' dialog when repository is dragged onto the app - #2442", "[Fixed] Dialog component did not remove event handler - #2469", "[Fixed] Open in External Editor context menu - #2475", "[Fixed] Update to Git 2.14.1 to fix security vulnerability - #2432", "[Fixed] Recent branches disappearing after renaming a branch - #2426", "[Fixed] Changing the default branch on GitHub.com is now reflected in the app - #1489", "[Fixed] Swap around some callouts for no repositories - #2447", "[Fixed] Darker unfocused selection color - #1669", "[Fixed] Increase the max sidebar width - #1588", "[Fixed] Don't say \"Publish this branch to GitHub\" for non-GitHub repositories - #1498", "[Fixed] macOS: Protocol schemes not getting registered - #2429", "[Fixed] Patches which contain the \"no newline\" marker would fail to apply - #2123", "[Fixed] Close the autocompletion popover when it loses focus - #2358", "[Fixed] Clear the selected org when switching Publish Repository tabs - #2386", "[Fixed] 'Create Without Pushing' button throwing an exception while opening a pull request - #2368", "[Fixed] Windows: Don't removing the running app out from under itself when there are updates pending - #2373", "[Fixed] Windows: Respect `core.autocrlf` and `core.safeclrf` when modifying the .gitignore - #1535", "[Fixed] Windows: Fix opening the app from the command line - #2396" ], "0.7.3-beta5": [], "0.7.3-beta4": [], "0.7.3-beta3": [], "0.7.3-beta2": [], "0.7.3-beta1": [], "0.7.3-beta0": [], "0.7.2": ["[Fixed] Issues with auto-updating to 0.7.1."], "0.7.2-beta0": [], "0.7.1": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Improved] Version text is now copiable - #1935", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta5": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Improved] Create Pull Request dialog shows more feedback while it's working - #2265", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299", "[Fixed] Help menu items now work - #2314", "[Fixed] Windows: `github` command line tool not installing after updating - #2312", "[Fixed] Caret position jumping around while changing the path for adding a local repository - #2222", "[Fixed] Error dialogs being closed too easily - #2211", "[Fixed] Windows: Non-ASCII credentials were mangled - #189" ], "0.7.1-beta4": [], "0.7.1-beta3": [], "0.7.1-beta2": [], "0.7.1-beta1": [], "0.7.1-beta0": [ "[Improved] Redesigned error and warning dialogs to be clearer - #2277", "[Fixed] Preserve existing GitHub API information when API requests fail - #2282", "[Fixed] Pass through error messages as received from the API - #2279", "[Fixed] The Pull and Create Pull Request menu items had the same shortcut - #2274", "[Fixed] Launching the `github` command line tool from a Fish shell - #2299" ], "0.7.0": [ "[New] Added the Branch > Create Pull Request menu item - #2135", "[New] Added the `github` command line tool - #696", "[Improved] Better error message when publishing a repository fails - #2089", "[Improved] Windows: Don't recreate the desktop shortcut if it's been deleted - #1759", "[Fixed] Cloning a repository's wiki - #1624", "[Fixed] Don't call GitHub Enterprise GitHub.com - #2094", "[Fixed] Don't push after publishing a new repository if the branch is unborn - #2086", "[Fixed] Don't close dialogs when clicking the title bar - #2056", "[Fixed] Windows: Clicking 'Show in Explorer' doesn't bring Explorer to the front - #2127", "[Fixed] Windows: Opening links doesn't bring the browser to the front - #1945", "[Fixed] macOS: Closing the window wouldn't exit fullscreen - #1901", "[Fixed] Scale blankslate images so they look nicer on high resolution displays - #1946", "[Fixed] Windows: Installer not completing or getting stuck in a loop - #1875 #1863", "[Fixed] Move the 'Forgot Password' link to fix the tab order of the sign in view - #2200" ], "0.6.3-beta7": [], "0.6.3-beta6": [], "0.6.3-beta5": [], "0.6.3-beta4": [], "0.6.3-beta3": [], "0.6.3-beta2": [], "0.6.3-beta1": [], "0.6.3-beta0": [], "0.6.2": [ "[New] Link to User Guides from the Help menu - #1963", "[New] Added the 'Open in External Editor' contextual menu item to changed files - #2023", "[New] Added the 'Show' and 'Open Command Prompt' contextual menu items to repositories - #1554", "[New] Windows: Support self-signed or untrusted certificates - #671", "[New] Copy the SHA to the clipboard when clicked - #1501", "[Improved] Provide the option of initializing a new repository when adding a directory that isn't already one - #969", "[Improved] Link to the working directory when there are no changes - #1871", "[Improved] Hitting Enter when selecting a base branch creates the new branch - #1780", "[Improved] Prefix repository names with their owner if they are ambiguous - #1848", "[Fixed] Sort and filter licenses like GitHub.com - #1987", "[Fixed] Long branch names not getting truncated in the Rename Branch dialog - #1891", "[Fixed] Prune old log files - #1540", "[Fixed] Ensure the local path is valid before trying to create a new repository - #1487", "[Fixed] Support cloning repository wikis - #1624", "[Fixed] Disable the Select All checkbox when there are no changes - #1389", "[Fixed] Changed docx files wouldn't show anything in the diff panel - #1990", "[Fixed] Disable the Merge button when there are no commits to merge - #1359", "[Fixed] Username/password authentication not working for GitHub Enterprise - #2064", "[Fixed] Better error messages when an API call fails - #2017", "[Fixed] Create the 'logs' directory if it doesn't exist - #1550", "[Fixed] Enable the 'Remove' menu item for missing repositories - #1776" ], "0.6.1": [ "[Fixed] Properly log stats opt in/out - #1949", "[Fixed] Source maps for exceptions in the main process - #1957", "[Fixed] Styling of the exception dialog - #1956", "[Fixed] Handle ambiguous references - #1947", "[Fixed] Handle non-ASCII text in diffs - #1970", "[Fixed] Uncaught exception when hitting the arrow keys after showing autocompletions - #1971", "[Fixed] Clear the organizations list when publishing a new repository and switching between tabs - #1969", "[Fixed] Push properly when a tracking branch has a different name from the local branch - #1967", "[Improved] Warn when line endings will change - #1906" ], "0.6.0": [ "[Fixed] Issue autocompletion not working for older issues - #1814", "[Fixed] GitHub repository association not working for repositories with some remote URL formats - #1826 #1679", "[Fixed] Don't try to delete a remote branch that no longer exists - #1829", "[Fixed] Tokens created by development builds would be used in production builds but wouldn't work - #1727", "[Fixed] Submodules can now be added - #708", "[Fixed] Properly handle the case where a file is added to the index but removed from the working tree - #1310", "[Fixed] Use a local image for the default avatar - #1621", "[Fixed] Make the file path in diffs selectable - #1768", "[Improved] More logging! - #1823", "[Improved] Better error message when trying to add something that's not a repository - #1747", "[Improved] Copy the shell environment into the app's environment - #1796", "[Improved] Updated to Git 2.13.0 - #1897", "[Improved] Add 'Reveal' to the contextual menu for changed files - #1566", "[Improved] Better handling of large diffs - #1818 #1524", "[Improved] App launch time - #1900" ], "0.5.9": [ "[New] Added Zoom In and Zoom Out - #1217", "[Fixed] Various errors when on an unborn branch - #1450", "[Fixed] Disable push/pull menu items when there is no remote - #1448", "[Fixed] Better error message when the GitHub Enterprise version is too old - #1628", "[Fixed] Error parsing non-JSON responses - #1505 #1522", "[Fixed] Updated the 'Install Git' help documentation link - #1797", "[Fixed] Disable menu items while in the Welcome flow - #1529", "[Fixed] Windows: Fall back to HOME if Document cannot be found - #1825", "[Improved] Close the window when an exception occurs - #1562", "[Improved] Always use merge when pulling - #1627", "[Improved] Move the 'New Branch' menu item into the Branch menu - #1757", "[Improved] Remove Repository's default button is now Cancel - #1751", "[Improved] Only fetch the default remote - #1435", "[Improved] Faster commits with many files - #1405", "[Improved] Measure startup time more reliably - #1798", "[Improved] Prefer the GitHub repository name instead of the name on disk - #664" ], "0.5.8": [ "[Fixed] Switching tabs in Preferences/Settings or Repository Settings would close the dialog - #1724", "[Improved] Standardized colors which improves contrast and readability - #1713" ], "0.5.7": [ "[Fixed] Windows: Handle protocol events which launch the app - #1582", "[Fixed] Opting out of stats reporting in the Welcome flow - #1698", "[Fixed] Commit description text being too light - #1695", "[Fixed] Exception on startup if the app was activated too quickly - #1564", "[Improved] Default directory for cloning now - #1663", "[Improved] Accessibility support - #1289", "[Improved] Lovely blank slate illustrations - #1708" ], "0.5.6": [ "[Fixed] macOS: The buttons in the Untrusted Server dialog not doing anything - #1622", "[Fixed] Better warning in Rename Branch when the branch will be created with a different name than was entered - #1480", "[Fixed] Provide a tooltip for commit summaries in the History list - #1483", "[Fixed] Prevent the Update Available banner from getting squished - #1632", "[Fixed] Title bar not responding to double-clicks - #1590 #1655", "[Improved] Discard All Changes is now accessible by right-clicking the file column header - #1635" ], "0.5.5": [ "[Fixed] Save the default path after creating a new repository - #1486", "[Fixed] Only let the user launch the browser once for the OAuth flow - #1427", "[Fixed] Don't linkify invalid URLs - #1456", "[Fixed] Excessive padding in the Merge Branch dialog - #1577", "[Fixed] Octicon pixel alignment issues - #1584", "[Fixed] Windows: Invoking some menu items would break the window's snapped state - #1603", "[Fixed] macOS: Errors authenticating while pushing - #1514", "[Fixed] Don't linkify links in the History list or in Undo - #1548 #1608 #1474", "[Fixed] Diffs not working when certain git config values were set - #1559" ], "0.5.4": [ "[Fixed] The release notes URL pointed to the wrong page - #1503", "[Fixed] Only create the `logs` directory if it doesn't already exist - #1510", "[Fixed] Uncaught exception creating a new repository if you aren't a member of any orgs - #1507", "[Fixed] Only report the first uncaught exception - #1517", "[Fixed] Include the name of the default branch in the New Branch dialog - #1449", "[Fixed] Uncaught exception if a network error occurred while loading user email addresses - #1522 #1508", "[Fixed] Uncaught exception while performing a contextual menu action - #1532", "[Improved] Move all error logging to the main process - #1473", "[Improved] Stats reporting reliability - #1561" ], "0.5.3": [ "[Fixed] Display of large image diffs - #1494", "[Fixed] Discard Changes spacing - #1495" ], "0.5.2": [ "[Fixed] Display errors that happen while publishing a repository - #1396", "[Fixed] Menu items not updating - #1462", "[Fixed] Always select the first changed file - #1306", "[Fixed] macOS: Use Title Case consistently - #1477 #1481", "[Fixed] Create Branch padding - #1479", "[Fixed] Bottom padding in commit descriptions - #1345", "[Improved] Dialog polish - #1451", "[Improved] Store logs in a logs directory - #1370", "[Improved] New Welcome illustrations - #1471", "[Improved] Request confirmation before removing a repository - #1233", "[Improved] Windows icon polish - #1457" ], "0.5.1": [ "[New] Windows: A nice little gif while installing the app - #1440", "[Fixed] Disable pinch zoom - #1431", "[Fixed] Don't show carriage return indicators in diffs - #1444", "[Fixed] History wouldn't update after switching branches - #1446", "[Improved] Include more information in exception reports - #1429", "[Improved] Updated Terms and Conditions - #1438", "[Improved] Sub-pixel anti-aliasing in some lists - #1452", "[Improved] Windows: A new application identifier, less likely to collide with other apps - #1441" ], "0.5.0": [ "[Added] Menu item for showing the app logs - #1349", "[Fixed] Don't let the two-factor authentication dialog be submitted while it's empty - #1386", "[Fixed] Undo Commit showing the wrong commit - #1373", "[Fixed] Windows: Update the icon used for the installer - #1410", "[Fixed] Undoing the first commit - #1401", "[Fixed] A second window would be opened during the OAuth dance - #1382", "[Fixed] Don't include the comment from the default merge commit message - #1367", "[Fixed] Show progress while committing - #923", "[Fixed] Windows: Merge Branch sizing would be wrong on high DPI monitors - #1210", "[Fixed] Windows: Resize the app from the top left corner - #1424", "[Fixed] Changing the destination path for cloning a repository now appends the repository's name - #1408", "[Fixed] The blank slate view could be visible briefly when the app launched - #1398", "[Improved] Performance updating menu items - #1321", "[Improved] Windows: Dim the title bar when the app loses focus - #1189" ], "0.0.39": ["[Fixed] An uncaught exception when adding a user - #1394"], "0.0.38": [ "[New] Shiny new icon! - #1221", "[New] More helpful blank slate view - #871", "[Fixed] Don't allow Undo while pushing/pulling/fetching - #1047", "[Fixed] Updating the default branch on GitHub wouldn't be reflected in the app - #1028 #1314", "[Fixed] Long repository names would overflow their container - #1331", "[Fixed] Removed development menu items in production builds - #1031 #1251 #1323 #1340", "[Fixed] Create Branch no longer changes as it's animating closed - #1304", "[Fixed] Windows: Cut / Copy / Paste menu items not working - #1379", "[Improved] Show a better error message when the user tries to authenticate with a personal access token - #1313", "[Improved] Link to the repository New Issue page from the Help menu - #1349", "[Improved] Clone in Desktop opens the Clone dialog - #918" ], "0.0.37": [ "[Fixed] Better display of the 'no newline at end of file' indicator - #1253", "[Fixed] macOS: Destructive dialogs now use the expected button order - #1315", "[Fixed] Display of submodule paths - #785", "[Fixed] Incomplete stats submission - #1337", "[Improved] Redesigned welcome flow - #1254", "[Improved] App launch time - #1225", "[Improved] Handle uncaught exceptions - #1106" ], "0.0.36": [ "[Fixed] Bugs around associating an email address with a GitHub user - #975", "[Fixed] Use the correct reference name for an unborn branch - #1283", "[Fixed] Better diffs for renamed files - #980", "[Fixed] Typo in Create Branch - #1303", "[Fixed] Don't allow whitespace-only branch names - #1288", "[Improved] Focus ring polish - #1287", "[Improved] Less intrusive update notifications - #1136", "[Improved] Faster launch time on Windows - #1309", "[Improved] Faster git information refreshing - #1305", "[Improved] More consistent use of sentence case on Windows - #1316", "[Improved] Autocomplete polish - #1241" ], "0.0.35": [ "[New] Show push/pull/fetch progress - #1238", "[Fixed] macOS: Add the Zoom menu item - #1260", "[Fixed] macOS: Don't show the titlebar while full screened - #1247", "[Fixed] Windows: Updates would make the app unresponsive - #1269", "[Fixed] Windows: Keyboard navigation in menus - #1293", "[Fixed] Windows: Repositories list item not working - #1293", "[Fixed] Auto updater errors not being propagated properly - #1266", "[Fixed] Only show the current branch tooltip on the branches button - #1275", "[Fixed] Double path truncation - #1270", "[Fixed] Sometimes toggling a file's checkbox would get undone - #1248", "[Fixed] Uncaught exception when internet connectivity was lost - #1048", "[Fixed] Cloned repositories wouldn't be associated with their GitHub repository - #1285", "[Improved] Better performance on large repositories - #1281", "[Improved] Commit summary is now expandable when the summary is long - #519", "[Improved] The SHA in historical commits is now selectable - #1154", "[Improved] The Create Branch dialog was polished and refined - #1137" ], "0.0.34": [ "[New] macOS: Users can choose whether to accept untrusted certificates - #671", "[New] Windows: Users are prompted to install git when opening a shell if it is not installed - #813", "[New] Checkout progress is shown if branch switching takes a while - #1208", "[New] Commit summary and description are automatically populated for merge conflicts - #1228", "[Fixed] Cloning repositories while not signed in - #1163", "[Fixed] Merge commits are now created as merge commits - #1216", "[Fixed] Display of diffs with /r newline - #1234", "[Fixed] Windows: Maximized windows are no longer positioned slightly off screen - #1202", "[Fixed] JSON parse errors - #1243", "[Fixed] GitHub Enterprise repositories were not associated with the proper Enterprise repository - #1242", "[Fixed] Timestamps in the Branches list would wrap - #1255", "[Fixed] Merges created from pulling wouldn't use the right git author - #1262", "[Improved] Check for update errors are suppressed if they happen in the background - #1104, #1195", "[Improved] The shortcut to show the repositories list is now command or control-T - #1220", "[Improved] Command or control-W now closes open dialogs - #949", "[Improved] Less memory usage while parsing large diffs - #1235" ], "0.0.33": ["[Fixed] Update Now wouldn't update now - #1209"], "0.0.32": [ "[New] You can now disable stats reporting from Preferences > Advanced - #1120", "[New] Acknowledgements are now available from About - #810", "[New] Open pull requests from dot com in the app - #808", "[Fixed] Don't show background fetch errors - #875", "[Fixed] No more surprise and delight - #620", "[Fixed] Can't discard renamed files - #1177", "[Fixed] Logging out of one account would log out of all accounts - #1192", "[Fixed] Renamed files truncation - #695", "[Fixed] Git on Windows now integrates with the system certificate store - #706", "[Fixed] Cloning with an account/repoository shortcut would always fail - #1150", "[Fixed] OS version reporting - #1130", "[Fixed] Publish a new repository would always fail - #1046", "[Fixed] Authentication would fail for the first repository after logging in - #1118", "[Fixed] Don't flood the user with errors if a repository disappears on disk - #1132", "[Improved] The Merge dialog uses the Branches list instead of a drop down menu - #749", "[Improved] Lots of design polish - #1188, #1183, #1170, #1184, #1181, #1179, #1142, #1125" ], "0.0.31": [ "[New] Prompt user to login when authentication error occurs - #903", "[New] Windows application has a new app menu, replaces previous hamburger menu - #991", "[New] Refreshed colours to align with GitHub website scheme - #1077", "[New] Custom about dialog on all platforms - #1102", "[Fixed] Improved error handling when probing for a GitHub Enterprise server - #1026", "[Fixed] User can cancel 2FA flow - #1057", "[Fixed] Tidy up current set of menu items - #1063", "[Fixed] Manually focus the window when a URL action has been received - #1072", "[Fixed] Disable middle-click event to prevent new windows being launched - #1074", "[Fixed] Pre-fill the account name in the Welcome wizard, not login - #1078", "[Fixed] Diffs wouldn't work if an external diff program was configured - #1123", "[Improved] Lots of design polish work - #1113, #1099, #1094, #1077" ], "0.0.30": [ "[Fixed] Crash when invoking menu item due to incorrect method signature - #1041" ], "0.0.29": [ "[New] Commit summary and description fields now display issues and mentions as links for GitHub repositories - #941", "[New] Show placeholder when the repository cannot be found on disk - #946", "[New] New Repository actions moved out of popover and into new menu - #1018", "[Fixed] Display a helpful error message when an unverified user signs into GitHub Desktop - #1010", "[Fixed] Fix kerning issue when access keys displayed - #1033", "[Fixed] Protected branches show a descriptive error when the push is rejected - #1036", "[Fixed] 'Open in shell' on Windows opens to repository location - #1037" ], "0.0.28": ["[Fixed] Bumping release notes to test deployments again"], "0.0.27": [ "[Fixed] 2FA dialog when authenticating has information for SMS authentication - #1009", "[Fixed] Autocomplete for users handles accounts containing `-` - #1008" ], "0.0.26": [ "[Fixed] Address deployment issue by properly documenting release notes" ], "0.0.25": [ "[Added] Autocomplete displays user matches - #942", "[Fixed] Handle Enter key in repository and branch list when no matches exist - #995", "[Fixed] 'Add Repository' button displays in dropdown when repository list empty - #984", "[Fixed] Correct icon displayed for non-GitHub repository - #964 #955", "[Fixed] Enter key when inside dialog submits form - #956", "[Fixed] Updated URL handler entry on macOS - #945", "[Fixed] Commit button is disabled while commit in progress - #940", "[Fixed] Handle index state change when gitginore change is discarded - #935", "[Fixed] 'Create New Branch' view squashes branch list when expanded - #927", "[Fixed] Application creates repository path if it doesn't exist on disk - #925", "[Improved] Preferences sign-in flow updated to standalone dialogs - #961" ], "0.0.24": ["Changed a thing", "Added another thing"] } }
tidalcycles / Tidal VisTidal is a domain specific language for live coding pattern. This package allows colour patterns to be rendered as PDF or SVG files.
Niekvdm / Godot Plugins GtmlGTML - Godot Text Markup Language Build Godot 4 UI using HTML and CSS. Write menus, HUDs, and panels with familiar web syntax instead of the scene editor. Supports flexbox, gradients, hover states, inline SVG, form inputs, and live reload. Free and open source.
Hannstcott / SunshineTr#EXTM3U url-tvg="http://onetv.click/schedule/epg.xml" #EXTINF:-1 tvg-id="kcinehd" group-title="🍭| K+" tvg-logo="https://img.kplus.vn/media/channels/sg/channelicons/KCINE.png", K+CINE HD #KODIPROP:inputstream.adaptive.manifest_type=mpd #KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha #KODIPROP:inputstream.adaptive.license_key=https://kplus.live.ott.irdeto.com/Widevine/GetLicense?CrmId=kplus&AccountId=kplus&ContentId=400000015&SessionId=14C0F1BB9A14154D&Ticket=F75ECCDF30FDD78A|Accept-Language=vi&Content-Type=application%2Foctet-stream&Host=kplus.live.ott.irdeto.com&Origin=https%3A%2F%2Fxem.kplus.vn&User-Agent=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F92.0.4515.159+Safari%2F537.36|R{{SSM}} https://ottlivevng.kplus.vn/live/prod_kplus_1_hd_fps/prod_kplus_1_hd_fps.isml/prod_kplus_1_hd_fps.mpd #EXTINF:-1 tvg-id="klifehd" group-title="🍭| K+" tvg-logo="https://img.kplus.vn/media/channels/sg/channelicons/KLIFE.png", K+LIFE HD #KODIPROP:inputstream.adaptive.manifest_type=mpd #KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha #KODIPROP:inputstream.adaptive.license_key=https://kplus.live.ott.irdeto.com/Widevine/GetLicense?CrmId=kplus&AccountId=kplus&ContentId=400000016&SessionId=14C0F1BB9A14154D&Ticket=F75ECCDF30FDD78A|Accept-Language=vi&Content-Type=application%2Foctet-stream&Host=kplus.live.ott.irdeto.com&Origin=https%3A%2F%2Fxem.kplus.vn&User-Agent=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F92.0.4515.159+Safari%2F537.36|R{{SSM}} https://ottlivevng.kplus.vn/live/prod_kplus_ns_hd_fps/prod_kplus_ns_hd_fps.isml/prod_kplus_ns_hd_fps.mpd #EXTINF:-1 tvg-id="ksport1hd" group-title="🍭| K+" tvg-logo="https://img.kplus.vn/media/channels/sg/channelicons/KSPORT1.png", K+SPORT1 HD #KODIPROP:inputstream.adaptive.manifest_type=mpd #KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha #KODIPROP:inputstream.adaptive.license_key=https://kplus.live.ott.irdeto.com/Widevine/GetLicense?CrmId=kplus&AccountId=kplus&ContentId=400000017&SessionId=14C0F1BB9A14154D&Ticket=F75ECCDF30FDD78A|Accept-Language=vi&Content-Type=application%2Foctet-stream&Host=kplus.live.ott.irdeto.com&Origin=https%3A%2F%2Fxem.kplus.vn&User-Agent=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F92.0.4515.159+Safari%2F537.36|R{{SSM}} https://ottlivevng.kplus.vn/live/prod_kplus_pm_hd_fps/prod_kplus_pm_hd_fps.isml/prod_kplus_pm_hd_fps.mpd #EXTINF:-1 tvg-id="ksport2hd" group-title="🍭| K+" tvg-logo="https://img.kplus.vn/media/channels/sg/channelicons/KSPORT2.png", K+SPORT2 HD #KODIPROP:inputstream.adaptive.manifest_type=mpd #KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha #KODIPROP:inputstream.adaptive.license_key=https://kplus.live.ott.irdeto.com/Widevine/GetLicense?CrmId=kplus&AccountId=kplus&ContentId=400000018&SessionId=B3A30136DB4CCE5E&Ticket=8B2100CB60332994|Accept-Language=vi&Content-Type=application%2Foctet-stream&Host=kplus.live.ott.irdeto.com&Origin=https%3A%2F%2Fxem.kplus.vn&User-Agent=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F92.0.4515.159+Safari%2F537.36|R{{SSM}} https://ottlivevng.kplus.vn/live/prod_kplus_pc_hd_fps/prod_kplus_pc_hd_fps.isml/prod_kplus_pc_hd_fps.mpd #EXTINF:-1 tvg-id="kkidshd" group-title="🍭| K+" tvg-logo="https://img.kplus.vn/media/channels/sg/channelicons/KKIDS.png", K+KIDS HD #KODIPROP:inputstream.adaptive.manifest_type=mpd #KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha #KODIPROP:inputstream.adaptive.license_key=https://kplus.live.ott.irdeto.com/Widevine/GetLicense?CrmId=kplus&AccountId=kplus&SessionId=B3A30136DB4CCE5E&Ticket=8B2100CB60332994|Accept-Language=vi&Content-Type=application%2Foctet-stream&Host=kplus.live.ott.irdeto.com&Origin=https%3A%2F%2Fxem.kplus.vn&User-Agent=Mozilla%2F5.0+%28Windows+NT+10.0%3B+Win64%3B+x64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F92.0.4515.159+Safari%2F537.36|R{{SSM}} https://ottlivevng.kplus.vn/live/prod_kplus_kids_hd_fps/prod_kplus_kids_hd_fps.isml/prod_kplus_kids_hd_fps.mpd # VTV # #EXTM3U #EXTINF:0 tvg-id="vtv1hd" group-title="VTV ¹⁰⁸⁰" tvg-logo=https://i.pinimg.com/originals/cb/e2/7a/cbe27aaa234aa19ec8693b298b5718c6.png",VTV1 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv01/vtv01@1080p.m3u8 #EXTINF:0 tvg-id="vtv2hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://i.pinimg.com/originals/b6/01/e4/b601e4afaf3c5de11b93e6da11563f3b.png",VTV2 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv02/vtv02@1080p.m3u8 #EXTINF:0 tvg-id="vtv3hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://i.pinimg.com/originals/5a/46/e5/5a46e565ad086932e8afd4ac9393d60f.png",VTV3 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv03/vtv03@1080p.m3u8 #EXTINF:0 tvg-id="vtv4hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv4.png?1544944575",VTV4 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv04/vtv04@1080p.m3u8 #EXTINF:0 tvg-id="vtv5hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv5.png?1544944635",VTV5 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv05/vtv05@1080p.m3u8 #EXTINF:0 tvg-id="vtv5hdtnb" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv5-tay-nam-bo.png?1573875815",VTV5.TNB ⁷²⁰ᵖ https://mutixx5hq1liv.akamaized.net/vtv5tnb/vtv5tnb@720p.m3u8 #EXTINF:0 tvg-id="vtv5hdtn" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/vtv5-tay-nguyen.png?1571455201",VTV5.TN ⁷²⁰ᵖ https://mutixx5hq1liv.akamaized.net/vtv5tn/vtv5tn@720p.m3u8 #EXTINF:0 tvg-id="vtv6hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://i.pinimg.com/originals/65/f9/79/65f979c7a1e6c1c054c8edd152fe1216.png",VTV6 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv06/vtv06@1080p.m3u8 #EXTINF:0 tvg-id="vtv7hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv7.png",VTV7 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv07/vtv07@1080p.m3u8 #EXTINF:0 tvg-id="vtv8hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv8.png?1544945092",VTV8 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv08/vtv08@1080p.m3u8 #EXTINF:0 tvg-id="vtv9hd" group-title="VTV ¹⁰⁸⁰" tvg-logo="https://lichtruyenhinhtv.com/uploads/lich-phat-song-vtv9.png",VTV9 ¹⁰⁸⁰ᵖ http://drfamaga5qliv.vcdn.cloud/vtv09/vtv09@1080p.m3u8 #------------------------------------------------------------------------------------------------------------------------------------------------------------# # VTC # #EXTINF:0 tvg-id="vtc1hd" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/vtc/images/b/ba/VTC1_logo.png/revision/latest?cb=20200808151331&path-prefix=vi" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc1_1500.stream/chunks_dvr_range-${start}-10800.m3u8",VTC1 https://vips-livecdn.fptplay.net/hda1/vtc1_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="vtc2" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/3/34/VTC2_logo_2018.svg/1200px-VTC2_logo_2018.svg.png" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc2_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC2 #https://vtc130121.cdn.vnns.io/VTC2/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc2_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc3hd" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logos/images/e/e5/VTC3.png/revision/latest/scale-to-width-down/340?cb=20201207142820&path-prefix=vi" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc3_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC3 https://vips-livecdn.fptplay.net/hda1/vtc3hd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="vtc4hd" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/dd/VTC4_2018-2020.png/revision/latest/scale-to-width-down/340?cb=20201212065736&path-prefix=vi" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc4_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC4 https://vips-livecdn.fptplay.net/hda2/vtc4_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="vtc5hd" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/0/0e/VTC5_2018.png/revision/latest/scale-to-width-down/340?cb=20200821143114" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc5_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC5 #https://vtc130121.cdn.vnns.io/VTC5/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc5_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc6hd" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/VTC6_logo_2018.svg/1024px-VTC6_logo_2018.svg.png" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc6_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC6 #https://vtc130121.cdn.vnns.io/VTC6/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc6_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc7hd" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc7_1000.stream/chunks_dvr_range-${start}-10800.m3u8" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logos/images/4/4c/VTC7_logo.png/revision/latest/scale-to-width-down/340?cb=20201125094038&path-prefix=vi",VTC7 #https://vtc130121.cdn.vnns.io/VTC7/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/todaytv_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc8" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc8_1000.stream/chunks_dvr_range-${start}-10800.m3u8" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/VTC8_logo_2018.svg/768px-VTC8_logo_2018.svg.png",VTC8 #https://vtc130121.cdn.vnns.io/VTC8/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc8_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc9hd" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/VTC9_logo_2018.svg/1200px-VTC9_logo_2018.svg.png" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc9_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC9 #https://vtc130121.cdn.vnns.io/VTC9/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc9_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc10hd" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc10_1000.stream/chunks_dvr_range-${start}-10800.m3u8" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/4/44/VTC10_logo_2018.svg/1200px-VTC10_logo_2018.svg.png",VTC10 #https://vtc130121.cdn.vnns.io/VTC10/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc10_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc11" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/VTC11_logo_2018.svg/1200px-VTC11_logo_2018.svg.png" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc11_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC11 #https://vtc130121.cdn.vnns.io/VTC11/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc11_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc12hd" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/db/VTC12_Grey.png/revision/latest/scale-to-width-down/340?cb=20200904024746&path-prefix=vi" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc12_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC12 #https://vtc130121.cdn.vnns.io/VTC12/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc12_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtc13hd" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc13_1000.stream/chunks_dvr_range-${start}-10800.m3u8" group-title="VTC" tvg-logo="https://static.wikia.nocookie.net/logos/images/4/4d/VTC13.png/revision/latest/scale-to-width-down/340?cb=20201125133758&path-prefix=vi",VTC13 https://vips-livecdn.fptplay.net/hda1/vtc13_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="vtc14hd" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc14_1000.stream/chunks_dvr_range-${start}-10800.m3u8" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/VTC14_logo_2018.svg/1020px-VTC14_logo_2018.svg.png",VTC14 https://vips-livecdn.fptplay.net/hda1/vtc14_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="vtc16" group-title="VTC" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/9/93/VTC16_logo_2018.svg/1200px-VTC16_logo_2018.svg.png" catchup="append" catchup-days="0.3" catchup-source="https://tshift.fptplay.net/dvr/vtc16_1000.stream/chunks_dvr_range-${start}-10800.m3u8",VTC16 #https://vtc130121.cdn.vnns.io/VTC16/playlist.m3u8 https://vips-livecdn.fptplay.net/sdb/vtc16_hls.smil/chunklist_b2500000.m3u8 #------------------------------------------------------------------------------------------------------------------------------------------------------------# # HTV# #EXTINF:0 tvg-id="htv1" group-title="HTV" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/bc/Large_htv1.png",HTV1 https://livecdn.fptplay.net/sdb/htv1_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="htv2hd" group-title="HTV"tvg-logo="https://static.wikia.nocookie.net/logos/images/1/1c/Logo_HTV2_%282008-2009%29.png/revision/latest/scale-to-width-down/340?cb=20181201104829&path-prefix=vi",HTV2 http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTV2-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htv3" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/6/61/HTV3_logo_2019-nay.png/revision/latest?cb=20210718085333&path-prefix=vi",HTV3 https://livecdn.fptplay.net/sdb/htv3_2000.stream/chunklist.m3u8 #EXTINF:0 tvg-id="htv7hd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/c/c6/HTV7_%282016-nay%29.png/revision/latest/scale-to-width-down/340?cb=20200608060620&path-prefix=vi",HTV7 https://vips-livecdn.fptplay.net/hda1/htv7hd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="htv9hd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/df/HTV9_%282016-nay%29.png/revision/latest?cb=20200608060619&path-prefix=vi",HTV9 https://vips-livecdn.fptplay.net/hda1/htv9hd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="htvkey" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/6/6d/HTV4_HTV_Key.png/revision/latest/scale-to-width-down/340?cb=20201012040751&path-prefix=vi" tvg-chno="24",HTV Key https://livecdn.fptplay.net/sdb/htv4_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="htvthethaohd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/3/34/HTV_Th%E1%BB%83_Thao_logo.png/revision/latest/scale-to-width-down/340?cb=20190725224504&path-prefix=vi",HTV Thể Thao https://vips-livecdn.fptplay.net/sdb/htvcthethao_hls.smil/chunklist_b2500000.m3u8 #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTV-THETHAO-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="htvc_coop" group-title="HTV" tvg-logo="https://img.hplus.com.vn/728x409/banner/2018/06/05/200872-HTVCoop.png",HTV Co.op http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVCOOP-SD-ABR/HTV-ABR/HTVCOOP-SD-720p/chunks.m3u8 #EXTINF:0 tvg-id="htvcthuanviet" group-title="HTV" tvg-logo="https://upload.wikimedia.org/wikipedia/vi/8/8c/HTVC_thuanviet.png",HTVC| Thuần Việt SD http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-THUANVIET-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcthuanviethd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/de/HTVC_Vietnamese_HD.png/revision/latest?cb=20210131021250&path-prefix=vi",HTVC| Thuần Việt HD http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-THUANVIETHD-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvccanhachd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/df/HTVC_Ca_Nh%E1%BA%A1c_old.png/revision/latest?cb=20210131022321&path-prefix=vi",HTVC| Ca Nhạc http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-CANHAC-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcdulichhd" group-title="HTV" tvg-logo="https://assets-vtvcab.gviet.vn/images/logos/HC8_M.png",HTVC| Du Lịch & Cuộc Sống http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-DULICH-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcgiadinhhd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/8/8b/HTVC_Gia_%C4%90%C3%ACnh_logo_2018.png/revision/latest/scale-to-width-down/205?cb=20210625041805&path-prefix=vi",HTVC| Gia Đình http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-GIADINH-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcplushd" group-title="HTV" tvg-logo="http://imageidc1.tv360.vn/image1/2020/12/25/10/160886616399/c002b68d052e_640_360.png",HTVC| Plus http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-PLUS-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="htvcphunuhd" group-title="HTV" tvg-logo="https://upload.wikimedia.org/wikipedia/vi/a/a9/HTVC_PHUNU.png",HTVC| Phụ Nữ http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-PHUNU-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcphimhd" group-title="HTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/2/29/HTVC_Film_logo.png/revision/latest/scale-to-width-down/200?cb=20210629030316&path-prefix=vi",HTVC| Phim http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HTVC-PHIM-HD-1080p/chunks.m3u8 #EXTINF:0 tvg-id="htvcfbnc" group-title="HTV" tvg-logo="https://upload.wikimedia.org/wikipedia/vi/f/f4/FBNC_new2014.png",HTVC| FBNC http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/FBNC-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="htvc_vgs_shop" group-title="HTV" tvg-logo="http://tvonline.vn/wp-content/uploads/2018/07/large_vgsshop.png",HTVC| VGS Shopping http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/HOMESHOPPING-SD-ABR/HTV-ABR/HOMESHOPPING-SD-720p/chunks.m3u8 #------------------------------------------------------------------------------------------------------------------------------------------------------------# # VTVCAB# #EXTINF:0 tvg-id="vtvcab1hd" group-title="VTVcab" tvg-logo="https://s1.vnecdn.net/ngoisao/restruct/i/v165/weddingfair/graphics/taitro/GTTV.png",VTVcab1 #http://gg.gg/cccab1|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab1/index.m3u8?md5=dBooYMMaJzuC4PQSnva4EQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab1/index.m3u8?md5=dBooYMMaJzuC4PQSnva4EQ&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="vtvcab2hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/phimViet_Logo_150x902.jpg",VTVcab2 #http://gg.gg/cccab2|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab2/index.m3u8?md5=QGYdEQjOO4Qj5YcwRFeV1w&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab2/index.m3u8?md5=QGYdEQjOO4Qj5YcwRFeV1w&expires=2556118740 #EXTINF:0 tvg-id="vtvcab3hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/TTTV_Logo_150x903.jpg",VTVcab3 #http://gg.gg/cccab3|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab3/index.m3u8?md5=ytdJ0cly8LCK3zdy10OuxQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab3/index.m3u8?md5=ytdJ0cly8LCK3zdy10OuxQ&expires=2556118740 #EXTINF:0 tvg-id="vtvcab4hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/7/70/V%C4%83n_h%C3%B3a.png/revision/latest/scale-to-width-down/250?cb=20191121091618",VTVcab4 #http://gg.gg/cccab4|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/hls/vtvcab4/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab4/index.m3u8?md5=VAQDb2DOBBBbwde5jBBfuA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="vtvcab5hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logos/images/e/e1/EChannel_VTVCab_5_logo_2014.png/revision/latest/scale-to-width-down/220?cb=20201025114247&path-prefix=vi",VTVcab5 #http://gg.gg/cccab5|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab5/index.m3u8?md5=FI0vSweK0ZjVtshOO-v3LA&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab5/index.m3u8?md5=FI0vSweK0ZjVtshOO-v3LA&expires=2556118740 #EXTINF:0 tvg-id="vtvcab6hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/onsport_Logo_150x902.jpg",VTVcab6 #http://gg.gg/cccab6|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab6/index.m3u8?md5=UWqnKPkk8xH9hqll1u3iFg&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab6/index.m3u8?md5=UWqnKPkk8xH9hqll1u3iFg&expires=2556118740 #EXTINF:0 tvg-id="vtvcab7hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/f/f9/VCTV10_old_and_VTVCab_10_-_O2TV_logo.png/revision/latest?cb=20191114115325",VTVcab7 #http://gg.gg/cccab7|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab7/index.m3u8?md5=JGYvOsHHyqqsxl6Osg-j7g&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab7/index.m3u8?md5=JGYvOsHHyqqsxl6Osg-j7g&expires=2556118740 #EXTINF:0 tvg-id="vtvcab8hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logos/images/9/97/BiBi_logo.png/revision/latest/scale-to-width-down/340?cb=20200611122915&path-prefix=vi",VTVcab8 #http://gg.gg/cccab8|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab8/index.m3u8?md5=cDM9L0-Fmb5YYGIm5x8dMQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab8/index.m3u8?md5=cDM9L0-Fmb5YYGIm5x8dMQ&expires=2556118740 #EXTINF:0 tvg-id="vtvcab9hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logos/images/b/bf/S_Info_TV_2015.png/revision/latest/scale-to-width-down/340?cb=20201011014319&path-prefix=vi",VTVcab9 #http://gg.gg/cccab9|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab9/index.m3u8?md5=H-CZgExdlhVls0-cEfpa4Q&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab9/index.m3u8?md5=H-CZgExdlhVls0-cEfpa4Q&expires=2556118740 #EXTINF:0 tvg-id="vtvcab10hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/cab10_filmtv_Logo_150x902.jpg",VTVcab10 #http://gg.gg/cccab10|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab10/index.m3u8?md5=0hgEfHHQDkf2-k5aGSCR8Q&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab10/index.m3u8?md5=0hgEfHHQDkf2-k5aGSCR8Q&expires=2556118740 #EXTINF:0 tvg-id="vtvcab11hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/f/f0/TVShopping.png/revision/latest?cb=20191207111908",VTVcab11 https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab11/index.m3u8?md5=U3OmAeuvHI3rIJotPQ8EXg&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="vtvcab12hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/4/47/Style_TV_%28VCTV12_old_and_VTVCab_12%29_logo.png/revision/latest/scale-to-width-down/250?cb=20200206100854",VTVcab12 #http://gg.gg/cccab12|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab12/index.m3u8?md5=16_sk-wKZo227CghUseBkQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab12/index.m3u8?md5=16_sk-wKZo227CghUseBkQ&expires=2556118740 #EXTINF:0 tvg-id="vtvcab13hd" group-title="VTVcab" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/f/f0/Vtvcab-13-doitac220216.png",VTVcab13 https://vips-livecdn.fptplay.net/sdb/vtvhyundai_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="vtvcab15hd" group-title="VTVcab" tvg-logo="https://i.ibb.co/LnN87hc/VTVCAB15-BEARTV.png",VTVcab15 #http://gg.gg/cccab15|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab15/index.m3u8?md5=3JMqSO-g51A9uFwoqY3nUg&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab15/index.m3u8?md5=3JMqSO-g51A9uFwoqY3nUg&expires=2556118740 #EXTINF:0 tvg-id="vtvcab16hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/BDTV_Logo_150x903.jpg",VTVcab16 #http://gg.gg/cccab16|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab16/sd1/index.m3u8?md5=lpI7W1W0pFJXA6pGT3v5QQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab16/sd1/index.m3u8?md5=lpI7W1W0pFJXA6pGT3v5QQ&expires=2556118740 #EXTINF:0 tvg-id="vtvcab17hd" group-title="VTVcab" tvg-logo="https://lh3.googleusercontent.com/-j4ISxvfAR64/VpxBD1WcLnI/AAAAAAAAAaU/0vEmEfl8TNw/h250/vtvcab-yeah1tv.png",VTVcab17 #http://gg.gg/cccab17|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab17/index.m3u8?md5=8sqdkkWw2j1jqPiPOHIhew&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab17/index.m3u8?md5=8sqdkkWw2j1jqPiPOHIhew&expires=2556118740 #EXTINF:0 tvg-id="vtvcab18hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/TTTT_Logo_update_150x902.jpg",VTVcab18 http://gg.gg/cccab18|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="vtvcab19hd" group-title="VTVcab" tvg-logo="https://static.vieon.vn/vieplay-image/livetv_logo_dark/2021/01/13/txo16qc4_viedramas_logo_468_134.png",VTVcab19 #http://gg.gg/cccab19|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab19/index.m3u8?md5=1AYGbWlzHNKrvsQUMUP82Q&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab19/index.m3u8?md5=1AYGbWlzHNKrvsQUMUP82Q&expires=2556118740 #EXTINF:0 tvg-id="vtvcab20hd" group-title="VTVcab" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/2/2f/VFamily_%28VTVCab_20%29_logo.png/revision/latest/top-crop/width/300/height/300?cb=20191128010437",VTVcab20 #http://gg.gg/cccab20|Referer=http://sctvonline.vn/ https://e3.endpoint.cdn.sctvonline.vn/secure/vtvcab20/index.m3u8?md5=-sx6Mn0Nya1J6PIsvSKbWQ&expires=2556118740|Referer=http://sctvonline.vn/ #http://112.197.12.62/secure/vtvcab20/index.m3u8?md5=-sx6Mn0Nya1J6PIsvSKbWQ&expires=2556118740 #EXTINF:0 tvg-id="vtvcab23hd" group-title="VTVcab" tvg-logo="https://assets-vtvcab.gviet.vn/images/hq/posters/Golf_Logo_update_150x902.jpg",VTVcab23 https://884030f97a.vws.vegacdn.vn/live/_definst_/stream_1_a0acb/chunklist.m3u8 #------------------------------------------------------------------------------------------------------------------------------------------------------------# # SCTV# #EXTINF:-1 tvg-id="sctv1hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/3/37/SCTV1_logo_2017.png/revision/latest/scale-to-width-down/250?cb=20201119113949&path-prefix=vi", SCTV1 #http://gg.gg/ccsctv1|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv1/sd1/index.m3u8?md5=pGyKSYjrGrL2ZLYg-J8v_g&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv2hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/3/3b/SCTV2_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201119114104&path-prefix=vi",SCTV2 #http://gg.gg/ccsctv2|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv2/sd1/index.m3u8?md5=4uJKDAWdU9pdIfSzvhQJPQ&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv3hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/4/4a/SCTV3.png/revision/latest/scale-to-width-down/200?cb=20201202045951&path-prefix=vi",SCTV3 #http://gg.gg/ccsctv3|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv3/sd1/index.m3u8?md5=-RE2AlRfyZP_ntu4aRKUMA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv4hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/6/6d/SCTV4_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201127022644&path-prefix=vi",SCTV4 #http://gg.gg/ccsctv4|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv4/sd1/index.m3u8?md5=VvFuYftKuNK8bzBSxxbb0g&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv5hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/e/e7/SCTV5.png/revision/latest/scale-to-width-down/200?cb=20201127024501&path-prefix=vi",SCTV5 #http://gg.gg/ccsctv5|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv5/sd1/index.m3u8?md5=WgFj80nCKRlhZ4R9zQoZzg&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv6hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/4/4b/SCTV6.png/revision/latest/scale-to-width-down/200?cb=20201202050044&path-prefix=vi",SCTV6 #http://gg.gg/ccsctv6|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv6/sd1/index.m3u8?md5=4SolymWJ8gDfu-b_dR7biA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv7hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/4/46/SCTV7_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201202040429&path-prefix=vi",SCTV7 #http://gg.gg/ccsctv7|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv7/sd1/index.m3u8?md5=t2rQwa4sPnnjLhLl96Sgng&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv8hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/d/d2/SCTV8_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201126061716&path-prefix=vi",SCTV8 #http://gg.gg/ccsctv8|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv8/sd1/index.m3u8?md5=4VmSMUN05v9AhUS7aYe6Ig&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv9hd" group-title="SCTV" tvg-logo="https://i.ibb.co/5hJRC4z/SCTV9.png",SCTV9 #http://gg.gg/ccsctv9|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv9/sd1/index.m3u8?md5=YbHnb-7yJPcp86S-bNWnvA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv10hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/c/c0/SCTV10.png/revision/latest/scale-to-width-down/200?cb=20200929040024&path-prefix=vi",SCTV10 #http://gg.gg/ccsctv10|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/hls/sctv10/index.m3u8|Referer=http://sctvonline.vn/ #https://e1.endpoint.cdn.sctvonline.vn/secure/sctv10/sd1/index.m3u8?md5=goeMc3OrV5Un43gP6kDnlw&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv11hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/9/99/SCTV11_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20210821040108&path-prefix=vi",SCTV11 #http://gg.gg/ccsctv11|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv11/sd1/index.m3u8?md5=i8wrzqxjGV7BQt9piOK5AA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv12hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/a/ab/SCTV12_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201127035429&path-prefix=vi",SCTV12 #http://gg.gg/ccsctv12|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv12/sd1/index.m3u8?md5=i0L8AAUKtOAHBzsnl8UhlA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv13hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/6/6c/SCTV13.png/revision/latest?cb=20201011121759",SCTV13 #http://gg.gg/ccsctv13|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv13/sd1/index.m3u8?md5=GeobYI8uI8LhmTFo-CYFcA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv14hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/2/21/SCTV14.png/revision/latest/scale-to-width-down/220?cb=20201011133906",SCTV14 #http://gg.gg/ccsctv14|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv14/sd1/index.m3u8?md5=bs-8dgbSHwp63TDXoCpnkw&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv15hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/b/b2/SCTV15_SSport2_logo_12-2020.png/revision/latest/scale-to-width-down/200?cb=20210127142513&path-prefix=vi",SCTV15 #http://gg.gg/ccsctv15|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv15/sd1/index.m3u8?md5=npxSf8DiNb6h-lo6eNV-ow&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv16hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/f/fb/SCTV16_logo_2021.png/revision/latest/scale-to-width-down/200?cb=20210102042335&path-prefix=vi",SCTV16 #http://gg.gg/ccsctv16|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv16/sd1/index.m3u8?md5=xVPLXiUpFg73yuaDyEy-2w&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv17hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/7/77/SCTV17_SSport_logo_12-2020.png/revision/latest/scale-to-width-down/200?cb=20210127142428&path-prefix=vi",SCTV17 #http://gg.gg/ccsctv17|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv17/sd1/index.m3u8?md5=Ta95m8zjauF5U4Ya8NsJvg&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv18hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/8/87/SCTV18_logo_2017.png/revision/latest/scale-to-width-down/200?cb=20201126061119&path-prefix=vi",SCTV18 #http://gg.gg/ccsctv18|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv18/sd1/index.m3u8?md5=LpLRftYMafDSOLR-TKK6Mw&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv19hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/e/ef/SCTV19.png/revision/latest?cb=20201021060457&path-prefix=vi",SCTV19 #http://gg.gg/ccsctv19|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv19/sd1/index.m3u8?md5=uMR0F1oSOwIfKPtt7-a4xg&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv20hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/b/b1/SCTV20.png/revision/latest?cb=20201021060127&path-prefix=vi",SCTV20 #http://gg.gg/ccsctv20|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv20/sd1/index.m3u8?md5=lb0MLr7Ra4oiddBQkWvAug&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="ssctv21hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/9/9f/SCTV21.png/revision/latest?cb=20201010112424&path-prefix=vi",SCTV21 #http://gg.gg/ccsctv21|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv21/sd1/index.m3u8?md5=AxvpNDs0N57nBjln7px0IA&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctv22hd" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/9/97/SCTV22_SSport_1_logo_12-2020.png/revision/latest/scale-to-width-down/484?cb=20210127142239&path-prefix=vi",SCTV22 #http://gg.gg/ccsctv22|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctv22/sd1/index.m3u8?md5=MP6PbU0wC37imEmBeKk0EQ&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="sctvhdpth" group-title="SCTV" tvg-logo="https://static.wikia.nocookie.net/logos/images/5/54/SCTV_Phim_T%E1%BB%95ng_H%E1%BB%A3p.png/revision/latest/scale-to-width-down/200?cb=20201010101010&path-prefix=vi",SCTV Phim TH #http://gg.gg/ccsctvpth|Referer=http://sctvonline.vn/ https://e1.endpoint.cdn.sctvonline.vn/secure/sctvphimtonghop/sd1/index.m3u8?md5=YtjAmEoXNzWyuoMM48a3Ug&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="btv5hd" group-title="SCTV" tvg-logo="https://i.ibb.co/3sDGdJh/BTV5.png",BTV5 #http://gg.gg/ccbtv5|Referer=http://sctvonline.vn/ https://e2.endpoint.cdn.sctvonline.vn/secure/btv5/sd1/index.m3u8?md5=TIpsMcUws2BxLKEZ3ItG9g&expires=2556118740|Referer=http://sctvonline.vn/ #------------------------------------------------------------------------------------------------------------------------------------------------------------# #KÊNH ĐỊA PHƯƠNG # #EXTINF:-1 tvg-id="vinhlong1hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/104.png", THVL1 HD https://livecdn.fptplay.net/hda1/vinhlong1_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="vinhlong2hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/105.png", THVL2 HD https://livecdn.fptplay.net/hda2/vinhlong2_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="vinhlong3hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/106.png", THVL3 HD https://livecdn.fptplay.net/hda2/vinhlong3_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="vinhlong4hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/107.png", THVL4 HD https://livecdn.fptplay.net/hda3/vinhlong4hd_vhls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="angiang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/108.png", An Giang HD https://livecdn.fptplay.net/sda/angiang_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="baria" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/109.png", Bà Rịa Vũng Tàu HD https://livecdn.fptplay.net/sdc/bariavungtau_hls.smil/chunklist_b2800000.m3u8 #EXTINF:-1 tvg-id="bacgiang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/110.png", Bắc Giang HD http://103.90.220.236/bgtvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="bacninh" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/111.png", Bắc Ninh HD https://livecdn.fptplay.net/sdc/bacninh_hls.smil/chunklist_b2800000.m3u8 #EXTINF:-1 tvg-id="baccan" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/112.png", Bắc Kạn https://livecdn.fptplay.net/sdb/backan_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="baclieu" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/113.png", Bạc Liêu HD https://livecdn.fptplay.net/sdc/baclieu_hls.smil/chunklist_b2800000.m3u8 #EXTINF:-1 tvg-id="bentre" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/114.png", Bến Tre http://113.163.94.245/hls-live/livepkgr/_definst_/liveevent/thbt.m3u8 #EXTINF:-1 tvg-id="binhdinh" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/115.png", Bình Định HD http://truyenhinhbinhdinhonline.dynns.com:8086/live.m3u8 #EXTINF:-1 tvg-id="binhduong1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/116.png", Bình Dương 1 HD https://livecdn.fptplay.net/hda3/btv1_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="binhduong2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/117.png", Bình Dương 2 HD https://livecdn.fptplay.net/hda3/btv2_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/118.png", Bình Dương 3 HD https://livecdn.fptplay.net/sdb/binhduong3_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="binhduong4" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/119.png", Bình Dương 4 HD https://livecdn.fptplay.net/hda2/btv4hd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="binhduong6" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/120.png", Bình Dương 6 https://livecdn.fptplay.net/sda/btv6_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="binhduong11" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/121.png", Bình Dương 11 https://livecdn.fptplay.net/sda/btv11_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="binhphuoc1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/122.png", Bình Phước 1 HD http://103.90.220.236/bptvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="hometvbptv2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/123.png", Bình Phước 2 HD http://103.90.220.236/bptvlive/tv2live.m3u8 #EXTINF:-1 tvg-id="binhthuan" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/124.png", Bình Thuận HD http://202.43.109.144:1935/thbttv/bttv/chunklist.m3u8 #EXTINF:-1 tvg-id="camau" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/125.png", Cà Mau HD https://livecdn.fptplay.net/sdc/camau_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="cantho" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/126.png", Cần Thơ HD https://mekongpassion.com/live/tv/chunklist.m3u8 #EXTINF:-1 tvg-id="caobang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/127.png", Cao Bằng HD http://118.107.85.4:1935/live/smil:CRTV.smil/chunklist_b1384000.m3u8 #EXTINF:-1 tvg-id="danang1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/128.png", Đà Nẵng 1 HD http://drtdnglive.e49a7c38.cdnviet.com/livedrt1/chunklist.m3u8 #EXTINF:-1 tvg-id="danang2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/129.png", Đà Nẵng 2 HD http://drtdnglive.e49a7c38.cdnviet.com/livestream/chunklist.m3u8 #EXTINF:-1 tvg-id="daklak" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/130.png", Đắk Lắk https://livecdn.fptplay.net/sdc/daklak_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="daknong" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/131.png", Đắk Nông http://vthanh.xyz/vieon.m3u8?kenh=dak-nong #EXTINF:-1 tvg-id="dienbien" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/132.png", Điện Biên https://livecdn.fptplay.net/sdc/dienbien_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="dongnai1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/133.png", Đồng Nai 1 HD https://livecdn.fptplay.net/sda/dongnai1_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="dongnai2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/134.png", Đồng Nai 2 HD https://livecdn.fptplay.net/sda/dongnai2_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="dongnai3" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/135.png", Đồng Nai 3 http://vthanh.xyz/vieon.m3u8?kenh=dong-nai-3 #EXTINF:-1 tvg-id="dongthap" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/136.png", Đồng Tháp 1 HD http://202.43.109.142:1935/THDT/thdttv/chunklist.m3u8 #EXTINF:-1 tvg-id="dongthap2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/137.png", Đồng Tháp 2 http://202.43.109.144:1935/thdt2/thdt2/chunklist.m3u8 #EXTINF:-1 tvg-id="gialai" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/138.png", Gia Lai https://livecdn.fptplay.net/sda/gialai_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="hagiang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/139.png", Hà Giang http://113.162.84.113:8080/hls/fm/index.m3u8 #EXTINF:-1 tvg-id="hanam" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/140.png", Hà Nam HD http://103.90.220.236/thhnlive/tv1live.m3u8 #EXTINF:-1 tvg-id="hanoi1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/141.png", Hà Nội 1 HD https://live.hanoitv.vn/hntvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="hanoi2" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/142.png", Hà Nội 2 HD https://livecdn.fptplay.net/sdc/hanoitv2_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="hatinh" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/143.png", Hà Tĩnh HD http://hatinhtv.vn:82/hls/httv.m3u8 #EXTINF:-1 tvg-id="haiduong" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/144.png", Hải Dương HD https://livecdn.fptplay.net/sdc/haiduong_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="haiphong" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/145.png", Hải Phòng HD https://livecdn.fptplay.net/sdc/haiphong_hls.smil/chunklist_b2800000.m3u8 #EXTINF:-1 tvg-id="haiphongplus" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/146.png", Hải Phòng Plus HD https://live.thhp.vn/hls/thpplus/index.m3u8 #EXTINF:-1 tvg-id="TH Hậu Giang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/147.png", Hậu Giang HD https://livecdn.fptplay.net/sda/haugiang_2000.stream/chunklist.m3u8 #EXTINF:-1 tvg-id="hoabinh" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/148.png", Hòa Bình https://livecdn.fptplay.net/sda/hoabinh_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="hungyen" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/149.png", Hưng Yên HD http://103.90.220.236/hytvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="khanhhoa" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/150.png", Khánh Hòa HD https://livecdn.fptplay.net/sda/khanhhoa_2000.stream/chunklist.m3u8 #EXTINF:-1 tvg-id="kiengiang" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/151.png", Kiên Giang HD http://tv.kgtv.vn/live/kgtv/kgtv.m3u8 #EXTINF:-1 tvg-id="kiengiang1" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/152.png", Kiên Giang 1 HD http://tv.kgtv.vn/live/kgtv1/kgtv1.m3u8 #EXTINF:-1 tvg-id="kontum" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/153.png", Kon Tum HD http://tv.kontumtv.vn/live/kontumtv/kontumtv.m3u8 #EXTINF:-1 tvg-id="laichau" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/154.png", Lai Châu https://livecdn.fptplay.net/sdc/laichau_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="lamdong" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/155.png", Lâm Đồng HD http://118.107.85.5:1935/live/smil:LTV.smil/chunklist_b1384000.m3u8 #EXTINF:-1 tvg-id="langson" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/156.png", Lạng Sơn HD http://103.90.220.236/lstvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="laocai" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/157.png", Lào Cai HD http://cdn.3ssoft.vn/livetv/laocaitv/laocaitv/index.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/158.png", Long An HD http://113.161.229.13/hls-live/livepkgr/_definst_/liveevent/tv.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/159.png", Nam Định https://livecdn.fptplay.net/sdc/namdinh_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/160.png", Nghệ An HD http://103.90.220.236/natvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="TH Ninh Bình" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/161.png", Ninh Bình HD http://103.90.220.236/nbtvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="Th Ninh Thuận" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/162.png", Ninh Thuận https://livecdn.fptplay.net/sda/ninhthuan_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/163.png", Phú Thọ HD http://cdn.3ssoft.vn/livetv/phuthotv/phuthotv/index.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/164.png", Phú Yên HD https://livecdn.fptplay.net/sda/phuyen_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/165.png", Quảng Bình https://livecdn.fptplay.net/sda/quangbinh_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/166.png", Quảng Nam https://livecdn.fptplay.net/sdc/quangnam_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/167.png", Quảng Ngãi HD https://livecdn.fptplay.net/sda/quangngai_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="qtv1hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/168.png", Quảng Ninh 1 HD http://103.90.220.236/qtvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="qtv3hd" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/169.png", Quảng Ninh 3 HD http://103.90.220.236/qtvlive/tv3live.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/170.png", Quảng Trị HD http://103.90.220.236/qrtvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/171.png", Sóc Trăng 1 https://livecdn.fptplay.net/sda/soctrang_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/172.png", Sóc Trăng 2 http://115.78.3.164:8135/liveeventstv2.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/173.png", Sơn La HD http://118.107.85.4:1935/live/smil:STV.smil/chunklist_b1384000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/174.png", Tây Ninh HD http://202.43.109.142:1935/ttv11/tntv/playlist.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/175.png", Thái Bình HD http://103.90.220.236/tbtvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/176.png", Thái Nguyên 1 HD http://103.90.220.236/tntvlive/tv1live.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/178.png", Thanh Hóa HD https://livecdn.fptplay.net/sda/thanhhoa_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/179.png", Thừa Thiên Huế https://livecdn.fptplay.net/sdc/hue_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/180.png", Tiền Giang HD https://livecdn.fptplay.net/sda/tiengiang_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/181.png", Trà Vinh HD https://livecdn.fptplay.net/sdc/travinh_1000.stream/chunklist.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/182.png", Tuyên Quang HD http://live.tuyenquangtv.vn/hls/ttv.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/183.png", Vĩnh Phúc HD http://vinhphuctv.vn:8090/vinhphuclive/web.stream/playlist.m3u8 #EXTINF:-1 tvg-id="" group-title="KÊNH ĐỊA PHƯƠNG" tvg-logo="https://vthanh.xyz/ic/184.png", Yên Bái HD https://yenbaitv.org.vn/hls/livestream.m3u8 #------------------------------------------------------------------------------------------------------------------------------------------------------------# # NHÓM KÊNH KHÁM PHÁ# #EXTINF:-1 tvg-id="animalhd" group-title="KHÁM PHÁ" tvg-logo="https://vthanh.xyz/ic/222.png", Animal Planet https://livecdn.fptplay.net/hda2/animalplanet_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="discoveryhd" group-title="KHÁM PHÁ" tvg-logo="https://vthanh.xyz/ic/223.png", Discovery https://livecdn.fptplay.net/hda2/discovery_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="discoveryasiahd" group-title="KHÁM PHÁ" tvg-logo="https://vthanh.xyz/ic/224.png", Discovery Asia https://livecdn.fptplay.net/hda2/discoveryasia_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="ngwhd" group-title="KHÁM PHÁ" tvg-logo="https://vthanh.xyz/ic/226.png", Nat Geo Wild HD http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/NATGEOWILD-HD-1080p/playlist.m3u8 #EXTINF:-1 tvg-id="outdoorfhd" group-title="KHÁM PHÁ" tvg-logo="https://vthanh.xyz/ic/227.png", Outdoor Channel HD https://livecdn.fptplay.net/hda1/outdoorfhd_vhls.smil/chunklist_b5000000.m3u8 #EXTM3U #EXTINF:-1 tvg-id="foxmovieshd" tvg-logo="https://lh3.googleusercontent.com/-Qkp_SUgbcuw/W1mAuWY3SgI/AAAAAAAAELE/rruHFb_wIg4HyiLpvoZYOkMt4pR1p9ymACLcBGAs/h250/icon_channel_fox-movies_152238665778.png" group-title="🅾🆃🅷🅴🆁",FOX MOVIES HD #https://livecdn.fptplay.net/foxlive/foxmovieshd_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="foxfamilymovieshd" tvg-logo="https://static.megavie.live/media/foxfamilymovieshd.jpg" group-title="🅾🆃🅷🅴🆁",FOX FAMILY MOVIES HD #EXTINF:-1 tvg-id="foxhd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_fox-hd_152238767588.png" group-title="🅾🆃🅷🅴🆁",FOX HD #EXTINF:-1 tvg-id="foxlifehd" tvg-logo="https://lh3.googleusercontent.com/-fmippsPXbWM/W1mAPOBNBAI/AAAAAAAAEK8/movc4Mxn3ZADUClQ9-TNI-Tk2-z_kbS-QCLcBGAs/h350/icon_channel_fox-life_152238683897.png" group-title="🅾🆃🅷🅴🆁",FOX LIFE HD #https://livecdn.fptplay.net/foxlive/foxlifehd_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="blueantent" tvg-logo="https://static.megavie.live/media/blueantent.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="94",Blue Ant Entertainment HD https://vips-livecdn.fptplay.net/hda1/blueantent_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="blueantext" tvg-logo="https://static.megavie.live/media/blueantext.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="95",Blue Ant Extreme HD https://vips-livecdn.fptplay.net/hda1/blueantext_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="KIX" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_kix_152879800963.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="97",KIX HD https://vips-livecdn.fptplay.net/hda1/kixhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="afnhd" tvg-name="AFC" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_asian-food-channel_158279877356.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="130",Asian Food Network HD https://vips-livecdn.fptplay.net/hda1/afchd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="ngwhd" tvg-logo="https://www.vippng.com/png/detail/442-4423779_nevet-s-log-t-v-lt-a-nat.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="95",Nat Geo Wild HD #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/NATGEOWILD-HD-1080p/playlist.m3u8 #EXTINF:-1 tvg-id="Da Vinci " tvg-name="DaVinci HD" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_da-vinci-learning_160135703111.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Da Vinci Learning HD https://vips-livecdn.fptplay.net/hda2/davincihd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="kbsworld" tvg-name="KBS_World" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_kbs-world_145931294803.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="",KBS World FHD https://live-vthcm.vieon.vn/htv_drm/live/kbs_world/TV_HD/kbs_world_1080p/chunks.m3u8?=tvlinktop https://livecdn.fptplay.net/sdb/kbs_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="nhkworldhd" tvg-name="NHK_World-JAPAN(HD)" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_nhk-world-hd_150614115837.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",NHK World HD https://vips-livecdn.fptplay.net/hda2/nhkworld_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="dw" tvg-name="DW" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_dw_145681789801.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="",DW HD https://vips-livecdn.fptplay.net/hda2/dwenglish_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="arirang" tvg-name="arirang" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_arirang_15148903242.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Arirang https://livecdn.fptplay.net/sdb/arirang_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="channelnewsasia" tvg-name="Channel_News_Asia" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_channel-newsasia_151495143843.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",New Asia https://livecdn.fptplay.net/sdb/newsasia_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="france24eng" tvg-name="France_24_English" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_france-24_151539541517.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",France 24 English https://livecdn.fptplay.net/sdb/france24_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="tv5monde" tvg-name="TV5_ASIE" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_tv5-monde_151557279144.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",TV5MONDE https://livecdn.fptplay.net/sdb/tv5_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="outdoorhd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_outdoor-channel_156456021259.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="127",Outdoor Channel HD https://vips-livecdn.fptplay.net/hda1/outdoorfhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="hbohd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_hbo_155834899497.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="117",HBO HD https://livecdn.fptplay.net/hda1/hbo_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="cinemaxhd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_max-by-hbo_162970702915.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="118",Cinemax HD https://livecdn.fptplay.net/hda1/cinemax_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="foxsportshd" tvg-name="Fox_Sports_1" tvg-logo="https://static.megavie.live/media/foxsportshd.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="91",Fox Sports HD #https://vips-livecdn.fptplay.net/hda2/foxsports_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="foxsports2hd" tvg-name="Fox_Sports_2" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_fox-sports-2_148654612771.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="92",Fox Sports 2 HD #https://vips-livecdn.fptplay.net/hda3/foxsports2_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="foxsports3hd" tvg-logo="https://static.megavie.live/media/foxsports3hd.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="93", Fox Sports 3 HD #https://vips-livecdn.fptplay.net/hda2/foxsports3_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="axnhd" tvg-name="AXN" tvg-logo="https://www.dialog.lk/dialogdocroot/content/images/channel-highlights/axn-hd.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="",AXN HD https://vips-livecdn.fptplay.net/hda3/axnhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="warnertvhd" tvg-name="WB" tvg-logo="https://static.megavie.live/media/warnertvhd.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="115",Warner TV HD https://vips-livecdn.fptplay.net/hda3/warnertv_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="cinemaworld" tvg-logo="https://i.ibb.co/K0t7jJ0/cinemaw.jpg" group-title="🅾🆃🅷🅴🆁",Cinema World HD https://vips-livecdn.fptplay.net/hda2/cinemawork_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="fashionhd" tvg-logo="https://static.megavie.live/media/fashionhd.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="129",Fashion TV HD https://vips-livecdn.fptplay.net/hda2/fashiontvhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="cartoonhd" tvg-name="CARTOON_NETWORK" tvg-logo="https://i.ibb.co/JqJVv5b/cn.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Cartoon Network HD https://vips-livecdn.fptplay.net/hda3/cartoonnetworkhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="animaxhd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_animax_160869788037.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="107", Animax HD https://vips-livecdn.fptplay.net/hda3/animaxport_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="boomerang" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_boomerang_152240335127.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="108", Boomerang https://vips-livecdn.fptplay.net/hda3/boomerang_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="babyfirst" tvg-name="BabyFirst" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_baby-first_152332783386.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",BabyFirst https://vips-livecdn.fptplay.net/hda1/babyfirst_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="tvg-id="cbeebies"" tvg-logo="https://i.ibb.co/mHNZbn0/bbc.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="110",Cbeebies https://vips-livecdn.fptplay.net/hda3/cbeebies_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="cnn" tvg-name="CNNHD" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_cnn_146581309815.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",CNN https://livecdn.fptplay.net/sdb/cnn_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="BBC Earth HD" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_bbc-earth_148379672898.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="109",BBC Earth HD https://vips-livecdn.fptplay.net/hda2/bbcearth_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="bbcworldnews" tvg-name="BBC_World_News" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_bbc-news_156325644439.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",BBC World News https://livecdn.fptplay.net/sdb/bbcnew_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="bbclifestyle" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_bbc-lifestyle_148379742953.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="110",BBC Lifestyle https://livecdn.fptplay.net/sdb/bbclifestyle_2000.stream/chunklist.m3u8 #EXTINF:-1 tvg-id="bloomberg" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_bloomberg_146581277148.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="113",Bloomberg https://livecdn.fptplay.net/sdb/bloomberg_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="abcaustralia" tvg-name="Australia_Plus" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_australia-plus_153051623532.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Australia Plus https://livecdn.fptplay.net/sdb/australiaplus_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="discoveryhd" tvg-name="Discovery_Channel" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_discovery_157259072379.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Discovery HD https://vips-livecdn.fptplay.net/hda2/discovery_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="discoveryasiahd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_discovery-asia_152332466749.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="112",Discovery Asia HD https://vips-livecdn.fptplay.net/hda2/discoveryasia_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="animalhd" tvg-name="Animal_Planet" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_animal-planet_156335404347.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="",Animal Planet HD https://vips-livecdn.fptplay.net/hda2/animalplanet_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="tlchd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_travel-living_156455581568.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="114",Travel & Living HD https://vips-livecdn.fptplay.net/hda2/travelliving_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="youtv" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_youtv_162952854632.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="114",YouTV https://livecdn.fptplay.net/sdb/youtv_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="mtv" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_mtv_162952660009.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="114",MTV HD https://livecdn.fptplay.net/sdb/mtv_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="sbscnbchd" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_cnbc_162952697893.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="114",CNBC https://livecdn.fptplay.net/sdb/cnbc_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="boxmovie1" tvg-logo="https://imaginary.endpoint.cdn.sctvonline.vn/tenants/none_tenant/photos/6_60ce711b.jpg" group-title="🅾🆃🅷🅴🆁",Box Movie #https://e4.endpoint.cdn.sctvonline.vn/secure/boxmovie1/sd1/index.m3u8?md5=x2aVyF4ODqD23-IuA2MPlg&expires=2556118740|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/boxmovie1/sd2/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="inthebox" tvg-logo="https://imaginary.endpoint.cdn.sctvonline.vn/tenants/none_tenant/photos/7_e79f9654.jpg?width=426&version=6&s3_origin=https%3A%2F%2Fsctv-main-2.s3-hcm.cloud.cmctelecom.vn" group-title="🅾🆃🅷🅴🆁",The Box Music Televison #https://e4.endpoint.cdn.sctvonline.vn/secure/boxmusic/index.m3u8?md5=pR0QrkdxGuSRmHtTGT028A&expires=2556118740|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/boxmusic/sd2/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="hollywoodclassics" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ibb.co/M7pxv8c/ta-i-xu-ng.jpg", Hollywood Classic https://e4.endpoint.cdn.sctvonline.vn/hls/hollywood/sd2/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="woman" tvg-logo="https://imaginary.endpoint.cdn.sctvonline.vn/tenants/none_tenant/photos/62_82eb1789.jpg?width=426&version=6&s3_origin=https%3A%2F%2Fsctv-main-2.s3-hcm.cloud.cmctelecom.vn" group-title="🅾🆃🅷🅴🆁" tvg-chno="105",Woman HD #https://e4.endpoint.cdn.sctvonline.vn/secure/woman/index.m3u8?md5=nYLg_liiJXqdWAdw4D1wzw&expires=2556118740|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/woman/sd2/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="planetearthhd" tvg-logo="https://i.ibb.co/yBV6zTY/logoplayout-planetearth-3d-plain.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="102",Planet Earth HD #https://e4.endpoint.cdn.sctvonline.vn/secure/planetearth/index.m3u8?md5=6LuAM_K-RRvmm5Vq-zMaZw&expires=2556118740|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/planetearth/sd2/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="happykids" tvg-logo="https://i.ibb.co/ymTnSZQ/happykids.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="101",Happy Kids HD https://e4.endpoint.cdn.sctvonline.vn/hls/happykid/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/happykid/index.m3u8?md5=RoppAcvPHs-dCJI1jRxvgQ&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-id="drfithd" tvg-logo="https://i.ibb.co/0qh3zNs/drfit.jpg" group-title="🅾🆃🅷🅴🆁" tvg-chno="104",Dr.Fit HD https://e4.endpoint.cdn.sctvonline.vn/hls/drfit/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/drfit/index.m3u8?md5=E5-H8WhpHUBeWV3JzaD5ng&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:-1 tvg-logo="https://imaginary.endpoint.cdn.sctvonline.vn/tenants/none_tenant/photos/10_4606159a.jpg?width=426&version=6&s3_origin=https%3A%2F%2Fsctv-main-2.s3-hcm.cloud.cmctelecom.vn" group-title="🅾🆃🅷🅴🆁",CNA HD #https://e4.endpoint.cdn.sctvonline.vn/secure/cna/sd1/index.m3u8?md5=PbxpiXxwvnbhM64ms3PoWw&expires=2556118740|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/cna/index.m3u8|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="disney" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://www.displaydaily.com/images/Logos/D-F/dmax-hd.png", Discovery DMAX HD https://sbshdlu5-lh.akamaihd.net/i/sbshdl_5@825063/index_1672_av-p.m3u8?sd=10&rebase=on&id=AgB0bmIdF8uHts8oV2EfEFVT456nWJXpYSKJUV2QY7ksK1MYdSP5zspuq7hb2qCmFZtlqABKjsrfzQ%3d%3d #EXTINF:0 tvg-id="disney" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://static.wikia.nocookie.net/dreamlogos/images/c/c0/844e8969b50080cb05f4d62acc5cbecc.jpg/revision/latest?cb=20171118134405", Disney INTERNATIONAL FHD https://feed.play.mv/live/10005200/IegKU9vXWg/1.m3u8 #EXTINF:0 tvg-id="disney" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://www.kindpng.com/picc/m/727-7279287_tv-ident-for-russua-disney-channel-disney-channel.png", Disney HD https://qlobbidev.s.llnwi.net:443/bpk-tv/DISNEYCHANNEL/hls/DISNEYCHANNEL-audio_128052_und=128000-video=1900000.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ibb.co/gSBw6w6/dnj.png", Disney Junior HD https://qlobbidev.s.llnwi.net/bpk-tv/DISNEYJUNIOR/hls/DISNEYJUNIOR-audio_129224_spa=128000-video=2900000.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://3dwarehouse.sketchup.com/warehouse/v1.0/publiccontent/76ed5aac-a25d-45cd-8116-4a82405a14f3", Disney XD HD #https://qlobbidev.s.llnwi.net/bpk-tv/DISNEYXD/hls/DISNEYXD-audio_129324_und=128000-video=2900000.m3u8 #http://stream.tvtap.live:8081/live/disneyxd.stream/playlist.m3u8 https://qlobbidev.s.llnwi.net/bpk-tv/DISNEYXD/hls/DISNEYXD-audio_129324_und=128000-video=2900000.m3u8?Token=TVLink #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ytimg.com/vi/2DK2OYQmSB4/maxresdefault.jpg", Disney XD Marathon HD #http://stream.tvtap.live:8081/live/disneyxd.stream/playlist.m3u8 http://stream.tvtap.live:8081/live/disneyxd.stream/chunks.m3u8 https://qlobbidev.s.llnwi.net:443/bpk-tv/DISNEYXD/hls/DISNEYXD-audio_129324_und=128000-video=2900000.m3u8?Token=TVLink #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQRsE4vQzM5JZrUmrzwXyf_YIFTji7y8Yug2EPO3WxMcC3OFNgnAGLnghvJReBuhaf7U6A&usqp=CAU", TRT COCUK HD https://tv-trtcocuk.live.trt.com.tr/master.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ibb.co/kSfwfBk/152-1523942-pbs-kids-channel-logotype-hd-png-download.png", PBS KIDS HD https://2-fss-2.streamhoster.com/pl_140/amlst:200914-1298290/playlist.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTshkE3YMWGxlBTgWFVQrzmufv1LK7JsSa_zi1jVnXouMCIUUBWbfYRQPS1SX7APzzRGmk&usqp=CAU", JUNIOR HD http://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://previews.123rf.com/images/yuyuyi/yuyuyi1208/yuyuyi120800185/14990499-four-cute-little-kids.jpg", KIDS HD https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=61&live=1&app_bundle=com.plexapp.desktop&did=df8e1a36-847d-5096-86a7-3803ed330ede&app_domain=app.plex.tv&app_name=plex&h=691&w=1224&content_title=MorUy57ijWhGe4ixZb_T&content_series=5f170d64b898490041b4938f&custom4=plex&gdpr=1&device_make=Windows&device_model=Firefox&coppa=0&us_privacy=1--- #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://dthorder.com/wp-content/uploads/channel/kids/nick-hd+.gif", NICK HD+ https://feed.play.mv/live/10005200/s5f1zEMJC1/master.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ibb.co/VWthhcm/unnamed-1.jpg", 3ABN KIDS HD #https://moiptvhls-i.akamaihd.net/hls/live/652318-b/secure/SQs/chunklist.m3u8 https://moiptvhls-i.akamaihd.net/hls/live/652318/secure/master.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://i.ibb.co/BtnwZ0w/images-1.jpg", TOONEE HD https://edge6a.v2h-cdn.com/appt7/Toonee.stream_720p/playlist.m3u8 #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRilu4c8fv-yQ1ZMTIj2zzNijaENnhJ0iVrW5cXhjpfq9DqTjjWKslXDzS8dR42cpzJ2xk&usqp=CAU", NASA #EXTINF:0 tvg-id="disneyjunior" group-title="🅾🆃🅷🅴🆁" tvg-logo="https://1.bp.blogspot.com/-6ZmwyXEauTc/YJMzooOrqeI/AAAAAAAAFes/EM-Z5a84fzU0OABxkHD2hvuzsXPPRN4NgCLcBGAsYHQ/s1920/Red%2BBull%2BTV%252C%2BNBA%2BTV%252C%2BMLB%2BNetwork%252C%2BNFL%2BNetwork%252C%2BNFL%2BRedzone%252C%2BWatch%2BUSA%2BTV%2Blive%2Bonline.jpg", Red Bull TV https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://www.rapidtvnews.com/images/tvN_logo_-_29_April_2017_1.jpg" group-title="🅾🆃🅷🅴🆁" ",TVN HD https://tvn-seezn.pip.cjenm.com:443/tvn/_definst_/s5/chunklist.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjI4OTQ5OTUsInBhdGgiOiIvdHZuL19kZWZpbnN0Xy9zNSIsInVubyI6IjE2MjI4OTQ2OTU0MzQzNTU1NSIsImlhdCI6MTYyMjg5NDY5NX0.uTI9slMSRoAbTQ0zGWoEWepnugD9iC-LumyD4dUMJSE&solsessionid=ced1d8fb89dd32a90e5dfa3d317ca053 #EXTINF:0 group-title="🅾🆃🅷🅴🆁" tvg-id=" " tvg-logo="https://i.ibb.co/Tqs8M02/unnamed.jpg", TVN MOVIES HD https://m3u-editor.com/serve/1f5c2f00-c50a-11eb-a9cf-49fb7da8769f/309066023 #EXTINF:-1 tvg-logo="https://i.ibb.co/JR0Gk7M/Canal-Film-HD-Logo-Alternativ.jpg", group-title="🅾🆃🅷🅴🆁",FILM HOT HD https://tvonlineappitv.shortcm.li//fwmov_fw-iptv.stream/playlist.m3u8 #EXTINF:0 group-title="🅾🆃🅷🅴🆁" tvg-id=" " tvg-logo="https://i.ibb.co/vHcspp0/FILMBOX-HD.jpg",BOO HD http://50.7.161.82:8278/streams/d/Boo/playlist.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://1.bp.blogspot.com/-Lpyykrgsurg/V4XS0ayqIbI/AAAAAAAAEtY/ZdrRD_O9GtMCsuE3JTA1CBdbbFoffuDWACLcB/s640/Mnet-p1.png" group-title="🅾🆃🅷🅴🆁" ",MNET HD https://mnet-seezn.pip.cjenm.com/mnet/_definst_/s5/playlist.m3u8?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjI3MzQ4OTIsInBhdGgiOiIvbW5ldC9fZGVmaW5zdF8vczUiLCJ1bm8iOiIxNjIyNzM0NTkyMjg5MTg3ODYiLCJpYXQiOjE2MjI3MzQ1OTJ9.Qy-cUxDm2zSdJFdFLYV_k6HB9wN_MPGm6ntVtOJASbY #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://i.ibb.co/LR9XrZb/Colors-tv2017.jpg" group-title="🅾🆃🅷🅴🆁" ",COLORS FHD https://feed.play.mv/live/10005200/6G8zJ9XsyB/master.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRg9nWE8XgCkl5e4z3zk-4RueePycVoDloF9eMGFFuYt96q4AH39ktCPcLDKnJTTcSc8lQ&usqp=CAU" group-title="🅾🆃🅷🅴🆁" ",TVB FHD https://edge6a.v2h-cdn.com:443/RE_HD/smil:TVB_HD_ABR.smil/chunklist_w1547988809_b3564000_sltha.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="http://www.homa-tv.com/logo/cinefilmhd.png" group-title="🅾🆃🅷🅴🆁" ",FILM HD https://stream.y5.hu/stream/stream_filmp/hls1/stream.m3u8 #EXTINF:-1 tvg-id="HBOFamilyEast.us" tvg-country="US" tvg-language="English" tvg-logo="https://i.ibb.co/Gkz1wML/HBOFamily-us.jpg" group-title="🅾🆃🅷🅴🆁",HBO Family East FHD https://liveorigin01.hbogoasia.com:8443/origin/live/FAMILY/index.m3u8 #EXTINF:-1 tvg-id="HBOHits.us" tvg-country="US" tvg-language="English" tvg-logo="https://i.ibb.co/fQ6rQY6/HBOHits-id.jpg" group-title="🅾🆃🅷🅴🆁",HBO Hits FHD https://liveorigin01.hbogoasia.com:8443/origin/live/HITS/index.m3u8 #EXTINF:-1 tvg-id="HBOSignatureEast.us" tvg-country="US" tvg-language="English" tvg-logo="https://i.ibb.co/d6FqdxS/HBOSignature-us.jpg" group-title="🅾🆃🅷🅴🆁",HBO Signature East FHD https://liveorigin01.hbogoasia.com:8443/origin/live/main/SIG/index.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://hanoicab.net/mediacenter/media/images/1133/news/ava/s250_250/phim-starmovie.png" group-title="🅾🆃🅷🅴🆁" ",STAR MOVIES HD http://221.120.204.4:80/STAR-MOVIEAS-LOCKLE/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="http://tvonline.vn/wp-content/uploads/2018/07/large_starworld.jpg" group-title="🅾🆃🅷🅴🆁" ",STAR WORLD HD #http://221.120.204.4:80/star-world-LOCKLE/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://i.ibb.co/7Y9tY7d/hollywood.png" group-title="🅾🆃🅷🅴🆁" ",HOLLYWOOD HD http://hpull.kktv8.com/livekktv/128600025/playlist.m3u8 #EXTINF:-1 tvg-id="waku" tvg-logo="http://likeetv.com/uploads/tv_image/and-flix-hd.jpg" group-title="🅾🆃🅷🅴🆁",&Flix HD https://f8e7y4c6.ssl.hwcdn.net:443/andflixhd/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="waku" tvg-logo="https://upload.wikimedia.org/wikipedia/en/4/4f/Logo_of_%26_Priv%C3%A9_HD.jpg" group-title="🅾🆃🅷🅴🆁",&Privé HD https://f8e7y4c6.ssl.hwcdn.net:443/andprivehd/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="waku" tvg-logo="https://www.wakuwakujapan.com/fileadmin/res/ogp.png" group-title="🅾🆃🅷🅴🆁",Waku Waku Japan FHD #EXTINF:-1 tvg-id="waku" tvg-logo="https://i.ibb.co/MfFbyHG/Stingray-Karaoke-Hor.jpg" group-title="🅾🆃🅷🅴🆁",STINGRAY KARAOKE https://stirr.ott-channels.stingray.com/karaoke/master_1280x720_2000kbps.m3u8?=xemtvnhanh #EXTINF:-1 tvg-id="waku" tvg-logo="https://ws.shoutcast.com/images/contacts/2/2d3f/2d3f02f4-effc-42dc-8141-1cc55152a131/radios/486d1d77-2e18-4fc8-b6c9-53ce65283747/486d1d77-2e18-4fc8-b6c9-53ce65283747.png" group-title="🅾🆃🅷🅴🆁",KPOP MUSIC https://srv1.zcast.com.br/kpoptv/kpoptv/.m3u8 #EXTINF:-1 tvg-id="waku" tvg-logo="https://i.ibb.co/WKbbbNc/1580029625.jpg" group-title="🅾🆃🅷🅴🆁",VIVA RUSSIA MUSIC https://hls.myvideocontent.ru/hls2/vivarussia/index.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQAlR6wAMd8IR-xuenZhEZXm3sEVNTN1o7OtsiKvFkFTvt_RhXpwYHEmqI8Xt6UvW539WU&usqp=CAU" group-title="🅾🆃🅷🅴🆁" ",MTV HITS https://tv.dansk.live:8443/enba/enba/113 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTHQSX-bzGNuH3ijGizL1KnDPsyJ6bQG4WgK7Wtn0pz2zdc1elT0nRxJrK9pedpNCFC7Lk&usqp=CAU" group-title="🅾🆃🅷🅴🆁" ",CMT MUSIC http://pluto-live.plutotv.net/egress/chandler/pluto01/live/VIACBS08/master.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://www.nettvpro.live/uploads/allimg/21/1-2104151IH40-L.jpg" group-title="🅾🆃🅷🅴🆁" ",MTV BIGGEST POP http://pluto-live.plutotv.net/egress/chandler/pluto01/live/VIACBS02/master.m3u8 #EXTINF:-1 tvg-id="hitshd" tvg-logo="https://i.ibb.co/0C3MDDM/hdmuc.png" group-title="🅾🆃🅷🅴🆁" ",MUSIC HD http://1hdru-hls-otcnet.cdnvideo.ru/onehdmusic/mono.m3u8 #EXTINF:-1 tvg-id="hgtvhd" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/HGTV_Logo.jpg/640px-HGTV_Logo.jpg" group-title="🅾🆃🅷🅴🆁" ",HGTV FHD https://feed.play.mv/live/10005200/Wvl02Co4S1/1.m3u8 #EXTINF:-1 tvg-id="channelvhd" tvg-logo="https://lh3.googleusercontent.com/-VMD7bQzHp0o/W2c9_eiYTCI/AAAAAAAAEQI/fkIrJO8TpW0C4hGBdAkk9ZRIA8gqLHxxQCLcBGAs/h300/icon_channel_channel-v-hd_152238787152.png" group-title="🅾🆃🅷🅴🆁" ",[V]HD #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/CHANNELV-HD-1080p/playlist.m3u8 #EXTINF:-1 tvg-id="fashionhd" tvg-logo="https://i.ibb.co/GcXvQSd/bd.png" group-title="🅾🆃🅷🅴🆁",FTV Body HD https://d35j504z0x2vu2.cloudfront.net/v1/manifest/0bc8e8376bd8417a1b6761138aa41c26c7309312/kaloopy/274eb05b-7332-4a40-831a-cee9b0878469/0.m3u8 #EXTINF:-1 tvg-id="fashionhd" tvg-logo="https://image.winudf.com/v2/image1/Y29tLnIzc3R1ZGlvLmZhc2NoYW5lbF9zY3JlZW5fM18xNTU1MDAxNTE3XzA4Nw/screen-3.jpg?fakeurl=1&type=.jpg" group-title="🅾🆃🅷🅴🆁" ",FTV Midnight Haute HD https://fash1043.cloudycdn.services/slive/ftv_midnite_secrets_adaptive.smil/chunklist_b4700000_t64MTA4MHA=.m3u8 #EXTINF:-1 tvg-id="fashionhd" tvg-logo="https://i.ibb.co/Ctkc3Hx/FASHION.png" group-title="🅾🆃🅷🅴🆁" ",FTV UHD https://fash2043.cloudycdn.services/slive/ftv_ftv_4k_hevc_73d_42080_default_466_hls.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Loupe4K.us" tvg-country="US" tvg-language="" tvg-logo="https://i.ibb.co/9TyJWq7/Loupe.jpg" group-title="🅾🆃🅷🅴🆁",Loupe UHD http://d2dw21aq0j0l5c.cloudfront.net/playlist.m3u8 #EXTINF:-1 tvg-id="bloomberg" tvg-logo="https://static.fptplay.net/static/img/share/channels/icon_channel_bloomberg_146581277148.png" group-title="🅾🆃🅷🅴🆁" tvg-chno="113",Bloomberg UHD https://bloomberg-bloombergtv-1-gb.samsung.wurl.com/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="boxmovie" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSz2gmzmNrtRrH6W28MkjCJEEvWYSqcar3ewMmrpn_E1vpH23oSZm_u4b48_kFqGYd7k1k&usqp=CAU" group-title="🅾🆃🅷🅴🆁",Love4K Nature https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8 #EXTINF:-1 tvg-id="boxmovie" tvg-logo="https://cdn6.f-cdn.com/contestentries/1754102/33559757/5e7b8d68ee0a8_thumbCard.jpg" group-title="🅾🆃🅷🅴🆁",Relax Music UHD #https://youtu.be/_nFMeEv0bk8 #EXTINF:-1 tvg-id="boxmovie" tvg-logo="https://i.ytimg.com/vi/qFZKK7K52uQ/maxresdefault.jpg" group-title="🅾🆃🅷🅴🆁",Beautiful Relax Music UHD #https://youtu.be/HMnatoiMdjA #EXTINF:-1 tvg-id="boxmovie" tvg-logo="https://i.ytimg.com/vi/4MmZzCqA9oI/maxresdefault.jpg" group-title="🅾🆃🅷🅴🆁",Popular Songs FHD #https://youtu.be/eHmrhzvWPek #------------------------------------------------------------------------------------------------------------------------------------------------------------# #EXTM3U #EXTINF:0 tvg-id="inthebox" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/KARTICA_BOXChannel_V1.jpg",BOX ᵗᵉˢᵗ #http://gg.gg/cc-box|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="boxhits" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/Kartica_BHits.jpg",BOX Hits http://gg.gg/cc-boxhits|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="boxmovie1" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/540x540_BM1_2.png",BOX Movie¹ #http://gg.gg/cc-boxmovie|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/boxmovie1/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/boxmovie1/sd1/index.m3u8?md5=x2aVyF4ODqD23-IuA2MPlg&cre=coca&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="musicbox" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/MUSICBOX_KARTICA_V4.jpg",BOX Music #http://gg.gg/cc-music|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/boxmusic/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/boxmusic/index.m3u8?md5=pR0QrkdxGuSRmHtTGT028A&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="hollywoodclassics" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2019/01/channel_card_hwc.jpg",Hollywood Classics #http://gg.gg/cc-holly|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/hollywood/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/hollywood/index.m3u8?md5=clpcBSiOLDJ7332ITIecGA&cre=coca&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="man" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/KARTICA_MAN_V3.png",Man #https://e4.endpoint.cdn.sctvonline.vn/hls/man/index.m3u8|Referer=http://sctvonline.vn/ #http://gg.gg/cc-man|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="woman" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2019/01/channel_card_woman.jpg",Woman #http://gg.gg/cc-woman|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/woman/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/woman/index.m3u8?md5=nYLg_liiJXqdWAdw4D1wzw&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="drfithd" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2018/10/540x540_FIT3GIRLS_FRUITS.png",Dr. Fit #http://gg.gg/cc-fit|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/drfit/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/drfit/index.m3u8?md5=E5-H8WhpHUBeWV3JzaD5ng&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="happykids" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2019/01/channel_card_happy_kids.jpg",Happy Kids #http://gg.gg/cc-kid|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/happykid/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/happykid/index.m3u8?md5=RoppAcvPHs-dCJI1jRxvgQ&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="planetearthhd" group-title="🇧🌎🇽" tvg-logo="https://www.intheboxtv.eu/content/uploads/2019/01/channel_card_planet_earth.jpg",Planet Earth #http://gg.gg/cc-planet|Referer=http://sctvonline.vn/ https://e4.endpoint.cdn.sctvonline.vn/hls/planetearth/sd2/index.m3u8|Referer=http://sctvonline.vn/ #https://e4.endpoint.cdn.sctvonline.vn/secure/planetearth/index.m3u8?md5=6LuAM_K-RRvmm5Vq-zMaZw&expires=2556118740|Referer=http://sctvonline.vn/ #EXTINF:0 tvg-id="bbcearth" group-title="🇧🌎🇽", tvg-logo="https://yt3.ggpht.com/ytc/AKedOLSpjPpSSMP-gWDUwk_lADoX-hL80Vd_4oimihhQuQ=s900-c-k-c0x00ffffff-no-rj",BBC Earth http://vips-livecdn.fptplay.net/hda2/bbcearth_vhls.smil/chunklist_b5000000.m3u8 #http://livecdn.fptplay.net/qnetlive/bbcearth_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="bbclifestyle" group-title="🇧🌎🇽", tvg-logo="https://telegramchannels.me/storage/media-logo/1901/bbc_lifestyle.jpg",BBC Lifestyle https://vips-livecdn.fptplay.net/sdb/bbclifestyle_2000.stream/chunklist_b500000.m3u8 #EXTINF:0 tvg-id="discoveryhd" group-title="🇧🌎🇽", tvg-logo="https://static.wikia.nocookie.net/logopedia/images/b/bd/Discovery_Channel_logo.png/revision/latest/scale-to-width-down/200?cb=20141027100430",Discovery Channel https://vips-livecdn.fptplay.net/hda2/discovery_vhls.smil/chunklist_b5000000.m3u8 #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/DISCOVERY-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="discoveryasiahd" group-title="🇧🌎🇽", tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Discovery_Asia_logo.svg/1200px-Discovery_Asia_logo.svg.png",Discovery Asia http://vips-livecdn.fptplay.net/hda2/discoveryasia_vhls.smil/chunklist_b5000000.m3u8 #http://livecdn.fptplay.net/qnetlive/discoveryasia_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="ngchd" group-title="🇧🌎🇽", tvg-logo="https://i.natgeofe.com/n/e76f5368-6797-4794-b7f6-8d757c79ea5c/ng-logo-2fl.png",National Geographic https://vips-livecdn.fptplay.net/hda2/natgeohd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="ngwhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Nat_Geo_Wild_logo.png/1200px-Nat_Geo_Wild_logo.png",Nat Geo WILD http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/NATGEOWILD-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="Blue blueantent" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/7/78/Blue_ant_entertainment_logo.png",Blue Ant Entertainment https://vips-livecdn.fptplay.net/hda1/blueantent_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="blueantext" group-title="🇧🌎🇽", tvg-logo="https://upload.wikimedia.org/wikipedia/commons/d/d3/Blue_ant_extreme_logo.png",Blue Ant Extreme https://vips-livecdn.fptplay.net/hda1/blueantext_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="afnhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Asian_Food_Network.svg/1200px-Asian_Food_Network.svg.png",Asian Food Network https://vips-livecdn.fptplay.net/hda1/afchd_vhls.smil/chunklist_b5000000.m3u8 #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/AFC-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="animalhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/2018_Animal_Planet_logo.svg/1200px-2018_Animal_Planet_logo.svg.png",Animal Planet http://vips-livecdn.fptplay.net/hda2/animalplanet_vhls.smil/chunklist_b5000000.m3u8 #http://livecdn.fptplay.net/qnetlive/animalplanet_2000.stream/chunklist.m3u8 #EXTINF:0 tvg-id="tlchd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/TLC-Logo_2016.png/800px-TLC-Logo_2016.png",TLC https://vips-livecdn.fptplay.net/hda2/travelliving_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="outdoorhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Outdoor_Channel_logo_2017.svg/1280px-Outdoor_Channel_logo_2017.svg.png",Outdoor Channel https://vips-livecdn.fptplay.net/hda1/outdoorfhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="dmaxhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/DMAX_-_Logo_2016.svg/1200px-DMAX_-_Logo_2016.svg.png",Dmax https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/FOXSPORT2-SD-720p/playlist.m3u8 #EXTINF:0 tvg-id="fashionhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Fashion_TV_logo.svg/1200px-Fashion_TV_logo.svg.png",Fashion TV http://vips-livecdn.fptplay.net/hda2/fashiontvhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="kix" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/KIX_logo.svg/1200px-KIX_logo.svg.png",KIX https://vips-livecdn.fptplay.net/hda1/kixhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="channelvhd" group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Channel_V_Logo.svg/892px-Channel_V_Logo.svg.png",Channel [V] http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/CHANNELV-HD-1080p/chunks.m3u8 #EXTINF:0 group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/en/1/1d/Love_Nature_TV.png",Love Nature http://bamus-eng-roku.amagi.tv/playlist1080p.m3u8 #https://bamus-eng-roku.amagi.tv/playlist.m3u8 #EXTINF:0 group-title="🇧🌎🇽" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/HGTV_US_Logo_2015.svg/1200px-HGTV_US_Logo_2015.svg.png",HGTV #http://5.101.140.110:8000/play/a01k/index.m3u8 #EXTINF:0 group-title="🇧🌎🇽" tvg-logo="https://www.nasa.gov/sites/default/files/images/nasaLogo-570x450.png",Nasa TV http://ntv1.akamaized.net/hls/live/2014075/NASA-NTV1-HLS/master_2000.m3u8 #EXTINF:0 group-title="🇧🌎🇽" tvg-logo="https://logos-download.com/wp-content/uploads/2016/09/Red_Bull_TV_logo.png",Red Bull https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_6660.m3u8 #EXTINF:0 group-title="🇧🌎🇽" tvg-logo="https://media4.giphy.com/media/26hirKDWxy7WcdU5i/200.gif",🥊FC https://live-k2301-kbp.1plus1.video/sport/smil:sport.smil/chunklist_b6000000.m3u8 #https://live-k2302-kbp.1plus1.video/sport/smil:sport.smil/chunklist_b6000000.m3u8 #EXTINF:0 group-title="🇧🌎🇽", tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/3/3e/RACING.COM_logo_2016.svg/1200px-RACING.COM_logo_2016.svg.png",Racing.com https://racingvic-i.akamaized.net/hls/live/598695/racingvic/1500.m3u8 #EXTM3U #EXTINF:0 tvg-id="animaxhd" group-title="🐣| Kid" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/6f/Animax.png",Animax https://vips-livecdn.fptplay.net/hda3/animaxport_vhls.smil/chunklist_b5000000.m3u8 #https://livecdn.fptplay.net/hda3/animaxport_2000.stream/chunklist_b250000.m3u8 #EXTINF:0 tvg-id="cbeebies" group-title="🐣| Kid" tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/1/16/CBeebies.svg/1200px-CBeebies.svg.png",BBC Cbeebies https://vips-livecdn.fptplay.net/hda3/cbeebies_vhls.smil/chunklist_b5000000.m3u8 #https://livecdn.fptplay.net/hda3/cbeebies_2000.stream/chunklist.m3u8 #EXTINF:0 tvg-id="baby_first" group-title="🐣| Kid" tvg-logo="https://upload.wikimedia.org/wikipedia/tr/b/b1/Babyfirst.png",Baby First https://vips-livecdn.fptplay.net/hda1/babyfirst_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="baby_tv" group-title="🐣| Kid" tvg-logo="https://upload.wikimedia.org/wikipedia/en/4/45/BabyTV.png",Baby TV https://vips-livecdn.fptplay.net/hda3/babytvhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="boomerang" group-title="🐣| Kid" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/6/68/Boomerang_2000_Alt_2.svg/revision/latest/top-crop/width/300/height/300?cb=20160522194334",Boomerang https://vips-livecdn.fptplay.net/hda3/boomerang_vhls.smil/chunklist_b5000000.m3u8 #http://livecdn.fptplay.net/qnetlive/boomerang_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="cartoonhd" group-title="🐣| Kid" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/1200px-Cartoon_Network_2010_logo.svg.png",Cartoon Network https://vips-livecdn.fptplay.net/hda3/cartoonnetworkhd_vhls.smil/chunklist_b5000000.m3u8 #https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/CARTOON-SD/playlist.m3u8 #EXTINF:0 tvg-id="davinci" group-title="🐣| Kid" tvg-logo="https://static.wikia.nocookie.net/tvfanon6528/images/5/54/Da_Vinci_Learning_%282019-.n.v.%29.png/revision/latest?cb=20191031124005",Da Vinci https://vips-livecdn.fptplay.net/hda2/davincihd_vhls.smil/chunklist_b5000000.m3u8 #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/DAVINCY-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="dreamworks" group-title="🐣| Kid" tvg-logo="https://static.wikia.nocookie.net/dreamworks/images/4/4b/DreamWorks_Animation_SKG_logo_with_fishing_boy.svg_%282016%29.png/revision/latest/top-crop/width/360/height/360?cb=20171127143327",DreamWorks https://vips-livecdn.fptplay.net/hda3/dreamworks_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 group-title="🐣| Kid" tvg-logo="https://static.wikia.nocookie.net/moviefanon/images/8/8b/CNC-Logo.png/revision/latest?cb=20180506195202",Disney Channel https://qlobbidev.s.llnwi.net/bpk-tv/DISNEYCHANNEL/hls/DISNEYCHANNEL-audio_128052_und=128000-video=2900000.m3u8 #EXTINF:0 group-title="🐣| Kid" tvg-logo="https://static.wikia.nocookie.net/disney/images/8/83/Disney_Junior_Logo.png/revision/latest?cb=20180904084738",Disney Junior https://qlobbidev.s.llnwi.net/bpk-tv/DISNEYJUNIOR/hls/DISNEYJUNIOR-audio_129224_spa=128000-video=2900000.m3u8 #EXTM3U #EXTINF:0 tvg-id="hbohd" group-title="📽︎| MOVIE" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/3/30/HBO_%28Metallic%29.png/revision/latest/scale-to-width-down/250?cb=20190715122142",HBO http://vips-livecdn.fptplay.net/hda1/hbo_vhls.smil/chunklist_b5000000.m3u8?bycoca #EXTINF:0 tvg-id="cinemaxhd" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/f/f0/611-cinemax.png",Cinemax http://vips-livecdn.fptplay.net/hda1/cinemax_vhls.smil/chunklist_b5000000.m3u8?bycoca #EXTINF:0 tvg-id="warnertvhd" group-title="📽︎| MOVIE" tvg-logo="https://i.pinimg.com/originals/79/42/27/7942275bccc3ba8a635b9d88d34efdd1.png",Warner Bros http://vips-livecdn.fptplay.net/hda3/warnertv_vhls.smil/chunklist_b5000000.m3u8 #http://livecdn.fptplay.net/qnetlive/warnertv_hls.smil/chunklist_b2500000.m3u8 #EXTINF:0 tvg-id="axnhd" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/1200px-AXN_logo_%282015%29.svg.png",AXN http://vips-livecdn.fptplay.net/hda3/axnhd_vhls.smil/chunklist_b5000000.m3u8 #http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/AXN-HD-1080p/playlist.m3u8 #EXTINF:0 tvg-id="cinemaworldhd" group-title="📽︎| MOVIE" tvg-logo="https://cinemaworld.asia/wp-content/uploads/2019/11/CMW-gold-logo-for-website-loading.png",Cinema World https://vips-livecdn.fptplay.net/hda2/cinemawork_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:0 tvg-id="paramouthd" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/f/fe/Paramount_Pictures_2021.svg/1200px-Paramount_Pictures_2021.svg.png",Paramount #https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/PARAMOUNT-HD-720p/playlist.m3u8 #EXTINF:0 group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/en/1/12/%26flix_logo.png",&Flix https://f8e7y4c6.ssl.hwcdn.net/andflixhd/index.m3u8 #https://y5w8j4a9.ssl.hwcdn.net/andflixhd/tracks-v1a1/index.m3u8 #EXTINF:0 group-title="📽︎| MOVIE" tvg-logo="https://i.imgur.com/HsJxaBv.png",&Privé https://f8e7y4c6.ssl.hwcdn.net/andprivehd/index.m3u8 #https://y5w8j4a9.ssl.hwcdn.net/andprivehd/tracks-v1a1/index.m3u8 #EXTINF:0 group-title="📽︎| MOVIE" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/2/2c/%26pictures.svg/revision/latest/scale-to-width-down/300?cb=20201011095253",&Pictures https://f8e7y4c6.ssl.hwcdn.net/andpicssd/playlist.m3u8 #EXTINF:0 group-title="📽︎| MOVIE" tvg-logo="https://celestial.show/wp-content/uploads/2021/04/logo-1.png",Celestial Movies http://50.7.161.82:8278/streams/d/celestial_pye/playlist.m3u8 #http://50.7.161.82:8278/streams/d/Celestial/playlist.m3u8 #EXTINF:0 tvg-id="hbohd-asia" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/800px-HBO_logo.svg.png",HBO (Asia) #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="Vietnamese" https://liveorigin01.hbogoasia.com:8443/origin/live/main/HBO/index.m3u8 #EXTINF:0 tvg-id="redbyhbohd-asia" group-title="📽︎| MOVIE" tvg-logo="https://static.wikia.nocookie.net/logopedia/images/7/70/REDBYHBO.png/revision/latest/scale-to-width-down/340?cb=20160516085732",Red by HBO (Asia) #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="Vietnamese" #https://liveorigin01.hbogoasia.com:8443/origin/live/main/RED/index.m3u8 #EXTINF:0 tvg-id="cinemaxhd-asia" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/c/c6/HBO_Cine%2C_fanmade_del_logo_de_Cinemax.png",HBO Cine (Asia) https://livecdn.fptplay.net/hda1/cinemax_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="cinemaworldhd" group-title="📽︎| MOVIE" tvg-logo="https://i.imgur.com/gHCOcuF.png",Cinema World HD #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="Vietnamese" https://liveorigin01.hbogoasia.com:8443/origin/live/main/MAX/index.m3u8 #EXTINF:0 tvg-id="hbofamilyhd-asia" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/d/d2/HBO_Family_Asia_logo.svg/1200px-HBO_Family_Asia_logo.svg.png",HBO Family (Asia) #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="English" https://liveorigin01.hbogoasia.com:8443/origin/live/main/FAMILY/index.m3u8 #EXTINF:0 tvg-id="hbohitshd-asia" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/en/f/fc/HBOHits-ASIA.png",HBO Hits (Asia) #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="English" https://liveorigin01.hbogoasia.com:8443/origin/live/main/HITS/index.m3u8 #EXTINF:0 tvg-id="hbosignaturehd-asia" group-title="📽︎| MOVIE" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/a/af/HBO_Signature_Asia.png",HBO Signature (Asia) #EXT-X-STREAM-INF:BANDWIDTH=687256,AVERAGE-BANDWIDTH=687256,CODECS="avc1.640015,mp4a.40.2",PROGRAM-ID=1,RESOLUTION=1920x1080,AUDIO="audiod",SUBTITLES="English" https://liveorigin01.hbogoasia.com:8443/origin/live/main/SIG/index.m3u8 #EXTINF:-1 tvg-id="vovtv" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/133s2Sc.png",VOV TV | Đài Tiếng nói Việt Nam #EXTVLCOPT:http-user-agent=(_._) https://livecdn.fptplay.net/sdc/vovtvsd_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="vovtv" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/SReog1U.png",VOV TV HD | Đài Tiếng nói Việt Nam #EXTVLCOPT:http-user-agent=(_._) http://103.90.220.236/vovlive/tv1live.m3u8 #EXTINF:-1 tvg-id="antvhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/kHZtzZw.png",ANTV | Truyền hình Công an Nhân Dân #EXTVLCOPT:http-user-agent=(_._) https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/ANTV-SD-ABR/HTV-ABR/ANTV-SD-720p/playlist.m3u8 #EXTINF:-1 tvg-id="antvhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.ibb.co/FBJKgSG/89.png",ANTV HD | Truyền hình Công an Nhân Dân #EXTVLCOPT:http-user-agent=(_._) https://livecdn.fptplay.net/hda2/anninhtv_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="quochoi" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/G154n6j.png",Truyền hình Quốc Hội #EXTVLCOPT:http-user-agent=(_._) https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/QUOCHOI-SD-ABR/HTV-ABR/QUOCHOI-SD-720p/playlist.m3u8 #EXTINF:-1 tvg-id="quochoi" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/G154n6j.png",Truyền hình Quốc Hội HD #EXTVLCOPT:http-user-agent=(_._) https://livecdn.fptplay.net/hda1/quochoivn_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="qpvnhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/xtA4AlV.png",QPVN | Quốc Phòng Việt Nam #EXTVLCOPT:http-user-agent=(_._) https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/QPTV-SD-ABR/HTV-ABR/QPTV-SD-720p/playlist.m3u8 #EXTINF:-1 tvg-id="qpvnhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/xtA4AlV.png",QPVN HD | Quốc Phòng Việt Nam #EXTVLCOPT:http-user-agent=(_._) https://livecdn.fptplay.net/hda1/quocphongvnhd_vhls.smil/chunklist_b5000000.m3u8 #EXTINF:-1 tvg-id="nhandan" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.ibb.co/7JJ3WQP/ndtv.png",Nhân Dân TV #EXTVLCOPT:http-user-agent=(_._) https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/NHANDAN-SD-ABR/HTV-ABR/NHANDAN-SD-720p/playlist.m3u8 #EXTINF:-1 tvg-id="nhandan" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.ibb.co/7JJ3WQP/ndtv.png",Nhân Dân TV HD #EXTVLCOPT:http-user-agent=(_._) https://livecdn.fptplay.net/sdc/truyenhinhnhandan_hls.smil/chunklist_b2500000.m3u8 #EXTINF:-1 tvg-id="ttxvnhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/AAWIPHz.png",VNews | Thông Tấn Xã Việt Nam #EXTVLCOPT:http-user-agent=(_._) https://htv-drm-live-cdn.fptplay.net/CDN-FPT02/TTXVN-SD-ABR/HTV-ABR/TTXVN-SD-720p/playlist.m3u8 #EXTINF:-1 tvg-id="ttxvnhd" group-title="Kênh Chuyên Biệt" tvg-logo="https://i.imgur.com/AAWIPHz.png",VNews HD | Thông Tấn Xã Việt Nam #EXTVLCOPT:http-user-agent=(_._) http://livecdn.fptplay.net/hda2/ttxvn_vhls.smil/chunklist_b5000000.m3u8
devforth / ScriptimateOpenSource SVG animation tool: Animate qualitative SVG files (e.g. exported from Figma or any other vector image editor) with simple scripting language and compile them into WEBM/MP4/GIF
bermufine / Dcmp{"categories":[{"name":"Movies","videos":[{"description":"La Radio-Télévision nationale congolaise est créée en 1945. Elle prend le nom de « Office zaïrois de radiodiffusion et de télévision (OZRT) » à l'époque du Zaïre de 1971 à 1997, elle était d'ailleurs la seule agence zaïroise à diffuser sur les ondes hertziennes depuis la loi de 1972. Elle a pris son nom actuel le 17 mai 1997, à la suite de l'arrivée au pouvoir d'AFDL, le parti de Laurent-Désiré Kabila.","sources":["http://178.33.237.146/rtnc1.m3u8"],"subtitle":"By Radio Télévision Nationale Congolaise","thumb":"https://od.lk/s/M18yNDU0Njk2MjZf/RTNC.jpegg","title":"RTNC"},{"description":"Tele Congo est une chaine nationale du congo brazza en diffusant des emissions, informations, sports, theatres, musique et autres....","sources":["https://stream.mmsiptv.com/droid/rtnc/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODYwMjFf/telecongo.jpg","title":"TELE CONGO TV / BRAZZAVILLE"},{"description":"Bein Sports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MzBf/beinone.png","title":"BEIN SPORT 1 / SPORTS"},{"description":"Bein Sport 2 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MThf/beintwo.png","title":"BEIN SPORT 2 / SPORTS"},{"description":"Bein Sport 3 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/bein3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4MDZf/beintree.png","title":"BEIN SPORTS 3 / SPORTS"},{"description":"La Radio-Télévision nationale congolaise est créée en 1945. Elle prend le nom de « Office zaïrois de radiodiffusion et de télévision (OZRT) » à l'époque du Zaïre de 1971 à 1997, elle était d'ailleurs la seule agence zaïroise à diffuser sur les ondes hertziennes depuis la loi de 1972. Elle a pris son nom actuel le 17 mai 1997, à la suite de l'arrivée au pouvoir d'AFDL, le parti de Laurent-Désiré Kabila.","sources":["https://stream.mmsiptv.com/droid/rtnc/playlist.m3u8"],"subtitle":"By Radio Télévision Nationale Congolaise","https://od.lk/s/M18yNDU0Nzc4NDZf/rtnc3.png","title":"RTNC 1 / RDC (lien2)"},{"description":"Canal Plus Sports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/cpsport/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODczMzhf/canalsport.png","title":"CANAL + 1 / SPORTS"},{"description":"Canal Plus Sports 2 est une chaine televisee sportives.","sources":["https://stream.mmsiptv.com/droid/cplus/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODczMzlf/canalsporttwoo.jpg","title":"CANAL + 2 / SPORTS"},{"description":"RMC 1 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2MjBf/rmcone.png","title":"RMC 1 / SPORTS"},{"description":"RMC 2 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2MzVf/rmctwo.png","title":"RMC 2 / SPORTS"},{"description":"RMC 3 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2NDVf/rmctree.png","title":"RMC 3 / SPORTS"},{"description":"RMC 4 est une chaine televisee sportuive","sources":["https://stream.mmsiptv.com/droid/rmc4/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODc2NTFf/rmcfour.png","title":"RMC 4 / SPORTS"},{"description":"EuroSports 1 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/eurosport2/playlist.m3u"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxOTlf/eurone.png","title":"EUROSPORTS 1 / SPORTS"},{"description":"EuroSports 2 est une chaine televisee sportives","sources":["https://stream.mmsiptv.com/droid/eurosport1/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxNTdf/eurotwo.jpg","title":"EUROSPORTS 2 / SPORTS"},{"description":"EuroSports 3 est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/eurosport1.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODgxODJf/eurotree.jpg","title":"EUROSPORTS 3 / SPORTS"},{"description":"EuroSports 4 est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/es-eurosport2.stream/playlist.m3u8"],"subtitle":"By Channel","https://od.lk/s/M18yNTkxODgxMzJf/eurofour.png","title":"EUROSPORTS 4 / SPORTS"},{"description":"L'Equipe est une chaine televisee sportives emettant en France","sources":["https://stream.mmsiptv.com/droid/equipe/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg0ODhf/equipe.png","title":"L'EQUIPE TV / SPORTS"},{"description":"Sky Sport est une chaine televisee sportives","sources":["http://stream.tvtap.live:8081/live/skysports-premier-league.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg2MjNf/skysport.jpg","title":"SKY SPORTS / SPORTS"},{"description":"Azam Sports 1 Tanzanie est l'une des chaines privées que l'on retrouve en tanzanie, possédant des émissions Sportives variées","sources":["https://1446000130.rsc.cdn77.org/1446000130/index.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1NzQwMjJf/azam.jpg","title":"AZAM SPORTS / TANZANIA"},{"description":"ADSPORTS 1 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn1.cdn.mangomolo.com/adsports1/smil:adsports1.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg4OTlf/adone.jpg","title":"ADSPORTS 1 / SPORTS"},{"description":"ADSPORTS 2 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn5.cdn.mangomolo.com/adsports2/smil:adsports2.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg5MjFf/adtwo.jpg","title":"ADSPORTS 2 / SPORTS"},{"description":"ADSPORTS 3 est une chaine televisee sportives emettant a Dubai","sources":["http://admdn3.cdn.mangomolo.com/adsports3/smil:adsports3.stream.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODg5NTBf/adtree.jpg","title":"ADSPORTS 3 / SPORTS"},{"description":"MAV TV est une chaine televisee sportives emettant a Dubai","sources":["https://mavtv-mavtvglobal-1-gb.samsung.wurl.com/manifest/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODkzNTZf/mavtv.png","title":"MAV TV / SPORTS"},{"description":"NollyWood TV est une chaine televisee qui diffuse que des film et series Africains surtout beaucoup plus nigerians","sources":["https://stream.mmsiptv.com/droid/nollywoodfr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODk3MDhf/nollywood.jpg","title":"NOLLYWOOD TV / NOVELAS"},{"description":"AfricaWood TV est une chaine televisee qui diffuse que des film et series Africains surtout beaucoup plus nigerians","sources":["https://stream.mmsiptv.com/droid/africawood/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1Nzc2ODJf/vision4.jpg","title":"AFRICAWOOD TV / NOVELAS"},{"description":"NOVELAS TV 1 est une chaine televisee qui diffuse que des series mexicaines, bresiliens, phillipinesn et autres....","sources":["https://stream.mmsiptv.com/droid/novelas/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxOTAwMDFf/novelasone.jpg","title":"NOVELAS TV 1 / SERIE"},{"description":"RTI 2 est une chaine televisee ivoiriens qui diffuse que des informations, musiques, series mexicaines, bresiliens, phillipinesn et autres....","sources":["https://stream.mmsiptv.com/droid/rti2/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTkxODU4NDdf/rtid.jpg","title":"RTI 2 / COTE D'IVOIRE"},{"description":"NOVELAS TV est la chaine qui diffuset des Series Mexicaines, Philipiennes et Bresiliennes....","sources":["https://stormcast-telenovelatv-1-fr.samsung.wurl.com/manifest/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjA4MDVf/novelastv.jpg","title":"NOVELAS TV{"description":"NW INFOS est la chaine du togo en diffusant des Informations Emissions et autres....","sources":["https://hls.newworldtv.com/nw-info/video/live_1024x576.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY0NzNf/nwInfos.jpg","title":"NW INFOS TV / TOGO"},{"description":"NW Muzik est la chaine du togo en diffusant des musiques Africaine et autres....","sources":["https://hls.newworldtv.com/nw-muzik/video/live_1024x576.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY0NTZf/nwMuzik.webp","title":"NW MUZIK TV / TOGO"},{"description":"Al Hadath est la chaine du Lybie en diffusant des Emissions ainsi que des infos, musique et autres....","sources":["https://master.starmena-cloud.com/hls/hd.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjcxNDBf/alhad.png","title":"AL HADATH TV / LYBIE"},{"description":"Vox Of Africa est la chaine des americains qui emette a Brazzaville en diffusant des informations et autres....","sources":["https://voa-lh.akamaihd.net/i/voa_mpls_tvmc3_3@320295/master.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNTQyMjY1NDFf/VOX_AFRICA.jpg","title":"VOX OF AFRICA TV"},{"description":"Resurrection TV est l'une des chaines privées Chretienne que l'on retrouve dans la ville d'ACCRA, possédant des émissions variées","sources":["http://rtmp.ottdemo.rrsat.com/rrsatrtv1/rrsatrtvmulti.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://od.lk/s/M18yNDg1NzczODRf/mychannel.jpg","title":"RESURRECTION TV / GHANA"},{"description":"CDIRECT TV est la chaîne une chaîne généraliste présente une vitrine positive du Congo, conçoit des programmes inédits et innovants qui s'adressent aux congolais résidents, la diaspora congolaise, ainsi qu'à l'ensemble des africains francophones à travers le monde entier. Sa ligne éditoriale est axée sur les deux Congo décomplexé, un Congo qui va de l'avant et gagne !.","sources":["http://cms-streamaniak.top/Cdirect/CDIRECT/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdirect.tv/assets/img/logo-cdirect.ico","title":"CDIRECT TV / Kinshasa-Brazzaville"},{"description":"DBM TV ou digital black Music est une Chaîne TV à thématique musicale, DBM a pour vocation de révéler et promouvoir la musique Afro Urbaine, qu’elle soit d’Afrique ou d’ailleurs info@dbm-tv.com. .","sources":["https://dbmtv.vedge.infomaniak.com/livecast/smil:dbmtv.smil/manifest.m3u8"],"subtitle":"By Channel","thumb":"https://www.dbm-tv.fr/wp-content/uploads/2017/12/logo-dbm.png","title":"DBM TV / Music "},{"description":"La LUMIÈRE, ministère Chrétien pour annoncer l’évangile de Jésus Christ partout dans le monde, toucher changer et sauver des vies par la puissance de la parole de DIEU avec des enseignements prédications adorations louanges partages de prières, d’exhortations et de témoignages","sources":["https://video1.getstreamhosting.com:1936/8248/8248/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.shortpixel.ai/client/q_glossy,ret_img,w_124,h_124/https://telepack.net/wp-content/uploads/2020/05/lumiere-tv.png","title":"La Lumiere TV / Gospel"},{"description":"La Télévision Togolaise (TVT) est le nom de l'unique chaîne de télévision publique togolaise, Crée depuis 1979.","sources":["http://54.38.92.12/tvt.m3u8"],"subtitle":"By Google","thumb":"https://amp.live-tv-channels.org/pt-data/uploads/logo/tg-tv.jpg","title":"Télévision Togolais"},{"description":"CRTV est un service de radio et de télévision contrôlé par le gouvernement au Cameroun. Cela a commencé sous le nom de Cameroon Television (CTV) et a ensuite fusionné avec le service de radio pour devenir CRTV. Il couvre l'ensemble des dix régions du Cameroun, ce qui en fait le diffuseur indomptable parmi plusieurs chaînes de télévision privées du pays. Sa couverture des événements est généralement considérée comme pro-gouvernementale. Les programmes de la CRTV comprennent des documentaires, des magazines, des analyses d'actualités et des séries importées d'Asie et du Brésil..","sources":["http://178.33.237.146/crtv.m3u8"],"subtitle":"By Channel","thumb":"http://www.cameroonconcordnews.com/wp-content/uploads/2018/03/CRTV-new.jpg","title":"Cameroune Radio Télévision"},{"description":"Impact TV c'est une premiere Chaine televisee chretienne diffusant au Burkina-Fasso sur satelite innauguree le 07/03/2008 par Marie Sophie.","sources":["https://edge10.vedge.infomaniak.com/livecast/impacttele/chunklist_w973675047.m3u8"],"subtitle":"By Channel","thumb":"https://i1.wp.com/www.livetvliveradio.com/wp-content/uploads/2017/07/impact-tv.jpg?fit=259%2C194","title":"Impact TV / Burkina Fasso"},{"description":"Kigali Channel 2 ( Là pour vous) est une chaine televisee Rwandaise emmetant a Kigali. KC2 se diversite par sa diffusion des emitions exceptionnelle ainsi que des films nouveautes et plein d'autres.","sources":["https://5c46fa289c89f.streamlock.net/kc2/kc2/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcQfQjI8jUhMPReWg0MOdw1xpAAXMP7YAuZKBg&usqp=CAU","title":"KC2 TV / Rwanda"},{"description":"Equinox est une chaîne de télévision basée au Cameroun. Peu de temps après son lancement, il est devenu l'un des critiques les plus virulents du régime de Paul Biya. La station était connue pour avoir diffusé des images en direct d'une manifestation politique contre le changement constitutionnel au Cameroun qui favorisait le maintien au pouvoir du président Biya après 2011, alors qu'il lui était interdit par la Constitution de se présenter à nouveau. La télévision appartient au magnat des affaires de la région ouest du Cameroun, Severin Tchounke, qui possède également un quotidien critique, La Nouvelle Expression.","sources":["http://178.33.237.146/equinoxetv.m3u8"],"subtitle":"By Channel","thumb":"https://camer-press.com/wp-content/uploads/2020/04/Equinoxe-Tv.jpg","title":"Equinoxetv"},{"description":"Rwanda Télévision (RTV) est la premiere chaîne public du Rwanda qui fournit des informations et des divertissements quotidiens au public rwandais en trois langues: anglais, français et kinyarwanda géré par l'industrie de la télévision rwandaise , mais ce derniere est composée de 12 chaînes de télévision dont 84% télévisions sont détenues par des privés (10 sur 12) tandis que 8% appartiennent respectivement à des organisations publiques et religieuses. L'Agence nationale de radiodiffusion rwandaise.","sources":["https://5c46fa289c89f.streamlock.net/rtv/rtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://maps.prodafrica.com/wp-content/uploads/2020/03/10191_RBA_002.png","title":"RTV"},{"description":"IBN TV est un radiodiffuseur islamique de télévision et de radio qui transmet IBN TV et Radio Maarifa de Dar es Salaam et Tanga respectivement. Il a été crée sous la direction de la Fondation Al Itrah et a été diffusé officiellement depuis Mars 2003. IBN TV est un média privé qui a commencé après la libéralisation de l’industrie des médias en Tanzanie. IBN TV est la première chaîne islamique en Tanzanie. Il couvre presque toute la région de Dar es Salaam, Tanga, Arusha et Mwanza. IBN TV diffuse en quatre langues différentes, à savoir l’anglais, le swahili, le gujarati et l’ourdou.","sources":["http://138.68.138.119:8080/low/5a8993709ea19/index.m3u8"],"subtitle":"By Channel","thumb":"http://www.alitrah.co.tz/wp-content/uploads/sites/3/2015/10/ibntvafrica.png","title":"IBN TV"},{"description":"RTB est une chaîne de télévision publique générale dirigée par l’Établissement public d’État. Son siège social est situé dans la capitale du Burkina Faso, à Ouagadougou. Il est diffusé en direct à la télévision terrestre et sur Internet. Cette chaîne africaine diffuse des nouvelles télévisées en Français. Mais en général, les flashs de nouvelles sont dans la langue nationale comme Lobiri, Bwamu, Gulmancéma ainsi que Bissa. RTB offre un programme avec de nombreux magazines sur le sport, l’économie, la culture, la santé et la jeunesse.","sources":["https://edge8.vedge.infomaniak.com/livecast/ik:rtbtvlive1/manifest.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/en/c/c0/RTB_Sukmaindera.png","title":"Radio Television Burkina Fasso"},{"description":"Eri-TV est une chaîne de télévision érythréenne appartenant à l'État. Basée dans la capitale du pays, Asmara, elle diffuse 24 heures sur 24. La station propose des bulletins d'information 24 heures sur 24, des émissions-débats et des programmes culturels et éducatifs. Eri-TV a une large base d'audience en dehors de l'Érythrée, que la chaîne publique reconnaît et utilise pour communiquer avec les Érythréens vivant à l'étranger. Le réseau compte environ 1 à 2 millions de téléspectateurs par semaine. Eri-TV reconnaît la culture minoritaire érythréenne et a largement adopté un partage de temps égal entre chacune des langues parlées du pays.","sources":["http://217.182.137.206/eri.m3u8"],"subtitle":"By Channel","thumb":"https://eri.tv/images/eri-tv-live.png","title":"ERITRIE TV"},{"description":"Créée au Sénégal par le GROUPE D-MEDIA, SENTV, 1ère Chaîne Urbaine au Sénégal, consacre sa programmation au traitement de l'actualité nationale et internationale et à la culture urbaine sénégalaise et africaine en générale. Elle émet sur hertzien depuis 2009 et est désormais disponible sur satellite via le bouquet Canal + Afrique et les bouquets IPTV à l'international. Une chaîne généraliste et orientée urbaine, constituant ainsi une offre originale et unique au Sénégal. Une part importante de ses programmes est constituée par des rendez-vous d’actualité sur une rythmique quotidienne et des émissions phares orientées Société et Divertissement.","sources":["http://46.105.114.82/tfm_senegal.m3u8"],"subtitle":"By Channel","thumb":"https://www.xalat.info/wp-content/uploads/2019/02/maxresdefault-2.jpg","title":"SENEGAL TV"},{"description":"RTB diffuse des emissions ainsi que les Sports, Musique, Culture et Films d'Action.","sources":["http://46.105.114.82/rtb1.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/bf-rtb-tv-8682.jpg","title":"RTB"},{"description":"LEEEKO est un ensemble de médias web radio et tv, créé le 1er Decembre 2016 par Serges OLUBI, passionné de musiques. LEEEKO diffuse une diversité des musique telsque: Rhumba, Zouk, Ndombolo, Rnb, Classic, Jazz et autres à travers l'Afrique.","sources":["http://livetvsteam.com:1935/leeeko/leeeko/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/c9/76/95/c9769524-8604-49ac-108e-efca1d025a99/source/512x512bb.jpg","title":"LEEKO MUSIQUE TV"},{"description":"La Radio Télévision Guinéenne (RTG), l’un des premiers organes de presse public du pays, est absente dans plusieurs villes de l’intérieur du pays. Et ce après 42 ans depuis sa création. Par endroits, les signaux de la RTG sont totalement absents depuis plusieurs années. Par contre, dans certaines préfectures, malgré la réception des signaux, faute d’énergie, les populations sont privées des émissions de la RTG, a-t-on constaté.","sources":["http://178.33.237.146/rtg.m3u8"],"subtitle":"By Blender Channel","thumb":"http://maliactu.info/wp-content/uploads/2019/08/rtg-radio-television-guineenne.png","title":"Radio Television Guinéenne "},{"description":"MTA Africa 1 (anciennement MTA Africa) est la quatrième chaîne de télévision par satellite du réseau MTA International. Il a été lancé début août 2016, diffusant spécifiquement pour les téléspectateurs africains, à travers l'Afrique et l'Europe. La chaîne a été créée sous les auspices de Mirza Masroor Ahmad, le chef spirituel de la communauté musulmane Ahmadiyya. MTA Africa est géré et financé volontairement par les Ahmadis.","sources":["https://ooyalahd2-f.akamaihd.net/i/mtaengaudio_delivery@138280/index_3000_av-p.m3u8"],"subtitle":"By Blender Channel","thumb":"https://pbs.twimg.com/profile_images/950498775893774338/XKhzDO2.jpg","title":"MTA AFRICA"},{"description":"L’Office de Radiodiffusion et Télévision du Bénin (ORTB) est le service public de l’audiovisuel du Bénin. C’est un établissement public à caractères social, culturel et scientifique doté de la personnalité morale et de l’autonomie financière. ORTB, pas sans vous !/ Tél: +229 21 30 00 48/ Whatsapp: +229 69 70 55 55/ Email: contact@ortb.bj","sources":["http://51.77.223.83/ortb.m3u8"],"subtitle":"By Channel","thumb":"https://www.lavoixduconsommateur.org/images/services/1533219563.jpg","title":"ORTB / Bénin"},{"description":"Dream Channel est une chaine télévisée ematant au cameroune qui diffuse de la musique de toutes tendances.","sources":["http://connectiktv.ddns.net:5000/dreamchannel/dreamchannel/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://connectik.tv/wp-content/uploads/2019/06/c1b45634-2f8c-47e7-8849-e6d7ea620465-300x169.jpg","title":"DREAM CHANNEL TV / Cameroune"},{"description":"Canal Algérie est la deuxième chaîne de télévision nationale grand public algérienne. La chaîne fait partie du groupe EPTV qui comprend également TV1, TV3, TV4, TV5, TV6 et TV7. C'est une chaîne francophone. La chaîne diffuse ses programmes 24h / 24 et 7j / 7 via différentes plateformes et partout dans le monde.","sources":["http://46.105.114.82/canal_algerie.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/Logo_Canal_Algerie.svg/800px-Logo_Canal_Algerie.svg.png","title":"Canal Algerie"},{"description":"Radio Télévision Sénegalaise est une station de radio diffusée sur le réseau de Radiodiffusion Télévision Sénégalaise (RTS1 HD) de Dakar, au Sénégal, fournissant des informations, des sports, des débats, des émissions en direct et des informations sur la culture ainsi que la musique.","sources":["http://46.105.114.82/rts1.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/VZyPxURRRo-C0lEWHggT8C-dDJvFNFTVxKrn1yKUNROoT85XnOl9VcmM5HFzyRDwvgs","title":"Radio Télévision Sénegalaise 1 HD"},{"description":"Kalsan est une chaîne de télévision Somalienne dont le siège est à Londres. Elle a commencé à diffuser en 2013. La chaîne est axée sur les Somaliens. La programmation est principalement axée sur les actualités et les divertissements.","sources":["http://cdn.mediavisionuae.com:1935/live/kalsantv.stream/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://xogdoonnews.net/wp-content/uploads/2017/11/kalsan-tv.jpg","title":"KALSAN TV / Somalie"},{"description":"One Africa Television est une chaine de television namibien crée en 2003 et couvrant à l'origine uniquement Windhoek, Rehoboth et Okahandja, One Africa Television a connu une croissance significative, avec son signal diffusé via 29 émetteurs analogiques à travers la Namibie. En 2013, One Africa Television a rejoint l'ère numérique, et la chaîne est depuis disponible sur le réseau de télévision numérique terrestre de la Namibian Broadcasting Corporation (Channel 301) ainsi que sur la plateforme DStv Namibia de MultiChoice (Channel 284) ainsi que sur le réseau numérique terrestre GoTV de MultiChoice. Président du groupe d'Africa Television, Paul van Schalkwyk, a été tué dans un accident d'avion le 10 mars 2014.","sources":["https://za-tv2a-wowza-origin02.akamaized.net/oneafrica/smil:oneafrica/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://neweralive.na/uploads/2016/11/Untitled-1.jpg","title":"ONE AFRICA TV / Namibia"},{"description":"VISION4 TV est une chaine television panafricanisme Camerounais crée en 2008. qui diffuse des Émissions hauts de gamme telsque : Afro Café, Matinale infos, le journal d'afrique, tour d'horizon, journal de 12, women's story, The 6h00 pm news, Let's talk, Meeting point le grand live, le grand journal de 20h, santé spirituelle, sport time, Arrêt majeur, Au cœur du mystère, parole d'artistes, Femme attitude, Panafritude, Rendez-vous santé, afro zik, Club d'élites, Plateau du Jaguar, Dimanche bonheur, face aux dinosaures. Vision 4 Le Groupe Anecdote Vision 4 TV, Satelite FM, Africa Express Siège social : Yaoundé - Cameroun (Nsam) Secrétariat PDG : Tel : +237 242 71 88 13 / Fax : +237 222 31 67 81 Service de l'information : Tel : +237 242 71 87 68 Yaoundé Centre B.P 25070 Cameroun","sources":["http://cdnamd-hls-globecast.akamaized.net/live/ramdisk/vision4/hls_video/index.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Vision_4.jpg/600px-Vision_4.jpg","title":"VISION 4"},{"description":"Nago TV is a Haitian television channel 100% devoted to music videos(Compass, Rap Creole, Racine).","sources":["http://haititivi.com:8088/haititv/tele6NY/index.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/GdAVtX7AU8834RaKoUC4c3itv2A_R1k8XATBf26G_IgQKnvxEtAew0cJOr_kWOpWkpY","title":"NAGO TV / Haiti"},{"description":"Lagos Television has been a trail blazer right from inception. Apart from being the first TV station outside the NTA family, the station took the Nigerian TV industry by storm in the early 80s with the introduction of a 60-hour non stop weekend from 7pm on Fridays till 7am on Mondays. The then Lagos weekend Television was the first marathon TV station in Africa. It’s unprecedented public approval transformed TV viewership especially within the Lagos precinct and brought a change in the call sign LTV/LWT.","sources":["http://185.105.4.193:1935/ltv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.lagostelevision.com/wp-content/uploads/2015/10/logo.png","title":"Lagos Television"},{"description":"Emmanuel TV is the television station of The Synagogue, Church Of All Nations, broadcasting 24/7 around the globe via satellite and on the internet. The purpose of Emmanuel TV is to preach the Good News to all mankind. That is what we are born for, living for and what we shall die for. Emmanuel TV is committed to changing lives, changing nations and changing the whole world through the Gospel of our Lord Jesus Christ. Jesus Christ is the inspiration behind Emmanuel TV; as such, God’s purpose is our purpose.","sources":["https://api.new.livestream.com/accounts/23202872/events/7200883/live.m3u8"],"subtitle":"By Channel","thumb":"https://scoan-website-emmanueltv.netdna-ssl.com/wp-content/blogs.dir/12/files/2016/09/emmanuel_tv_icon.png","title":"Emmanuel TV"},{"description":"Addis TV is a City Channel based in Addis Ababa, Ethiopia, which broadcasts News and Programs 24/7.","sources":["https://rrsatrtmp.tulix.tv/addis1/addis1multi.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://et.heytv.org/wp-content/uploads/2019/04/Addis-webtvonlive-com.jpg","title":"Addis TV / Ethiopia"},{"description":"Resurrection TV is a Christian based station aimed at uplifting your soul with an unadulterated word of God. it ensures a distinction between sin and righteousness.","sources":["http://rtmp.ottdemo.rrsat.com/rrsatrtv1/rrsatrtvmulti.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/9e/f5/ae/9ef5aeb5c1ddd05a20d27faaf5d9b931.jpg","title":"Résurrection TV/ Ghana"},{"description":"CTV frique est une television camerounaise basee a yaounde.","sources":["http://connectiktv.ddns.me:8080/ctv-africa/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/01/CTV-1-300x212.jpeg","title":"CTV AFRICA"},{"description":"BEL TV est une station de télévision haïtienne qui diffuse sur le web via diverses plateformes et par câble. Notre vision est de créer une télévision standard dont la qualité du programme est aussi instructive que divertissante. À cote de cette vision, BEL TV s’est fixé pour mission de promouvoir la Culture haïtienne, à savoir le Cinéma, la musique, la littérature et bien plus encore, ce à travers la Caraïbe et le monde entier. BEL TV c’est une toute autre façon de faire la télé.","sources":["http://connectiktv.ddns.me:8080/afriqueplustv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/07/NEW-LOGO0047_00000_00000-300x169.png","title":"AFRICA PLUS TV "},{"description":"1 ok.","sources":["http://connectiktv.ddns.me:8080/mygospel/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/mygospel-300x140.png","title":"MY GOSPEL TV"},{"description":"2 ok.","sources":["http://connectiktv.ddns.me:8080/media-prime/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myprime15-300x140.png","title":"MEDIA PRIME TV"},{"description":"3 ok.","sources":["http://connectiktv.ddns.me:8080/mymusic/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/mymusic1.png","title":"MY MUSIC TV "},{"description":"4 ok.","sources":["http://connectiktv.ddns.me:8080/mymovie-en/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myenglish-300x140.png","title":"MY MOVIE TV / English"},{"description":"5 ok.","sources":["http://connectiktv.ddns.me:8080/mymovie-fr/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/myfresh-300x140.png","title":"MY MOVIE TV / Francais"},{"description":"6 ok","sources":["http://connectiktv.ddns.me:8080/bikutsitv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/09/bikutsi-300x63.jpeg","title":"BIKUTSI TV"},{"description":"7 ok.","sources":["http://connectiktv.ddns.me:8080/cam10tv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/07/CAM10-REVUE.jpg","title":"CAM 10 TV / Cameroune"},{"description":"8 ok.","sources":["http://connectiktv.ddns.me:8080/leadergospel/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/leader-cable.jpg","title":"LEADER GOSPEL TV / Religion"},{"description":"9 ok.","sources":["http://connectiktv.ddns.me:8080/vstv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2020/05/VS-TV-300x168.jpg","title":"VS tv"},{"description":"10 0k.","sources":["http://connectiktv.ddns.me:8080/mytv/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/04/mytv-channel-hd-300x169.jpg","title":"MY TV CHANNEL"},{"description":"Radio Tele Puissance est une chaine chrétienne qui diffuse en direct des programmes chrétien avec des vidéos et des films Gospel de premier ordre, des documentaires. radio Tele Puissance est une station très divertissante..","sources":["https://video1.getstreamhosting.com:1936/8560/8560/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://radioendirect.net/assets/images/radio/item/119251.jpg","title":"Radio Tele Puissance"},{"description":"Christ live est une chaine télévision de divertissement chrétienne disponible sur le satellite.","sources":["https://raw.githubusercontent.com/exodiver/IPTV/master/M3U8/Token/Cliv.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/christ-tv_logo.jpg","title":"CHRIST TV / Religion"},{"description":"QTV Gambia is the First Private Television Station","sources":["https://player.qtv.gm/hls/live.stream.m3u8"],"subtitle":"By Channel","thumb":"https://standard.gm/wp-content/uploads/2020/08/QTV-696x495.jpg","title":"QTV / Gambia"},{"description":"TVM International, or TVM Internacional, is the international channel of Mozambique's national TV broadcaster, Televisão de Moçambique (TVM), broadcasting for 24 hours per day. The channel will showcase local programming featuring Mozambican culture, tourism and sports.","sources":["http://196.28.226.121:1935/live/smil:Channel2.smil/chunklist_b714000_slpor.m3u8"],"subtitle":"By Channel","thumb":"https://clubofmozambique.com/wp-content/uploads/2020/03/tvmint.rm.jpg","title":"TVM Internacional"},{"description":"K24 TV est une chaine de télévision généraliste Kényane fondée en 2007 basé à Longonot Place, P. O. Box 49640 Kijabe St Tél : +254 20 2124801. K24 TV diffuse sur la télévision terrestre et en streaming sur Dailymotion et sur son site internet..","sources":["https://raw.githubusercontent.com/exodiver/IPTV/master/M3U8/Token/K24.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/k24-tv_logo.jpg","title":"K24 TV / Kenya"},{"description":"Afrobeat tv is a division of kaycee records .Kaycee Records is an independent record label established in the United Kingdom, and Nigeria Owned by Kennedy Kesidi Richard from Oguta in Imo State Nigeria .Afro beat tv is the new musical innovation to promote African art and and as a platform to promote and create awareness for up coming African artist all around the globe","sources":["http://connectiktv.ddns.net:8080/afrobit/index.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/05/AFROBIT-png-300x168.png","title":"AFROBITS / Music"},{"description":"Dunamis International Gospel Centre (DIGC) Jos Central is a powerfully anointed church, where God's Presence and power are saving, healing and restoring human destinies and dignities! Located in Alheri, Jos, Plateau State with HQT in Abuja Nigeria. Dunamis (Doo'na-mis) is the Greek word that means POWER.","sources":["https://christianworld.ashttp9.visionip.tv/live/visiontvuk-religion-dunamistv-SD/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/ng-dunamis-tv-2163-300x225.jpg","title":"DUNAMIS TV / Religion"},{"description":"France tv sport, c’est d’abord l’actualité de TOUS les sports. De l’analyse en temps réel, du live ou encore des replays vidéo sont disponibles à tout moment. Enrichissez votre expérience et plongez au cœur de l'actualité du sport.","sources":["https://streamserv.mytvchain.com/sportenfrance/SP1564435593_720p/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://liberador.net/media/images/FranceTv_Sport.max-640x640.jpg","title":"SPORTS FRANCE TV"},{"description":"Darut Tarbiyah La télévision en direct du Réseau islamique de Trinité-et-Tobago Chaîne de télévision religieuse / Darut Tarbiyah Le Réseau islamique (T.I.N.) est une chaîne de télévision câblée locale de Trinité-et-Tobago diffusant des programmes islamiques. La station est transportée sur le canal 96 ou 116 sur le système de câble Flow Trinidad. DARUT TARBIYAH - LE RÉSEAU ISLAMIQUE. Darut Tarbiyah Drive, Ramgoolie Trace North, Cunupia, Trinidad Antilles. Tél: (868) 693-1722, 693-1393","sources":["http://162.244.81.145:2215/live/livestream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://theislamicnetwork.org/wp-content/uploads/musicpro/bd-uploads/logo_logo_TIN-Logo-White-Text.png","title":"THE ISLAMIC NETWORK"},{"description":"D Sports HD est une chaine qui se fcalise sur les Sports en General : WWE, BOX, Football: Ligue brésilienne, Super League chinoise, Ligue portugaise, Major League Soccer (USA) Courses hippiques: courses quotidiennes diffusées en direct du Royaume-Uni et d'Irlande Golf: British Open (The Open Championship), US Open, PGA Championship, LPGA Motorsports: NASCAR, Championnat du Monde de Rallycross FIA Rugby: 6 Nations Rugby Cyclisme: Tour de France (propriété d'Eurosport).","sources":["http://jiocgehub.jio.ril.com/Dsports_HD/Dsports_HD.m3u8?fluxustv.m3u8"],"subtitle":"By Channel","thumb":"https://kccl.tv/sites/default/files/dsportjpg.jpg","title":"D Sports TV"},{"description":"Africa Sports TV est la première chaîne francophone d’information en continue de sport en Afrique. C’est un média fédérateur des sports africains. On parle de compétition locales, des ligues nationales sur toutes les disciplines du continent, dont le basketball, le football, la lutte… Il y aura beaucoup de lutte, qui prend un essor important sur le continent. Il y a tout un lobby autour de la lutte. Africa Sports TV est disponible Sur Le Canal 56 de la BbOX – Sur Le Canal 614 du Bouquet Africain Max de TV ORANGE.","sources":["https://strhls.streamakaci.tv/str_africasportstv_africasportstv/str_africasportstv_multi/str_africasportstv_africasportstv/str_africasportstv_player_1080p/chunks.m3u8"],"subtitle":"By Channel","thumb":"https://pbs.twimg.com/profile_images/1215646342812401668/SOnvVloX_400x400.jpg","title":"Africa Sports TV"},{"description":"Real Madrid TV est une chaîne de télévision numérique gratuite, exploitée par le Real Madrid, spécialisée dans le club de football espagnol. La chaîne est disponible en espagnol et en anglais. Il est situé à Ciudad Real Madrid à Valdebebas (Madrid), le centre de formation du Real Madrid.","sources":["http://rmtv24hweblive-lh.akamaihd.net/i/rmtv24hwebes_1@300661/index_3_av-b.m3u8"],"subtitle":"By Channel","thumb":"https://files.cults3d.com/uploaders/13539675/illustration-file/9c08780f-eb52-427b-aad7-b0a8c0fb83a1/real_madrid_ref1_large.JPG","title":"Real Madrid TV"},{"description":"Real Madrid Club de Fútbol, ce qui signifie Royal Madrid Football Club), communément appelé Real Madrid, est un club de football professionnel espagnol basé à Madrid. Fondé le 6 mars 1902 sous le nom de Madrid Football Club, le club porte traditionnellement un maillot blanc à domicile depuis sa création. Le mot réel est espagnol pour royal et a été accordé au club par le roi Alfonso XIII en 1920 avec la couronne royale dans l'emblème. L'équipe a disputé ses matchs à domicile dans le stade Santiago Bernabéu d'une capacité de 81 044 places au centre-ville de Madrid depuis 1947.","sources":["http://rmtv24hweblive-lh.akamaihd.net/i/rmtv24hweben_1@300662/master.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/e4/de/18/e4de1869c0eba3beab9ffc9d01660e65.jpg","title":"Real Madrid TV"},{"description":" EPT SPORTS HD est la nouvelle chaîne exclusivement sportive de l’audiovisuel public, ERT Sports HD, sa première officielle à 06h00 le matin du samedi 9 février 2019.","sources":["https://ert-live.siliconweb.com/media/ert_sports/ert_sportshigh.m3u8"],"subtitle":"By Channel","thumb":"https://png.pngitem.com/pimgs/s/681-6814150_ert-sports-hd-logo-ert-sports-hd-hd.png","title":"EPT Sports HD"},{"description":"Sports Tonight Live, branded simply as Sports Tonight, was a British television show and channel, owned by VISION247 based in Central London. It was launched online on 29 August 2011.","sources":["http://sports.ashttp9.visionip.tv/live/visiontvuk-sports-sportstonightlive-hsslive-25f-4x3-SD/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://embeddedplayer.visionip.tv/portals/Sports_Tonight_Live/Sports_Tonight_Live/overlay_logos/Sports%20Tonight%20Live-plBackground-1308.png","title":"Sports Tonight"},{"description":"Arryadia HD TV est une chaîne sportive de télévision publique marocaine. Il fait partie du groupe public SNRT avec Al Aoula, Athaqafia, Al Maghribia, Assadissa, Aflam TV, Tamazight TV et Laayoune TV. La chaîne a été lancée le 16 septembre 2006. Arryadia est le diffuseur officiel de la ligue marocaine Botola.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arriadia/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://4.bp.blogspot.com/-lnh_8LWuXaw/WZ09LDkMsZI/AAAAAAAAEeI/9FKtxdQjbl4UVqmZjqN4R-fE9uOLG2ccQCLcBGAs/s1600/FB_IMG_1503465850383.jpg","title":"Arryadia TV / Maroc"},{"description":"Assadissa TV est une chaîne de télévision publique marocaine dédiée aux affaires religieuses. Il fait partie du groupe public SNRT avec Al Aoula, Arryadia, Athaqafia, Al Maghribia, Aflam TV, Tamazight TV et Laayoune TV. La chaîne a été lancée le 3 novembre 2005. Outre les lectures du Coran, il existe également des programmes de services religieux, de débats et de documentaires. Il est diffusé tous les jours de 2h00 à 23h00. Le samedi, il est de 6h00 à 21h00.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/assadissa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/7/7e/Assadissa.png","title":"Assadissa TV/ Maroc"},{"description":"Al Aoula, anciennement appelée TVM (Télévision marocaine, arabe: ??????? ????????), est la première chaîne de télévision publique marocaine. Il fait partie du groupe public SNRT avec Arryadia, Athaqafia, Al Maghribia, Assadissa, Aflam TV, Tamazight TV et Laayoune TV. Le réseau diffuse des programmes en arabe, berbère, français et espagnol. Son siège est situé à Rabat. Lancé en 1962, Al Aoula a été le premier réseau de télévision à produire et à diffuser ses propres programmes dans le pays. En 1962, il a commencé des émissions en couleur.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/al_aoula_inter/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://live.staticflickr.com/1853/44065447112_7a93bb434f.jpg","title":"Al Aoula TV/ Maroc"},{"description":"2M TV est une chaîne de télévision marocaine gratuite. Il a été créé par le conglomérat royal, ONA, avant d'être en partie vendu à l'État marocain. 20,7% de 2M appartiennent à la société holding de Mohammed VI SNI. Alors qu'environ 60% sont contrôlés par l'État marocain. Il est basé à Casablanca. Il est disponible gratuitement localement sur signal numérique avec une couverture sur tout le Maroc et sur la télévision par satellite via Globecast, Nilesat et Arabsat. 2M propose des services en arabe, français et berbère.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/2m_monde/hls_video_ts/2m_monde.m3u8"],"subtitle":"By Channel","thumb":"https://caidal.ma/wp-content/uploads/2019/04/ob_febd69_2-m-maroc-en-ligne.jpg","title":"2M TV / Maroc"},{"description":"La chaîne Al Magharibia diffuse des programmes politiques, sociaux et économiques depuis sa base privée de Londres. La chaîne est diffusée en arabe et s'adresse aux pays du Mahgreb, l'Algérie en particulier. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/al_maghribia_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRT-AlMaghribia.png","title":"Al maghribia TV / Maroc"},{"description":"Athaqafia TV est une chaîne gratuite disponible sur le satellite Hotbird et propose une gamme de programmes allant des documentaires et des programmes éducatifs ainsi que de la musique, des dessins animés et des divertissements familiaux. La chaîne s'adresse principalement aux familles et est diffusée principalement en arabe mais parfois en langue française et berbère. La chaîne a été créée par la société de production marocaine appartenant à l'État, SNRT.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arrabiaa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRTAThaqafia.png","title":"Athaqafia TV / Maroc"},{"description":"Tele Maroc est la nouvelle chaîne satellitaire généraliste marocaine créée par rachid Niny. Siège à Madrid. « C’est donc une chaéne de télévision légalement espagnole avec un contenu marocain.","sources":["https://api.new.livestream.com/accounts/27130247/events/8196478/live.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/9e/1d/b5/9e1db51201d4debce634f6e8b44a2424.jpg","title":"Tele Maroc"},{"description":"Tamazinght TV est une chaîne de télévision publique marocaine créée le 6 janvier 2010, propriété de la Société nationale de radiodiffusion et de télévision. La chaîne a pour objectif la promotion et la préservation de la culture amazighe au Maroc et dans la région de l'Afrique du Nord. en langue berbère. 70% en tashelhit, tarifit et tamazight (les 3 variantes du berbère du Maroc), le reste en arabe.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/tamazight_tv8_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"http://hub.tv-ark.org.uk/images/International/international_images/morocco_images/tamazight/Tamazight_TV_ident4_060912a.jpg","title":"Tamazight TV / Maroc"},{"description":"EMCI TV est une chaîne de télévision chrétienne évangélique francophone. Les studios de la chaîne se trouvent dans la ville de Québec, Canada. Le contenu de la programmation est assez varié et provient de divers pays francophones d’Afrique, d’Europe et d’Amérique. Des clips musicaux, des enseignements bibliques, des prédications, la Bible en vidéo, des temps de prière, des reportages, des documentaires, des films ainsi que des séries y sont présentés.","sources":["https://emci-fr-hls.akamaized.net/hls/live/2007265/emcifrhls/index.m3u8"],"subtitle":"By Channel","thumb":"https://www.enseignemoi-files.com/site/view/images/dyn-cache/pages/image/img/23/62/1522940482_236277_1200x630x1.f.jpg?v=2018021301","title":"EMCI TV / Religion"},{"description":"CIS TV est une chaine tv guinéen consacré au sport et à la culture. basée à Conakry, fondé en 2016 par Mamadou Antonio Souaré. CIS TV est diffuse via le satellite Fréquence Tv 3689: Symbole 1083: Satelite eutelsat 10a ZONES DE DIFFUSION : tiers d'Afrique.","sources":["http://51.81.109.113:1935/CDNLIVE/CISTV/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.senegal7.com/wp-content/uploads/2019/03/f9180cb9286c49c4f3a6c793798b9ddf.png","title":"CIS TV / Guinee"},{"description":"Faso TV est une initiative de Magic Communication et Médias, une société à responsabilité limitée basée à Ouagadougou, capitale du Burkina Faso. C’est une chaîne de télévision en ligne destinée à l’événementiel. Nous entendons par événementiel toutes manifestations ou activités à caractère culturel, économique, éducatif ou sportif dont l’objectif est de susciter la mobilisation, l’adhésion, l’engouement de la population ou d’un public cible au plan local, national ou international. Autrement dit, notre stratégie éditoriale consiste à faire la promotion de toutes activités qui contribuent au développement socio-économique et culturel, à l’éducation, au divertissement et au bien être de la population burkinabé et de sa diaspora.","sources":["https://playtv4kpro.com:5443/LiveApp/streams/163893638025530331068059.m3u8"],"subtitle":"By Channel","thumb":"https://fasotv.net/wp-content/uploads/2019/10/logo-final-sans-slogan.png","title":"FASO TV / Burkina Fasso "},{"description":"Plex tv une chaîne généraliste spécialisé dans la retransmissions des événement. émission et qui diffuse aussi des films, musiques, divertissement, sport, magasine etc et une multitude de programme en haute définition.","sources":["http://connectiktv.ddns.net:5000/plextv/@plextv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.lifetimepremiumaccounts.com/wp-content/uploads/2019/03/plex-logo.jpg","title":"PLEX TV / "},{"description":"PLAY TV est une chaine de télévision musicale Camerounaise basée à Yaoundé, elle diffuse un programme 100% musicale la musique d’ici et d’ailleurs en haute définition..","sources":["http://connectiktv.ddns.net:5000/playtv/@playtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://connectik.tv/wp-content/uploads/2019/04/logo-play-tv-300x113.jpg","title":"PLAT TV / Cameroune "},{"description":"TVR Rennes 35 Bretagne est une chaîne de télévision locale née en mars 1987 sous le nom de TV Rennes. TVR Rennes 35 Bretagne fut inaugurée à son lancement par le président de la République, elle fut la première télévision locale créée en France elle est diffusée Canal 35 sur la TNT / Canal 30 sur Orange, Freebox et BBox / Canal 95 sur Numéricable et en direct streaming sur son site Internet.","sources":["https://streamtv.cdn.dvmr.fr/TVR/ngrp:tvr.stream_all/master.m3u8"],"subtitle":"By Channel","thumb":"https://w0.pngwave.com/png/890/19/tvr-tv-rennes-35-logo-television-channel-tvr-t350-png-clip-art.png","title":"Rennes TV / France Sports "},{"description":"Chaîne franco-marocaine basée à Tanger et destinée au Maghreb. Programmation culturelle avec information, reportages et documentaires. En arabe et en Français. Fin 2010, elle a également commencé à diffuser à la télévision analogique terrestre au Maroc, en plus de la télévision numérique par satellite. Il a été rebaptisé Medi 1 TV.","sources":["http://streaming.medi1tv.com/live/Medi1tvmaghreb.sdp/chunklist.m3u8"],"subtitle":"By Channel","thumb":"http://www.logotypes101.com/logos/807/C85CC3231EAD10CEC61C182C7DED072D/medi1tvlogo.png","title":"Medi 1 TV / Maroc"},{"description":"M24 Television est la chaîne d’info en continu de l’agence marocaine de presse (MAP). Une chaîne qui couvre l’actualité marocaine et internationale. Une chaîne fidèle aux valeurs de la MAP qui est le premier producteur d'information au Maroc. Le fil de la MAP se décline en cinq langues : Arabe, Amazighe, Français, Anglais et Espagnol. la MAP présente dans toutes les régions du Royaume et dans les cinq continents, elle fournit tous les médias en informations, reportages, analyses et portraits.","sources":["https://www.m24tv.ma/live/smil:OutStream1.smil/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://is5-ssl.mzstatic.com/image/thumb/Purple114/v4/e4/c6/3e/e4c63e4e-b8ff-a14e-cacd-3593f09c1f78/source/512x512bb.jpg","title":"M24 TV / Maroc"},{"description":"La chaîne Al Magharibia diffuse des programmes politiques, sociaux et économiques depuis sa base privée de Londres. La chaîne est diffusée en arabe et s'adresse aux pays du Mahgreb, l'Algérie en particulier. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique. Le ton d'Al Magharibia est fermement basé sur un discours politique et idéologique.","sources":["https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/al_maghribia_snrt/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRT-AlMaghribia.png","title":"Al maghribia TV / Maroc"},{"description":"Athaqafia TV est une chaîne gratuite disponible sur le satellite Hotbird et propose une gamme de programmes allant des documentaires et des programmes éducatifs ainsi que de la musique, des dessins animés et des divertissements familiaux. La chaîne s'adresse principalement aux familles et est diffusée principalement en arabe mais parfois en langue française et berbère. La chaîne a été créée par la société de production marocaine appartenant à l'État, SNRT.","sources":["http://cdn-hls.globecast.tv/live/ramdisk/arrabiaa/hls_snrt/index.m3u8"],"subtitle":"By Channel","thumb":"https://cdn.sat.tv/wp-content/uploads/2016/05/SNRTAThaqafia.png","title":"Athaqafia TV / Maroc"},{"description":"Al-Fath channel is the property of Sheikh Ahmed Awad Abdo, and is considered the satellite channel of the Islamic religious channels that follow the Sunnah, and offers a series of programs interpretation for the Quran Al-Kareem, and many true prophetic and the CEO is Prof. Ahmed Abdou Awad, the Islamic Scholar.","sources":["https://svs.itworkscdn.net/alfatehlive/fatehtv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/eg-alfath-tv.jpg","title":"Al Fath TV / Egypte"},{"description":"Al Hayah started broadcasting in 2008 during the last years of Mubarak's rule, which saw a revival in the ownership of the media. It was founded by businessman El Sayed El Badawi as part of Al Hayah Channels Network. El Badawi assumed the presidency of the Wafd Party from May 2010 until March 2018. El Badawi is one of the businessmen who played political roles in addition to owning media outlets, such as Al Dostor (link to profile). ","sources":["http://media.islamexplained.com:1935/live/_definst_mp4:ahme.stream_360p/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/474x/76/1a/a4/761aa46eb54c24d21ca5866f21442426.jpg","title":"Al hayat TV / Maroc"},{"description":"The El Sharq channel broadcasts Various programs, from Egypt country in the Arabic language, last updated time on March 25, 2016. El Sharq which considered to view as a Free to air satellite TV channel.","sources":["https://mn-nl.mncdn.com/elsharq_live/live/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://egytvs.com/wp-content/uploads/2014/06/al-sharq-200x75.jpg","title":"Al sharq TV / Maroc"},{"description":"Guinée TV1 est une chaine de télévision généraliste Guinéenne basée à Conakry. Elle diffuse de la musique des informations des documentaires. des programmes religieux et autre.","sources":["https://playtv4kpro.com:5443/LiveApp/streams/664825404798849938149128.m3u8"],"subtitle":"By Channel","thumb":"https://gtv1love.com/wp-content/uploads/2019/10/logo4.png","title":"GUINEE TV / Guinee "},{"description":"Inooro TV chaînes de télévision généraliste Kényane en langue Kikuyu lancé le 26 octobre 2015. Elle diffuse 24 heures sur 24. Inooro TV est une chaine du groupe Royal Media Services (RMS).","sources":["https://vidcdn.vidgyor.com/inoorotv-origin/liveabr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://royalmedia.s3.amazonaws.com/wp-content/uploads/2019/10/inoorotv.jpg","title":"INOORO TV / Kenya "},{"description":"Citizen TV Kenya est une station nationale Kényane détenue par Royal Media Services Ltd.Elle diffuse principalement en anglais et en swahili. Elle a été lancé en 1999 et relancé en Juin 2006 c’est la station de télévision avec la plus forte croissance au Kenya avec un fort accent sur ??la programmation locale Basé au Communication Centre,Maalim Juma Road,Off Dennis Pritt Road, Nairobi, 7498-00300.","sources":["https://vidcdn.vidgyor.com/citizentv-origin/liveabr/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.innocirc.com/wp-content/uploads/2017/07/citizen.jpg","title":"CITIZEN TV / Kenya "},{"description":"RTJ TV ( Radio Télévision Jeune ) est une chaine de télévision culturel Sénégalaise. Elle diffuse des programme de divertissement( WatZapp le Zapping), Musique (playlist Mix Afro Mix Zouk Mix Hip Hop Musique sénégalaise), bien être, documentaire, Émission éducatif qui consiste à joindre l’utile à l’agréable à travers l'éducation des enfants, interviews ect.","sources":["http://public.acangroup.org:1935/output/rtjtv.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://rtjtv.com/images/rtjtv.png","title":"RTJ TV / Senegal"},{"description":"Mouride tv est une chaine de télévision généraliste sénégalaise basé à touba, Senegal. Mouride tv c’est la télévision base au coeur des événement mourides magal, thiante, wakhtane, khassaide, kourel en direct..","sources":["http://51.81.109.113:1935/Livemouridetv/mouridetv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/sn-mouride-tv.jpg","title":"MOURIDE TV / Senegal"},{"description":"ANN TV est une chaîne d’Informations générales et de Divertissement. Elle est produite par JUUF COMMUNICATION et diffusée sur le site d’informations générales multimédia ANN. La plateforme ANN comporte un journal en ligne (ANN), une WebRadio (ANN FM) et une WebTV (ANN TV).","sources":["http://vod.acangroup.org:1935/output/anntv.stream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://an-news.com/wp-content/uploads/2019/05/aan.png","title":"ANN TV / Senegal"},{"description":"Louga TV est une chaine culturelle et religieuse Senegalaise qui se veut attractive et objective. En temps réel, elle produit des vidéos de qualité qui tiennent compte de la spécificité de l’information et de la crédibilité de ses sources. Également, l’équipe technique et rédactionnelle est constituée de techniciens chevronnés aux compétences avérées. Dans son approche des enjeux de l’information capitale, la chaine louga tv offre des vidéos qui informent, forment et transforment le citoyen dans l’approche de son monde en devenir..","sources":["http://ira.dyndns.tv:8080/live/louga/CAnhiMtR6C/1708.m3u8"],"subtitle":"By Channel","thumb":"https://i.ytimg.com/vi/3Gnt2_SndXw/maxresdefault.jpg","title":"LOUGA TV / Senegal"},{"description":"Dieu TV est une chaine de télévision généraliste chrétienne pour la Francophonie.Elle proclame la Bonne Nouvelle du Salut en Jésus-Christ pour atteindre les 400 millions de Francophones dans le monde. Fondée en 2007. Dieu TV diffuse sur le Satellite Eutelsat 5WA (Europe et Afrique du Nord), et le Satellite Amos 5 et en streaming sur son site interne","sources":["https://katapy.hs.llnwd.net/dieutvwza1/DIEUTVLIVE/smil:dieutv.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/fr-dieu-tv.jpg","title":"DIEU TV / Religion "},{"description":"Radio Télévision Hirondelle : La nouvelle couleur du Sud. Elle diffuse des émissions pour divers catégories nouvelles locales, nationales et internationales le sport du monde Entier la musique et videos clips Promotions des artistes Locaux.","sources":["http://play.acwstream.com:2000/live/acw_01/index.m3u8"],"subtitle":"By Channel","thumb":"https://radiotelehirondelle.com/wp-content/uploads/2020/08/logo.png","title":"HIRONDELLE TV"},{"description":"BEL TV est une station de télévision haïtienne qui diffuse sur le web via diverses plateformes et par câble. Notre vision est de créer une télévision standard dont la qualité du programme est aussi instructive que divertissante. À cote de cette vision, BEL TV s’est fixé pour mission de promouvoir la Culture haïtienne, à savoir le Cinéma, la musique, la littérature et bien plus encore, ce à travers la Caraïbe et le monde entier. BEL TV c’est une toute autre façon de faire la télé.","sources":["https://hbiptv.live/player/sakchotv/index.m3u8"],"subtitle":"By Channel","thumb":"https://image.roku.com/developer_channels/prod/1de97a21d9bd773a115a5467974be0b859d1157256316bd1e72ed48965c0191a.png","title":"BEL TV / Haiti "},{"description":"The Middle East Broadcasting Center (MBC) Group is the first private free-to-air satellite broadcasting company in the Arab World. It was launched in London in 1991 and later moved to its headquarters in Dubai in 2002. MBC Group provides multiple channels of information, interaction and entertainment. MBC Group includes 10 television channels: MBC1 (general family entertainment via terrestrial), MBC2 and MBC MAX (24-hour movies), MBC3 (children’s entertainment), MBC4 (entertainment for new Arab women via terrestrial).","sources":["https://shls-masr-prod.shahid.net/masr-prod.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/commons/7/7c/MBC_Masr_Logo.png","title":"MBC MSR 1 / Egypte"},{"description":"The Middle East Broadcasting Center (MBC) Group is the first private free-to-air satellite broadcasting company in the Arab World. It was launched in London in 1991 and later moved to its headquarters in Dubai in 2002. MBC Group provides multiple channels of information, interaction and entertainment. MBC Group includes 10 television channels: MBC1 (general family entertainment via terrestrial), MBC2 and MBC MAX (24-hour movies), MBC3 (children’s entertainment), MBC4 (entertainment for new Arab women via terrestrial).","sources":["https://shls-masr2-prod.shahid.net/masr2-prod.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/01/3c/21/013c218c3ce9b3cfc883bdcdb121e5e6.jpg","title":"MBC MSR 2 / Egypte"},{"description":"Mekameleen TV is an Egyptian opposition TV Channel. It is based in Istanbul. It's known to be supportive of the Muslim Brotherhood","sources":["https://mn-nl.mncdn.com/mekameleen/smil:mekameleentv.smil/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://i.pinimg.com/564x/12/5b/1f/125b1febb8ada3a4f83475c2643adeb7.jpg","title":"Mekameleen TV / Egypte"},{"description":"The Kingdome Sat is television from Egypte founded in 2009 by Dr. Michael Yousef, the KingdomSat channel aims to introduce written teachings from the East and West to complement the vision given by God to the loss of the faraway and to encourage believers in the Middle East and North Africa region.","sources":["https://bcovlive-a.akamaihd.net/87f7c114719b4646b7c4263c26515cf3/eu-central-1/6008340466001/profile_0/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://live-tv-channels.org/pt-data/uploads/logo/eg-kingdom-sat-channe.jpg","title":"The Kingdom Sat TV / Egypt"},{"description":"D5 TV Music est une nouvelle chaîne de télévision musicale internationale, elle est dédiée aux musiques et aux cultures urbaines du monde entier (Rap, R&B, Hip-Hop, Pop, Rai, Naija, Olschool etc.) ciblant un public très large. D5Music entend devenir la chaîne référence musicale des 5 continents","sources":["https://www.rti.ci/direct_rti2.html"],"subtitle":"By Channel","thumb":"https://d5music.tv/wp-content/uploads/2020/07/cropped-LOGO-D5-MUSIC-BLANCROUGE_carre-192x192.png","title":"RTI 2 TV"},{"description":"A2iTV la chaine 100% immigration Senegalais, qui est née de la synergie de personnes qui ont décidé d’ unir leur force, leur compétence et leur ressources matérielles et financiéres pour participer avec l’aide des nouvelles technologies à informer sur l’ immigration .","sources":["http://51.158.31.93:1935/a2itv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/A2itv_logo.jpg","title":"A2i TV / Senegal"},{"description":"A2i music est une chaine culturelle destinée à la Diaspora avec des programmes musicales et des dramatiques. A2i music couvre aussi les autres parties du monde, notament les Etats Unis, le Canada, l’Asie, etc. à travers les boitiers Roku fournis par AfricaAstv, Acantv, My African pack de Invevo et Sénégal.","sources":["http://51.158.31.93:1935/a2itvtwo/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.centraltv.fr/wp-content/uploads/a2i-music_logo.jpg","title":"A2i TV / Music "},{"description":"A2i tv Relegion est une chaine culturelle destinée à la Diasporat senegalais avec des programme chretiens.","sources":["http://51.158.31.93:1935/a2itvthree/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/wwumXcAbY83D0q-NgUv2veS-p54FJTq6LAvsPRwYwWo-70ggeDkCM1VdhqhibRQNk4o=s180-rw","title":"A2i TV / Religion "},{"description":"Love World Plus TV is your Christian faith and lifestyle channel destined to bring a new level of dynamism into Christian television programming through satellite and the internet. The reach of LoveWorld Plus is limitless.","sources":["http://hls.live.metacdn.com/2450C7/bedkcjfty/lwplus_628.m3u8"],"subtitle":"By Channel","thumb":"https://d3c5pcohbexzc4.cloudfront.net/videos/thumbs/be214-loveworldplus.jpg","title":"Love World Plus TV"},{"description":"A2i naija est une nouvelle chaîne de télévision musicale internationale, elle est dédiée aux musiques et aux cultures urbaines du monde entier (Rap, R&B, Hip-Hop, Pop, Rai, Naija, Olschool etc.) ciblant un public très large. D5Music entend devenir la chaîne référence musicale des 5 continents","sources":["http://51.158.31.93:1935/devtv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://image.winudf.com/v2/image/YTVjZW50cy5hMmlfc2NyZWVuXzVfMTUxNTk5NTEyNl8wNTQ/screen-5.jpg?fakeurl=1&type=.jpg","title":"A2i / naija Music"},{"description":"BOK TV is an online and public access variety show and the show's log line what would happen if In Living Color and The Daily Show had a bastard child! BOKTV is what would happen and he show is split into segments: MONOLOGUE, SKETCH, ROUND TABLE, COMMERCIAL, BLACK TWITTER. create a platform of discourse that encourages exchange as opposed to polarity, and to showcase the talents of the host and other cast members.","sources":["http://boktv.interworks.in:1935/live/boktv/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://bokradio.co.za/wp-content/uploads/2017/07/button_cameratv.jpg","title":"BOK TV"},{"description":"Salt TV is a Christian television channel station from Uganda. Salt TV is based in Kampala. Matthew 5:13-16 (NKJV) Believers Are Salt and Light 13 You are the salt of the earth, but if the salt loses its flavor, how shall it be seasoned? It is then good for nothing but to be thrown out and trampled underfoot by men.","sources":["http://dcunilive38-lh.akamaihd.net/i/dclive_1@692676/index_150_av-p.m3u8"],"subtitle":"By Channel","thumb":"https://www.saltmedia.ug/images/NOV/SALT-TV.jpg","title":"Salt TV/ Uganda"},{"description":"TFM is Senegal’s privately-owned television channel.Owned by Senegalese musician Youssou N Dour, who owns a major media group in Dakar.","sources":["http://46.105.114.82/tfm_senegal.m3u8"],"subtitle":"By Channel","thumb":"https://3.bp.blogspot.com/-eyo4UyKqjlI/WWTobvXxLqI/AAAAAAAAB_g/BFn1KiR6vcYQMilgX4nWhGJHbHMEP_l0ACLcBGAs/s1600/tfm%2Bsenegal.png","title":"TFM TV/ Senegal"},{"description":"Africa tv1 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains musulmans de partout.","sources":["http://africatv.live.net.sa:1935/live/africatv/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.africagroup.tv/img/bgTV1.png","title":"Africa TV 1"},{"description":"Africa tv2 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains musulmans de partout.","sources":["http://africatv.live.net.sa:1935/live/africatv2/playlist.m3u8"],"subtitle":"By Channel","thumb":"http://www.africagroup.tv/img/bgTV2.png","title":"Africa TV 2"},{"description":"Africa tv3 est une télévision africaine qui travaille pour aider les peuples a se communiquer avec DIEU et surtout sensibiliser les Africains de langue haoussa.","sources":["http://africatv.live.net.sa:1935/live/africatv3/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://www.africagroup.tv/img/bgTV3.png","title":"Africa TV 3"},{"description":"La télévision nationale tunisienne 1 est la chaîne publique nationale tunisienne. Il a été officiellement lancé le 31 mai 1966, mais diffuse des programmes pilotes de manière irrégulière depuis octobre 1965, puis régulièrement depuis janvier 1966 et s’appelle la radio et la télévision tunisienne (ATT). Elle est devenue Channel 7 en 1992 et Tunisia 7 en 1997, mais elle est restée une filiale de la Société tunisienne de radio et de télévision jusqu’en 2008, a conservé le siège qu’elle partageait et la Société tunisienne de télévision avec ses chaînes de télévision nationales tunisiennes et La Tunisie 21 plus tard connue sous le nom de Télévision nationale tunisienne 2 est devenue son nouveau siège. Après le déclenchement de la révolution populaire tunisienne et la défection de zine El Abidine Ben Ali du pays, il est devenu Télévision nationale tunisienne.","sources":["http://54.36.122.126/tunisie1.m3u8"],"subtitle":"By Channel.","thumb":"https://www.histoiredesfax.com/wp-content/uploads/2015/11/Television-nationale-watania.jpg","title":"TUNISIA 1"},{"description":"Sahel TV est la plateforme unique, ouverte à la société civile, aux citoyens et à l'autorité locale de la ville et de sa région pour leur permettre de s’exprimer librement, proposer leurs idées et accéder à toutes les informations économiques, environnementale, culturelle, sportive. Vos idées et vos propositions sont les bienvenues.","sources":["http://142.44.214.231:1935/saheltv/myStream/playlist.m3u8"],"subtitle":"By Channel","thumb":"https://mobiletv.mobibase.com/html/logo/hd/channel_ld_747.png","title":"SAHEL TV / Tunisie"},{"description":"NIGERIA TELEVISION AUTORTEAutorité a commencé sous le nom de Western Nigerian Television Services (WNTV), qui a transmis ses premiers signaux au peuple nigérian et à toute l'Afrique le 31 octobre 1959. Au début de 1962, les trois gouvernements régionaux qui existaient au Nigéria avaient mis en place le Service de télévision nigérian (NTS). Télévision ont été créés et en 1976, l'Autorité de la télévision nigériane est née en tant que seule entité responsable de Diffusion télévisée au Nigéria.","sources":["http://54.38.93.93/nta.m3u8"],"subtitle":"By Channel","thumb":"https://static.squarespace.com/static/53d2a092e4b0125510bfe57d/53d2a2c6e4b018cd23e33d7b/53d2a2c6e4b018cd23e33f6f/1362042333867/1000w/nta.jpg","title":"NTA TV / Nigeria"},{"description":"ESPACE TV est une télévision basée à Conakry dans la commune de Matoto Kondeboungny au bord de l'autoroute Fidèle Castro (République de Guinée). La télé diffuse des informations du pays et du monde en temps réel. Des magazines axés sur les réalités des terroirs et des séries de divertissement. Détenue par le groupe Hadafo Médias, cette chaîne est la première du pays en terme d'audience; selon le rapport de Stat view international en 2019.","sources":["http://46.105.114.82/espacetv.m3u8"],"subtitle":"By Channel","thumb":"https://lh3.googleusercontent.com/ric-bS2gzvt-UyrhBIEdWENN9U-fL9Bnlhv12GEYSzSkZFWEIr7hc74k83kfLPqZDk0","title":"Espace TV / Guinée"},{"description":" Movies Now is an Indian high-definition television channel featuring Hollywood films. It was launched on 19 December 2010 with a picture quality of 1080i and 5.1 surround sound. The channel is owned by The Times Group. It has exclusive content licensing from films produced or distributed by MGM and has content licensing from Universal Studios, Walt Disney Studios, Marvel Studios, 20th Century Studios, Warner Bros and Paramount Pictures.","sources":["https://timesnow.airtel.tv/live/MN_pull/master.m3u8"],"subtitle":"By Channel","thumb":"https://upload.wikimedia.org/wikipedia/en/4/49/Movies_Now_logo.png","title":"Movies Now HD"},{"description":"Tunisie Immobilier TV, la première chaîne de l’immobilier en Tunisie Vous présente toutes les semaines, les actualités immobilières et économiques en Tunisie et dans le monde à travers des reportages.contact; E-mail:tunisieimmob@planet.tn/ Tel:(+216) 71 894500.","sources":["https://5ac31d8a4c9af.streamlock.net/tunimmob/myStream/chunklist.m3u8"],"subtitle":"By Channel","thumb":"https://i2.wp.com/www.tunisieimmobiliertv.net/wp-content/uploads/2016/10/fb.jpg?fit=1024%2C500&ssl=1","title":"Tunisie Immobilier TV"}]}]}
chikitang / A!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system"> <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" integrity="sha512-ksfTgQOOnE+FFXf+yNfVjKSlEckJAdufFIYGK7ZjRhWcZgzAGcmZqqArTgMLpu90FwthqcCX4ldDgKXbmVMeuQ==" rel="stylesheet" href="https://github.githubassets.com/assets/light-92c7d381038e.css" /><link crossorigin="anonymous" media="all" integrity="sha512-1KkMNn8M/al/dtzBLupRwkIOgnA9MWkm8oxS+solP87jByEvY/g4BmoxLihRogKcX1obPnf4Yp7dI0ZTWO+ljg==" rel="stylesheet" href="https://github.githubassets.com/assets/dark-d4a90c367f0c.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" integrity="sha512-cZa7DZqvMBwD236uzEunO/G1dvw8/QftyT2UtLWKQFEy0z0eq0R5WPwqVME+3NSZG1YaLJAaIqtU+m0zWf/6SQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-7196bb0d9aaf.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-WVoKqJ4y1nLsdNH4RkRT5qrM9+n9RFe1RHSiTnQkBf5TSZkJEc9GpLpTIS7T15EQaUQBJ8BwmKvwFPVqfpTEIQ==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-595a0aa89e32.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" integrity="sha512-XpAMBMSRZ6RTXgepS8LjKiOeNK3BilRbv8qEiA/M3m+Q4GoqxtHedOI5BAZRikCzfBL4KWYvVzYZSZ8Gp/UnUg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-5e900c04c491.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" integrity="sha512-3HF2HZ4LgEIQm77yOzoeR20CX1n2cUQlcywscqF4s+5iplolajiHV7E5ranBwkX65jN9TNciHEVSYebQ+8xxEw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-dc71761d9e0b.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" integrity="sha512-+J8j3T0kbK9/sL3zbkCfPtgYcRD4qQfRbT6xnfOrOTjvz4zhr0M7AXPuE642PpaxGhHs1t77cTtieW9hI2K6Gw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-f89f23dd3d24.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-AQeAx5wHQAXNf0DmkvVlHYwA3f6BkxunWTI0GGaRN57GqD+H9tW8RKIKlopLS0qGaC54seFsPc601GDlqIuuHg==" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-010780c79c07.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" integrity="sha512-+u5pmgAE0T03d/yI6Ha0NWwz6Pk0W6S6WEfIt8veDVdK8NTjcMbZmQB9XUCkDlrBoAKkABva8HuGJ+SzEpV1Uw==" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-faee699a0004.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EAhBCLIJ/pXHG3Y6yQhs9s53SHV80sjJ+yCwlQtfv7LaVkD+VoEuZBZ5betQJFUNj/5qBSfZk5GFtazEDzWLAg==" rel="stylesheet" href="https://github.githubassets.com/assets/primer-10084108b209.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-j4LlGsvrPJxvY8+OWTjZfxsE5dNUiTsSjDrRiYJN24hZSD0fRrKZKtHnFIt1HSPGvNd1XAXX4UWQu+7n30g2KQ==" rel="stylesheet" href="https://github.githubassets.com/assets/global-8f82e51acbeb.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-ws/OpUoggF9K9ooMit55m3zLZc0tylad06U0PD2d0mPaGrdyGa+YTIAGxvVPrke4PWfw/1hdyplewI0dG5RMqw==" rel="stylesheet" href="https://github.githubassets.com/assets/github-c2cfcea54a20.css" /> <link crossorigin="anonymous" media="all" integrity="sha512-EU4iyx/yvfUFbgkpn4fpfcGLGdCO/MAsSFcvCXZ2Z2EW37nQnDHPgt/cXbfA0Tro59XCXEOAzXxFKLLkIuetnw==" rel="stylesheet" href="https://github.githubassets.com/assets/profile-114e22cb1ff2.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-/QgkqjzVefOR3Tj2b+frbSHSVAOEXToMLNi27AqI0et2R/r9L6h5gKl9tEbPuN2sV41z3bAkC0YbPhQSDjak+A==" src="https://github.githubassets.com/assets/runtime-fd0824aa3cd5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-X+8lM1ka/+ZD419IfxRmavutulfxSofkt+qmxoFdfa0Zp6fBjTUoNaJeZfEK1YdE6ibpcZz/HaOVu2FnHGJ7DA==" src="https://github.githubassets.com/assets/environment-5fef2533591a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-io+1MvgXPXTw8Kp4eOdNMJl8uGASuw8VfTY5VeIFETaAknimWi8GoxggMEeQ6mq0de4Dest4iIJ/9gUbCo0hgw==" src="https://github.githubassets.com/assets/vendors-node_modules_selector-observer_dist_index_esm_js-8a8fb532f817.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-Es25N4GyPa8Yfp5wpahoe5b2fyPtkRMyR6mKIXyCJC0ocqQazeWvxhGZhx3StRxOfqDfHDR5SS35u/R3Wux6Cg==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_details-dialog-elemen-63debe-12cdb93781b2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-lmiecOIgf+hakg5oKMNM7grVhEDyPoIrT39Px448JJH5PSAaK21PH0Twgyz5O5oi8+dnlLr3Jt8bBCtAcpNdRw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-c7e9ed-96689e70e220.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-y67eNkVaNK4RguUGcHOvIbHFlgf1Qje+LDdjVw2eFuuvBOqta2GePz/CwoLIR/PJhhRAj5RPGxCWoomnimSw6w==" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_time-elements_dist_index_js-cbaede36455a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-6ehrOOu5AOQD8/Lw6TgTsdkj9odsrpi0xWo0vkH3wBR3vIw/Bj/Rxw9wZMfw2qVzdqqF/pCiaJ5f0A/P6HtGrw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-52e104-e9e86b38ebb9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-l//8hwOiwPAmBg0NwsWUYovdQ7/r9kPHiD9/LL4fD3M7El8gbgaOYU5+o6cYLB6puSfOTxyN9M6fE38HSDr2Bw==" src="https://github.githubassets.com/assets/github-elements-97fffc8703a2.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-RVfrK7GqzKgqgrdk4OZy+0LLxAMJ1odMQC1/Qt7SpwSHjE9s4R0/09fu5QvzcQ6XdNZMjJ1Wy8Cr6wL3Q+HCcQ==" src="https://github.githubassets.com/assets/element-registry-4557eb2bb1aa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-uo73yUZcm4EicwjSbfxFZcKfjWniOxhLBp+q1n7IFRfutFM6/lzbQMgD0Xrxp7QD1HzqdvrV8UclPhi3mEOyzQ==" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-ba8ef7c9465c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-LWSGAMIPWi+15W2gBjmxbtVqU0DamkrNOQylAjPL8509iKnuWgSLdjylDv3WWm/9p6h2U/D//3i6BiiGFZPXJA==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_github_catalyst_lib_index_-87b1b3-2d648600c20f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-0r1nf/rfPz54kyePp4f63bcPxkFo7wyaUZJD/SwIVDK3q0WzurAK9ydOm88tzKtPJm8xWI0Vo25NyCfecwxJ9g==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_hotkey_dist_index-9f48bd-d2bd677ffadf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-VK56d0N1hPZ20mOzPoy84zlTGCjGbKKmVvfjoyDqSF+VxTD4f6X8QDs2RgG1R1cdBmsCiea+ZxP6ukV3tHlD+Q==" src="https://github.githubassets.com/assets/vendors-node_modules_github_paste-markdown_dist_index_esm_js-node_modules_github_quote-select-df2537-54ae7a774375.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-318SWYQMEUmWdOuBzC1KdeVyyq5RDCiMNGP7Jh9s/Oz68Yy8e94t8qKxiCnfFKnzfpN3MxrATi7jCQyDv6jh0w==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_pjax_ts-df5f1259840c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-2hsYB2KHyayxUJJxJGhXeTeTZZG2c7lzRtO0uB1txmpc7rfvIt4mf0iossT0MHIHknYlaslgi98jmmlVXcXaZQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_keyboard-shortcuts-helper_ts-app_assets_modules_github_be-af52ef-da1b18076287.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-mszhDznUQJHnUG/R5PW8SVIpe08ysmzHfMNnUF9Nu2DlTQ2EI+vzUxDTJ1cUGPr1nRRvsed9bKe1IdZI+1Q4Rg==" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_details_ts-app_assets_modules_github_behaviors_include-fr-34e1f7-9acce10f39d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-w/t2D/KwutVIcNp5IDznla0td11er/0FLWMQBuZ4+ec53IQDBc4+CztZqlCj/RZ8XDkk/eiECEwiUjXv5UAJnQ==" src="https://github.githubassets.com/assets/behaviors-c3fb760ff2b0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-O4QCEHjN5g9SG+Bqu36E7RCxy4hi2w3nyDWVsHwc/hUgAMsYntgibQcLNqSrar4T78Dnj0NZgM/C4FhFt8DIag==" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-6e358f-3b84021078cd.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-tuRHxLY6eU4xuxKD8rm7GxWa0B337+gV5cSnivbY1FPmUo4zRUBCbKqs6kvuJsuGj2dg1uz4ajSLTrHDFeADUw==" src="https://github.githubassets.com/assets/notifications-global-b6e447c4b63a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-QdQXem5u6Zn5fejgHuEVa07Zdffi7rtk2HHG8DZHegrkzMgrrdC5d5spRsxjV/xGF3KSyl3B8FI7xXu77LG2TQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-1424532-41d4177a6e6e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-fkqJogEq3qR42gMZhv5UupQvBdhPiQIIBomJsm5HYJ6ZzfJjDFdKWsWso3u5eKdEz6b8hhXFjUwnLnK6SkJdhA==" src="https://github.githubassets.com/assets/profile-7e4a89a2012a.js"></script> <title>Your Repositories</title> <meta name="request-id" content="FD00:0DFC:1DF0AC7:313D6B2:62A02226" data-pjax-transient="true" /><meta name="html-safe-nonce" content="980ec10d2da5b506cd46be36dd6e013e8bada887c7553a22c701573bbe482ab0" data-pjax-transient="true" /><meta name="visitor-payload" content="eyJyZWZlcnJlciI6Imh0dHBzOi8vZ2l0aHViLmNvbS9leHBsb3JlIiwicmVxdWVzdF9pZCI6IkZEMDA6MERGQzoxREYwQUM3OjMxM0Q2QjI6NjJBMDIyMjYiLCJ2aXNpdG9yX2lkIjoiNzQ5MzY1NDMzNjA2MzQxMjkzMSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9" data-pjax-transient="true" /><meta name="visitor-hmac" content="421e7a5a14726f1086d7a9de5370e75ce73e1595c8567ceca4fe9616e47623d9" data-pjax-transient="true" /> <meta name="github-keyboard-shortcuts" content="" data-pjax-transient="true" /> <meta name="selected-link" value="/chikitang" data-pjax-transient> <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"> <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /><meta name="octolytics-actor-id" content="107093285" /><meta name="octolytics-actor-login" content="chikitang" /><meta name="octolytics-actor-hash" content="1bbae79ef5b27d38ae2058bbe0b8e84e42ca017579fe6b91fb76d14b6a316195" /> <meta name="user-login" content="chikitang"> <meta name="viewport" content="width=device-width"> <meta name="description" content="chikitang has one repository available. Follow their code on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905" /> <meta name="twitter:image:src" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="chikitang - Repositories" /><meta name="twitter:description" content="chikitang has one repository available. Follow their code on GitHub." /> <meta property="og:image" content="https://avatars.githubusercontent.com/u/107093285?v=4?s=400" /><meta property="og:image:alt" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="profile" /><meta property="og:title" content="chikitang - Repositories" /><meta property="og:url" content="https://github.com/chikitang" /><meta property="og:description" content="chikitang has one repository available. Follow their code on GitHub." /><meta property="profile:username" content="chikitang" /> <link rel="assets" href="https://github.githubassets.com/"> <link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/107093285/ws?session=eyJ2IjoiVjMiLCJ1IjoxMDcwOTMyODUsInMiOjg5NTc1NzU0OCwiYyI6MTYzNjI1Mjg2NywidCI6MTY1NDY2MTY3M30=--c25c69ac641d7bef477abc2e101060da9d58d110fdab2b83c67104ea57cb74d1" data-refresh-url="/_alive" data-session-id="0f954fa662a2d554f181d0867897a8c903cfbb09b242250a287b6117e8fa2281"> <link rel="shared-web-socket-src" href="/assets-cdn/worker/socket-worker-b98ccfd9236e.js"> <link rel="sudo-modal" href="/sessions/sudo_modal"> <meta name="hostname" content="github.com"> <meta name="keyboard-shortcuts-preference" content="all"> <script type="application/json" id="memex_keyboard_shortcuts_preference">"all"</script> <meta name="expected-hostname" content="github.com"> <meta name="js-proxy-site-detection-payload" content="ZTEwZDA3YzMzN2IyY2I2ZjU1ZWFkZWNkYmNkM2RlNjAyNWQwYzUwODYwOGU5ODU2MDBjZDYzZjI4OGQ5OWQyOHx7InJlbW90ZV9hZGRyZXNzIjoiNzYuMTM1Ljk2LjIwNSIsInJlcXVlc3RfaWQiOiJGRDAwOjBERkM6MURGMEFDNzozMTNENkIyOjYyQTAyMjI2IiwidGltZXN0YW1wIjoxNjU0NjYxNjczLCJob3N0IjoiZ2l0aHViLmNvbSJ9"> <meta name="enabled-features" content="ACTIONS_CALLABLE_WORKFLOWS,PRESENCE_IDLE,RELEASE_PREV_TAG_PICKER"> <meta http-equiv="x-pjax-version" content="a37df167d895af7f9c4d1b90e97a54af1d17d291209210e78f815dbbd9a85bbc" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="485d6a5ccbb1eeae9c86b616b4870b531f6f458e8bd5c309c40280dc4f51defb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="560bbf933d6879732c126fa7af06481a25d36e7da91d312b7f44915e69fcdbb9" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="3c347e3ecd4172f21f40b5f945958e9a8b15c3b5c962803de065de8ef0b29900" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview"></meta> <meta name="octolytics-dimension-user_id" content="107093285" /><meta name="octolytics-dimension-user_login" content="chikitang" /> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="browser-optimizely-client-errors-url" content="https://api.github.com/_private/browser/optimizely_client/errors"> <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-in env-production page-responsive page-profile mine" style="word-wrap: break-word;"> <div class="position-relative js-header-wrapper "> <a href="#start-of-content" class="p-3 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader js-pjax-loader-bar Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-vq9xa9mXhnKoPKegD98xDdz3z2QGmpBBTgEdXLjXQWpAHaNrJgMoKO/tWwQg3XrNHOMwbWccPo2ej0RASJ32Jw==" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_github_catalyst_lib-098f88-beaf716bd997.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-SqxGVVy+lvF/R0gsWdxjPTIX6BkspUwgKC7GkhrrpHDvTiiYveTazaMKVQ4ZsbyB8PpALQMJVu5FThgLLEa/qQ==" src="https://github.githubassets.com/assets/vendors-node_modules_github_clipboard-copy-element_dist_index_esm_js-node_modules_delegated-e-a39d96-4aac46555cbe.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-+RY85fUZaREgYAhJOwiMFuEzzJ0MYIJJ/e3HrBLNx5mbTvOTWawq9+/XBdBy/omg01kYOA4my0k99ImePtihQQ==" src="https://github.githubassets.com/assets/app_assets_modules_github_command-palette_items_help-item_ts-app_assets_modules_github_comman-48ad9d-f9163ce5f519.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" integrity="sha512-MZKd5uKV0ZulPULi4Ci9ya+diAKnUgu9G0+cTix+XVo6BGYYtTfTaAmIKFNxFkAQKcOCHMJU7itIuu409PIlNg==" src="https://github.githubassets.com/assets/command-palette-31929de6e295.js"></script> <header class="Header js-details-container Details px-3 px-md-4 px-lg-5 flex-wrap flex-md-nowrap" role="banner" > <div class="Header-item mt-n1 mb-n1 d-none d-md-flex"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item d-md-none"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="Header-link js-details-target btn-link"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-three-bars"> <path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path> </svg> </button> </div> <div class="Header-item Header-item--full flex-column flex-md-row width-full flex-order-2 flex-md-order-none mr-0 mt-3 mt-md-0 Details-content--hidden-not-important d-md-flex"> <div class="header-search flex-auto js-site-search position-relative flex-self-stretch flex-md-self-auto mb-3 mb-md-0 mr-0 mr-md-3 scoped-search site-scoped-search js-jump-to" > <div class="position-relative"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="User" data-scope-id="107093285" data-scoped-search-url="/users/chikitang/search" data-unscoped-search-url="/search" data-turbo="false" action="/users/chikitang/search" accept-charset="UTF-8" method="get"> <label class="form-control input-sm header-search-wrapper p-0 js-chromeless-input-container header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center"> <input type="text" class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" data-hotkey=s,/ name="q" data-test-selector="nav-search-input" placeholder="Search or jump to…" data-unscoped-placeholder="Search or jump to…" data-scoped-placeholder="Search or jump to…" autocapitalize="off" role="combobox" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="jump-to-results" aria-label="Search or jump to…" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" spellcheck="false" autocomplete="off" > <input type="hidden" value="onaOjrBo6ohITGCajPS3asceXniJrPVtVg0W3PjGOVqghJTYE-qvcN961YI7OuNKFtGNfvjgTbQtKVQNyp1O1Q" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" /> <input type="hidden" class="js-site-search-type-field" name="type" > <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1 header-search-key-slash"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> <ul class="d-none js-jump-to-suggestions-template-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="suggestion"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> </ul> <ul class="d-none js-jump-to-no-results-template-container"> <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> <span class="color-fg-muted">No suggested jump to results</span> </li> </ul> <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-owner-scoped-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="owner_scoped_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub"> Search </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href="" data-item-type="global_search"> <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> <svg title="Repository" aria-label="Repository" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo js-jump-to-octicon-repo d-none flex-shrink-0"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> <svg title="Project" aria-label="Project" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project js-jump-to-octicon-project d-none flex-shrink-0"> <path fill-rule="evenodd" d="M1.75 0A1.75 1.75 0 000 1.75v12.5C0 15.216.784 16 1.75 16h12.5A1.75 1.75 0 0016 14.25V1.75A1.75 1.75 0 0014.25 0H1.75zM1.5 1.75a.25.25 0 01.25-.25h12.5a.25.25 0 01.25.25v12.5a.25.25 0 01-.25.25H1.75a.25.25 0 01-.25-.25V1.75zM11.75 3a.75.75 0 00-.75.75v7.5a.75.75 0 001.5 0v-7.5a.75.75 0 00-.75-.75zm-8.25.75a.75.75 0 011.5 0v5.5a.75.75 0 01-1.5 0v-5.5zM8 3a.75.75 0 00-.75.75v3.5a.75.75 0 001.5 0v-3.5A.75.75 0 008 3z"></path> </svg> <svg title="Search" aria-label="Search" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search js-jump-to-octicon-search d-none flex-shrink-0"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> </div> <div class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none js-jump-to-badge-search"> <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this user"> In this user </span> <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> All GitHub </span> <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> </div> <div aria-hidden="true" class="border rounded-2 flex-shrink-0 color-bg-subtle px-1 color-fg-muted ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> Jump to <span class="d-inline-block ml-1 v-align-middle">↵</span> </div> </a> </li> <li class="d-flex flex-justify-center flex-items-center p-0 f5 js-jump-to-suggestion"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="m-3 anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </li> </ul> </div> </label> </form> </div> </div> <nav id="global-nav" class="d-flex flex-column flex-md-row flex-self-stretch flex-md-self-auto" aria-label="Global"> <a class="Header-link py-md-3 d-block d-md-none py-2 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:dashboard:user" aria-label="Dashboard" data-turbo="false" href="/dashboard">Dashboard</a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g p" data-ga-click="Header, click, Nav menu - item:pulls context:user" aria-label="Pull requests you created" data-turbo="false" data-selected-links="/pulls /pulls/assigned /pulls/mentioned /pulls" href="/pulls"> Pull<span class="d-inline d-md-none d-lg-inline"> request</span>s </a> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-hotkey="g i" data-ga-click="Header, click, Nav menu - item:issues context:user" aria-label="Issues you created" data-turbo="false" data-selected-links="/issues /issues/assigned /issues/mentioned /issues" href="/issues">Issues</a> <div class="d-flex position-relative"> <a class="js-selected-navigation-item Header-link flex-auto mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:marketplace context:user" data-octo-click="marketplace_click" data-octo-dimensions="location:nav_bar" data-turbo="false" data-selected-links=" /marketplace" href="/marketplace">Marketplace</a> </div> <a class="js-selected-navigation-item Header-link mt-md-n3 mb-md-n3 py-2 py-md-3 mr-0 mr-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:explore" data-turbo="false" data-selected-links="/explore /trending /trending/developers /integrations /integrations/feature/code /integrations/feature/collaborate /integrations/feature/ship showcases showcases_search showcases_landing /explore" href="/explore">Explore</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:workspaces context:user" data-turbo="false" data-selected-links="/codespaces /codespaces" href="/codespaces">Codespaces</a> <a class="js-selected-navigation-item Header-link d-block d-md-none py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-ga-click="Header, click, Nav menu - item:Sponsors" data-hydro-click="{"event_type":"sponsors.button_click","payload":{"button":"HEADER_SPONSORS_DASHBOARD","sponsorable_login":"chikitang","originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="894b353f92ef9cf99df582a68ce68afedb950c23eac562794d264b04c4d7d514" data-turbo="false" data-selected-links=" /sponsors/accounts" href="/sponsors/accounts">Sponsors</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/settings/profile">Settings</a> <a class="Header-link d-block d-md-none mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade" data-turbo="false" href="/chikitang"> <img class="avatar avatar-user" loading="lazy" decoding="async" src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" width="20" height="20" alt="@chikitang" /> chikitang </a> <!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/logout" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="7Jd6yI5THWDg_FkIJV1Ds7qiCFaoX_Hvj-TdaYW6DwuhdateNViXxoS146e9dSd4uNbU3k2j7jqyorRzKNOZEQ" /> <button type="submit" class="Header-link mr-0 mr-md-3 py-2 py-md-3 border-top border-md-top-0 border-white-fade d-md-none btn-link d-block width-full text-left" style="padding-left: 2px;" data-analytics-event="{"category":"Header","action":"sign out","label":"icon:logout"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sign-out v-align-middle"> <path fill-rule="evenodd" d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 010 1.5h-2.5a.25.25 0 00-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 010 1.5h-2.5A1.75 1.75 0 012 13.25V2.75zm10.44 4.5H6.75a.75.75 0 000 1.5h5.69l-1.97 1.97a.75.75 0 101.06 1.06l3.25-3.25a.75.75 0 000-1.06l-3.25-3.25a.75.75 0 10-1.06 1.06l1.97 1.97z"></path> </svg> Sign out </button> </form></nav> </div> <div class="Header-item Header-item--full flex-justify-center d-md-none position-relative"> <a class="Header-link " href="https://github.com/" data-hotkey="g d" aria-label="Homepage " data-turbo="false" data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}" > <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> </div> <div class="Header-item mr-0 mr-md-3 flex-order-1 flex-md-order-none"> <notification-indicator class="js-socket-channel" data-test-selector="notifications-indicator" data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6MTA3MDkzMjg1IiwidCI6MTY1NDY2MTY3M30=--d1a31430da7c3a208906377c76b5480a6b4db38284d899049601dbe9bf1e1be6"> <a href="/notifications" class="Header-link notification-indicator position-relative tooltipped tooltipped-sw" aria-label="You have no unread notifications" data-hotkey="g n" data-ga-click="Header, go to notifications, icon:read" data-target="notification-indicator.link"> <span class="mail-status " data-target="notification-indicator.modifier"></span> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell"> <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path> </svg> </a> </notification-indicator> </div> <div class="Header-item position-relative d-none d-md-flex"> <details class="details-overlay details-reset"> <summary class="Header-link" aria-label="Create new…" data-analytics-event="{"category":"Header","action":"create new","label":"icon:add"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus"> <path fill-rule="evenodd" d="M7.75 2a.75.75 0 01.75.75V7h4.25a.75.75 0 110 1.5H8.5v4.25a.75.75 0 11-1.5 0V8.5H2.75a.75.75 0 010-1.5H7V2.75A.75.75 0 017.75 2z"></path> </svg> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw"> <a role="menuitem" class="dropdown-item" href="/new" data-ga-click="Header, create new repository"> New repository </a> <a role="menuitem" class="dropdown-item" href="/new/import" data-ga-click="Header, import a repository"> Import repository </a> <a role="menuitem" class="dropdown-item" href="https://gist.github.com/" data-ga-click="Header, create new gist"> New gist </a> <a role="menuitem" class="dropdown-item" href="/organizations/new" data-ga-click="Header, create new organization"> New organization </a> <a role="menuitem" class="dropdown-item" href="/users/chikitang/projects/new?type=beta" data-ga-click="Header, create new project"> New project </a> </details-menu> </details> </div> <div class="Header-item position-relative mr-0 d-none d-md-flex"> <details class="details-overlay details-reset js-feature-preview-indicator-container" data-feature-preview-indicator-src="/users/chikitang/feature_preview/indicator_check"> <summary class="Header-link" aria-label="View profile and more" data-analytics-event="{"category":"Header","action":"show menu","label":"icon:avatar"}" > <img src="https://avatars.githubusercontent.com/u/107093285?s=40&v=4" alt="@chikitang" size="20" height="20" width="20" data-view-component="true" class="avatar avatar-small circle" /> <span class="unread-indicator js-feature-preview-indicator" style="top: 1px;" hidden></span> <span class="dropdown-caret"></span> </summary> <details-menu class="dropdown-menu dropdown-menu-sw" style="width: 180px" preload> <include-fragment src="/users/107093285/menu" loading="lazy"> <p class="text-center mt-3" data-hide-on-error> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </p> <p class="ml-1 mb-2 mt-2 color-fg-default" data-show-on-error> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> Sorry, something went wrong. </p> </include-fragment> </details-menu> </details> </div> </header> </div> <div id="start-of-content" class="show-on-focus"></div> <div data-pjax-replace id="js-flash-container"> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div class="px-2" > <button class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div>{{ message }}</div> </div> </div> </template> </div> <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment> <details class="details-reset details-overlay details-overlay-dark js-command-palette-dialog" data-pjax-replace id="command-palette-pjax-container" > <summary aria-label="command palette trigger"> </summary> <details-dialog class="command-palette-details-dialog d-flex flex-column flex-justify-center height-fit" aria-label="command palette"> <command-palette class="command-palette color-bg-default rounded-3 border color-shadow-small" data-return-to=/chikitang?tab=repositories data-user-id="107093285" data-activation-hotkey="Mod+k,Mod+Alt+k" data-command-mode-hotkey="Mod+Shift+k" data-action=" command-palette-page-stack-updated:command-palette#updateInputScope itemsUpdated:command-palette#itemsUpdated keydown:command-palette#onKeydown loadingStateChanged:command-palette#loadingStateChanged selectedItemChanged:command-palette#selectedItemChanged pageFetchError:command-palette#pageFetchError "> <command-palette-mode data-char="#" data-scope-types="[""]" data-placeholder="Search issues and pull requests" ></command-palette-mode> <command-palette-mode data-char="#" data-scope-types="["owner","repository"]" data-placeholder="Search issues, pull requests, discussions, and projects" ></command-palette-mode> <command-palette-mode data-char="!" data-scope-types="["owner","repository"]" data-placeholder="Search projects" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="[""]" data-placeholder="Search or jump to a user, organization, or repository" ></command-palette-mode> <command-palette-mode data-char="@" data-scope-types="["owner"]" data-placeholder="Search or jump to a repository" ></command-palette-mode> <command-palette-mode data-char="/" data-scope-types="["repository"]" data-placeholder="Search files" ></command-palette-mode> <command-palette-mode data-char="?" ></command-palette-mode> <command-palette-mode data-char=">" data-placeholder="Run a command" ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="[""]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode data-char="" data-scope-types="["owner"]" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-mode class="js-command-palette-default-mode" data-char="" data-placeholder="Search or jump to..." ></command-palette-mode> <command-palette-input placeholder="Search or jump to..." data-action=" command-palette-input:command-palette#onInput command-palette-select:command-palette#onSelect command-palette-descope:command-palette#onDescope command-palette-cleared:command-palette#onInputClear " > <div class="js-search-icon d-flex flex-items-center mr-2" style="height: 26px"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search color-fg-muted"> <path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path> </svg> </div> <div class="js-spinner d-flex flex-items-center mr-2 color-fg-muted" hidden> <svg aria-label="Loading" class="anim-rotate" viewBox="0 0 16 16" fill="none" width="16" height="16"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" ></circle> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" ></path> </svg> </div> <command-palette-scope > <div data-target="command-palette-scope.placeholder" hidden class="color-fg-subtle">/ <span class="text-semibold color-fg-default">...</span> / </div> <command-palette-token data-text="chikitang" data-id="U_kgDOBmIdJQ" data-type="owner" data-value="chikitang" data-targets="command-palette-scope.tokens" class="color-fg-default text-semibold" style="white-space:nowrap;line-height:20px;" >chikitang<span class="color-fg-subtle text-normal"> / </span></command-palette-token> </command-palette-scope> <div class="command-palette-input-group flex-1 form-control border-0 box-shadow-none" style="z-index: 0"> <div class="command-palette-typeahead position-absolute d-flex flex-items-center Truncate"> <span class="typeahead-segment input-mirror" data-target="command-palette-input.mirror"></span> <span class="Truncate-text" data-target="command-palette-input.typeaheadText"></span> <span class="typeahead-segment" data-target="command-palette-input.typeaheadPlaceholder"></span> </div> <input class="js-overlay-input typeahead-input d-none" disabled tabindex="-1" aria-label="Hidden input for typeahead" > <input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="js-input typeahead-input form-control border-0 box-shadow-none input-block width-full no-focus-indicator" aria-label="Command palette input" aria-haspopup="listbox" aria-expanded="false" aria-autocomplete="list" aria-controls="command-palette-page-stack" role="combobox" data-action=" input:command-palette-input#onInput keydown:command-palette-input#onKeydown " > </div> <button aria-label="clear command palette" aria-keyshortcuts="Control+Backspace" data-action="click:command-palette-input#onClear keypress:command-palette-input#onClear" data-target="command-palette-input.clearButton" id="command-palette-clear-button" hidden="hidden" type="button" data-view-component="true" class="btn-octicon command-palette-input-clear-button"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill"> <path fill-rule="evenodd" d="M2.343 13.657A8 8 0 1113.657 2.343 8 8 0 012.343 13.657zM6.03 4.97a.75.75 0 00-1.06 1.06L6.94 8 4.97 9.97a.75.75 0 101.06 1.06L8 9.06l1.97 1.97a.75.75 0 101.06-1.06L9.06 8l1.97-1.97a.75.75 0 10-1.06-1.06L8 6.94 6.03 4.97z"></path> </svg></button> <tool-tip hidden="hidden" for="command-palette-clear-button" data-direction="w" data-type="description" data-view-component="true">Clear</tool-tip> </command-palette-input> <command-palette-page-stack data-default-scope-id="U_kgDOBmIdJQ" data-default-scope-type="User" data-action="command-palette-page-octicons-cached:command-palette-page-stack#cacheOcticons" > <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">#</kbd> to search discussions </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">!</kbd> to search projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search teams </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="[""]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">@</kbd> to search people and organizations </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type <kbd class="hx_kbd">></kbd> to activate command mode </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Go to your accessibility settings to change your keyboard shortcuts </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type author:@me to search your content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:pr to filter to pull requests </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:issue to filter to issues </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:project to filter to projects </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="color-fg-muted f6 px-3 py-1 my-2" data-scope-types="["","owner","repository"]" data-mode="#" data-value=""> <div class="d-flex flex-items-start flex-justify-between"> <div> <span class="text-bold">Tip:</span> Type is:open to filter to open content </div> <div class="ml-2 flex-shrink-0"> Type <kbd class="hx_kbd">?</kbd> for help and tips </div> </div> </command-palette-tip> <command-palette-tip class="mx-3 my-2 flash flash-error d-flex flex-items-center" data-scope-types="*" data-on-error> <div> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </div> <div class="px-2"> We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. </div> </command-palette-tip> <command-palette-tip class="h4 color-fg-default pl-3 pb-2 pt-3" data-on-empty data-scope-types="*" data-match-mode="[^?]|^$"> No results matched your search </command-palette-tip> <div hidden> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-muted"> <svg height="16" class="octicon octicon-arrow-right color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="arrow-right-color-fg-default"> <svg height="16" class="octicon octicon-arrow-right color-fg-default" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.22 2.97a.75.75 0 011.06 0l4.25 4.25a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06-1.06l2.97-2.97H3.75a.75.75 0 010-1.5h7.44L8.22 4.03a.75.75 0 010-1.06z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="codespaces-color-fg-muted"> <svg height="16" class="octicon octicon-codespaces color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 1.75C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 01-1.75 1.75h-8.5A1.75 1.75 0 012 6.75v-5zm1.75-.25a.25.25 0 00-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 00.25-.25v-5a.25.25 0 00-.25-.25h-8.5zM0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0114.25 16H1.75A1.75 1.75 0 010 14.25v-3zM1.75 11a.25.25 0 00-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 00.25-.25v-3a.25.25 0 00-.25-.25H1.75z"></path><path fill-rule="evenodd" d="M3 12.75a.75.75 0 01.75-.75h.5a.75.75 0 010 1.5h-.5a.75.75 0 01-.75-.75zm4 0a.75.75 0 01.75-.75h4.5a.75.75 0 010 1.5h-4.5a.75.75 0 01-.75-.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="copy-color-fg-muted"> <svg height="16" class="octicon octicon-copy color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="dash-color-fg-muted"> <svg height="16" class="octicon octicon-dash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2 7.75A.75.75 0 012.75 7h10a.75.75 0 010 1.5h-10A.75.75 0 012 7.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="file-color-fg-muted"> <svg height="16" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M3.75 1.5a.25.25 0 00-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 00.25-.25V6h-2.75A1.75 1.75 0 019 4.25V1.5H3.75zm6.75.062V4.25c0 .138.112.25.25.25h2.688a.252.252 0 00-.011-.013l-2.914-2.914a.272.272 0 00-.013-.011zM2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0113.25 16h-9.5A1.75 1.75 0 012 14.25V1.75z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="gear-color-fg-muted"> <svg height="16" class="octicon octicon-gear color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.429 1.525a6.593 6.593 0 011.142 0c.036.003.108.036.137.146l.289 1.105c.147.56.55.967.997 1.189.174.086.341.183.501.29.417.278.97.423 1.53.27l1.102-.303c.11-.03.175.016.195.046.219.31.41.641.573.989.014.031.022.11-.059.19l-.815.806c-.411.406-.562.957-.53 1.456a4.588 4.588 0 010 .582c-.032.499.119 1.05.53 1.456l.815.806c.08.08.073.159.059.19a6.494 6.494 0 01-.573.99c-.02.029-.086.074-.195.045l-1.103-.303c-.559-.153-1.112-.008-1.529.27-.16.107-.327.204-.5.29-.449.222-.851.628-.998 1.189l-.289 1.105c-.029.11-.101.143-.137.146a6.613 6.613 0 01-1.142 0c-.036-.003-.108-.037-.137-.146l-.289-1.105c-.147-.56-.55-.967-.997-1.189a4.502 4.502 0 01-.501-.29c-.417-.278-.97-.423-1.53-.27l-1.102.303c-.11.03-.175-.016-.195-.046a6.492 6.492 0 01-.573-.989c-.014-.031-.022-.11.059-.19l.815-.806c.411-.406.562-.957.53-1.456a4.587 4.587 0 010-.582c.032-.499-.119-1.05-.53-1.456l-.815-.806c-.08-.08-.073-.159-.059-.19a6.44 6.44 0 01.573-.99c.02-.029.086-.075.195-.045l1.103.303c.559.153 1.112.008 1.529-.27.16-.107.327-.204.5-.29.449-.222.851-.628.998-1.189l.289-1.105c.029-.11.101-.143.137-.146zM8 0c-.236 0-.47.01-.701.03-.743.065-1.29.615-1.458 1.261l-.29 1.106c-.017.066-.078.158-.211.224a5.994 5.994 0 00-.668.386c-.123.082-.233.09-.3.071L3.27 2.776c-.644-.177-1.392.02-1.82.63a7.977 7.977 0 00-.704 1.217c-.315.675-.111 1.422.363 1.891l.815.806c.05.048.098.147.088.294a6.084 6.084 0 000 .772c.01.147-.038.246-.088.294l-.815.806c-.474.469-.678 1.216-.363 1.891.2.428.436.835.704 1.218.428.609 1.176.806 1.82.63l1.103-.303c.066-.019.176-.011.299.071.213.143.436.272.668.386.133.066.194.158.212.224l.289 1.106c.169.646.715 1.196 1.458 1.26a8.094 8.094 0 001.402 0c.743-.064 1.29-.614 1.458-1.26l.29-1.106c.017-.066.078-.158.211-.224a5.98 5.98 0 00.668-.386c.123-.082.233-.09.3-.071l1.102.302c.644.177 1.392-.02 1.82-.63.268-.382.505-.789.704-1.217.315-.675.111-1.422-.364-1.891l-.814-.806c-.05-.048-.098-.147-.088-.294a6.1 6.1 0 000-.772c-.01-.147.039-.246.088-.294l.814-.806c.475-.469.679-1.216.364-1.891a7.992 7.992 0 00-.704-1.218c-.428-.609-1.176-.806-1.82-.63l-1.103.303c-.066.019-.176.011-.299-.071a5.991 5.991 0 00-.668-.386c-.133-.066-.194-.158-.212-.224L10.16 1.29C9.99.645 9.444.095 8.701.031A8.094 8.094 0 008 0zm1.5 8a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM11 8a3 3 0 11-6 0 3 3 0 016 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="lock-color-fg-muted"> <svg height="16" class="octicon octicon-lock color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 4v2h-.25A1.75 1.75 0 002 7.75v5.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-5.5A1.75 1.75 0 0012.25 6H12V4a4 4 0 10-8 0zm6.5 2V4a2.5 2.5 0 00-5 0v2h5zM12 7.5h.25a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-5.5a.25.25 0 01.25-.25H12z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="moon-color-fg-muted"> <svg height="16" class="octicon octicon-moon color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.598 1.591a.75.75 0 01.785-.175 7 7 0 11-8.967 8.967.75.75 0 01.961-.96 5.5 5.5 0 007.046-7.046.75.75 0 01.175-.786zm1.616 1.945a7 7 0 01-7.678 7.678 5.5 5.5 0 107.678-7.678z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="person-color-fg-muted"> <svg height="16" class="octicon octicon-person color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M10.5 5a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm.061 3.073a4 4 0 10-5.123 0 6.004 6.004 0 00-3.431 5.142.75.75 0 001.498.07 4.5 4.5 0 018.99 0 .75.75 0 101.498-.07 6.005 6.005 0 00-3.432-5.142z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="pencil-color-fg-muted"> <svg height="16" class="octicon octicon-pencil color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="issue-opened-open"> <svg height="16" class="octicon octicon-issue-opened open" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 9.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path><path fill-rule="evenodd" d="M8 0a8 8 0 100 16A8 8 0 008 0zM1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="git-pull-request-draft-color-fg-muted"> <svg height="16" class="octicon octicon-git-pull-request-draft color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M2.5 3.25a.75.75 0 111.5 0 .75.75 0 01-1.5 0zM3.25 1a2.25 2.25 0 00-.75 4.372v5.256a2.251 2.251 0 101.5 0V5.372A2.25 2.25 0 003.25 1zm0 11a.75.75 0 100 1.5.75.75 0 000-1.5zm9.5 3a2.25 2.25 0 100-4.5 2.25 2.25 0 000 4.5zm0-3a.75.75 0 100 1.5.75.75 0 000-1.5z"></path><path d="M14 7.5a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0zm0-4.25a1.25 1.25 0 11-2.5 0 1.25 1.25 0 012.5 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="search-color-fg-muted"> <svg height="16" class="octicon octicon-search color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sun-color-fg-muted"> <svg height="16" class="octicon octicon-sun color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 10.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5zM8 12a4 4 0 100-8 4 4 0 000 8zM8 0a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0V.75A.75.75 0 018 0zm0 13a.75.75 0 01.75.75v1.5a.75.75 0 01-1.5 0v-1.5A.75.75 0 018 13zM2.343 2.343a.75.75 0 011.061 0l1.06 1.061a.75.75 0 01-1.06 1.06l-1.06-1.06a.75.75 0 010-1.06zm9.193 9.193a.75.75 0 011.06 0l1.061 1.06a.75.75 0 01-1.06 1.061l-1.061-1.06a.75.75 0 010-1.061zM16 8a.75.75 0 01-.75.75h-1.5a.75.75 0 010-1.5h1.5A.75.75 0 0116 8zM3 8a.75.75 0 01-.75.75H.75a.75.75 0 010-1.5h1.5A.75.75 0 013 8zm10.657-5.657a.75.75 0 010 1.061l-1.061 1.06a.75.75 0 11-1.06-1.06l1.06-1.06a.75.75 0 011.06 0zm-9.193 9.193a.75.75 0 010 1.06l-1.06 1.061a.75.75 0 11-1.061-1.06l1.06-1.061a.75.75 0 011.061 0z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="sync-color-fg-muted"> <svg height="16" class="octicon octicon-sync color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 2.5a5.487 5.487 0 00-4.131 1.869l1.204 1.204A.25.25 0 014.896 6H1.25A.25.25 0 011 5.75V2.104a.25.25 0 01.427-.177l1.38 1.38A7.001 7.001 0 0114.95 7.16a.75.75 0 11-1.49.178A5.501 5.501 0 008 2.5zM1.705 8.005a.75.75 0 01.834.656 5.501 5.501 0 009.592 2.97l-1.204-1.204a.25.25 0 01.177-.427h3.646a.25.25 0 01.25.25v3.646a.25.25 0 01-.427.177l-1.38-1.38A7.001 7.001 0 011.05 8.84a.75.75 0 01.656-.834z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="trash-color-fg-muted"> <svg height="16" class="octicon octicon-trash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 1.75a.25.25 0 01.25-.25h2.5a.25.25 0 01.25.25V3h-3V1.75zm4.5 0V3h2.25a.75.75 0 010 1.5H2.75a.75.75 0 010-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75zM4.496 6.675a.75.75 0 10-1.492.15l.66 6.6A1.75 1.75 0 005.405 15h5.19c.9 0 1.652-.681 1.741-1.576l.66-6.6a.75.75 0 00-1.492-.149l-.66 6.6a.25.25 0 01-.249.225h-5.19a.25.25 0 01-.249-.225l-.66-6.6z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="key-color-fg-muted"> <svg height="16" class="octicon octicon-key color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M6.5 5.5a4 4 0 112.731 3.795.75.75 0 00-.768.18L7.44 10.5H6.25a.75.75 0 00-.75.75v1.19l-.06.06H4.25a.75.75 0 00-.75.75v1.19l-.06.06H1.75a.25.25 0 01-.25-.25v-1.69l5.024-5.023a.75.75 0 00.181-.768A3.995 3.995 0 016.5 5.5zm4-5.5a5.5 5.5 0 00-5.348 6.788L.22 11.72a.75.75 0 00-.22.53v2C0 15.216.784 16 1.75 16h2a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V14h.75a.75.75 0 00.53-.22l.5-.5a.75.75 0 00.22-.53V12h.75a.75.75 0 00.53-.22l.932-.932A5.5 5.5 0 1010.5 0zm.5 6a1 1 0 100-2 1 1 0 000 2z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="comment-discussion-color-fg-muted"> <svg height="16" class="octicon octicon-comment-discussion color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 2.75a.25.25 0 01.25-.25h8.5a.25.25 0 01.25.25v5.5a.25.25 0 01-.25.25h-3.5a.75.75 0 00-.53.22L3.5 11.44V9.25a.75.75 0 00-.75-.75h-1a.25.25 0 01-.25-.25v-5.5zM1.75 1A1.75 1.75 0 000 2.75v5.5C0 9.216.784 10 1.75 10H2v1.543a1.457 1.457 0 002.487 1.03L7.061 10h3.189A1.75 1.75 0 0012 8.25v-5.5A1.75 1.75 0 0010.25 1h-8.5zM14.5 4.75a.25.25 0 00-.25-.25h-.5a.75.75 0 110-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0114.25 12H14v1.543a1.457 1.457 0 01-2.487 1.03L9.22 12.28a.75.75 0 111.06-1.06l2.22 2.22v-2.19a.75.75 0 01.75-.75h1a.25.25 0 00.25-.25v-5.5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-color-fg-muted"> <svg height="16" class="octicon octicon-bell color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="bell-slash-color-fg-muted"> <svg height="16" class="octicon octicon-bell-slash color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1.5c-.997 0-1.895.416-2.534 1.086A.75.75 0 014.38 1.55 5 5 0 0113 5v2.373a.75.75 0 01-1.5 0V5A3.5 3.5 0 008 1.5zM4.182 4.31L1.19 2.143a.75.75 0 10-.88 1.214L3 5.305v2.642a.25.25 0 01-.042.139L1.255 10.64A1.518 1.518 0 002.518 13h11.108l1.184.857a.75.75 0 10.88-1.214l-1.375-.996a1.196 1.196 0 00-.013-.01L4.198 4.321a.733.733 0 00-.016-.011zm7.373 7.19L4.5 6.391v1.556c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01.015.015 0 00.005.012.017.017 0 00.006.004l.007.001h9.037zM8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path></svg> </div> <div data-targets="command-palette-page-stack.localOcticons" data-octicon-id="paintbrush-color-fg-muted"> <svg height="16" class="octicon octicon-paintbrush color-fg-muted" viewBox="0 0 16 16" version="1.1" width="16" aria-hidden="true"><path fill-rule="evenodd" d="M11.134 1.535C9.722 2.562 8.16 4.057 6.889 5.312 5.8 6.387 5.041 7.401 4.575 8.294a3.745 3.745 0 00-3.227 1.054c-.43.431-.69 1.066-.86 1.657a11.982 11.982 0 00-.358 1.914A21.263 21.263 0 000 15.203v.054l.75-.007-.007.75h.054a14.404 14.404 0 00.654-.012 21.243 21.243 0 001.63-.118c.62-.07 1.3-.18 1.914-.357.592-.17 1.226-.43 1.657-.861a3.745 3.745 0 001.055-3.217c.908-.461 1.942-1.216 3.04-2.3 1.279-1.262 2.764-2.825 3.775-4.249.501-.706.923-1.428 1.125-2.096.2-.659.235-1.469-.368-2.07-.606-.607-1.42-.55-2.069-.34-.66.213-1.376.646-2.076 1.155zm-3.95 8.48a3.76 3.76 0 00-1.19-1.192 9.758 9.758 0 011.161-1.607l1.658 1.658a9.853 9.853 0 01-1.63 1.142zM.742 16l.007-.75-.75.008A.75.75 0 00.743 16zM12.016 2.749c-1.224.89-2.605 2.189-3.822 3.384l1.718 1.718c1.21-1.205 2.51-2.597 3.387-3.833.47-.662.78-1.227.912-1.662.134-.444.032-.551.009-.575h-.001V1.78c-.014-.014-.112-.113-.548.027-.432.14-.995.462-1.655.942zM1.62 13.089a19.56 19.56 0 00-.104 1.395 19.55 19.55 0 001.396-.104 10.528 10.528 0 001.668-.309c.526-.151.856-.325 1.011-.48a2.25 2.25 0 00-3.182-3.182c-.155.155-.329.485-.48 1.01a10.515 10.515 0 00-.309 1.67z"></path></svg> </div> <command-palette-item-group data-group-id="top" data-group-title="Top result" data-group-hint="" data-group-limits="{}" data-default-priority="0" > </command-palette-item-group> <command-palette-item-group data-group-id="commands" data-group-title="Commands" data-group-hint="Type > to filter" data-group-limits="{"static_items_page":50,"issue":50,"pull_request":50,"discussion":50}" data-default-priority="1" > </command-palette-item-group> <command-palette-item-group data-group-id="global_commands" data-group-title="Global Commands" data-group-hint="Type > to filter" data-group-limits="{"issue":0,"pull_request":0,"discussion":0}" data-default-priority="2" > </command-palette-item-group> <command-palette-item-group data-group-id="this_page" data-group-title="This Page" data-group-hint="" data-group-limits="{}" data-default-priority="3" > </command-palette-item-group> <command-palette-item-group data-group-id="files" data-group-title="Files" data-group-hint="" data-group-limits="{}" data-default-priority="4" > </command-palette-item-group> <command-palette-item-group data-group-id="default" data-group-title="Default" data-group-hint="" data-group-limits="{"static_items_page":50}" data-default-priority="5" > </command-palette-item-group> <command-palette-item-group data-group-id="pages" data-group-title="Pages" data-group-hint="" data-group-limits="{"repository":10}" data-default-priority="6" > </command-palette-item-group> <command-palette-item-group data-group-id="access_policies" data-group-title="Access Policies" data-group-hint="" data-group-limits="{}" data-default-priority="7" > </command-palette-item-group> <command-palette-item-group data-group-id="organizations" data-group-title="Organizations" data-group-hint="" data-group-limits="{}" data-default-priority="8" > </command-palette-item-group> <command-palette-item-group data-group-id="repositories" data-group-title="Repositories" data-group-hint="" data-group-limits="{}" data-default-priority="9" > </command-palette-item-group> <command-palette-item-group data-group-id="references" data-group-title="Issues, pull requests, and discussions" data-group-hint="Type # to filter" data-group-limits="{}" data-default-priority="10" > </command-palette-item-group> <command-palette-item-group data-group-id="teams" data-group-title="Teams" data-group-hint="" data-group-limits="{}" data-default-priority="11" > </command-palette-item-group> <command-palette-item-group data-group-id="users" data-group-title="Users" data-group-hint="" data-group-limits="{}" data-default-priority="12" > </command-palette-item-group> <command-palette-item-group data-group-id="projects" data-group-title="Projects" data-group-hint="" data-group-limits="{}" data-default-priority="13" > </command-palette-item-group> <command-palette-item-group data-group-id="footer" data-group-title="Footer" data-group-hint="" data-group-limits="{}" data-default-priority="14" > </command-palette-item-group> <command-palette-item-group data-group-id="modes_help" data-group-title="Modes" data-group-hint="" data-group-limits="{}" data-default-priority="15" > </command-palette-item-group> <command-palette-item-group data-group-id="filters_help" data-group-title="Use filters in issues, pull requests, discussions, and projects" data-group-hint="" data-group-limits="{}" data-default-priority="16" > </command-palette-item-group> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" data-targets="command-palette-page-stack.defaultPages" hidden > </command-palette-page> </div> <command-palette-page data-is-root> </command-palette-page> <command-palette-page data-page-title="chikitang" data-scope-id="U_kgDOBmIdJQ" data-scope-type="owner" > </command-palette-page> </command-palette-page-stack> <server-defined-provider data-type="search-links" data-targets="command-palette.serverDefinedProviderElements"></server-defined-provider> <server-defined-provider data-type="help" data-targets="command-palette.serverDefinedProviderElements"> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues</strong> and <strong>pull requests</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="#" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>issues, pull requests, discussions,</strong> and <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">#</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="@" data-scope-types="[""]" > <span data-target="command-palette-help.titleElement">Search for <strong>organizations, repositories,</strong> and <strong>users</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">@</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="!" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>projects</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">!</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix="/" data-scope-types="["repository"]" > <span data-target="command-palette-help.titleElement">Search for <strong>files</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">/</kbd> </span> </command-palette-help> <command-palette-help data-group="modes_help" data-prefix=">" > <span data-target="command-palette-help.titleElement">Activate <strong>command mode</strong></span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd">></kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# author:@me" > <span data-target="command-palette-help.titleElement">Search your issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># author:@me</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:pr" > <span data-target="command-palette-help.titleElement">Filter to pull requests</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:pr</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:issue" > <span data-target="command-palette-help.titleElement">Filter to issues</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:issue</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:discussion" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:discussion</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:project" data-scope-types="["owner","repository"]" > <span data-target="command-palette-help.titleElement">Filter to projects</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:project</kbd> </span> </command-palette-help> <command-palette-help data-group="filters_help" data-prefix="# is:open" > <span data-target="command-palette-help.titleElement">Filter to open issues, pull requests, and discussions</span> <span data-target="command-palette-help.hintElement"> <kbd class="hx_kbd"># is:open</kbd> </span> </command-palette-help> </server-defined-provider> <server-defined-provider data-type="commands" data-fetch-debounce="0" data-src="/command_palette/commands" data-supported-modes="[]" data-supports-commands data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_page_navigation" data-supported-modes="[""]" data-supported-scope-types="["","owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to" data-supported-modes="["@","@"]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/jump_to_members_only" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/jump_to_members_only_prefetched" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="files" data-fetch-debounce="0" data-src="/command_palette/files" data-supported-modes="["/"]" data-supported-scope-types="["repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/discussions" data-supported-modes="["#"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/projects" data-supported-modes="["#","!"]" data-supported-scope-types="["owner","repository"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="prefetched" data-fetch-debounce="0" data-src="/command_palette/recent_issues" data-supported-modes="["#","#"]" data-supported-scope-types="["owner","repository",""]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/teams" data-supported-modes="["@",""]" data-supported-scope-types="["owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> <server-defined-provider data-type="remote" data-fetch-debounce="200" data-src="/command_palette/name_with_owner_repository" data-supported-modes="["@","@","",""]" data-supported-scope-types="["","owner"]" data-targets="command-palette.serverDefinedProviderElements" ></server-defined-provider> </command-palette> </details-dialog> </details> <div class="position-fixed bottom-0 left-0 ml-5 mb-5 js-command-palette-toasts" style="z-index: 1000"> <div hidden class="Toast Toast--loading"> <span class="Toast-icon"> <svg class="Toast--spinner" viewBox="0 0 32 32" width="18" height="18" aria-hidden="true"> <path fill="#959da5" d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4" /> <path fill="#ffffff" d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--error"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-stop"> <path fill-rule="evenodd" d="M4.47.22A.75.75 0 015 0h6a.75.75 0 01.53.22l4.25 4.25c.141.14.22.331.22.53v6a.75.75 0 01-.22.53l-4.25 4.25A.75.75 0 0111 16H5a.75.75 0 01-.53-.22L.22 11.53A.75.75 0 010 11V5a.75.75 0 01.22-.53L4.47.22zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5H5.31zM8 4a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 018 4zm0 8a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--warning"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast Toast--success"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </span> <span class="Toast-content"></span> </div> <div hidden class="anim-fade-in fast Toast"> <span class="Toast-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-info"> <path fill-rule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm6.5-.25A.75.75 0 017.25 7h1a.75.75 0 01.75.75v2.75h.25a.75.75 0 010 1.5h-2a.75.75 0 010-1.5h.25v-2h-.25a.75.75 0 01-.75-.75zM8 6a1 1 0 100-2 1 1 0 000 2z"></path> </svg> </span> <span class="Toast-content"></span> </div> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled > <main id="js-pjax-container" data-pjax-container> <div class="mt-4 position-sticky top-0 d-none d-md-block color-bg-default width-full border-bottom color-border-muted" style="z-index:3;" > <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="user-profile-sticky-bar"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav width-full box-shadow-none js-responsive-underlinenav overflow-md-x-hidden"> <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> </div> </div> </div> </div> <div class="container-xl px-3 px-md-4 px-lg-5"> <div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-start Layout--sidebarPosition-flowRow-start"> <div data-view-component="true" class="Layout-sidebar"> <div class="h-card mt-md-n5" data-acv-badge-hovercards-enabled itemscope itemtype="http://schema.org/Person" > <div class="user-profile-sticky-bar js-user-profile-sticky-bar d-none d-md-block"> <div class="user-profile-mini-vcard d-table"> <span class="user-profile-mini-avatar d-table-cell v-align-middle lh-condensed-ultra pr-2"> <img class="rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/107093285?s=64&v=4" width="32" height="32" alt="@chikitang" /> </span> <span class="d-table-cell v-align-middle lh-condensed"> <strong>chikitang</strong> </span> </div> </div> <div class="js-profile-editable-replace"> <div class="clearfix d-flex d-md-block flex-items-center mb-4 mb-md-0"> <div class="position-relative d-inline-block col-2 col-md-12 mr-3 mr-md-0 flex-shrink-0" style="z-index:4;" > <a class="tooltipped tooltipped-s d-block" aria-label="Change your avatar" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_AVATAR","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="fe768eb126278f5ea2e2be2a694fd8f3a8db38717e25f9387d181f875bad4f31" href="https://github.com/account"><img style="height:auto;" alt="" width="260" height="260" class="avatar avatar-user width-full border color-bg-default" src="https://avatars.githubusercontent.com/u/107093285?v=4" /></a> <div class="user-status-container position-relative hide-sm hide-md"> <div class="f5 js-user-status-context user-status-circle-badge-container user-status-editable" data-url="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" > <div class="js-user-status-container user-status-circle-badge d-inline-block lh-condensed-ultra p-2" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-inline-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center "> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" ws-normal user-status-message-wrapper f6 min-width-0" > <div class="css-truncate css-truncate-target width-fit color-fg-default"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=1&compact=0&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="TROZQ1psazHuv4SfB_6CRG81LOswktW22NJDqz2bjfsh_3WyNIJmw91nORchhJS4niNrCWbssHaAEqHwSouerQ" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-false" id="limited-availability-truncate-false-compact-false"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-false"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-false"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> </div> </div> <div class="vcard-names-container float-left js-profile-editable-names col-12 py-3 js-sticky js-user-profile-sticky-fields" > <h1 class="vcard-names "> <span class="p-name vcard-fullname d-block overflow-hidden" itemprop="name"> </span> <span class="p-nickname vcard-username d-block" itemprop="additionalName"> chikitang </span> </h1> </div> </div> <div class="mb-2 user-status-container d-md-none"> <div class="js-user-status-container rounded-2 px-2 py-1 mt-2 border" data-team-hovercards-enabled> <details class="js-user-status-details details-reset details-overlay details-overlay-dark"> <summary class="btn-link btn-block Link--secondary no-underline js-toggle-user-status-edit toggle-user-status-edit" role="menuitem" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"EDIT_USER_STATUS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="797b66215ac5265bc63e61ea380b67a3995b5dd86fe8fab5deea9ee6fbb92bc9"> <div class="d-flex flex-items-center flex-items-stretch"> <div class="f6 lh-condensed user-status-header d-flex user-status-emoji-only-header circle"> <div class="user-status-emoji-container flex-shrink-0 mr-2 d-flex flex-items-center flex-justify-center lh-condensed-ultra v-align-bottom"> <svg class="octicon octicon-smiley" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path></svg> </div> </div> <div class=" user-status-message-wrapper f6 min-width-0" style="line-height: 20px;" > <div class="css-truncate css-truncate-target width-fit color-fg-default text-left"> <span class="color-fg-muted">Set status</span> </div> </div> </div> </summary> <details-dialog class="rounded-2 anim-fade-in fast Box Box--overlay overflow-visible" role="dialog" aria-label="Edit status" tabindex="-1"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="position-relative flex-auto js-user-status-form" data-turbo="false" action="/users/status?circle=0&compact=1&link_mentions=1&truncate=0" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="SOdH-f-2peym7Q5DQYTnVoMgrDIwG-wMjYJooZiAkyQkC6sIkVioHpU1s8tn_vGqcjbr0GZliczVQor675CAcg" /> <div class="Box-header color-bg-subtle border-bottom p-3"> <button class="Box-btn-octicon js-toggle-user-status-edit btn-octicon float-right" type="reset" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <h3 class="Box-title f5 text-bold color-fg-default">Edit status</h3> </div> <input type="hidden" name="emoji" class="js-user-status-emoji-field" value=""> <input type="hidden" name="organization_id" class="js-user-status-org-id-field" value=""> <div class="px-3 py-2 color-fg-default"> <div class="js-characters-remaining-container position-relative mt-2"> <div class="input-group d-table form-group my-0 js-user-status-form-group"> <span class="input-group-button d-table-cell v-align-middle" style="width: 1%"> <button aria-label="Choose an emoji" type="button" data-view-component="true" class="js-toggle-user-status-emoji-picker btn-outline btn p-0"> <span class="js-user-status-original-emoji" hidden></span> <span class="js-user-status-custom-emoji"></span> <span class="js-user-status-no-emoji-icon" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-smiley"> <path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zM5 8a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zM5.32 9.636a.75.75 0 011.038.175l.007.009c.103.118.22.222.35.31.264.178.683.37 1.285.37.602 0 1.02-.192 1.285-.371.13-.088.247-.192.35-.31l.007-.008a.75.75 0 111.222.87l-.614-.431c.614.43.614.431.613.431v.001l-.001.002-.002.003-.005.007-.014.019a1.984 1.984 0 01-.184.213c-.16.166-.338.316-.53.445-.63.418-1.37.638-2.127.629-.946 0-1.652-.308-2.126-.63a3.32 3.32 0 01-.715-.657l-.014-.02-.005-.006-.002-.003v-.002h-.001l.613-.432-.614.43a.75.75 0 01.183-1.044h.001z"></path> </svg> </span> </button> </span> <text-expander keys=": @" data-mention-url="/autocomplete/user-suggestions" data-emoji-url="/autocomplete/emoji"> <input type="text" autocomplete="off" data-no-org-url="/autocomplete/user-suggestions" data-org-url="/suggestions?mention_suggester=1" data-maxlength="80" class="d-table-cell width-full form-control js-user-status-message-field js-characters-remaining-field" placeholder="What's happening?" name="message" value="" aria-label="What is your current status?"> </text-expander> <div class="error">Could not update your status, please try again.</div> </div> <div style="margin-left: 53px" class="my-1 text-small label-characters-remaining js-characters-remaining" data-suffix="remaining" hidden> 80 remaining </div> </div> <include-fragment class="js-user-status-emoji-picker" data-url="/users/status/emoji"></include-fragment> <div class="overflow-auto ml-n3 mr-n3 px-3 border-bottom" style="max-height: 33vh"> <div class="user-status-suggestions js-user-status-suggestions collapsed overflow-hidden"> <h4 class="f6 text-normal my-3">Suggestions:</h4> <div class="mx-3 mt-2 clearfix"> <div class="float-left col-6"> <button type="button" value=":palm_tree:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="palm_tree" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f334.png">🌴</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> On vacation </div> </button> <button type="button" value=":face_with_thermometer:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="face_with_thermometer" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f912.png">🤒</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Out sick </div> </button> </div> <div class="float-left col-6"> <button type="button" value=":house:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="house" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3e0.png">🏠</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Working from home </div> </button> <button type="button" value=":dart:" class="d-flex flex-items-baseline flex-items-stretch lh-condensed f6 btn-link Link--secondary no-underline js-predefined-user-status mb-1"> <div class="emoji-status-width mr-2 v-align-middle js-predefined-user-status-emoji"> <g-emoji alias="dart" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f3af.png">🎯</g-emoji> </div> <div class="d-flex flex-items-center no-underline js-predefined-user-status-message ws-normal text-left" style="border-left: 1px solid transparent"> Focusing </div> </button> </div> </div> </div> <div class="user-status-limited-availability-container"> <div class="form-checkbox my-0"> <input type="checkbox" name="limited_availability" value="1" class="js-user-status-limited-availability-checkbox" data-default-message="I may be slow to respond." aria-describedby="limited-availability-help-text-truncate-false-compact-true" id="limited-availability-truncate-false-compact-true"> <label class="d-block f5 color-fg-default mb-1" for="limited-availability-truncate-false-compact-true"> Busy </label> <p class="note" id="limited-availability-help-text-truncate-false-compact-true"> When others mention you, assign you, or request your review, GitHub will let them know that you have limited availability. </p> </div> </div> </div> <div class="d-inline-block f5 mr-2 pt-3 pb-2" > <div class="d-inline-block mr-1"> Clear status </div> <details class="js-user-status-expire-drop-down f6 dropdown details-reset details-overlay d-inline-block mr-2"> <summary aria-haspopup="true" data-view-component="true" class="btn-sm btn v-align-baseline"> <div class="js-user-status-expiration-interval-selected d-inline-block v-align-baseline"> Never </div> <div class="dropdown-caret"></div> </summary> <ul class="dropdown-menu dropdown-menu-se pl-0 overflow-auto" style="width: 220px; max-height: 15.5em"> <li> <button type="button" class="btn-link dropdown-item js-user-status-expire-button ws-normal" title="Never"> <span class="d-inline-block text-bold mb-1">Never</span> <div class="f6 lh-condensed">Keep this status until you clear your status or edit your status.</div> </button> </li> <li class="dropdown-divider" role="none"></li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 30 minutes" value="2022-06-07T21:44:33-07:00"> in 30 minutes </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 1 hour" value="2022-06-07T22:14:33-07:00"> in 1 hour </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="in 4 hours" value="2022-06-08T01:14:33-07:00"> in 4 hours </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="today" value="2022-06-07T23:59:59-07:00"> today </button> </li> <li> <button type="button" class="btn-link dropdown-item ws-normal js-user-status-expire-button" title="this week" value="2022-06-12T23:59:59-07:00"> this week </button> </li> </ul> </details> <input class="js-user-status-expiration-date-input" type="hidden" name="expires_at" value=""> </div> <include-fragment class="js-user-status-org-picker" data-url="/users/status/organizations"></include-fragment> </div> <div class="d-flex flex-items-center flex-justify-between p-3 border-top"> <button type="submit" disabled class="width-full btn btn-primary mr-2 js-user-status-submit"> Set status </button> <button type="button" disabled class="width-full js-clear-user-status-button btn ml-2 "> Clear status </button> </div> </form> </details-dialog> </details> </div> </div> <div class="d-flex flex-column"> <div class="flex-order-1 flex-md-order-none"> <div class="d-flex flex-lg-row flex-md-column"> </div> <!-- '"` --><!-- </textarea></xmp> --></option></form><form hidden="hidden" class="position-relative flex-auto js-profile-editable-form" data-turbo="false" action="/users/chikitang" accept-charset="UTF-8" method="post"><input type="hidden" name="_method" value="put" autocomplete="off" /><input type="hidden" name="authenticity_token" value="iwkVToBnjXFFdNjInjG45Uav3_DZUvm96ztLPa7SIYzz2alJxKqJKkcLPLY81dLs-VRRaZXtdnzRx1yISU3dcQ" /> <div class="mb-1 mb-2"> <label for="user_profile_name" class="d-block mb-1">Name</label> <input class="width-full form-control" id="user_profile_name" placeholder="Name" aria-label="Name" name="user[profile_name]" value=""> </div> <div class="js-length-limited-input-container"> <label for="user_profile_bio" class="d-block mb-1">Bio</label> <text-expander keys=": @" data-emoji-url="/autocomplete/emoji" data-mention-url="/autocomplete/user-suggestions"> <textarea class="form-control js-length-limited-input mb-1 width-full js-user-profile-bio-edit" id="user_profile_bio" name="user[profile_bio]" placeholder="Add a bio" aria-label="Add a bio" rows="3" data-input-max-length="160" data-warning-text="{{remaining}} remaining"></textarea> <div class="d-none js-length-limited-input-warning user-profile-bio-message text-right m-0"></div> </text-expander> <p class="note"> You can <strong>@mention</strong> other users and organizations to link to them. </p> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path fill-rule="evenodd" d="M1.5 14.25c0 .138.112.25.25.25H4v-1.25a.75.75 0 01.75-.75h2.5a.75.75 0 01.75.75v1.25h2.25a.25.25 0 00.25-.25V1.75a.25.25 0 00-.25-.25h-8.5a.25.25 0 00-.25.25v12.5zM1.75 16A1.75 1.75 0 010 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 00.25-.25V8.285a.25.25 0 00-.111-.208l-1.055-.703a.75.75 0 11.832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0114.25 16h-3.5a.75.75 0 01-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 01-.75-.75V14h-1v1.25a.75.75 0 01-.75.75h-3zM3 3.75A.75.75 0 013.75 3h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 3.75zM3.75 6a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM3 9.75A.75.75 0 013.75 9h.5a.75.75 0 010 1.5h-.5A.75.75 0 013 9.75zM7.75 9a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5zM7 6.75A.75.75 0 017.75 6h.5a.75.75 0 010 1.5h-.5A.75.75 0 017 6.75zM7.75 3a.75.75 0 000 1.5h.5a.75.75 0 000-1.5h-.5z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Company" aria-label="Company" name="user[profile_company]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-location"> <path fill-rule="evenodd" d="M11.536 3.464a5 5 0 010 7.072L8 14.07l-3.536-3.535a5 5 0 117.072-7.072v.001zm1.06 8.132a6.5 6.5 0 10-9.192 0l3.535 3.536a1.5 1.5 0 002.122 0l3.535-3.536zM8 9a2 2 0 100-4 2 2 0 000 4z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Location" aria-label="Location" name="user[profile_location]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center"> <svg style="width: 16px;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link"> <path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path> </svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Website" aria-label="Website" name="user[profile_blog]" value=""> </div> <div class="color-fg-muted mt-2 d-flex flex-items-center" > <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" height="16" width="16"><title>Twitter</title><path d="M273.5 26.3a109.77 109.77 0 0 1-32.2 8.8 56.07 56.07 0 0 0 24.7-31 113.39 113.39 0 0 1-35.7 13.6 56.1 56.1 0 0 0-97 38.4 54 54 0 0 0 1.5 12.8A159.68 159.68 0 0 1 19.1 10.3a56.12 56.12 0 0 0 17.4 74.9 56.06 56.06 0 0 1-25.4-7v.7a56.11 56.11 0 0 0 45 55 55.65 55.65 0 0 1-14.8 2 62.39 62.39 0 0 1-10.6-1 56.24 56.24 0 0 0 52.4 39 112.87 112.87 0 0 1-69.7 24 119 119 0 0 1-13.4-.8 158.83 158.83 0 0 0 86 25.2c103.2 0 159.6-85.5 159.6-159.6 0-2.4-.1-4.9-.2-7.3a114.25 114.25 0 0 0 28.1-29.1" fill="currentColor"></path></svg> <input class="ml-2 form-control flex-auto input-sm" placeholder="Twitter username" aria-label="Twitter username" name="user[profile_twitter_username]" value="" > </div> <div class="my-3"> <div class="js-profile-editable-error color-fg-danger my-3"></div> <button type="submit" data-view-component="true" class="btn-primary btn-sm btn"> Save </button> <button type="reset" data-view-component="true" class="js-profile-editable-cancel btn-sm btn"> Cancel </button> </div> </form> </div> <div class="js-profile-editable-area d-flex flex-column d-md-block"> <div class="p-note user-profile-bio mb-3 js-user-profile-bio f4" data-bio-text="" hidden></div> <div class="mb-3"> <button name="button" type="button" class="btn btn-block js-profile-editable-edit-button" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"INLINE_EDIT_BUTTON","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="61c43523f3cefbffa175f42d94926965a2c009a1d69d82f4bd8aee8c11a19dc8">Edit profile</button> </div> <ul class="vcard-details"> <li title="Member since" class="vcard-detail pt-1 css-truncate css-truncate-target "><svg class="octicon octicon-clock" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"></path></svg> <span class="join-label">Joined </span> <relative-time datetime="2022-06-08T03:50:24Z" class="no-wrap">Jun 7, 2022</relative-time> </li> </ul> </div> </div> </div> </div> </div> <div data-view-component="true" class="Layout-main"> <div class="UnderlineNav user-profile-nav d-block d-md-none position-sticky top-0 pl-3 ml-n3 mr-n3 pr-3 color-bg-default" style="z-index:3;" > <nav class="UnderlineNav-body width-full p-responsive" data-pjax aria-label="User profile"> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_OVERVIEW","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="5d370149c21205ec5db1b16999e0832e303dc0e8216fdfcad467e4d739ba5bd2" data-tab-item="overview" href="/chikitang"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75A.75.75 0 01.75 1h4.253c1.227 0 2.317.59 3 1.501A3.744 3.744 0 0111.006 1h4.245a.75.75 0 01.75.75v10.5a.75.75 0 01-.75.75h-4.507a2.25 2.25 0 00-1.591.659l-.622.621a.75.75 0 01-1.06 0l-.622-.621A2.25 2.25 0 005.258 13H.75a.75.75 0 01-.75-.75V1.75zm8.755 3a2.25 2.25 0 012.25-2.25H14.5v9h-3.757c-.71 0-1.4.201-1.992.572l.004-7.322zm-1.504 7.324l.004-5.073-.002-2.253A2.25 2.25 0 005.003 2.5H1.5v9h3.757a3.75 3.75 0 011.994.574z"></path> </svg> Overview </a> <a aria-current="page" class="UnderlineNav-item js-responsive-underlinenav-item selected" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_REPOSITORIES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="2878152d02a2613d43b03e73899fd932cdc33dbf741606f59108073a3be3d53e" data-tab-item="repositories" href="/chikitang?tab=repositories"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> Repositories <span title="1" data-view-component="true" class="Counter">1</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PROJECTS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="998a9967a41db96a06d41fa60e83ae993072d339981cb58ccbd2a1e8c28b8173" data-tab-item="projects" href="/chikitang?tab=projects&type=beta"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v3.585a.746.746 0 010 .83v8.085A1.75 1.75 0 0114.25 16H6.309a.748.748 0 01-1.118 0H1.75A1.75 1.75 0 010 14.25V6.165a.746.746 0 010-.83V1.75zM1.5 6.5v7.75c0 .138.112.25.25.25H5v-8H1.5zM5 5H1.5V1.75a.25.25 0 01.25-.25H5V5zm1.5 1.5v8h7.75a.25.25 0 00.25-.25V6.5h-8zm8-1.5h-8V1.5h7.75a.25.25 0 01.25.25V5z"></path> </svg> Projects <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_PACKAGES","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="add7fd6f4f8f617c23b86cea0dd89fef5bd1ea5fe415b3492401e9a613d417be" data-tab-item="packages" href="/chikitang?tab=packages"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8.878.392a1.75 1.75 0 00-1.756 0l-5.25 3.045A1.75 1.75 0 001 4.951v6.098c0 .624.332 1.2.872 1.514l5.25 3.045a1.75 1.75 0 001.756 0l5.25-3.045c.54-.313.872-.89.872-1.514V4.951c0-.624-.332-1.2-.872-1.514L8.878.392zM7.875 1.69a.25.25 0 01.25 0l4.63 2.685L8 7.133 3.245 4.375l4.63-2.685zM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432L2.5 5.677zm6.25 8.271l4.625-2.683a.25.25 0 00.125-.216V5.677L8.75 8.432v5.516z"></path> </svg> Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> <a class="UnderlineNav-item js-responsive-underlinenav-item" data-hydro-click="{"event_type":"user_profile.click","payload":{"profile_user_id":107093285,"target":"TAB_STARS","user_id":107093285,"originating_url":"https://github.com/chikitang?tab=repositories"}}" data-hydro-click-hmac="9b1d942d1e97482fca652be20f1a0bdf7aadf6379f10093c52d87921e2fc4d38" data-tab-item="stars" href="/chikitang?tab=stars"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star UnderlineNav-octicon hide-sm"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg> Stars <span title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a> </nav> <div class="position-absolute pr-3 pr-md-4 pr-lg-5 right-0 js-responsive-underlinenav-overflow" style="visibility: hidden"> <details data-view-component="true" class="details-overlay details-reset position-relative"> <summary role="button" data-view-component="true"> <div class="UnderlineNav-item mr-0 border-0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal"> <path d="M8 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM1.5 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm13 0a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path> </svg> <span class="sr-only">More</span> </div> </summary> <div data-view-component="true"> <details-menu role="menu" class="dropdown-menu dropdown-menu-sw"> <ul > <li data-menu-item="overview" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang" href="/chikitang">Overview</a> </li> <li data-menu-item="repositories" hidden> <a role="menuitem" class="js-selected-navigation-item selected dropdown-item" aria-current="page" data-selected-links=" /chikitang?tab=repositories" href="/chikitang?tab=repositories">Repositories</a> </li> <li data-menu-item="projects" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=projects&type=beta" href="/chikitang?tab=projects&type=beta">Projects</a> </li> <li data-menu-item="packages" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=packages" href="/chikitang?tab=packages">Packages</a> </li> <li data-menu-item="stars" hidden> <a role="menuitem" class="js-selected-navigation-item dropdown-item" data-selected-links=" /chikitang?tab=stars" href="/chikitang?tab=stars">Stars</a> </li> </ul> </details-menu> </div> </details></div> </div> <div> <div class="position-relative"> <div class="border-bottom color-border-muted py-3"> <a href="/new" class="d-md-none btn btn-primary d-flex flex-items-center flex-justify-center width-full mb-4"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo mr-1"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> <div class="d-flex flex-items-start"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="width-full" data-autosearch-results-container="user-repositories-list" aria-label="Repositories" role="search" data-turbo="false" action="/chikitang" accept-charset="UTF-8" method="get"> <div class="d-flex flex-column flex-lg-row flex-auto"> <div class="mb-1 mb-md-0 mr-md-3 flex-auto"> <input type="hidden" name="tab" value="repositories"> <input type="search" id="your-repos-filter" name="q" class="form-control width-full" placeholder="Find a repository…" autocomplete="off" aria-label="Find a repository…" value="" data-throttled-autosubmit> </div> <div class="d-flex flex-wrap"> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 mr-1" id="type-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Type</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select type</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="type-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="type" id="type_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_public" value="public" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Public</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_private" value="private" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Private</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_source" value="source" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Sources</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_fork" value="fork" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Forks</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_archived" value="archived" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Archived</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_mirror" value="mirror" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Mirrors</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="type" id="type_template" value="template" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Templates</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0" id="language-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Language</span> <span class="d-none" data-menu-button> All </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu mt-1 mt-lg-0 mr-md-2 ml-md-2 right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select language</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="language-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="language" id="language_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>All</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="language" id="language_html" value="html" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>HTML</span> </label> </div> </div> </details-menu> </details> <details class="details-reset details-overlay position-relative mt-1 mt-lg-0 ml-1" id="sort-options"> <summary aria-haspopup="true" data-view-component="true" class="btn"> <span>Sort</span> <span class="d-none" data-menu-button> Last updated </span> <span class="dropdown-caret"></span> </summary> <details-menu class="SelectMenu right-lg-0"> <div class="SelectMenu-modal"> <header class="SelectMenu-header"> <span class="SelectMenu-title">Select order</span> <button class="SelectMenu-closeButton" type="button" data-toggle-for="sort-options"><svg aria-label="Close menu" aria-hidden="false" role="img" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg></button> </header> <div class="SelectMenu-list"> <label class="SelectMenu-item" role="menuitemradio" aria-checked="true" tabindex="0"> <input type="radio" name="sort" id="sort_" value="" hidden="hidden" data-autosubmit="true" checked="checked" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Last updated</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_name" value="name" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Name</span> </label> <label class="SelectMenu-item" role="menuitemradio" aria-checked="false" tabindex="0"> <input type="radio" name="sort" id="sort_stargazers" value="stargazers" hidden="hidden" data-autosubmit="true" /> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check SelectMenu-icon SelectMenu-icon--check"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> <span class="text-normal" data-menu-button-text>Stars</span> </label> </div> </div> </details-menu> </details> </div> </div> </form> <div class="d-none d-md-flex flex-md-items-center flex-md-justify-end"> <a href="/new" class="text-center btn btn-primary ml-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path fill-rule="evenodd" d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1V9h-8c-.356 0-.694.074-1 .208V2.5a1 1 0 011-1h8zM5 12.25v3.25a.25.25 0 00.4.2l1.45-1.087a.25.25 0 01.3 0L8.6 15.7a.25.25 0 00.4-.2v-3.25a.25.25 0 00-.25-.25h-3.5a.25.25 0 00-.25.25z"></path> </svg> New </a> </div> </div> </div> <div id="user-repositories-list"> <ul data-filterable-for="your-repos-filter" data-filterable-type="substring"> <li class="col-12 d-flex flex-justify-between width-full py-4 border-bottom color-border-muted public source" itemprop="owns" itemscope itemtype="http://schema.org/Code"> <div class="col-10 col-lg-9 d-inline-block"> <div class="d-inline-block mb-1"> <h3 class="wb-break-all"> <a href="/chikitang/github-pages" itemprop="name codeRepository" > github-pages</a> <span></span><span class="Label Label--secondary v-align-middle ml-1 mb-1">Public</span> </h3> </div> <div> <p class="col-9 d-inline-block color-fg-muted mb-2 pr-4" itemprop="description"> A robot powered training repository <g-emoji class="g-emoji" alias="robot" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f916.png">🤖</g-emoji> </p> </div> <div class="f6 color-fg-muted mt-2"> <span class="ml-0 mr-3"> <span class="repo-language-color" style="background-color: #e34c26"></span> <span itemprop="programmingLanguage">HTML</span> </span> <span class="mr-3"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-1"> <path fill-rule="evenodd" d="M8.75.75a.75.75 0 00-1.5 0V2h-.984c-.305 0-.604.08-.869.23l-1.288.737A.25.25 0 013.984 3H1.75a.75.75 0 000 1.5h.428L.066 9.192a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.514 3.514 0 00.686.45A4.492 4.492 0 003 11c.88 0 1.556-.22 2.023-.454a3.515 3.515 0 00.686-.45l.045-.04.016-.015.006-.006.002-.002.001-.002L5.25 9.5l.53.53a.75.75 0 00.154-.838L3.822 4.5h.162c.305 0 .604-.08.869-.23l1.289-.737a.25.25 0 01.124-.033h.984V13h-2.5a.75.75 0 000 1.5h6.5a.75.75 0 000-1.5h-2.5V3.5h.984a.25.25 0 01.124.033l1.29.736c.264.152.563.231.868.231h.162l-2.112 4.692a.75.75 0 00.154.838l.53-.53-.53.53v.001l.002.002.002.002.006.006.016.015.045.04a3.517 3.517 0 00.686.45A4.492 4.492 0 0013 11c.88 0 1.556-.22 2.023-.454a3.512 3.512 0 00.686-.45l.045-.04.01-.01.006-.005.006-.006.002-.002.001-.002-.529-.531.53.53a.75.75 0 00.154-.838L13.823 4.5h.427a.75.75 0 000-1.5h-2.234a.25.25 0 01-.124-.033l-1.29-.736A1.75 1.75 0 009.735 2H8.75V.75zM1.695 9.227c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327l-1.305 2.9zm10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327l-1.305 2.9z"></path> </svg>MIT License </span> Updated <relative-time datetime="2022-06-08T03:58:07Z" class="no-wrap">Jun 7, 2022</relative-time> </div> </div> <div class="col-2 d-flex flex-column flex-justify-around flex-items-end ml-3"> <template class="js-unstar-confirmation-dialog-template"> <div class="Box-header"> <h2 class="Box-title">Unstar this repository?</h2> </div> <div class="Box-body"> <p class="mb-3"> This will remove {{ repoNameWithOwner }} from the {{ listsWithCount }} that it's been added to. </p> <div class="form-actions"> <form class="js-social-confirmation-form" data-turbo="false" action="{{ confirmUrl }}" accept-charset="UTF-8" method="post"> <input type="hidden" name="authenticity_token" value="{{ confirmCsrfToken }}"> <input type="hidden" name="confirm" value="true"> <button data-close-dialog="true" type="submit" data-view-component="true" class="btn-danger btn width-full"> Unstar </button> </form> </div> </div> </template> <div data-view-component="true" class="js-toggler-container js-social-container starring-container BtnGroup d-flex"> <form class="starred js-social-form BtnGroup-parent flex-auto js-deferred-toggler-target" data-turbo="false" action="/chikitang/github-pages/unstar" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="P3ZaMuVNtLT4QUVj9SZ3_76QeVS-3FOc0gP3XVwVBgRcLVKXCTCdvdJ6obMwUrBCGfd2XQVN_W7IuZa7njBcNA" autocomplete="off" /> <input type="hidden" value="KnKZMI3CU5RojoPkAik3DUoD4aqrgGVadUrVgfAoCJRJKZGVYb96nUK1ZzTHXfCw7WTuoxARy6hv8LRnMg1SpA" data-csrf="true" class="js-confirm-csrf-token" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"UNSTAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="f34c8205d1678d4ae0e77c4839fbb14d3a9fd63160652b28998f8827c527e5a2" data-ga-click="Repository, click unstar button, action:profiles/repositories#index; text:Unstar" aria-label="Unstar this repository" type="submit" data-view-component="true" class="rounded-left-2 border-right-0 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star-fill starred-button-icon d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z"></path> </svg><span data-view-component="true" class="d-inline"> Starred </span> </button></form> <form class="unstarred js-social-form BtnGroup-parent flex-auto" data-turbo="false" action="/chikitang/github-pages/star" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="VdD5gHR0SaNWuuE-4Huf1LFVNH_kIFLksg8psuv1LDDU6Ha53YRem4Yp2ZrIpb7eKSa1cf-yR9oZDpa0b5XdgA" autocomplete="off" /> <input type="hidden" name="context" value="other"> <button data-hydro-click="{"event_type":"repository.click","payload":{"target":"STAR_BUTTON","repository_id":501093064,"originating_url":"https://github.com/chikitang?tab=repositories","user_id":107093285}}" data-hydro-click-hmac="5cd067574b17d3257d89fbe1c8c675a553eb8e3ad7cea5efb3cf0e75d36f0801" data-ga-click="Repository, click star button, action:profiles/repositories#index; text:Star" aria-label="Star this repository" type="submit" data-view-component="true" class="js-toggler-target rounded-left-2 btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star d-inline-block mr-2"> <path fill-rule="evenodd" d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25zm0 2.445L6.615 5.5a.75.75 0 01-.564.41l-3.097.45 2.24 2.184a.75.75 0 01.216.664l-.528 3.084 2.769-1.456a.75.75 0 01.698 0l2.77 1.456-.53-3.084a.75.75 0 01.216-.664l2.24-2.183-3.096-.45a.75.75 0 01-.564-.41L8 2.694v.001z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </button></form> <details id="details-user-list-501093064" data-view-component="true" class="details-reset details-overlay BtnGroup-parent js-user-list-menu d-inline-block position-relative"> <summary aria-label="Add this repository to a list" data-view-component="true" class="btn-sm btn BtnGroup-item px-2 float-none"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down"> <path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z"></path> </svg> </summary> <details-menu class="SelectMenu right-0" src="/chikitang/github-pages/lists" role="menu" > <div class="SelectMenu-modal"> <button class="SelectMenu-closeButton position-absolute right-0 m-2" type="button" aria-label="Close menu" data-toggle-for="details-91edb5"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div id="filter-menu-91edb5" class="d-flex flex-column flex-1 overflow-hidden" > <div class="SelectMenu-list" > <include-fragment class="SelectMenu-loading" aria-label="Loading"> <svg style="box-sizing: content-box; color: var(--color-icon-primary);" width="32" height="32" viewBox="0 0 16 16" fill="none" data-view-component="true" class="anim-rotate"> <circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" /> <path d="M15 8a7.002 7.002 0 00-7-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" /> </svg> </include-fragment> </div> </div> </div> </details-menu> </details> </div> <div class="text-right hide-lg hide-md hide-sm hide-xs flex-self-end "> <poll-include-fragment src="/chikitang/github-pages/graphs/participation?h=28&type=sparkline&w=155"> </poll-include-fragment> </div> </div> </li> </ul> <div class="paginate-container"> </div> </div> </div> </div> </div> </div></div> </main> </div> <footer class="footer width-full container-xl p-responsive" role="contentinfo"> <div class="position-relative d-flex flex-items-center pb-2 f6 color-fg-muted border-top color-border-muted flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap mt-6 pt-6"> <ul class="list-style-none d-flex flex-wrap col-0 col-lg-2 flex-justify-start flex-lg-justify-between mb-2 mb-lg-0"> <li class="mt-2 mt-lg-0 d-flex flex-items-center"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> </a> <span> © 2022 GitHub, Inc. </span> </li> </ul> <ul class="list-style-none d-flex flex-wrap col-12 col-lg-8 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-analytics-event="{"category":"Footer","action":"go to terms","label":"text:terms"}">Terms</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}">Privacy</a></li> <li class="mr-3 mr-lg-0"><a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security">Security</a></li> <li class="mr-3 mr-lg-0"><a href="https://www.githubstatus.com/" data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}">Status</a></li> <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to help, text:Docs" href="https://docs.github.com">Docs</a></li> <li class="mr-3 mr-lg-0"><a href="https://support.github.com?tags=dotcom-footer" data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}">Contact GitHub</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-analytics-event="{"category":"Footer","action":"go to Pricing","label":"text:Pricing"}">Pricing</a></li> <li class="mr-3 mr-lg-0"><a href="https://docs.github.com" data-analytics-event="{"category":"Footer","action":"go to api","label":"text:api"}">API</a></li> <li class="mr-3 mr-lg-0"><a href="https://services.github.com" data-analytics-event="{"category":"Footer","action":"go to training","label":"text:training"}">Training</a></li> <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-analytics-event="{"category":"Footer","action":"go to blog","label":"text:blog"}">Blog</a></li> <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> </ul> </div> <div class="d-flex flex-justify-center pb-6"> <span class="f6 color-fg-muted"></span> </div> </footer> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> You can’t perform that action at this time. </div> <div class="js-stale-session-flash flash flash-warn flash-banner" hidden > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path fill-rule="evenodd" d="M8.22 1.754a.25.25 0 00-.44 0L1.698 13.132a.25.25 0 00.22.368h12.164a.25.25 0 00.22-.368L8.22 1.754zm-1.763-.707c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0114.082 15H1.918a1.75 1.75 0 01-1.543-2.575L6.457 1.047zM9 11a1 1 0 11-2 0 1 1 0 012 0zm-.25-5.25a.75.75 0 00-1.5 0v2.5a.75.75 0 001.5 0v-2.5z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path fill-rule="evenodd" d="M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path fill-rule="evenodd" d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5 0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"></path><path fill-rule="evenodd" d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0 00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0 00-.25-.25h-7.5z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path fill-rule="evenodd" d="M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"></path> </svg> </clipboard-copy> </div> </template> <style> .user-mention[href$="/chikitang"] { color: var(--color-user-mention-fg); background-color: var(--color-user-mention-bg); border-radius: 2px; margin-left: -2px; margin-right: -2px; padding: 0 2px; } </style> </body> </html>
css4j / EchosvgSVG implementation in the Java™ Language, fork of Apache Batik, supporting modern CSS: level 4 selectors, colors, calc, nesting, etc.