From b7526f92183eebfbd2bb3b049f803fb16239b772 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 18 Mar 2022 11:35:50 -0400 Subject: [PATCH 001/286] typing hints --- tuplex/test/io/JsonTypeTest.cc | 45 +++++++++++++++++++++++ tuplex/utils/include/JsonStatistic.h | 53 ++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 tuplex/test/io/JsonTypeTest.cc create mode 100644 tuplex/utils/include/JsonStatistic.h diff --git a/tuplex/test/io/JsonTypeTest.cc b/tuplex/test/io/JsonTypeTest.cc new file mode 100644 index 000000000..c37b6fc0a --- /dev/null +++ b/tuplex/test/io/JsonTypeTest.cc @@ -0,0 +1,45 @@ +// +// Created by Leonhard Spiegelberg on 3/18/22. +// + +// @TODO: March, add to this file tests regarding JSON types + +#include +#include +#include + +inline std::string testFolderName() { + return "test_" + std::string(::testing::UnitTest::GetInstance()->current_test_info()->name()); +} + +TEST(JsonTypes, FlatTypes) { + using namespace tuplex; + using namespace std; + + // get unique directory for this test --> allows to run tests in parallel! + auto folder_name = testFolderName(); + + // write a test file + auto test_uri = URI("./" + folder_name + "/flat_typesI.json"); + stringToFile(test_uri, "{\"num_bedrooms\":10,\"price\":80.9}\n{\"num_bedrooms\":9,\"price\":20.9}"); + + // want to use something similar to CSVStat -> JsonStat + // reuse code from https://github.com/LeonhardFS/Tuplex/pull/82/files + // write some more tests, add more test files + // use simdjson instead of rapidjson (replace there!) + + // files: utils/src/JsonStatistic.cc and utils/include/JsonStatistic.h + auto buf = fileToString(test_uri); + + // hand over to JSON Statistic, use some offset to make it a bit more challenging + JsonStatistic stat(0.9); + + stat.estimate(buf.c_str() + 5, buf.size() - 5); + + EXPECT_EQ(stat.columns(), {"num_bedrooms", "price"}); // fix this! + EXPECT_EQ(stat.type(), stat.superType()); // <-- no specialization here + EXPECT_EQ(stat.type().desc(), "(i64,f64)"); + +} + +// @March: TODO, more tests... \ No newline at end of file diff --git a/tuplex/utils/include/JsonStatistic.h b/tuplex/utils/include/JsonStatistic.h new file mode 100644 index 000000000..07985e2a2 --- /dev/null +++ b/tuplex/utils/include/JsonStatistic.h @@ -0,0 +1,53 @@ +// +// Created by Leonhard Spiegelberg on 3/18/22. +// + +#ifndef TUPLEX_JSONSTATISTIC_H +#define TUPLEX_JSONSTATISTIC_H + +#include "CSVUtils.h" +#include +#include "TypeSystem.h" + +namespace tuplex { + + //@March implement: finding Json Offset + //@March + write tests. + // we need this function to chunk JSON files later. + /*! + * finds the start of a valid newline-delimited JSON entry. + * @param buf buffer + * @param buf_size size in bytes of buffer (not necessarily '\0' terminated) + * @return offset from start of buf to first valid line entry, -1 if not found. + */ + int64_t findNLJsonStart(const char* buf, size_t buf_size); + + + // --> put implementation of this into JsonStatistic.cc file in utils/src/JsonStatistic.cc + + // for this https://github.com/LeonhardFS/Tuplex/pull/82/files + // may be helpful + class JsonStatistic { + public: + JsonStatistic(double threshold, const std::vector& null_values=std::vector{""}) : _threshold(threshold), _null_values(null_values) {} + + //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) + void estimate(const char* start, size_t size, bool disableNullColumns=false); + + //@March: implement, columns present in json file + std::vector columns() const; + + //@March: implement, how many full rows are contained in the sample + size_t rowCount() const; + + //@March: implement, normal-case type. I.e. specialized according to threshold + python::Type type() const; + //@March: implement, general-case type. I.e. type has to be a subtyoe of superType, i.e. canUpcastRowType(type(), superType()) must always hold + python::Type superType() const; + private: + double _threshold; + std::vector _null_values; + }; +} + +#endif //TUPLEX_JSONSTATISTIC_H From 42996c4fecf1c58355c1c3ed58ffb63310f529d5 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 18 Mar 2022 11:46:09 -0400 Subject: [PATCH 002/286] more infrastructure --- tuplex/core/include/physical/JsonReader.h | 32 ++++++++++++++++++++ tuplex/test/core/JsonReaderTest.cc | 37 +++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 tuplex/core/include/physical/JsonReader.h create mode 100644 tuplex/test/core/JsonReaderTest.cc diff --git a/tuplex/core/include/physical/JsonReader.h b/tuplex/core/include/physical/JsonReader.h new file mode 100644 index 000000000..5f1e2f77a --- /dev/null +++ b/tuplex/core/include/physical/JsonReader.h @@ -0,0 +1,32 @@ +// +// Created by Leonhard Spiegelberg on 3/18/22. +// + +#ifndef TUPLEX_JSONREADER_H +#define TUPLEX_JSONREADER_H + +#include "FileInputReader.h" + +namespace tuplex { + // @March: implement here + // cf. TextReader, OrcReader, CSVReader(that's the most complex one) + // cf. OrcReaderTest.cc etc. on how to test this end-to-end + + // later: column pushdown etc., will have to think about good interface for this + class JsonReader : public FileInputReader { + public: + JsonReader() = delete; + JsonReader(void *userData, codegen::cells_row_f rowFunctor); + + // use here VirtualFileSystem when reading files... + //@March: for testing, just don't call the rowFunctor yet, but rather construct a Row object and then print row.desc(); + void read(const URI& inputFilePath) override; + + size_t inputRowCount() const override; + + // read all valid JSON lines from >= start to the line that just ends after end. + void setRange(size_t start, size_t end); + void setFunctor(codegen::cells_row_f functor); + }; +} +#endif //TUPLEX_JSONREADER_H diff --git a/tuplex/test/core/JsonReaderTest.cc b/tuplex/test/core/JsonReaderTest.cc new file mode 100644 index 000000000..94e1aa8fe --- /dev/null +++ b/tuplex/test/core/JsonReaderTest.cc @@ -0,0 +1,37 @@ +// +// Created by Leonhard Spiegelberg on 3/18/22. +// + +// @March, you can test the JsonReader here + +#include +#include + +//@March: you can test here +TEST(JsonReader, Basic) { + using namespace tuplex; + using namespace std; + + auto reader = make_unique(nullptr, nullptr); + auto test_uri = "../resources/sample_file.json"; //@TODO: edit + reader->read(test_uri); + + EXPECT_EQ(reader->inputRowCount, 42); //@TODO: edit +} + + +TEST(JsonReader, Chunked) { + using namespace tuplex; + using namespace std; + + auto reader = make_unique(nullptr, nullptr); + auto test_uri = "../resources/sample_file.json"; //@TODO: edit + auto file_size = ...; + + reader->setRange(0, file_size/2); + reader->read(test_uri); + + reader->setRange(file_size/2, file_size); + + EXPECT_EQ(reader->inputRowCount, 42); //@TODO: edit +} \ No newline at end of file From 2722c35613ebdb2916ccc0a4bdf3635e45806a7e Mon Sep 17 00:00:00 2001 From: KorlaMarch Date: Mon, 11 Apr 2022 11:49:14 -0400 Subject: [PATCH 003/286] add jsonStatistic.cpp --- tuplex/utils/src/JsonStatistic.cpp | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tuplex/utils/src/JsonStatistic.cpp diff --git a/tuplex/utils/src/JsonStatistic.cpp b/tuplex/utils/src/JsonStatistic.cpp new file mode 100644 index 000000000..f82e89100 --- /dev/null +++ b/tuplex/utils/src/JsonStatistic.cpp @@ -0,0 +1,46 @@ +// +// Created by kboonyap on 4/11/22. +// + +#include "JsonStatistic.h" + +namespace tuplex { + + //@March implement: finding Json Offset + //@March + write tests. + // we need this function to chunk JSON files later. + /*! + * finds the start of a valid newline-delimited JSON entry. + * @param buf buffer + * @param buf_size size in bytes of buffer (not necessarily '\0' terminated) + * @return offset from start of buf to first valid line entry, -1 if not found. + */ + int64_t findNLJsonStart(const char *buf, size_t buf_size) { + + } + + //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) + void JsonStatistic::estimate(const char *start, size_t size, bool disableNullColumns = false) { + + } + + //@March: implement, columns present in json file + std::vector JsonStatistic::columns() const { + + } + + //@March: implement, how many full rows are contained in the sample + size_t JsonStatistic::rowCount() const { + + } + + //@March: implement, normal-case type. I.e. specialized according to threshold + python::Type JsonStatistic::type() const { + + } + + //@March: implement, general-case type. I.e. type has to be a subtyoe of superType, i.e. canUpcastRowType(type(), superType()) must always hold + python::Type JsonStatistic::superType() const { + + } +} \ No newline at end of file From 580a55d64cf8bc69b3372c3cf245d8191e775972 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 21 Jun 2022 15:49:15 -0400 Subject: [PATCH 004/286] finding start of JSON --- tuplex/test/utils/TestJSONUtils.cc | 23 ++++++ tuplex/utils/src/JsonStatistic.cc | 111 +++++++++++++++++++++++++++++ tuplex/utils/src/JsonStatistic.cpp | 46 ------------ 3 files changed, 134 insertions(+), 46 deletions(-) create mode 100644 tuplex/utils/src/JsonStatistic.cc delete mode 100644 tuplex/utils/src/JsonStatistic.cpp diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 8a387fa63..c0e3c462f 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -11,6 +11,29 @@ #include "gtest/gtest.h" #include #include +#include + +TEST(JSONUtils, Chunker) { + using namespace std; + using namespace tuplex; + // test over json files the chunking + + string test_str; + + // reference is SIMDJSON. + test_str="{}"; + EXPECT_EQ(findNLJsonStart(test_str.c_str(), test_str.size()), 0); // this should work! + test_str = "{}}\n{}"; // this should not give 0 + EXPECT_NE(findNLJsonStart(test_str.c_str(), test_str.size()), 0); // this should work! + test_str = "abc{},\n{\"hello world\"}"; + EXPECT_EQ(findNLJsonStart(test_str.c_str(), test_str.size()), strlen("abc{},\n")); // this should work! + + test_str = " world\"}"; + EXPECT_EQ(findNLJsonStart(test_str.c_str(), test_str.size()), -1); +} + + +// files to test: some with empty lines, etc. TEST(JSONUtils, arrayConv) { diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc new file mode 100644 index 000000000..dcb265c00 --- /dev/null +++ b/tuplex/utils/src/JsonStatistic.cc @@ -0,0 +1,111 @@ +// +// Created by kboonyap on 4/11/22. +// + +#include +#ifdef BUILD_WITH_AWS +#include +#else +#include +#endif + +namespace tuplex { + + //@March implement: finding Json Offset + //@March + write tests. + // we need this function to chunk JSON files later. + /*! + * finds the start of a valid newline-delimited JSON entry. + * @param buf buffer + * @param buf_size size in bytes of buffer (not necessarily '\0' terminated) + * @return offset from start of buf to first valid line entry, -1 if not found. + */ + int64_t findNLJsonStart(const char *buf, size_t buf_size) { + // we use ndjson, so finding a new line is as simple as searching forr '\n' or '\r\n', yet we can also be at + // the beginning of a valid json object. Hence, basically try to parse and see whether it works! + int64_t pos = 0; + + char ws[256]; + memset(ws, 0, sizeof(char) * 256); + ws[' '] = 1; + ws['\n'] = 1; + ws['\t'] = 1; + ws['\r'] = 1; + + // parse possible from the start? + const char *end_ptr = nullptr; + auto json_obj = cJSON_ParseWithLengthOpts(buf, buf_size, &end_ptr, false); + if(json_obj) { + cJSON_free(json_obj); + + // needs to newline (else partial parse to end...) + if(*end_ptr == '\n' || *end_ptr == '\r' || *end_ptr == '\0') + return 0; + } + + while(pos < buf_size && buf[pos] != '\0') { + if(buf[pos] == '\n' || buf[pos] == '\r') { + // can we parse from the start (minus whitespace?) + auto ptr = buf; + auto buf_size_to_parse = pos + 1; + while(ptr < buf + buf_size && ptr < buf + pos && ws[*ptr]) { + ptr++; + buf_size_to_parse--; + } + + // parse cJSON from start of ptr + json_obj = cJSON_ParseWithLengthOpts(ptr, buf_size_to_parse, &end_ptr, false); + if(json_obj) { + cJSON_free(json_obj); + if(*end_ptr == '\n' || *end_ptr == '\r') + return buf - ptr; + } + + // consume as much whitespace as possible + ptr = buf + pos; + while(ptr < buf + buf_size && ws[*ptr]) { + pos++; + ptr = buf + pos; + } + + // can we parse now? + json_obj = cJSON_ParseWithLengthOpts(ptr, buf_size - pos + 1, &end_ptr, false); + if(json_obj) { + cJSON_free(json_obj); + if(*end_ptr == '\n' || *end_ptr == '\r' || *end_ptr == '\0') + return buf - ptr; + } + return pos; + } + + pos++; + } + // not found + return -1; + } + + //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) + void JsonStatistic::estimate(const char *start, size_t size, bool disableNullColumns) { + throw std::runtime_error("not yet implemented"); + } + + //@March: implement, columns present in json file + std::vector JsonStatistic::columns() const { + throw std::runtime_error("not yet implemented"); + } + + //@March: implement, how many full rows are contained in the sample + size_t JsonStatistic::rowCount() const { + throw std::runtime_error("not yet implemented"); + } + + //@March: implement, normal-case type. I.e. specialized according to threshold + python::Type JsonStatistic::type() const { + throw std::runtime_error("not yet implemented"); + } + + //@March: implement, general-case type. I.e. type has to be a subtyoe of superType, i.e. canUpcastRowType(type(), superType()) must always hold + python::Type JsonStatistic::superType() const { + throw std::runtime_error("not yet implemented"); + } +} \ No newline at end of file diff --git a/tuplex/utils/src/JsonStatistic.cpp b/tuplex/utils/src/JsonStatistic.cpp deleted file mode 100644 index f82e89100..000000000 --- a/tuplex/utils/src/JsonStatistic.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// -// Created by kboonyap on 4/11/22. -// - -#include "JsonStatistic.h" - -namespace tuplex { - - //@March implement: finding Json Offset - //@March + write tests. - // we need this function to chunk JSON files later. - /*! - * finds the start of a valid newline-delimited JSON entry. - * @param buf buffer - * @param buf_size size in bytes of buffer (not necessarily '\0' terminated) - * @return offset from start of buf to first valid line entry, -1 if not found. - */ - int64_t findNLJsonStart(const char *buf, size_t buf_size) { - - } - - //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) - void JsonStatistic::estimate(const char *start, size_t size, bool disableNullColumns = false) { - - } - - //@March: implement, columns present in json file - std::vector JsonStatistic::columns() const { - - } - - //@March: implement, how many full rows are contained in the sample - size_t JsonStatistic::rowCount() const { - - } - - //@March: implement, normal-case type. I.e. specialized according to threshold - python::Type JsonStatistic::type() const { - - } - - //@March: implement, general-case type. I.e. type has to be a subtyoe of superType, i.e. canUpcastRowType(type(), superType()) must always hold - python::Type JsonStatistic::superType() const { - - } -} \ No newline at end of file From d017e2b265580119745e670f3e63450efe12e3e5 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 22 Jun 2022 13:50:53 -0400 Subject: [PATCH 005/286] json wip --- .../resources/ndjson/amazon_cellphones.json | 793 ++++++++++++++++++ tuplex/test/resources/ndjson/github.json | 200 +++++ tuplex/test/resources/ndjson/origins.txt | 1 + tuplex/test/utils/TestJSONUtils.cc | 80 +- tuplex/utils/CMakeLists.txt | 13 +- tuplex/utils/include/JsonStatistic.h | 2 + 6 files changed, 1087 insertions(+), 2 deletions(-) create mode 100644 tuplex/test/resources/ndjson/amazon_cellphones.json create mode 100644 tuplex/test/resources/ndjson/github.json create mode 100644 tuplex/test/resources/ndjson/origins.txt diff --git a/tuplex/test/resources/ndjson/amazon_cellphones.json b/tuplex/test/resources/ndjson/amazon_cellphones.json new file mode 100644 index 000000000..1f852dc6d --- /dev/null +++ b/tuplex/test/resources/ndjson/amazon_cellphones.json @@ -0,0 +1,793 @@ +["asin","brand","title","url","image","rating","reviewUrl","totalReviews","prices"] +["B0000SX2UC","Nokia","Dual-Band / Tri-Mode Sprint PCS Phone w/ Voice Activated Dialing & Bright White Backlit Screen","https://www.amazon.com/Dual-Band-Tri-Mode-Activated-Dialing-Backlit/dp/B0000SX2UC","https://m.media-amazon.com/images/I/2143EBQ210L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B0000SX2UC",14,""] +["B0009N5L7K","Motorola","Motorola I265 phone","https://www.amazon.com/Motorola-i265-I265-phone/dp/B0009N5L7K","https://m.media-amazon.com/images/I/419WBAVDARL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0009N5L7K",7,"$49.95"] +["B000SKTZ0S","Motorola","MOTOROLA C168i AT&T CINGULAR PREPAID GOPHONE CELL PHONE","https://www.amazon.com/MOTOROLA-C168i-CINGULAR-PREPAID-GOPHONE/dp/B000SKTZ0S","https://m.media-amazon.com/images/I/71b+q3ydkIS._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B000SKTZ0S",22,""] +["B00198M12M","Nokia","Nokia 6500 Slide Black/silver Unlocked Cell Phone","https://www.amazon.com/Nokia-6500-Slide-silver-Unlocked/dp/B00198M12M","https://m.media-amazon.com/images/I/41ss4HpLkLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.4,"https://www.amazon.com/product-reviews/B00198M12M",5,""] +["B001AO4OUC","Motorola","Motorola i335 Cell Phone Boost Mobile","https://www.amazon.com/Motorola-i335-Phone-Boost-Mobile/dp/B001AO4OUC","https://m.media-amazon.com/images/I/710UO8gdT+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B001AO4OUC",21,""] +["B001DCJAJG","Motorola","Motorola V365 no contract cellular phone AT&T","https://www.amazon.com/Motorola-V365-contract-cellular-phone/dp/B001DCJAJG","https://m.media-amazon.com/images/I/61LYNCVrrKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B001DCJAJG",12,""] +["B001DZY4KI","Sony","Sony Ericsson G700 Triband GSM Phone Bronze (Unlocked)","https://www.amazon.com/Sony-Ericsson-Triband-Bronze-Unlocked/dp/B001DZY4KI","https://m.media-amazon.com/images/I/51mL10InzcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B001DZY4KI",1,"$78.99"] +["B001GQ3DJM","Nokia","Nokia 1680 Black Phone (T-Mobile)","https://www.amazon.com/Nokia-1680-Black-Phone-T-Mobile/dp/B001GQ3DJM","https://m.media-amazon.com/images/I/41X4VeqkFOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B001GQ3DJM",3,""] +["B0027VKQPE","Nokia","Nokia New 1100 for Tracfone","https://www.amazon.com/New-Nokia-1100-for-Tracfone/dp/B0027VKQPE","https://m.media-amazon.com/images/I/91IUe3nDP7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B0027VKQPE",8,"$99.99"] +["B00280QJFU","Samsung","Samsung T301G Prepaid Phone (Tracfone)","https://www.amazon.com/Samsung-T301G-Prepaid-Phone-Tracfone/dp/B00280QJFU","https://m.media-amazon.com/images/I/71QX+Kiri4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00280QJFU",133,"$59.89"] +["B0029X7UHC","Motorola","Motorola I205 cell phone nextel/Boost","https://www.amazon.com/Motorola-I205-phone-nextel-Boost/dp/B0029X7UHC","https://m.media-amazon.com/images/I/81RGb1X2dpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0029X7UHC",2,"$99.95"] +["B002AS9WEA","Samsung","Samsung a167 Prepaid GoPhone (AT&T)","https://www.amazon.com/Samsung-a167-Prepaid-GoPhone-AT/dp/B002AS9WEA","https://m.media-amazon.com/images/I/61OXcZ-oefL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B002AS9WEA",18,"$149.95"] +["B002UHS0UI","Motorola","Verizon Wireless Motorola RAZR V3m - Silver","https://www.amazon.com/Verizon-Wireless-Motorola-RAZR-V3m/dp/B002UHS0UI","https://m.media-amazon.com/images/I/61pVtPaTkML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B002UHS0UI",201,""] +["B003FCO9XE","Samsung","Samsung Smooth Verizon Wireless Prepaid Mobile Cell Camera Phone CDMA","https://www.amazon.com/Samsung-Smooth-Verizon-Wireless-Prepaid/dp/B003FCO9XE","https://m.media-amazon.com/images/I/61nD-TYqHmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B003FCO9XE",76,""] +["B003MW0OIQ","Samsung","Samsung a107 Prepaid GoPhone (AT&T)","https://www.amazon.com/Samsung-a107-Prepaid-GoPhone-AT/dp/B003MW0OIQ","https://m.media-amazon.com/images/I/71QGO7a7YNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B003MW0OIQ",131,""] +["B003P2VNAQ","Samsung","\"Samsung Rugby II, Black (AT&T)\"","https://www.amazon.com/Samsung-Rugby-II-Black-AT/dp/B003P2VNAQ","https://m.media-amazon.com/images/I/81RAS6NJR5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B003P2VNAQ",66,""] +["B003W646YK","Motorola","Motorola i570 Nextel iDen PTT rugged black cell phone","https://www.amazon.com/Motorola-i570-Nextel-rugged-black/dp/B003W646YK","https://m.media-amazon.com/images/I/51oFJfZ-LcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B003W646YK",3,"$79.00"] +["B003XREZ4O","Samsung","\"Samsung Gusto, Black (Verizon Wireless)\"","https://www.amazon.com/Samsung-Gusto-Black-Verizon-Wireless/dp/B003XREZ4O","https://m.media-amazon.com/images/I/8119wz+eORL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B003XREZ4O",15,""] +["B004C7NVD0","Samsung","Samsung Convoy SCH-U640 Cell Phone Ruggedized PTT 2+ megapixel Camera for Verizon","https://www.amazon.com/Samsung-SCH-U640-Ruggedized-megapixel-Verizon/dp/B004C7NVD0","https://m.media-amazon.com/images/I/61ve0RjDSUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B004C7NVD0",102,""] +["B004GLQTG8","Samsung","Samsung R355C Net 10 Unlimited","https://www.amazon.com/Samsung-R355C-Net-10-Unlimited/dp/B004GLQTG8","https://m.media-amazon.com/images/I/51p8LMQ-rIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B004GLQTG8",146,"$79.99"] +["B004H23JXW","Samsung","\"Samsung Focus I917 Unlocked Phone with Windows 7 OS, 5 MP Camera, and Wi-Fi--No Warranty (Black)\"","https://www.amazon.com/Samsung-I917-Unlocked-Wi-Fi-No-Warranty/dp/B004H23JXW","https://m.media-amazon.com/images/I/81v2NUARf6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B004H23JXW",348,""] +["B004UVR9A4","Samsung","Samsung Factor Prepaid Phone (Boost Mobile)","https://www.amazon.com/Samsung-Factor-Prepaid-Phone-Mobile/dp/B004UVR9A4","https://m.media-amazon.com/images/I/81AkHig97BL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B004UVR9A4",56,""] +["B004Y0TNRS","Motorola","Motorola VU204 No Contract Camera Bluetooth Cell Phone Verizon Wireless","https://www.amazon.com/Motorola-VU204-Contract-Bluetooth-Wireless/dp/B004Y0TNRS","https://m.media-amazon.com/images/I/71sZt7Mum5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B004Y0TNRS",73,""] +["B004YBP8EY","Samsung","Samsung SA-S5260WESP Cellphone - Unlocked Phone - US Warranty - White","https://www.amazon.com/Samsung-SA-S5260WESP-Cellphone-Unlocked-Warranty/dp/B004YBP8EY","https://m.media-amazon.com/images/I/41S2alAozSL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B004YBP8EY",23,""] +["B0052OL576","Motorola","Motorola Clutch i475 Prepaid Phone (Boost Mobile)","https://www.amazon.com/Motorola-Clutch-i475-Prepaid-Mobile/dp/B0052OL576","https://m.media-amazon.com/images/I/61RNJ+DulwL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B0052OL576",8,"$59.95"] +["B005JGSVCE","Samsung","Verizon or PagePlus amsung Haven U320 CDMA Cell Phone Dark Grey New No Contract","https://www.amazon.com/Verizon-PagePlus-amsung-U320-Contract/dp/B005JGSVCE","https://m.media-amazon.com/images/I/51vESAKZIVL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B005JGSVCE",199,""] +["B005WJJKE6","HUAWEI","Huawei Pinnacle Prepaid Phone (MetroPCS)","https://www.amazon.com/Huawei-Pinnacle-Prepaid-Phone-MetroPCS/dp/B005WJJKE6","https://m.media-amazon.com/images/I/81cfooX2oNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B005WJJKE6",28,"$59.99"] +["B006OU39QW","Samsung","Verizon Samsung Convoy U660 No Contract Rugged PTT Cell Phone Grey Verizon","https://www.amazon.com/Verizon-Samsung-Convoy-Contract-Rugged/dp/B006OU39QW","https://m.media-amazon.com/images/I/61rvyD+XtkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B006OU39QW",248,"$109.99"] +["B006VH79R8","Samsung","Samsung Replenish Prepaid Android Phone (Boost Mobile)","https://www.amazon.com/Samsung-Replenish-Prepaid-Android-Mobile/dp/B006VH79R8","https://m.media-amazon.com/images/I/41Z0ow6IIZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B006VH79R8",83,"$99.99"] +["B00727AODC","Samsung","\"Samsung Focus Flash I677 8GB Unlocked GSM Phone with Windows 7.5 OS, 5MP Camera, GPS, Wi-Fi, Bluetooth and FM Radio - Black\"","https://www.amazon.com/Samsung-I677-Unlocked-Windows-Bluetooth/dp/B00727AODC","https://m.media-amazon.com/images/I/81O5HRPD1gL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00727AODC",123,""] +["B007LU0HU0","Samsung","Samsung Replenish SPH-M580 Blue No Contract Sprint Cell Phone","https://www.amazon.com/Samsung-Replenish-SPH-M580-Contract-Sprint/dp/B007LU0HU0","https://m.media-amazon.com/images/I/814X9g3snHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.5,"https://www.amazon.com/product-reviews/B007LU0HU0",10,""] +["B007P736SE","Samsung","Samsung Focus i917 GSM 3G Windows Phone 7 Smartphone AT&T New","https://www.amazon.com/Samsung-Focus-Windows-Phone-Smartphone/dp/B007P736SE","https://m.media-amazon.com/images/I/81s0xgVWDOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B007P736SE",20,"$118.80"] +["B007X6FFLS","Samsung","Samsung a157 GoPhone (AT&T)","https://www.amazon.com/Samsung-a157-GoPhone-AT-T/dp/B007X6FFLS","https://m.media-amazon.com/images/I/71Y+FpZYcFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B007X6FFLS",305,""] +["B008FRL6VC","Samsung","Samsung Convoy 2 U660 Verizon CDMA Flip Cell Phone - Black","https://www.amazon.com/Samsung-Convoy-U660-Verizon-Phone/dp/B008FRL6VC","https://m.media-amazon.com/images/I/61c9H02nTeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B008FRL6VC",18,""] +["B008LXDCMQ","Samsung","New Sprint Samsung Replenish M580 No Contract CDMA QWERTY Android Smartphone","https://www.amazon.com/Samsung-Replenish-M580-Contract-Smartphone/dp/B008LXDCMQ","https://m.media-amazon.com/images/I/81ctewG-ioL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B008LXDCMQ",23,""] +["B008P2SUEI","Samsung","Samsung Entro Mobile Phone Black | Virgin Mobile","https://www.amazon.com/Samsung-Entro-Mobile-Phone-Virgin/dp/B008P2SUEI","https://m.media-amazon.com/images/I/41GWX3zjrRL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B008P2SUEI",164,"$189.95"] +["B008PAW5EQ","Samsung","\"Samsung U365 Gusto 2 Prepaid Phone (Verizon Wireless, Prepaid)\"","https://www.amazon.com/Samsung-Gusto-Prepaid-Verizon-Wireless/dp/B008PAW5EQ","https://m.media-amazon.com/images/I/71KNeSQtVfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B008PAW5EQ",73,""] +["B0096DERAG","Motorola","Motorola MC75A Hand Held Computer Windows Mobile 6.5 MC75A8-PYFSWQRA9WR","https://www.amazon.com/Motorola-Computer-Windows-Mobile-MC75A8-PYFSWQRA9WR/dp/B0096DERAG","https://m.media-amazon.com/images/I/51tGSJTIQmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B0096DERAG",1,""] +["B0096QYH80","Motorola","\"Motorola Droid RAZR M XT907 Verizon Wireless, 8GB, White\"","https://www.amazon.com/Motorola-Droid-RAZR-Verizon-Wireless/dp/B0096QYH80","https://m.media-amazon.com/images/I/71-afm8RuLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B0096QYH80",485,""] +["B009ZC91AY","Nokia","Nokia Lumia 920 32GB Unlocked 4G LTE Windows Smartphone w/ PureView Technology 8MP Camera - Black","https://www.amazon.com/Nokia-Unlocked-Smartphone-PureView-Technology/dp/B009ZC91AY","https://m.media-amazon.com/images/I/81jZZlkG97L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B009ZC91AY",147,"$89.00"] +["B00A408AF8","Samsung","\"Samsung Galaxy Express, Gray 8GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-Express-Gray-8GB/dp/B00A408AF8","https://m.media-amazon.com/images/I/816B5o+yZkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B00A408AF8",8,"$389.28"] +["B00A7F57EM","Nokia","Nokia Lumia 822 16GB Windows Phone Black - Verizon","https://www.amazon.com/Nokia-Lumia-Windows-Phone-Black/dp/B00A7F57EM","https://m.media-amazon.com/images/I/81jxGoYUWTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00A7F57EM",62,""] +["B00A7F5M9W","Nokia","\"Nokia Lumia 822, White 16GB (Verizon Wireless)\"","https://www.amazon.com/Nokia-Lumia-822-Verizon-Wireless/dp/B00A7F5M9W","https://m.media-amazon.com/images/I/81OtSgABAYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00A7F5M9W",22,""] +["B00ACZ0DUA","Nokia","Nokia Lumia 920 32GB Unlocked GSM Windows 8 Smartphone w/ Carl Zeiss Optics Camera - Yellow","https://www.amazon.com/Nokia-Unlocked-Windows-Smartphone-Optics/dp/B00ACZ0DUA","https://m.media-amazon.com/images/I/51FCiU2tJ8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00ACZ0DUA",74,"$181.49"] +["B00B2BYU1Q","Nokia","Nokia Lumia 920 32GB Unlocked GSM 4G LTE Windows 8 Smartphone - Red","https://www.amazon.com/Nokia-Lumia-Unlocked-Windows-Smartphone/dp/B00B2BYU1Q","https://m.media-amazon.com/images/I/61QUOVrwVNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00B2BYU1Q",575,""] +["B00B5081MI","Samsung","\"Samsung A157 Unlocked GSM Cell Phone with Internet Browser, 3G Capabilities, SMS & MMS and Speakerphone - Black\"","https://www.amazon.com/Samsung-Unlocked-Internet-Capabilities-Speakerphone/dp/B00B5081MI","https://m.media-amazon.com/images/I/51gbQhGQWWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B00B5081MI",48,"$149.95"] +["B00B593XAY","Motorola","\"Motorola DROID RAZR M, Pink 8GB (Verizon Wireless)\"","https://www.amazon.com/Motorola-DROID-RAZR-Verizon-Wireless/dp/B00B593XAY","https://m.media-amazon.com/images/I/71+iGziaZ6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00B593XAY",4,""] +["B00B6SFDHK","Motorola","Motorola Droid RAZR HD 16GB XT926 Black - Verizon","https://www.amazon.com/Motorola-Droid-RAZR-XT926-Black/dp/B00B6SFDHK","https://m.media-amazon.com/images/I/91F0+DwLSkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00B6SFDHK",262,""] +["B00BIR1LKM","Nokia","Nokia Lumia 620 Magenta (Factory Unlocked)","https://www.amazon.com/Nokia-620-Magenta-Factory-Unlocked/dp/B00BIR1LKM","https://m.media-amazon.com/images/I/412Owedwj9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00BIR1LKM",2,"$99.99"] +["B00BV1MVJ0","Samsung","\"Samsung Galaxy S4 GT-I9500 Factory Unlocked Cellphone, 16GB, White\"","https://www.amazon.com/Samsung-GT-I9500-Factory-Unlocked-Cellphone/dp/B00BV1MVJ0","https://m.media-amazon.com/images/I/81Kb-5sSTLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00BV1MVJ0",1,"$168.96"] +["B00CIF9MJK","Samsung","\"Samsung Galaxy S4 i9500 Factory Unlocked Cellphone, International Version, 16GB, Black\"","https://www.amazon.com/Samsung-Factory-Unlocked-Cellphone-International/dp/B00CIF9MJK","https://m.media-amazon.com/images/I/91aHUW66c6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00CIF9MJK",1,"$164.92"] +["B00CKUH92A","Nokia","Nokia Lumia 520 Unlocked GSM Windows 8 Touchscreen Smartphone - Yellow","https://www.amazon.com/Nokia-Unlocked-Windows-Touchscreen-Smartphone/dp/B00CKUH92A","https://m.media-amazon.com/images/I/81H0L6j1EqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00CKUH92A",52,""] +["B00CQAOIIC","Nokia","\"Nokia Lumia 928, Black 32GB (Verizon Wireless)\"","https://www.amazon.com/Nokia-Lumia-928-Verizon-Wireless/dp/B00CQAOIIC","https://m.media-amazon.com/images/I/41eVhoL4ZVL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00CQAOIIC",348,""] +["B00CS2ZWKQ","Nokia","Nokia Lumia 925 (RM-893) 4G LTE Windows 8 Smartphone GSM Unlocked","https://www.amazon.com/Nokia-RM-893-Windows-Smartphone-Unlocked/dp/B00CS2ZWKQ","https://m.media-amazon.com/images/I/81MoEhAZS2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00CS2ZWKQ",91,""] +["B00D7OOAHA","Nokia","Nokia Lumia 520 Unlocked GSM Dual-Core Windows 8 Smartphone 8GB - Red","https://www.amazon.com/Nokia-520-Unlocked-Dual-Core-Smartphone/dp/B00D7OOAHA","https://m.media-amazon.com/images/I/615OPC3UkHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00D7OOAHA",71,""] +["B00D99ZBR6","Samsung","Samsung Galaxy Prevail II (Boost Mobile) (Discontinued by Manufacturer)","https://www.amazon.com/Samsung-Prevail-II-Discontinued-Manufacturer/dp/B00D99ZBR6","https://m.media-amazon.com/images/I/61NDR6WOqPL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00D99ZBR6",311,"$99.00"] +["B00DUJ6TYY","Samsung","\"Samsung Galaxy Mega I9152 5.8\"\" Android Smart Phone (Unlocked) - White, Dual-core 1.4 GHz, Dual Camera with Flash (8MP/1.9 MP), Dual SIMs\"","https://www.amazon.com/Samsung-Galaxy-Mega-5-8-Unlocked/dp/B00DUJ6TYY","https://m.media-amazon.com/images/I/61wBEga4WbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00DUJ6TYY",198,""] +["B00E45043A","Nokia","Nokia Lumia 520 (AT&T Go Phone) No Annual Contract (Discontinued by Manufacturer)","https://www.amazon.com/Nokia-Lumia-520-Discontinued-Manufacturer/dp/B00E45043A","https://m.media-amazon.com/images/I/71X1D2B1IKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00E45043A",4,"$84.94"] +["B00E6FGSHY","Samsung","\"Samsung Galaxy S4, White Frost 16GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-S4-White-Frost/dp/B00E6FGSHY","https://m.media-amazon.com/images/I/81suaO+v0mL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00E6FGSHY",638,""] +["B00E8TGT1S","Nokia","Nokia Lumia 520 Quad-Band GSM Unlocked Smartphone - Blue","https://www.amazon.com/Nokia-Lumia-Quad-Band-Unlocked-Smartphone/dp/B00E8TGT1S","https://m.media-amazon.com/images/I/61huy0bRgEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00E8TGT1S",4,""] +["B00E92B88I","Motorola","Motorola Moto X (XT1058) 16GB Unlocked GSM 4G LTE Android Phone w/ 10MP Camera - White","https://www.amazon.com/Motorola-Moto-Unlocked-Phone-Warranty/dp/B00E92B88I","https://m.media-amazon.com/images/I/8180MzTdmyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B00E92B88I",699,""] +["B00ECAABBC","Nokia","\"Nokia Lumia 1020 RM-877 GSM Unlocked 32GB Windows 8.1 4G LTE Smartphone - Black (International version, No Warranty)\"","https://www.amazon.com/Nokia-RM-877-Unlocked-Windows-Smartphone/dp/B00ECAABBC","https://m.media-amazon.com/images/I/81+zA-fvwcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00ECAABBC",235,"$230.59"] +["B00ECBREK2","Motorola","Motorola Moto G (1st Gen) XT1032 8GB Factory Unlocked Global GSM Quad-Core Smartphone - Black","https://www.amazon.com/Motorola-Factory-Unlocked-Quad-Core-Smartphone/dp/B00ECBREK2","https://m.media-amazon.com/images/I/81oLEEydIWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00ECBREK2",17,""] +["B00EKXDL0E","Samsung","\"Samsung Galaxy Mega, Black 16GB (AT&T) (Discontinued by Manufacturer)\"","https://www.amazon.com/Samsung-Galaxy-Mega-Discontinued-Manufacturer/dp/B00EKXDL0E","https://m.media-amazon.com/images/I/813u38qzOPL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00EKXDL0E",231,""] +["B00EP2BN00","Samsung","\"Samsung Convoy 3, Gray (Verizon Wireless)\"","https://www.amazon.com/Samsung-Convoy-Gray-Verizon-Wireless/dp/B00EP2BN00","https://m.media-amazon.com/images/I/71Q7aSSyOkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00EP2BN00",333,""] +["B00F2SDM00","Samsung","\"Samsung Galaxy Note 3, Black 32GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-Note-Black-32GB/dp/B00F2SDM00","https://m.media-amazon.com/images/I/91Q7P86ef5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00F2SDM00",342,""] +["B00F2SKPIM","Samsung","\"Samsung Galaxy Note 3, Black 32GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-Galaxy-Note-Verizon-Wireless/dp/B00F2SKPIM","https://m.media-amazon.com/images/I/91OrpFiCTfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B00F2SKPIM",980,""] +["B00F9RRVUG","Samsung","Samsung a157V (AT&T Go Phone) No Annual Contract","https://www.amazon.com/Samsung-a157V-Phone-Annual-Contract/dp/B00F9RRVUG","https://m.media-amazon.com/images/I/415nK4G4hJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00F9RRVUG",294,""] +["B00FJ8YCZM","Samsung","\"Samsung Galaxy Note 3, White 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Note-White-Sprint/dp/B00FJ8YCZM","https://m.media-amazon.com/images/I/91iEUPjlakL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00FJ8YCZM",178,""] +["B00G9FVHMK","Samsung","\"Samsung Galaxy Mega, Black 16GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Mega-Black-Sprint/dp/B00G9FVHMK","https://m.media-amazon.com/images/I/81eFZBfCKjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00G9FVHMK",85,""] +["B00HWEJJSQ","Samsung","\"Samsung Galaxy S4, White 16GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-Galaxy-S4-Verizon-Wireless/dp/B00HWEJJSQ","https://m.media-amazon.com/images/I/81K46FRlHhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00HWEJJSQ",975,""] +["B00HWENIUG","Nokia","\"Nokia Lumia Icon, White 32GB (Verizon Wireless)\"","https://www.amazon.com/Nokia-Lumia-Icon-Verizon-Wireless/dp/B00HWENIUG","https://m.media-amazon.com/images/I/51xsFwB1caL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00HWENIUG",71,"$183.44"] +["B00I2KY5TM","Nokia","Nokia Lumia 928 32GB Unlocked GSM 4G LTE Windows 8 Smartphone - White","https://www.amazon.com/Nokia-Lumia-Unlocked-Windows-Smartphone/dp/B00I2KY5TM","https://m.media-amazon.com/images/I/51YIDTWEWDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00I2KY5TM",13,""] +["B00I2KY6LE","Nokia","Nokia Lumia 928 32GB Unlocked GSM 4G LTE Windows Smartphone - Black","https://www.amazon.com/Nokia-928-Unlocked-Windows-Smartphone/dp/B00I2KY6LE","https://m.media-amazon.com/images/I/8179Lg2qeQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00I2KY6LE",29,""] +["B00I3OIXJU","Nokia","\"Nokia Lumia 521 Pre-paid Phone (T-mobile, Brightspot)\"","https://www.amazon.com/Nokia-Lumia-Pre-paid-T-mobile-Brightspot/dp/B00I3OIXJU","https://m.media-amazon.com/images/I/61ycuX0uaEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B00I3OIXJU",57,"$165.59"] +["B00IDTU8PC","Samsung","Samsung Galaxy S4 M919 16GB Unlocked GSM Cell Phone - White Frost","https://www.amazon.com/Samsung-Galaxy-M919-Unlocked-Phone/dp/B00IDTU8PC","https://m.media-amazon.com/images/I/71Ecd3WIqvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00IDTU8PC",18,""] +["B00IEMJYL2","Samsung","Samsung Galaxy S4 L720 16GB Sprint CDMA Smartphone - White Frost","https://www.amazon.com/Samsung-Galaxy-L720-Sprint-Smartphone/dp/B00IEMJYL2","https://m.media-amazon.com/images/I/81vLTvMW6DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00IEMJYL2",130,""] +["B00IZ1XA94","Samsung","\"Samsung Galaxy S5, Black 16GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-S5-Black-16GB/dp/B00IZ1XA94","https://m.media-amazon.com/images/I/81RhT3GofXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00IZ1XA94",4,"\"$142.99,$239.00\""] +["B00JEHJMG8","Samsung","Samsung Galaxy S4 16GB SPH-L720 4G LTE Android - Sprint (Blue)","https://www.amazon.com/Samsung-Galaxy-SPH-720T-Tri-Band-Sprint/dp/B00JEHJMG8","https://m.media-amazon.com/images/I/61Uy8S7wD9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00JEHJMG8",130,""] +["B00JH2WPO6","Samsung","\"Samsung ATIV SE, Silver 16GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-ATIV-SE-Verizon-Wireless/dp/B00JH2WPO6","https://m.media-amazon.com/images/I/71zMiByWILL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00JH2WPO6",21,""] +["B00JS73V2U","Motorola","\"Motorola DROID MAXX, Black 16GB (Verizon Wireless)\"","https://www.amazon.com/Motorola-DROID-MAXX-Verizon-Wireless/dp/B00JS73V2U","https://m.media-amazon.com/images/I/717w0Z516KL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B00JS73V2U",257,""] +["B00JYR6GGM","Samsung","\"Samsung Gusto 3, Royal Navy Blue (Verizon Wireless Prepaid) - Discontinued by Manufacturer\"","https://www.amazon.com/Samsung-Gusto-Verizon-Wireless-Prepaid/dp/B00JYR6GGM","https://m.media-amazon.com/images/I/51ZL33qmCpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B00JYR6GGM",257,""] +["B00K0NS0P4","Motorola","\"Motorola Moto G (1st Generation) Unlocked Cellphone, 8GB, White\"","https://www.amazon.com/Motorola-Moto-Generation-Unlocked-Cellphone/dp/B00K0NS0P4","https://m.media-amazon.com/images/I/71L5LzVmrcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B00K0NS0P4",1,"$209.65"] +["B00K15Q2B0","Samsung","Samsung Galaxy S5 G900A 16 GB 4G LTE (Shimmery White) GSM Unlocked","https://www.amazon.com/Samsung-Galaxy-S5-Shimmery-Unlocked/dp/B00K15Q2B0","https://m.media-amazon.com/images/I/71YyAD6rHcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00K15Q2B0",1,"$159.01"] +["B00KHY09BE","Samsung","\"Samsung Galaxy S5 Active, Ruby Red 16GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-S5-Active-Ruby/dp/B00KHY09BE","https://m.media-amazon.com/images/I/91m36-FM7BL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00KHY09BE",829,""] +["B00KM10ITK","Nokia","Nokia Lumia 635 8GB Unlocked GSM 4G LTE Windows 8.1 Quad-Core Phone - Black","https://www.amazon.com/Nokia-Lumia-Unlocked-Windows-Quad-Core/dp/B00KM10ITK","https://m.media-amazon.com/images/I/61WZWpJTYmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00KM10ITK",685,""] +["B00L4DXRS4","Nokia","Nokia 220 RM-971 Unlocked GSM 850 / 1900 Cell Phone w/ 2MP Camera - Black","https://www.amazon.com/Nokia-220-RM-971-Unlocked-Camera/dp/B00L4DXRS4","https://m.media-amazon.com/images/I/61YnFC8Q+kL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00L4DXRS4",208,""] +["B00LAEA8E8","Samsung","Samsung Galaxy S5 G900v 16GB Verizon Wireless CDMA Smartphone - Shimmery White","https://www.amazon.com/Samsung-Galaxy-Verizon-Wireless-Smartphone/dp/B00LAEA8E8","https://m.media-amazon.com/images/I/81CKMjxseIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00LAEA8E8",610,"$142.99"] +["B00LYRY2AM","Nokia","Genuine Nokia C5-03 Unlocked Touch screen Student mobile phone Support wifi Fashionable mobile phone (Blue)","https://www.amazon.com/Genuine-Nokia-Unlocked-Student-Fashionable/dp/B00LYRY2AM","https://m.media-amazon.com/images/I/51pOcTfP71L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00LYRY2AM",119,"$133.99"] +["B00MWI4KKE","Motorola","\"Motorola Moto X (2nd generation) XT1097 GSM Unlocked Cellphone, 16GB, Black Soft Touch\"","https://www.amazon.com/Motorola-Moto-generation-Unlocked-Cellphone/dp/B00MWI4KKE","https://m.media-amazon.com/images/I/81HfPVitlfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00MWI4KKE",422,"$169.00"] +["B00N532C1E","Samsung","\"Samsung Galaxy Alpha, Charcoal Black 32GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-Alpha-Charcoal-Black/dp/B00N532C1E","https://m.media-amazon.com/images/I/91Je35ZEGLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00N532C1E",113,"$339.99"] +["B00N532DU4","Samsung","\"Samsung Galaxy Mega 2, Brown Black 16GB (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-Mega-Brown-Black/dp/B00N532DU4","https://m.media-amazon.com/images/I/81+3p0WndhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00N532DU4",103,"$494.99"] +["B00NACK1DG","Samsung","Samsung Galaxy Mega 6.3 I527 16GB Unlocked GSM 4G LTE Smartphone w/ 8MP Camera - Black","https://www.amazon.com/Samsung-Galaxy-Mega-6-3-Smartphone/dp/B00NACK1DG","https://m.media-amazon.com/images/I/51g4NeNcBYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00NACK1DG",253,""] +["B00NFG57CW","Nokia","\"Nokia Lumia 830 GSM Smartphone, Black - AT&T - No Warranty\"","https://www.amazon.com/Nokia-Lumia-830-Smartphone-Black/dp/B00NFG57CW","https://m.media-amazon.com/images/I/81JM+txddtL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00NFG57CW",111,"$89.95"] +["B00NKR9FT2","Samsung","\"Samsung Galaxy Note 4, Charcoal Black 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Note-Charcoal-Sprint/dp/B00NKR9FT2","https://m.media-amazon.com/images/I/A16V1jmYnTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00NKR9FT2",1,"$239.99"] +["B00NKR9MJA","Samsung","\"Samsung Galaxy Note 4, Frosted White 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Note-Frosted-Sprint/dp/B00NKR9MJA","https://m.media-amazon.com/images/I/A1S4AmmN0pL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00NKR9MJA",218,"$219.99"] +["B00NMWYA36","Samsung","Samsung Galaxy S5 Active G870a 16GB Unlocked GSM Extremely Durable Smartphone w/ 16MP Camera - Titanium Gray","https://www.amazon.com/Samsung-Unlocked-Extremely-Durable-Smartphone/dp/B00NMWYA36","https://m.media-amazon.com/images/I/91RRjd8xSHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00NMWYA36",631,"$157.99"] +["B00O15MWOM","Nokia","Nokia Lumia 530 White - No Contract (T-Mobile)","https://www.amazon.com/Nokia-Lumia-530-White-Contract/dp/B00O15MWOM","https://m.media-amazon.com/images/I/81ba7gOGt5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00O15MWOM",370,"$99.95"] +["B00OAW79PS","Samsung","Samsung Galaxy S4 SGH-i337 16GB Black Mist (AT&T)","https://www.amazon.com/Samsung-Galaxy-SGH-i337-16GB-Black/dp/B00OAW79PS","https://m.media-amazon.com/images/I/91aHUW66c6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00OAW79PS",27,""] +["B00OEK6TWU","Samsung","Samsung Galaxy Note 3 N900A 32GB Unlocked GSM Octa-Core Smartphone w/ 13MP Camera - Black","https://www.amazon.com/Samsung-Galaxy-Note-Unlocked-Cellphone/dp/B00OEK6TWU","https://m.media-amazon.com/images/I/91Q7P86ef5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00OEK6TWU",416,"$214.50"] +["B00OL5H1HU","Samsung","Samsung Galaxy ACE Style Black","https://www.amazon.com/Samsung-Galaxy-ACE-Style-Black/dp/B00OL5H1HU","https://m.media-amazon.com/images/I/615Bi5lTayL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B00OL5H1HU",2,""] +["B00OZTSY6Y","Motorola","\"Motorola DROID Turbo XT1254, Black Ballistic Nylon 32GB (Verizon Wireless)\"","https://www.amazon.com/Motorola-DROID-Turbo-Ballistic-Wireless/dp/B00OZTSY6Y","https://m.media-amazon.com/images/I/81VMO0UpxfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00OZTSY6Y",530,"$159.99"] +["B00PA583YA","Motorola","\"Motorola Moto X - 2nd Generation, Football Leather 16GB (Verizon Wireless)\"","https://www.amazon.com/Motorola-Moto-Generation-Football-Wireless/dp/B00PA583YA","https://m.media-amazon.com/images/I/91EpBjbXmbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B00PA583YA",122,""] +["B00PI1EZPC","Samsung","\"Samsung Galaxy Note Edge, Charcoal Black 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Note-Edge-Charcoal/dp/B00PI1EZPC","https://m.media-amazon.com/images/I/91Jc3Uh4SgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B00PI1EZPC",66,"$199.99"] +["B00PR2QSU2","Nokia","Nokia Lumia 520- GoPhone - Black","https://www.amazon.com/Nokia-Lumia-520-GoPhone-Black/dp/B00PR2QSU2","https://m.media-amazon.com/images/I/71GE-cty9EL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B00PR2QSU2",9,""] +["B00Q8NHBWI","Samsung","Samsung Galaxy Note Edge SM-N915T 32GB for T-Mobile (Certified Refurbished)","https://www.amazon.com/Samsung-SM-N915T-T-Mobile-Certified-Refurbished/dp/B00Q8NHBWI","https://m.media-amazon.com/images/I/71sQuxzVVpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B00Q8NHBWI",60,""] +["B00QQPNYZ6","Motorola","Motorola Moto E Prepaid Phone (Net10)","https://www.amazon.com/Motorola-Moto-Prepaid-Phone-Net10/dp/B00QQPNYZ6","https://m.media-amazon.com/images/I/81Ky7mpumjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B00QQPNYZ6",59,"$28.69"] +["B00R3R6W3W","Samsung","\"Samsung Convoy 3 Non-Camera, Gray (Verizon Wireless)\"","https://www.amazon.com/Samsung-Convoy-Non-Camera-Verizon-Wireless/dp/B00R3R6W3W","https://m.media-amazon.com/images/I/81iGOVN07rL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B00R3R6W3W",2,""] +["B00SIB3HS0","Samsung","Samsung Galaxy S4 M919 16GB Unlocked GSM 4G LTE Quad-Core Smartphone - White Frost","https://www.amazon.com/Samsung-Galaxy-Unlocked-Quad-Core-Smartphone/dp/B00SIB3HS0","https://m.media-amazon.com/images/I/81Kb-5sSTLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B00SIB3HS0",30,"$169.93"] +["B00TRLXO6U","Nokia","Nokia Lumia 928 32GB Unlocked GSM 4G LTE Windows Smartphone w/ 8MP Carl Zeiss Optics Camera - Black","https://www.amazon.com/Nokia-Unlocked-Windows-Smartphone-Optics/dp/B00TRLXO6U","https://m.media-amazon.com/images/I/81CFhqN240L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00TRLXO6U",111,""] +["B00U8F1F1A","Motorola","Motorola Nexus 6 XT1103 32GB 3G/4G LTE Factory Unlocked Cell Phone (Midnight Blue)","https://www.amazon.com/Motorola-XT1103-Factory-Unlocked-Midnight/dp/B00U8F1F1A","https://m.media-amazon.com/images/I/41BLKSzyU3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00U8F1F1A",123,"\"$184.01,$199.99\""] +["B00U8KT62A","Samsung","\"Samsung Galaxy S6 SM-G920F Factory Unlocked Cellphone, International Version, No Warranty 32GB, Gold\"","https://www.amazon.com/Samsung-SM-G920F-Unlocked-Cellphone-International/dp/B00U8KT62A","https://m.media-amazon.com/images/I/81mE4HPNGfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B00U8KT62A",236,"$256.57"] +["B00UA8JZA8","Samsung","Samsung Galaxy S6 G920F Unlocked Cell Phone - International Sourced Version - White Pearl","https://www.amazon.com/Samsung-Galaxy-S6-G920F-Unlocked/dp/B00UA8JZA8","https://m.media-amazon.com/images/I/81t3ZtMJlnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00UA8JZA8",129,"$249.99"] +["B00UPCKKUI","Samsung","Samsung S6 Edge G925T 64GB Black Sapphire - T-Mobile","https://www.amazon.com/Samsung-Edge-G925T-Black-Sapphire/dp/B00UPCKKUI","https://m.media-amazon.com/images/I/717nAjj-k2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00UPCKKUI",5,""] +["B00UZ7QJ6W","Samsung","Samsung Galaxy S4 Mini I257 16GB Unlocked GSM 4G LTE Android Smartphone w/ 8MP Camera - Black Mist","https://www.amazon.com/Samsung-Galaxy-Unlocked-Android-Smartphone/dp/B00UZ7QJ6W","https://m.media-amazon.com/images/I/71daDEfOgkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00UZ7QJ6W",91,"$199.99"] +["B00V7FWBZY","Samsung","\"Samsung Galaxy S6, Black Sapphire 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-S6-Sapphire-Sprint/dp/B00V7FWBZY","https://m.media-amazon.com/images/I/81Uvtgw9D9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00V7FWBZY",1,""] +["B00V7FWEX8","Samsung","Samsung Galaxy S6 G920P 64GB Black (Sprint)","https://www.amazon.com/Samsung-Galaxy-S6-Sapphire-Sprint/dp/B00V7FWEX8","https://m.media-amazon.com/images/I/81TGS8Xz08L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B00V7FWEX8",58,""] +["B00V7FWPVO","Samsung","\"Samsung Galaxy S6, Gold Platinum 64GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-S6-Platinum-Sprint/dp/B00V7FWPVO","https://m.media-amazon.com/images/I/81mE4HPNGfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00V7FWPVO",1,""] +["B00V7FWWA8","Samsung","\"Samsung Galaxy S6 Edge, White Pearl 64GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-S6-Edge-Sprint/dp/B00V7FWWA8","https://m.media-amazon.com/images/I/814WwhaRVuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00V7FWWA8",495,"$229.99"] +["B00V7FWZVY","Samsung","\"Samsung Galaxy S6 Edge, Black Sapphire 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-S6-Edge-Sapphire/dp/B00V7FWZVY","https://m.media-amazon.com/images/I/81AFLIUc0HL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00V7FWZVY",37,"$239.99"] +["B00VGYOY38","Samsung","\"Samsung Galaxy S6 G920 32GB GSM Unlocked International Smartphone, Black Sapphire\"","https://www.amazon.com/Samsung-Galaxy-S6-Cellphone-INTERNATIONAL/dp/B00VGYOY38","https://m.media-amazon.com/images/I/81cvwVzNoiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00VGYOY38",180,""] +["B00VH2TWBS","Samsung","Samsung GALAXY S6 G920 32GB Unlocked GSM 4G LTE Octa-Core Smartphone - Black Sapphire","https://www.amazon.com/Samsung-GALAXY-Unlocked-Octa-Core-Smartphone/dp/B00VH2TWBS","https://m.media-amazon.com/images/I/81Z0DX6B3bL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B00VH2TWBS",230,""] +["B00W2HK38I","Samsung","\"Samsung Galaxy S6 Edge G925T 32GB w/ 4G LTE, 16MP Camera and Octa-Core Processor (T-Mobile) - Black Sapphire\"","https://www.amazon.com/Samsung-Galaxy-Edge-G925T-T-Mobile/dp/B00W2HK38I","https://m.media-amazon.com/images/I/717nAjj-k2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B00W2HK38I",26,""] +["B00WF988BW","Samsung","Samsung Convoy 3 SCH-U680 Rugged 3G Cell Phone Verizon Wireless","https://www.amazon.com/Samsung-Convoy-SCH-U680-Verizon-Wireless/dp/B00WF988BW","https://m.media-amazon.com/images/I/71Q7aSSyOkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B00WF988BW",252,""] +["B00WHE2WCG","Samsung","Samsung Galaxy S6 G920A 32GB Unlocked GSM 4G LTE Octa-Core Android Smartphone with 16MP Camera - Black Sapphire","https://www.amazon.com/Samsung-G920A-Unlocked-Octa-Core-Smartphone/dp/B00WHE2WCG","https://m.media-amazon.com/images/I/81oYNE1MUxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B00WHE2WCG",327,""] +["B00WHE2WVM","Samsung","\"Samsung Galaxy S6 Unlocked SM-G920A GSM Smartphone, White Pearl, 32GB\"","https://www.amazon.com/Samsung-Galaxy-Unlocked-SM-G920A-Smartphone/dp/B00WHE2WVM","https://m.media-amazon.com/images/I/41TCEMfBV0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B00WHE2WVM",195,""] +["B00WIYFBWI","Samsung","Samsung Galaxy S6 Edge G925F 32GB Unlocked Phone - Retail Packaging - Black Sapphire","https://www.amazon.com/Samsung-Galaxy-G925F-Unlocked-Phone/dp/B00WIYFBWI","https://m.media-amazon.com/images/I/71MayBWnHjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B00WIYFBWI",6,"\"$322.50,$339.47\""] +["B00XBCUOB4","Apple","\"Apple iPhone 6, GSM Unlocked, 128GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-128GB/dp/B00XBCUOB4","https://m.media-amazon.com/images/I/81vn3WCqOKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.5,"https://www.amazon.com/product-reviews/B00XBCUOB4",12,"$158.00"] +["B00XQVDW6Y","Motorola","Motorola Moto E LTE - No Contract Phone (U.S. Cellular)","https://www.amazon.com/Motorola-Moto-LTE-Contract-Cellular/dp/B00XQVDW6Y","https://m.media-amazon.com/images/I/51y0QQ7Z4KL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00XQVDW6Y",64,"$199.00"] +["B00YAE9DXM","Samsung","Samsung J1 Smartphone (Carirer Locked to Verizon LTE Prepaid)","https://www.amazon.com/Samsung-J1-Smartphone-Carirer-Verizon/dp/B00YAE9DXM","https://m.media-amazon.com/images/I/41GGl0K7dPL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00YAE9DXM",144,""] +["B00YD5400Y","Apple","\"Apple iPhone 5S 16GB GSM Unlocked, Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-Unlocked-Space-Renewed/dp/B00YD5400Y","https://m.media-amazon.com/images/I/81YP7pPzFCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B00YD5400Y",4,"$80.00"] +["B00YD547Q6","Apple","\"Apple iPhone 6, GSM Unlocked, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-16GB/dp/B00YD547Q6","https://m.media-amazon.com/images/I/81L7tO3hoQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00YD547Q6",6,"$125.55"] +["B00YD54GG2","Apple","\"Apple iPhone 6 Plus, 16GB, Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-16GB/dp/B00YD54GG2","https://m.media-amazon.com/images/I/81bTXIQMGvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00YD54GG2",601,"$169.99"] +["B00YD54J8W","Apple","\"Apple iPhone 6 Plus, GSM Unlocked, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-16GB/dp/B00YD54J8W","https://m.media-amazon.com/images/I/816+hsTlYCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B00YD54J8W",623,"$153.00"] +["B00YD54KJK","Apple","\"Apple iPhone 6 Plus, GSM Unlocked, 64GB - Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-64GB/dp/B00YD54KJK","https://m.media-amazon.com/images/I/81bTXIQMGvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00YD54KJK",1,""] +["B00YD7GOPQ","Apple","\"Apple iPhone 5S, T-Mobile, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-5S-T-Mobile-16GB/dp/B00YD7GOPQ","https://m.media-amazon.com/images/I/61tPiQD8PJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B00YD7GOPQ",46,"$79.95"] +["B00YD7J52U","Apple","Apple iPhone 6 Space Gray 16GB Verizon Smartphone (Renewed)","https://www.amazon.com/Apple-iPhone-Verizon-Smartphone-Refurbished/dp/B00YD7J52U","https://m.media-amazon.com/images/I/61eihG04VZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B00YD7J52U",46,"$159.95"] +["B00YW7L830","Samsung","Samsung Galaxy Note 3 N900v 32GB Verizon Wireless CDMA Smartphone - White (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-Note-Wireless-Smartphone/dp/B00YW7L830","https://m.media-amazon.com/images/I/61pNvD+KDoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B00YW7L830",588,"$149.99"] +["B00ZE8HRYK","Samsung","\"Samsung Galaxy S6 Active, 32 GB , Grey (AT&T)\"","https://www.amazon.com/Samsung-Galaxy-S6-Active-Grey/dp/B00ZE8HRYK","https://m.media-amazon.com/images/I/81zlazvfjBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B00ZE8HRYK",301,"$516.43"] +["B010CK8O9Q","Sony","\"Sony Xperia Z3 Plus E6533 32GB Black 3G/4G, Dual SIM Unlocked Factory 4G LTE - International Version No Warranty\"","https://www.amazon.com/Sony-Xperia-E6533-Unlocked-Factory/dp/B010CK8O9Q","https://m.media-amazon.com/images/I/41+xyOdkmiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B010CK8O9Q",4,""] +["B010V43VFA","Sony","Sony Experia Z3+ 4G LTE Unlocked 32GB Octa Core 3GB RAM E6553 (LTE USA Latin Caribbean Europe) Waterproof 23 MP No Warranty (White)","https://www.amazon.com/Sony-Xperia-Z3-5-2-Inch-Smartphone/dp/B010V43VFA","https://m.media-amazon.com/images/I/71iFTB59LEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B010V43VFA",38,"$159.00"] +["B011AC4U7A","Samsung","Samsung Galaxy S6 G920T 32GB Unlocked GSM 4G LTE Octa-Core Android Smartphone w/ 16MP Camera - Black","https://www.amazon.com/Samsung-Galaxy-G920T-32GB-T-Mobile/dp/B011AC4U7A","https://m.media-amazon.com/images/I/81cvwVzNoiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B011AC4U7A",141,""] +["B012W8XE6E","Motorola","\"Motorola Moto X Play 16GB GSM Unlocked 5.5\"\" Display Smartphone 4G LTE, 21MP Camera, Octa-Core CPU, Black\"","https://www.amazon.com/Motorola-Unlocked-Display-Smartphone-Octa-Core/dp/B012W8XE6E","https://m.media-amazon.com/images/I/41BGJycCIzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B012W8XE6E",33,"$155.99"] +["B0134TVCHI","Samsung","\"Samsung Galaxy S6 Edge+, Black 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-S6-Edge-Sprint/dp/B0134TVCHI","https://m.media-amazon.com/images/I/81h0cGu5OcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0134TVCHI",152,""] +["B013IP8IKM","Sony","\"Sony Xperia E1 D2004 Unlocked GSM 4\"\" Android Dual-Core Smartphone - Black\"","https://www.amazon.com/Sony-D2004-Unlocked-Dual-Core-Smartphone/dp/B013IP8IKM","https://m.media-amazon.com/images/I/81e2h+tIKAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B013IP8IKM",13,""] +["B013XAPPIK","Samsung","\"Samsung Galaxy Note 5, Black 32GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-Galaxy-Note-Verizon-Wireless/dp/B013XAPPIK","https://m.media-amazon.com/images/I/814SsOj-45L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B013XAPPIK",759,""] +["B0147LDSG0","Samsung","\"Samsung Galaxy J5 SM-J500H/DS GSM Factory Unlocked Smartphone, International Version (White)\"","https://www.amazon.com/Samsung-Galaxy-J5-Smartphone-International/dp/B0147LDSG0","https://m.media-amazon.com/images/I/61OUK9nTdjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B0147LDSG0",157,"$198.94"] +["B014KI1XL2","Apple","\"Apple iPhone 6, GSM Unlocked, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-16GB/dp/B014KI1XL2","https://m.media-amazon.com/images/I/61uno-cq+TL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B014KI1XL2",28,"$104.00"] +["B014V5X80S","Samsung","\"Samsung 128GB Galaxy S6 - No Contract (AT&T), Certified Refurbished, White Pearl\"","https://www.amazon.com/Samsung-128GB-Galaxy-Certified-Refurbished/dp/B014V5X80S","https://m.media-amazon.com/images/I/41ry9RxaSZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B014V5X80S",7,"$154.95"] +["B014V5XDV2","Samsung","Samsung Galaxy S6 G920v 32GB Verizon Wireless CDMA Smartphone - Gold Platinum (Renewed)","https://www.amazon.com/Samsung-Galaxy-Verizon-Wireless-Smartphone/dp/B014V5XDV2","https://m.media-amazon.com/images/I/41Z9ulF4QML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B014V5XDV2",73,"$119.00"] +["B014Z8HDWU","Apple","\"Apple iPhone 6, GSM Unlocked, 64GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-64GB/dp/B014Z8HDWU","https://m.media-amazon.com/images/I/913VoEdo-4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B014Z8HDWU",622,"$139.98"] +["B01595SI9U","Samsung","Samsung Galaxy Note 4 N910a 32GB GSM Unlocked Smartphone Charcoal Black (Renewed)","https://www.amazon.com/Samsung-Unlocked-Smartphone-Certified-Refurbished/dp/B01595SI9U","https://m.media-amazon.com/images/I/91SEdpvG+WL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B01595SI9U",367,"$151.99"] +["B015FZLA8A","OnePlus","\"OnePlus 2 A2005 Unlocked 4G LTE 5.5\"\" Smartphone, 64GB Sandstone Black (US Version – NO Warranty )\"","https://www.amazon.com/OnePlus-Unlocked-Smartphone-Sandstone-Version/dp/B015FZLA8A","https://m.media-amazon.com/images/I/81uzvp9M0bL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B015FZLA8A",293,""] +["B015KNMK0O","Apple","\"Apple iPhone 6S, GSM Unlocked, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-16GB/dp/B015KNMK0O","https://m.media-amazon.com/images/I/81NvX+grHWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.3,"https://www.amazon.com/product-reviews/B015KNMK0O",10,"$139.99"] +["B015ROR4PC","Motorola","Motorola Droid Turbo - 32GB Android Smartphone - Verizon - Gray (Renewed)","https://www.amazon.com/Motorola-Droid-Turbo-Android-Smartphone/dp/B015ROR4PC","https://m.media-amazon.com/images/I/51qmSOmqU8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B015ROR4PC",36,"$99.00"] +["B015YCRZ1K","HUAWEI","\"Huawei Nexus 6P Unlocked Smartphone, 64GB, US Warranty (Graphite)\"","https://www.amazon.com/Nexus-6P-Unlocked-Smartphone-Warranty/dp/B015YCRZ1K","https://m.media-amazon.com/images/I/81iG3Ppz-wL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B015YCRZ1K",2,""] +["B016X075F8","Samsung","Samsung Galaxy S5 SM-G900T -16GB Black + GSM Unlocked (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G900T-Unlocked-Renewed/dp/B016X075F8","https://m.media-amazon.com/images/I/81d2KSUCriL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B016X075F8",309,"$99.99"] +["B016X1ZXNS","Samsung","Samsung Galaxy S4 I337 16GB 4G LTE Unlocked GSM Smartphone - White (Renewed)","https://www.amazon.com/Samsung-Galaxy-I337-Unlocked-Smartphone/dp/B016X1ZXNS","https://m.media-amazon.com/images/I/81suaO+v0mL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B016X1ZXNS",94,"$129.99"] +["B017UV6RBW","Samsung","Samsung Galaxy S6 Edge Plus - 32GB - Gold - T-Mobile","https://www.amazon.com/Samsung-Galaxy-S6-Edge-Plus/dp/B017UV6RBW","https://m.media-amazon.com/images/I/71DCgKTo3NL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B017UV6RBW",14,""] +["B0182MA8UY","Samsung","Samsung Galaxy S6 G920T 32GB T-Mobile/GSM Unlocked Phone (Renewed) (Gold)","https://www.amazon.com/Samsung-T-Mobile-Unlocked-Certified-Refurbished/dp/B0182MA8UY","https://m.media-amazon.com/images/I/41xJeR1KZyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0182MA8UY",14,"$130.00"] +["B018OMP8ES","Samsung","Samsung Galaxy Note 5 SM-N920V Gold 32GB (Verizon Wireless)","https://www.amazon.com/Samsung-Galaxy-SM-N920V-Verizon-Wireless/dp/B018OMP8ES","https://m.media-amazon.com/images/I/611pE6W+X0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B018OMP8ES",759,""] +["B018TUJE9U","Samsung","Samsung Galaxy S6 G920A 64GB Unlocked GSM 4G LTE Octa-Core Android Smartphone w/ 16MP Camera - White","https://www.amazon.com/Samsung-Unlocked-Octa-Core-Android-Smartphone/dp/B018TUJE9U","https://m.media-amazon.com/images/I/41TCEMfBV0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B018TUJE9U",14,""] +["B0192TCZWA","Motorola","\"Motorola DROID Turbo 2, XT1585 32GB Black, Unlocked (Verizon Wireless)\"","https://www.amazon.com/Motorola-Turbo-Unlocked-Verizon-Wireless/dp/B0192TCZWA","https://m.media-amazon.com/images/I/61A5YwNLaKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0192TCZWA",342,""] +["B019BH7V0O","Motorola","Motorola Moto G3 Turbo Edition XT1557 4G LTE Dual SIM 16GB Factory Unlocked No Warranty Octacore Water Resistant","https://www.amazon.com/Motorola-Moto-Turbo-Unlocked-DUAL-Resistant-1-5/dp/B019BH7V0O","https://m.media-amazon.com/images/I/61FVQKp10AL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B019BH7V0O",3,"$109.50"] +["B019S654DO","Samsung","Samsung Galaxy S4 16GB Black SPH-L720T Tri-Band (Boost Mobile)","https://www.amazon.com/Samsung-Galaxy-SPH-L720T-Tri-Band-Mobile/dp/B019S654DO","https://m.media-amazon.com/images/I/71Bpvs8eUWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B019S654DO",137,""] +["B01AL0WL46","Samsung","Samsung Galaxy Grand Prime - T-Mobile GSM Quad-Core Android Phone w/ 8MP Camera - Gray","https://www.amazon.com/Samsung-Galaxy-Grand-Prime-Quad-Core/dp/B01AL0WL46","https://m.media-amazon.com/images/I/71VVjI8+CpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01AL0WL46",67,""] +["B01ATTBXY8","Motorola","Motorola Droid Turbo - 32GB Android Smartphone - Verizon - Black (Renewed)","https://www.amazon.com/Motorola-Droid-Turbo-Smartphone-Refurbished/dp/B01ATTBXY8","https://m.media-amazon.com/images/I/91oY6n78hhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01ATTBXY8",182,"$78.74"] +["B01B93KLUU","Samsung","\"Samsung Galaxy Note 3 SM-N900T (32 GB, T-Mobile)\"","https://www.amazon.com/Samsung-Galaxy-Note-SM-N900T-T-Mobile/dp/B01B93KLUU","https://m.media-amazon.com/images/I/61SvF5F5v6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01B93KLUU",80,"$279.99"] +["B01BG1MW5C","Samsung","Samsung Galaxy Note 5 SM-N920T 32GB Black Smartphone for T-Mobile","https://www.amazon.com/Samsung-Galaxy-SM-N920T-Smartphone-T-Mobile/dp/B01BG1MW5C","https://m.media-amazon.com/images/I/61E7F2G7WaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01BG1MW5C",90,""] +["B01BHEBDVW","Motorola","Motorola Droid Maxx 2 XT1565 16 GB Verizon Phone w/ 21 MP Rear Camera - White (Renewed)","https://www.amazon.com/Motorola-Droid-XT1565-Unlocked-version/dp/B01BHEBDVW","https://m.media-amazon.com/images/I/61rT0e5WKvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01BHEBDVW",22,""] +["B01BI2XQ5O","Apple","\"Apple iPhone 6 16 GB Unlocked, Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-Unlocked-Gold-Renewed/dp/B01BI2XQ5O","https://m.media-amazon.com/images/I/51v8Vbyt7ZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01BI2XQ5O",466,"$110.95"] +["B01BLSX96G","Samsung","Samsung Galaxy Grand Prime Prepaid Smartphone Family Mobile Powered by T-Mobile","https://www.amazon.com/Samsung-Prepaid-Smartphone-Powered-T-Mobile/dp/B01BLSX96G","https://m.media-amazon.com/images/I/91yzn+6dfTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01BLSX96G",9,""] +["B01C5OIINO","Samsung","\"Samsung Galaxy S7 Edge SM-G935F 32GB (GSM Only, No CDMA) Factory Unlocked 4G/LTE Single SIM Smartphone (Black Onyx)\"","https://www.amazon.com/Samsung-SM-G935F-Factory-Unlocked-Smartphone/dp/B01C5OIINO","https://m.media-amazon.com/images/I/71nfW0Q94DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01C5OIINO",32,"$323.98"] +["B01C62I49I","Apple","\"Apple iPhone 6, 64GB, Silver - GSM Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-64GB/dp/B01C62I49I","https://m.media-amazon.com/images/I/71c1MkyxU+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01C62I49I",6,"$112.95"] +["B01CJ3SCCI","Samsung","\"Samsung Galaxy S7 Edge, 5.5\"\" 32GB (Verizon Wireless) - Black\"","https://www.amazon.com/Samsung-Galaxy-S7-Edge-Wireless/dp/B01CJ3SCCI","https://m.media-amazon.com/images/I/71zIDRdP0NL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01CJ3SCCI",169,""] +["B01CJ3SCJ6","Samsung","Samsung Galaxy S7 32GB Unlocked (Verizon Wireless) - Gold","https://www.amazon.com/Samsung-Galaxy-Unlocked-Verizon-Wireless/dp/B01CJ3SCJ6","https://m.media-amazon.com/images/I/71kSYOju0xL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01CJ3SCJ6",235,""] +["B01CJ3SCN2","Samsung","\"Samsung Galaxy S7, Black 32GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-Galaxy-Black-Verizon-Wireless/dp/B01CJ3SCN2","https://m.media-amazon.com/images/I/71KB5PiwJAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01CJ3SCN2",199,"$249.99"] +["B01CJ3SF02","Samsung","\"Samsung Galaxy GS7 Edge, Gold 32GB (Verizon Wireless)\"","https://www.amazon.com/Samsung-Galaxy-GS7-Edge-Wireless/dp/B01CJ3SF02","https://m.media-amazon.com/images/I/51dtq9MFg0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01CJ3SF02",35,"$671.46"] +["B01CJU9126","Samsung","Samsung Galaxy S7 G930F 32GB Factory Unlocked GSM Smartphone - International Version - Titanium Silver","https://www.amazon.com/Samsung-Galaxy-S7-Smartphone-International/dp/B01CJU9126","https://m.media-amazon.com/images/I/71vfjigKSoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01CJU9126",303,"$319.99"] +["B01CN1RZY2","Samsung","Samsung Galaxy Note 5 SM-N920T 64gb - Unlocked Cellphone GSM - Platinum Gold (T - Mobile)","https://www.amazon.com/Samsung-Galaxy-Note-SM-N920T-64gb/dp/B01CN1RZY2","https://m.media-amazon.com/images/I/91mI5Q-3b9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B01CN1RZY2",32,""] +["B01COSAKMI","HUAWEI","Huawei Mate 8 NXT-L09 32GB 6-Inch 4G LTE Factory Unlocked Smartphone - International Stock No Warranty (Space Gray)","https://www.amazon.com/Huawei-NXT-L09-Factory-Unlocked-Smartphone/dp/B01COSAKMI","https://m.media-amazon.com/images/I/61ajSRwQwrL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01COSAKMI",19,"$138.00"] +["B01CP4CGCI","Samsung","\"Samsung Galaxy GS7 Edge, Black 32GB (Sprint)\"","https://www.amazon.com/Samsung-Galaxy-Edge-Black-Sprint/dp/B01CP4CGCI","https://m.media-amazon.com/images/I/71nZYJSFrnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01CP4CGCI",20,""] +["B01CP4CGTQ","Samsung","\"Samsung Galaxy S7 G930P 32GB, Black Onyx - Sprint\"","https://www.amazon.com/Samsung-Galaxy-G930P-32GB-Black/dp/B01CP4CGTQ","https://m.media-amazon.com/images/I/71u5x5hyJNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01CP4CGTQ",101,""] +["B01CR1FQMG","Apple","\"Apple iPhone 6S, GSM Unlocked, 64GB - Rose Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-Unlocked-64GB/dp/B01CR1FQMG","https://m.media-amazon.com/images/I/412jWjEIzKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01CR1FQMG",1,"\"$179.99,$659.99\""] +["B01CR2IA6Y","Apple","\"Apple iPhone 6S, GSM Unlocked, 16GB - Space Grey (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-Unlocked-16GB/dp/B01CR2IA6Y","https://m.media-amazon.com/images/I/81s7ZLOGOWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01CR2IA6Y",595,"$145.00"] +["B01CW3CI7A","Samsung","AT&T GoPhone Samsung Flight II A927 3G Touchscreen / QWERTY Slider Phone - Gray Prepaid Go Phone","https://www.amazon.com/GoPhone-Samsung-Flight-Touchscreen-QWERTY/dp/B01CW3CI7A","https://m.media-amazon.com/images/I/81f0R4tLpXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B01CW3CI7A",1,""] +["B01CYYYRNK","Samsung","\"Samsung Galaxy S7 SM-G930A AT&T Unlocked Smartphone, (Black Onyx)\"","https://www.amazon.com/Samsung-Galaxy-SM-G930A-Unlocked-Smartphone/dp/B01CYYYRNK","https://m.media-amazon.com/images/I/419J7KwTxML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01CYYYRNK",370,""] +["B01D0JV7AO","Samsung","Samsung Galaxy S6 SM-G920V 32GB Sapphire Black Smartphone for Verizon (Renewed)","https://www.amazon.com/Samsung-SM-G920V-Sapphire-Smartphone-Verizon/dp/B01D0JV7AO","https://m.media-amazon.com/images/I/41NDoP58MFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01D0JV7AO",1,"\"$99.00,$179.99\""] +["B01D0K1XUM","Samsung","Samsung Galaxy S6 SM-G920V 32GB White Smartphone for Verizon (Renewed)","https://www.amazon.com/Samsung-SM-G920V-Smartphone-Certified-Refurbished/dp/B01D0K1XUM","https://m.media-amazon.com/images/I/41tYb1MPmTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01D0K1XUM",1,"$95.00"] +["B01D4GDARQ","Samsung","Samsung Galaxy S7 Edge Smartphone - GSM Unlocked - 32 GB - No Warranty - Gold","https://www.amazon.com/Samsung-Galaxy-S7-Edge-Smartphone/dp/B01D4GDARQ","https://m.media-amazon.com/images/I/71rq8O+sInL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01D4GDARQ",62,""] +["B01D52K8DI","Samsung","Samsung Galaxy S6 SM-G920A 32GB Sapphire Black Smartphone for AT&T (Renewed)","https://www.amazon.com/Samsung-SM-G920A-Sapphire-Smartphone-Renewed/dp/B01D52K8DI","https://m.media-amazon.com/images/I/61QvuzLECIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01D52K8DI",132,"$142.14"] +["B01D52MTPS","Samsung","Samsung Galaxy S6 SM-G920A 32GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G920A-32GB-Renewed/dp/B01D52MTPS","https://m.media-amazon.com/images/I/81mE4HPNGfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B01D52MTPS",18,"$157.99"] +["B01D56C50I","Samsung","\"Samsung Galaxy S7 SM-G930F 32GB Unlocked GSM 4G/LTE Smartphone - Gold (International version, No Warranty)\"","https://www.amazon.com/Samsung-Galaxy-SM-G930F-Unlocked-Smartphone/dp/B01D56C50I","https://m.media-amazon.com/images/I/41MeVYfLTXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01D56C50I",11,""] +["B01DC1ZM0Q","Apple","\"Apple iPhone 6S, AT&T, 64GB - Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-AT-64GB/dp/B01DC1ZM0Q","https://m.media-amazon.com/images/I/61+mrwyL24L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B01DC1ZM0Q",5,"$145.00"] +["B01DUPOOMG","Samsung","Samsung Galaxy S6 G920P 32GB Black Boost Mobile Smartphone","https://www.amazon.com/Samsung-Galaxy-G920P-Mobile-Smartphone/dp/B01DUPOOMG","https://m.media-amazon.com/images/I/51Kli220o8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01DUPOOMG",29,""] +["B01DYH5JC4","Samsung","Samsung Galaxy S7 - Prepaid - Carrier Locked (Boost Mobile)","https://www.amazon.com/Samsung-Galaxy-S7-Prepaid-Carrier/dp/B01DYH5JC4","https://m.media-amazon.com/images/I/61uzTGGWrIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01DYH5JC4",44,""] +["B01DZJFWWS","Motorola","Moto G (4th Gen.) Unlocked - Black - 32GB","https://www.amazon.com/Moto-4th-Gen-Unlocked-Black/dp/B01DZJFWWS","https://m.media-amazon.com/images/I/815gN9Ip-mL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01DZJFWWS",1,""] +["B01DZJFWXC","Motorola","Moto G Plus (4th Gen.) Unlocked - White - 64GB - U.S. Warranty","https://www.amazon.com/Moto-Plus-4th-Gen-Unlocked/dp/B01DZJFWXC","https://m.media-amazon.com/images/I/81KvhngkhYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01DZJFWXC",1,"$299.99"] +["B01E7FK14S","Samsung","\"Samsung Galaxy J3 Express Prime 2 SM-J327A 4G LTE 7.0 Nougat 5\"\" Smartphone (AT&T) - Black\"","https://www.amazon.com/Samsung-Galaxy-Express-Prepaid-Carrier/dp/B01E7FK14S","https://m.media-amazon.com/images/I/51+uoZF-pcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B01E7FK14S",45,"\"$124.99,$139.99\""] +["B01E7JU3KG","Samsung","\"Samsung Galaxy Core Prime, Charcoal Grey 8GB (Verizon ) (Renewed)\"","https://www.amazon.com/Samsung-Charcoal-Verizon-Certified-Refurbished/dp/B01E7JU3KG","https://m.media-amazon.com/images/I/617yV+XpiTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01E7JU3KG",6,"$54.99"] +["B01EVMZMZU","Apple","\"Apple iPhone 6 Plus, 16GB, Silver - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-16GB/dp/B01EVMZMZU","https://m.media-amazon.com/images/I/61I2iGTD5DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01EVMZMZU",57,"$165.42"] +["B01F482BTK","Samsung","Samsung Galaxy S7 G930A 32GB Black Onyx - Unlocked GSM (Renewed)","https://www.amazon.com/Samsung-Galaxy-G930A-32GB-Black/dp/B01F482BTK","https://m.media-amazon.com/images/I/71u5x5hyJNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01F482BTK",902,"$138.99"] +["B01F4889GE","Samsung","Samsung Galaxy S7 G930A 32GB Gold Platinum - Unlocked GSM (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-G930A-Platinum/dp/B01F4889GE","https://m.media-amazon.com/images/I/41mgFtqfj-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01F4889GE",902,"$149.99"] +["B01FCFZS3G","Samsung","Samsung Galaxy S7 Edge G935A 32GB AT&T - Black Onyx","https://www.amazon.com/Samsung-Galaxy-Edge-G935A-32GB/dp/B01FCFZS3G","https://m.media-amazon.com/images/I/61y-TkZ5lWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01FCFZS3G",204,""] +["B01FCR0GOK","Samsung","\"Samsung Galaxy S6 Active G890A 32GB 16MP Camera Unlocked GSM 4G LTE Octa-Core Smartphone, Blue\"","https://www.amazon.com/Samsung-Galaxy-Unlocked-Octa-Core-Smartphone/dp/B01FCR0GOK","https://m.media-amazon.com/images/I/71aAecS1EpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01FCR0GOK",41,""] +["B01FIW1B9S","Samsung","Samsung Galaxy S7 G930T 32GB T-Mobile - Black","https://www.amazon.com/Samsung-Galaxy-G930T-32GB-T-Mobile/dp/B01FIW1B9S","https://m.media-amazon.com/images/I/51C6HtwGL+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01FIW1B9S",181,""] +["B01FJT7E0A","Sony","Sony Xperia XA F3113 16GB GSM Android v6.0 Phone - Graphite Black","https://www.amazon.com/Sony-Xperia-F3113-Android-Phone/dp/B01FJT7E0A","https://m.media-amazon.com/images/I/81ktijeMGJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01FJT7E0A",410,"$149.00"] +["B01FJT7E3M","Sony","\"Sony Xperia XA Ultra unlocked smartphone,16GB White (US Warranty)\"","https://www.amazon.com/Sony-Xperia-unlocked-smartphone-Warranty/dp/B01FJT7E3M","https://m.media-amazon.com/images/I/81Otkj71PEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01FJT7E3M",433,""] +["B01FJT7MZC","Sony","Sony Xperia X Performance F8131 32GB Unlocked GSM LTE Android Phone w/ 23MP Camera - Black","https://www.amazon.com/Sony-Performance-unlocked-smartphone-Warranty/dp/B01FJT7MZC","https://m.media-amazon.com/images/I/71rzaPrNXrL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B01FJT7MZC",112,""] +["B01FJT7N4W","Sony","Sony Xperia X F5121 32GB GSM 23MP Camera Phone - Graphite Black","https://www.amazon.com/Sony-Xperia-F5121-Camera-Phone/dp/B01FJT7N4W","https://m.media-amazon.com/images/I/81ZwjKulg8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01FJT7N4W",193,"$199.99"] +["B01G7JCECE","Nokia","\"Microsoft Nokia Lumia 435 8GB Unlocked GSM Windows 8.1 Touchscreen Smartphone Black (International version, No Warranty)\"","https://www.amazon.com/Nokia-Lumia-435-Touchscreen-International/dp/B01G7JCECE","https://m.media-amazon.com/images/I/81lRgwV2B1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01G7JCECE",80,"$69.49"] +["B01GP2XIJQ","Samsung","Samsung Galaxy Amp 2 - Cricket","https://www.amazon.com/Samsung-Galaxy-Amp-2-Cricket/dp/B01GP2XIJQ","https://m.media-amazon.com/images/I/81JQYDwMnCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01GP2XIJQ",10,""] +["B01GQWT4SE","Samsung","Samsung Express 3 J120a 4G LTE Unlocked GSM (White)","https://www.amazon.com/Samsung-Express-J120a-Unlocked-White/dp/B01GQWT4SE","https://m.media-amazon.com/images/I/51eyIyVxg+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01GQWT4SE",240,"$94.99"] +["B01GXAT0CE","Apple","\"Apple iPhone SE, 16GB, Rose Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Unlocked-Phone-16GB/dp/B01GXAT0CE","https://m.media-amazon.com/images/I/6165FLUs1+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01GXAT0CE",742,"$114.99"] +["B01GXAZFR8","Apple","\"Apple iPhone SE, 64GB, Space Gray - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-SE-Unlocked-64GB/dp/B01GXAZFR8","https://m.media-amazon.com/images/I/71eqnpqyD4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01GXAZFR8",300,"\"$147.72,$249.99\""] +["B01H3V07EW","OnePlus","\"OnePlus 3 A3000 64GB Graphite, 5.5\"\", Dual Sim, GSM Factory Unlocked U.S.A Version\"","https://www.amazon.com/OnePlus-Graphite-Factory-Unlocked-Version/dp/B01H3V07EW","https://m.media-amazon.com/images/I/61BWuWvjW9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01H3V07EW",166,""] +["B01H93TCCM","Samsung","Samsung Galaxy S7 Active SM-G891A 32GB Sandy Gold No-Contract AT&T","https://www.amazon.com/Samsung-Galaxy-Active-SM-G891A-No-Contract/dp/B01H93TCCM","https://m.media-amazon.com/images/I/61jDf+QZG1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01H93TCCM",37,"$259.98"] +["B01HFD0XJM","Samsung","\"Samsung Galaxy S7 Edge unlocked smartphone, 32 GB Silver (US Warranty - Model SM-G935UZSAXAA)\"","https://www.amazon.com/Samsung-Galaxy-unlocked-smartphone-Warranty/dp/B01HFD0XJM","https://m.media-amazon.com/images/I/71a5okghrPL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01HFD0XJM",292,"$355.99"] +["B01HQTL47A","Samsung","\"Samsung G920A Galaxy S6 32GB, Black Saphire (Renewed)\"","https://www.amazon.com/Samsung-G920A-Galaxy-Saphire-Renewed/dp/B01HQTL47A","https://m.media-amazon.com/images/I/31prNuzjoCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B01HQTL47A",2,"$135.98"] +["B01HU2C224","Samsung","\"Samsung Galaxy S7 G930V 32GB, Verizon, Gold Platinum, Unlocked Smartphones (Renewed)\"","https://www.amazon.com/Samsung-G930V-Smartphones-Certified-Refurbished/dp/B01HU2C224","https://m.media-amazon.com/images/I/71oth9TXuzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01HU2C224",92,"$139.89"] +["B01HW6GRL0","Samsung","\"Samsung Galaxy S7 Active G891A 32GB Unlocked GSM Shatter,Dust and Water Resistant Smartphone w/ 12MP Camera - Camo Green\"","https://www.amazon.com/Samsung-G891A-Unlocked-Resistant-Smartphone/dp/B01HW6GRL0","https://m.media-amazon.com/images/I/41K0sU0JddL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B01HW6GRL0",49,"$279.00"] +["B01I0HP1Z8","Samsung","Samsung Galaxy S6 G920T Unlocked GSM 4G LTE Smartphone w/ 16MP Camera - White Pearl","https://www.amazon.com/Samsung-Galaxy-S6-Unlocked-Smartphone/dp/B01I0HP1Z8","https://m.media-amazon.com/images/I/51qM3guDBmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01I0HP1Z8",52,""] +["B01INN9D0I","Samsung","Samsung Galaxy S6 SM-G920V 64GB Sapphire Black Smartphone For Verizon (Renewed)","https://www.amazon.com/Samsung-SM-G920V-Smartphone-Certified-Refurbished/dp/B01INN9D0I","https://m.media-amazon.com/images/I/71vTt482YKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01INN9D0I",41,"$140.55"] +["B01INRGCV2","Samsung","Samsung Galaxy Note5 N920V 32GB Verizon CDMA No-Contract Smartphone - Black Sapphire (Renewed)","https://www.amazon.com/Samsung-Galaxy-Verizon-No-Contract-Smartphone/dp/B01INRGCV2","https://m.media-amazon.com/images/I/41p9V3FSgWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01INRGCV2",270,"$161.99"] +["B01INV912A","Motorola","Motorola G4 16GB Smartphone","https://www.amazon.com/Motorola-00991NARTL-Moto-Unlocked-Black/dp/B01INV912A","https://m.media-amazon.com/images/I/71JexRSYxXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01INV912A",1,""] +["B01IVV7W8M","HUAWEI","Huawei Honor 8 Unlocked Smartphone 32 GB Dual Camera - US Warranty (Sapphire Blue)","https://www.amazon.com/Huawei-Honor-Unlocked-Smartphone-Camera/dp/B01IVV7W8M","https://m.media-amazon.com/images/I/713y99b-4iL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B01IVV7W8M",1,""] +["B01J63O3KY","Samsung","\"Samsung GS6 5.1\"\" Certified Pre-Owned Carrier Locked Phone - 32GB - White (Verizon)\"","https://www.amazon.com/Samsung-Certified-Pre-Owned-Carrier-Locked/dp/B01J63O3KY","https://m.media-amazon.com/images/I/81p-OdL9ASL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B01J63O3KY",2,"$219.53"] +["B01J63ODA4","Samsung","\"Samsung Galaxy S6 (Verizon) Certified Pre-Owned Prepaid Carrier Locked, White\"","https://www.amazon.com/Samsung-Verizon-Certified-Pre-Owned-Prepaid/dp/B01J63ODA4","https://m.media-amazon.com/images/I/81p-OdL9ASL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.5,"https://www.amazon.com/product-reviews/B01J63ODA4",3,"$114.40"] +["B01J6MS6Z8","Samsung","Samsung Galaxy S7 SM-G930F 32GB Factory Unlocked GSM 4G LTE Single Sim Smartphone (Black)","https://www.amazon.com/Samsung-SM-G930F-Factory-Unlocked-Smartphone/dp/B01J6MS6Z8","https://m.media-amazon.com/images/I/7140-XVajnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B01J6MS6Z8",29,"$319.99"] +["B01J8C50TQ","Samsung","\"Samsung Galaxy Sol 4G LTE Unlocked 8GB Memory Cell Phone 5\"\" Quad Core SM-J321AZ\"","https://www.amazon.com/Samsung-Galaxy-Unlocked-Memory-SM-J321AZ/dp/B01J8C50TQ","https://m.media-amazon.com/images/I/61Kkt1V3rIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01J8C50TQ",11,"$123.99"] +["B01JAWXOO2","Apple","\"Apple iPhone 6S Plus, 16GB, Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-16GB/dp/B01JAWXOO2","https://m.media-amazon.com/images/I/51UH1ltGP8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01JAWXOO2",2,"$185.49"] +["B01K5QLD5E","Samsung","Samsung Galaxy S6 G920A 64GB Unlocked GSM 4G LTE Octa-Core Android Smartphone w/ 16MP Camera - Gold","https://www.amazon.com/Samsung-G920A-Unlocked-Octa-Core-Smartphone/dp/B01K5QLD5E","https://m.media-amazon.com/images/I/813onlZgeGL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B01K5QLD5E",12,""] +["B01K5RGPIS","Samsung","Samsung Galaxy S6 G920A 64GB Unlocked GSM 4G LTE Octa-Core Android Smartphone with 16MP Camera - Black Sapphire","https://www.amazon.com/Samsung-Unlocked-Octa-Core-Android-Smartphone/dp/B01K5RGPIS","https://m.media-amazon.com/images/I/61Nb5eGCbvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01K5RGPIS",60,"$249.99"] +["B01KS3IAUK","Samsung","Samsung Galaxy S7 Edge SM-G935 Unlocked (Latest Model) - 32GB - Silver Titanium","https://www.amazon.com/Samsung-Galaxy-SM-G935-Unlocked-Latest/dp/B01KS3IAUK","https://m.media-amazon.com/images/I/91pYsWeBO+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01KS3IAUK",9,""] +["B01L1BOQT2","Apple","\"Apple iPhone SE, 64GB, Rose Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-64GB/dp/B01L1BOQT2","https://m.media-amazon.com/images/I/61mK5UcYp-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01L1BOQT2",432,"$135.55"] +["B01L1BOQTW","Apple","\"Apple iPhone SE, 64GB, Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-SE-Unlocked-64GB/dp/B01L1BOQTW","https://m.media-amazon.com/images/I/71GFszFWB7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01L1BOQTW",193,"\"$128.00,$329.99\""] +["B01L9D7J00","Samsung","Samsung Convoy 4 B690 Rugged Water-Resistant Verizon Flip Phone w/ 5MP Camera - Blue","https://www.amazon.com/Samsung-B690-convoy-4-verizon-wireless/dp/B01L9D7J00","https://m.media-amazon.com/images/I/81YSPMYJkhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01L9D7J00",92,""] +["B01LACBLEK","Sony","Sony Xperia X Compact - Unlocked Smartphone - 32GB - Mist Blue (US Warranty)","https://www.amazon.com/Sony-Xperia-Compact-Unlocked-Smartphone/dp/B01LACBLEK","https://m.media-amazon.com/images/I/61-3HTpz9lL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01LACBLEK",283,"$249.99"] +["B01LEL8ABY","Motorola","\"Moto Z GSM Unlocked Smartphone, 5.5\"\" Quad HD screen, 64GB storage, 5.2mm thin - Black\"","https://www.amazon.com/Unlocked-Smartphone-screen-storage-5-2mm/dp/B01LEL8ABY","https://m.media-amazon.com/images/I/71se2LK4Y5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B01LEL8ABY",296,"$149.00"] +["B01LWICBLN","Apple","\"Apple iPhone 6S Plus, GSM Unlocked, 32GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-32GB/dp/B01LWICBLN","https://m.media-amazon.com/images/I/71nUB+jDwjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01LWICBLN",29,"$229.99"] +["B01LWMIYAQ","Sony","Sony Xperia X Compact F5321 32GB 4.6 Inch 23MP 4G LTE FACTORY UNLOCKED - International Stock No Warranty (MIST BLUE)","https://www.amazon.com/Sony-Compact-F5321-FACTORY-UNLOCKED/dp/B01LWMIYAQ","https://m.media-amazon.com/images/I/51PaYB2McsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B01LWMIYAQ",4,"$179.99"] +["B01LYMY88F","Samsung","Samsung Galaxy S6 Edge Plus SM-G928V 32GB Gold Smartphone for Verizon (Renewed)","https://www.amazon.com/Samsung-SM-G928V-Smartphone-Verizon-Renewed/dp/B01LYMY88F","https://m.media-amazon.com/images/I/61GDr9BFNZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01LYMY88F",13,"$169.95"] +["B01LYRCMAB","Samsung","\"Samsung Galaxy C7 C7000 32GB 5.7\"\" GSM Unlocked Cellphone (Pink) - International Version No Warranty\"","https://www.amazon.com/Samsung-Galaxy-C7000-Unlocked-Cellphone/dp/B01LYRCMAB","https://m.media-amazon.com/images/I/41xqSNh0cOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01LYRCMAB",36,"$269.99"] +["B01LZ2SO4L","Google","Google Pixel Phone 128 GB - 5 inch Display (Factory Unlocked US Version) (Quite Black)","https://www.amazon.com/Google-Pixel-Phone-128-GB/dp/B01LZ2SO4L","https://m.media-amazon.com/images/I/71PZz7CQ9UL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01LZ2SO4L",392,"$227.99"] +["B01M01YX15","Google","\"Google Pixel Phone - 5 inch display (Factory Unlocked US Version) (32GB, Quite Black)\"","https://www.amazon.com/Google-Pixel-Phone-display-Unlocked/dp/B01M01YX15","https://m.media-amazon.com/images/I/71z1TjwnadL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01M01YX15",284,"$217.99"] +["B01M1CTCO0","Google","Google Pixel XL Phone 128GB - 5.5 inch Display (Factory Unlocked US Version) (Very Silver)","https://www.amazon.com/Google-Pixel-XL-Phone-128GB/dp/B01M1CTCO0","https://m.media-amazon.com/images/I/71theJ8M6uL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B01M1CTCO0",135,""] +["B01M1HY1E3","Sony","Sony Xperia XZ F8331 32GB Unlocked GSM 4G LTE Phone w/ 23MP Camera - Mineral Black","https://www.amazon.com/Sony-Xperia-XZ-Unlocked-Smartphone/dp/B01M1HY1E3","https://m.media-amazon.com/images/I/71Totr78FmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01M1HY1E3",245,""] +["B01M4HGVJ7","Samsung","Samsung Galaxy S7 32GB G930T - T-Mobile Locked - Black Onyx (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-32GB-G930T/dp/B01M4HGVJ7","https://m.media-amazon.com/images/I/61nEeSZKJZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01M4HGVJ7",413,"$145.99"] +["B01M7O431L","Samsung","\"Samsung S7 EDGE G935V 32GB, Verizon/GSM Unlocked, Silver Titanium (Renewed)\"","https://www.amazon.com/Samsung-Verizon-Unlocked-Titanium-Renewed/dp/B01M7O431L","https://m.media-amazon.com/images/I/71xYXhAIGHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01M7O431L",550,"$208.95"] +["B01M9INZ1I","Samsung","\"Samsung GS6 Edge 5.1\"\" Certified Pre-Owned Prepaid Carrier Locked - 32 GB - Black (Verizon)\"","https://www.amazon.com/Samsung-Certified-Pre-Owned-Prepaid-Carrier/dp/B01M9INZ1I","https://m.media-amazon.com/images/I/81kekA06beL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01M9INZ1I",3,"$88.95"] +["B01MDMJGYT","Motorola","\"Motorola MOTO Z PLAY (XT1635) Factory Unlocked Phone - 5.5\"\" Screen - 32GB - Black (International Version - No Warranty)\"","https://www.amazon.com/Motorola-XT1635-Factory-Unlocked-Phone/dp/B01MDMJGYT","https://m.media-amazon.com/images/I/41YWHpWk7+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B01MDMJGYT",150,"$189.00"] +["B01MFDM6QE","Motorola","Motorola Moto G4 Play (4th Generation) 16GB Unlocked Smartphone for GSM Carriers Worldwide - Black","https://www.amazon.com/Motorola-Generation-Unlocked-Smartphone-Worldwide/dp/B01MFDM6QE","https://m.media-amazon.com/images/I/61wPcmCriIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01MFDM6QE",122,"$149.00"] +["B01MQWFFM3","Apple","\"APPLE iPhone 6S UNLOCKED - 16GB, Gold (Renewed)\"","https://www.amazon.com/APPLE-iPhone-6S-UNLOCKED-Refurbished/dp/B01MQWFFM3","https://m.media-amazon.com/images/I/71bL-ULOrYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01MQWFFM3",4,"$129.99"] +["B01MR0IA4O","Apple","\"Apple iPhone 6S, 64GB, Rose Gold - For AT&T (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-AT-64GB/dp/B01MR0IA4O","https://m.media-amazon.com/images/I/81Q6kYaYVYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01MR0IA4O",5,"$149.99"] +["B01MRH0YND","Apple","\"Apple iPhone 6, AT&T, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-AT-16GB-Renewed/dp/B01MRH0YND","https://m.media-amazon.com/images/I/81L7tO3hoQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01MRH0YND",867,""] +["B01MSEPCPU","Apple","\"Apple iPhone 7, 128GB, Rose Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-128GB/dp/B01MSEPCPU","https://m.media-amazon.com/images/I/71x3e0x+M2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01MSEPCPU",270,"$240.00"] +["B01MT57AVU","Samsung","Samsung Galaxy S7 G930T T-Mobile Unlocked GSM 4G LTE Smartphone w/ 12MP Camera - Gold (Renewed)","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Unlocked-Smartphone/dp/B01MT57AVU","https://m.media-amazon.com/images/I/61KvXevceyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01MT57AVU",46,"$159.00"] +["B01MUTETGP","Apple","\"Apple iPhone 7 Plus, GSM Unlocked, 256GB - Rose Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-256GB/dp/B01MUTETGP","https://m.media-amazon.com/images/I/414FEMmxh1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01MUTETGP",43,""] +["B01MY2FEAS","Samsung","Samsung Galaxy Note 5 N920T 32GB - White (T-Mobile)","https://www.amazon.com/Samsung-Galaxy-Note-N920T-32GB/dp/B01MY2FEAS","https://m.media-amazon.com/images/I/61MAsozHcaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B01MY2FEAS",12,""] +["B01MY4DGA7","Samsung","Samsung Galaxy S7-4G LTE T-Mobile - 32GB Smartphone - Black Onyx (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-4G-LTE-T-Mobile/dp/B01MY4DGA7","https://m.media-amazon.com/images/I/61nEeSZKJZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01MY4DGA7",83,"$169.95"] +["B01MY7VL44","Samsung","\"Samsung Galaxy S6 Active G890A Unlocked GSM Smartphone, Blue\"","https://www.amazon.com/Samsung-S6-G890A-Unlocked-Smartphone/dp/B01MY7VL44","https://m.media-amazon.com/images/I/81uI8wY+YxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B01MY7VL44",12,"$219.99"] +["B01N02G1C9","Apple","\"Apple iPhone 6 Plus, AT&T, 128GB - (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-AT-128GB/dp/B01N02G1C9","https://m.media-amazon.com/images/I/51zaRST+1XL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B01N02G1C9",5,"$199.95"] +["B01N0AOOK1","Apple","\"Apple iPhone 6 Plus, AT&T, 16GB - Silver (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-AT-16GB/dp/B01N0AOOK1","https://m.media-amazon.com/images/I/51zaRST+1XL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01N0AOOK1",62,"\"$194.99,$299.99\""] +["B01N0NWGE6","Samsung","Samsung Galaxy S7 Edge G935F","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Smartphone/dp/B01N0NWGE6","https://m.media-amazon.com/images/I/71VNxwVaiCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N0NWGE6",13,"$299.99"] +["B01N17VM0E","Motorola","Motorola Moto Z Droid Edition XT1650-01 Gold/White 32GB - Verizon","https://www.amazon.com/Motorola-Moto-Droid-XT1650-01-White/dp/B01N17VM0E","https://m.media-amazon.com/images/I/61BxSSZgn3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B01N17VM0E",4,""] +["B01N1Q6V7K","Samsung","Samsung J3 - Verizon Prepaid","https://www.amazon.com/Samsung-SM-J320VLPP-J3-Verizon-Prepaid/dp/B01N1Q6V7K","https://m.media-amazon.com/images/I/518oZGjDwAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01N1Q6V7K",40,""] +["B01N1SCZ86","Samsung","Samsung Galaxy S6 SM-G920T 64GB Gold Smartphone for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G920T-Smartphone-Certified-Refurbished/dp/B01N1SCZ86","https://m.media-amazon.com/images/I/616SifLiV1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N1SCZ86",117,"$144.00"] +["B01N1WUFU0","Apple","\"Apple iPhone 6S, AT&T, 128GB - Silver (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-AT-128GB/dp/B01N1WUFU0","https://m.media-amazon.com/images/I/61Z1m44x24L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01N1WUFU0",11,"$199.99"] +["B01N27UF9Z","Apple","iPhone 6S - 64GB (AT&T) - Rose (Renewed)","https://www.amazon.com/iPhone-6S-64GB-Rose-Refurbished/dp/B01N27UF9Z","https://m.media-amazon.com/images/I/81Q6kYaYVYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B01N27UF9Z",1,"$191.98"] +["B01N2HPFWK","Google","\"Google Pixel XL (128GB, 4GB RAM) 5.5\"\" AMOLED HD Display, Global 4G LTE, US Factory Unlocked Model (GSM, Verizon, Sprint) - Very Silver\"","https://www.amazon.com/Google-Display-Factory-Unlocked-Verizon/dp/B01N2HPFWK","https://m.media-amazon.com/images/I/61Yz5m69IkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01N2HPFWK",64,"\"$267.00,$399.99\""] +["B01N2YQQW7","Samsung","Samsung Galaxy Note 5 N920T 64GB Black Sapphire - T-Mobile","https://www.amazon.com/Samsung-Galaxy-N920T-Black-Sapphire/dp/B01N2YQQW7","https://m.media-amazon.com/images/I/71bppmPVgUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B01N2YQQW7",21,""] +["B01N3720RE","Samsung","Samsung Galaxy S6 SM-G920T - GSM Unlocked 4G LTE T-Mobile - 32GB Smartphone for T-Mobile - White Pearl (Renewed)","https://www.amazon.com/Samsung-Galaxy-S6-SM-G920T-Smartphone/dp/B01N3720RE","https://m.media-amazon.com/images/I/715-pwmte0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.4,"https://www.amazon.com/product-reviews/B01N3720RE",12,"$129.99"] +["B01N4E0RF1","Samsung","Samsung Galaxy S7 - Black - 32GB - Verizon (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G930V-Verizon-Renewed/dp/B01N4E0RF1","https://m.media-amazon.com/images/I/61EzDilvK7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01N4E0RF1",393,"$132.99"] +["B01N4S65YE","Samsung","Samsung Galaxy S6 G920T 32GB Gold - T-Mobile (Renewed)","https://www.amazon.com/Samsung-Galaxy-G920T-32GB-Gold/dp/B01N4S65YE","https://m.media-amazon.com/images/I/616SifLiV1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N4S65YE",117,"$124.55"] +["B01N4VFJAX","Samsung","Samsung Galaxy Note 4 N910P 32GB Charcoal Black - Sprint (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-N910P-Charcoal-Black/dp/B01N4VFJAX","https://m.media-amazon.com/images/I/51x8yVMnXLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N4VFJAX",11,"$200.00"] +["B01N5BOBIF","Google","\"Google Pixel, 5\"\" 32GB (Verizon Wireless) - Black\"","https://www.amazon.com/Google-Pixel-32GB-Verizon-Wireless/dp/B01N5BOBIF","https://m.media-amazon.com/images/I/91iPV7ffU1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01N5BOBIF",26,""] +["B01N5OQDIK","Samsung","\"Samsung Galaxy On5, No Contract, Tracfone Locked Smartphone, Black\"","https://www.amazon.com/TracFone-Samsung-Galaxy-Prepaid-Smartphone/dp/B01N5OQDIK","https://m.media-amazon.com/images/I/71hDhy-Tg8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01N5OQDIK",25,"$69.95"] +["B01N5WQ2P4","Samsung","Samsung Galaxy Note 4 N910P 32GB Frosted White - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-N910P-Frosted-White/dp/B01N5WQ2P4","https://m.media-amazon.com/images/I/41FV5Q0zKSL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B01N5WQ2P4",9,"$168.99"] +["B01N6P6E0K","Samsung","Samsung Galaxy S6 Edge SM-G925T - 32GB Smartphone for T-Mobile - Sapphire Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-SM-G925T-Smartphone/dp/B01N6P6E0K","https://m.media-amazon.com/images/I/71jNw2ctswL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B01N6P6E0K",6,"$128.95"] +["B01N6YAP98","Apple","\"Apple iPhone 7, 32GB, Black - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-32GB/dp/B01N6YAP98","https://m.media-amazon.com/images/I/71SzDBdKVxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N6YAP98",3,"$212.00"] +["B01N6ZAR0D","Apple","\"Apple iPhone 7 Plus, 32GB, Rose Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-32GB/dp/B01N6ZAR0D","https://m.media-amazon.com/images/I/51wxAG7KH0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B01N6ZAR0D",2,"\"$375.55,$449.99\""] +["B01N9R1JA7","Samsung","Samsung TWSAS120VCP-3 Galaxy J1 Luna 4G LTE Total Wireless Prepaid Smartphone","https://www.amazon.com/Samsung-TWSAS120VCP-3-Wireless-Prepaid-Smartphone/dp/B01N9R1JA7","https://m.media-amazon.com/images/I/418L8NZNerL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B01N9R1JA7",7,"$54.99"] +["B01N9VG61T","Motorola","Motorola Moto Z Play Droid XT1635 32GB Black/Silver Verizon Wireless","https://www.amazon.com/Motorola-XT1635-Silver-Verizon-Wireless/dp/B01N9VG61T","https://m.media-amazon.com/images/I/61CwqrXV5+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B01N9VG61T",45,"$299.99"] +["B01N9XOXCK","Samsung","Samsung Galaxy S7 Edge G935V 32GB Gold - Verizon (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-G935V-32GB/dp/B01N9XOXCK","https://m.media-amazon.com/images/I/41K7nb5aDBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B01N9XOXCK",550,"$194.95"] +["B01N9YO1DS","Apple","\"Apple iPhone 7, 128GB, Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-128GB/dp/B01N9YO1DS","https://m.media-amazon.com/images/I/71RYhD1uzpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01N9YO1DS",111,"\"$245.00,$399.99\""] +["B01N9YOVME","Samsung","\"Samsung Galaxy S7 ACTIVE G891A 32GB Unlocked GSM Shatter-Resistant, Extremely Durable Smartphone w/ 12MP Camera - Sandy Gold (Renewed)\"","https://www.amazon.com/Samsung-G891A-Shatter-Resistant-Extremely-Smartphone/dp/B01N9YOVME","https://m.media-amazon.com/images/I/81hVpWtMXeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B01N9YOVME",367,"$195.54"] +["B01NAZJYO5","Samsung","\"Samsung Galaxy S6, G920P Black Sapphire 32GB - Sprint (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-G920P-Black-Sapphire/dp/B01NAZJYO5","https://m.media-amazon.com/images/I/41OZ5Umy3uL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01NAZJYO5",119,"$149.95"] +["B01NB1IGR8","Samsung","Samsung Galaxy Note 5 32GB N920P Sprint - Sapphire Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-Note-N920P-Sprint/dp/B01NB1IGR8","https://m.media-amazon.com/images/I/41JbhXIFzDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01NB1IGR8",64,"$207.95"] +["B01NBZDKGJ","Samsung","Samsung Galaxy S7 G930P 32GB Black Onyx - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-G930P-32GB-Black/dp/B01NBZDKGJ","https://m.media-amazon.com/images/I/41+QLZgZY0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B01NBZDKGJ",116,"$167.95"] +["B01NC2MEJP","Samsung","Samsung Galaxy Note 5 32GB GSM Unlocked - Black (Renewed) (D132)","https://www.amazon.com/Samsung-Galaxy-Note-32GB-Unlocked/dp/B01NC2MEJP","https://m.media-amazon.com/images/I/81ZGi56SecL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B01NC2MEJP",250,"$189.00"] +["B01NH5HCGZ","Motorola","Motorola Moto Z Droid Edition XT1650-01 Gold/White 32GB - Verizon (Renewed)","https://www.amazon.com/Motorola-Moto-Droid-XT1650-01-White/dp/B01NH5HCGZ","https://m.media-amazon.com/images/I/41cuEVPpEDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B01NH5HCGZ",90,"$114.99"] +["B06VW5FVLB","Samsung","Samsung SM-G900V - Galaxy S5-16GB Android Smartphone Verizon - Black (Renewed)","https://www.amazon.com/Samsung-SM-G900V-Smartphone-Certified-Refurbished/dp/B06VW5FVLB","https://m.media-amazon.com/images/I/71WHCo3liUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B06VW5FVLB",186,"$72.97"] +["B06VWSQPPF","Samsung","Samsung Galaxy S6 Edge G925T 64GB T-Mobile - White (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-Edge-G925T-T-Mobile/dp/B06VWSQPPF","https://m.media-amazon.com/images/I/512IoIVYThL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B06VWSQPPF",3,"$130.95"] +["B06W2M6RT2","Samsung","Samsung Galaxy S7 Edge G935P 32GB Silver - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-G935P-Silver/dp/B06W2M6RT2","https://m.media-amazon.com/images/I/41x8mB5TAIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B06W2M6RT2",55,"$208.95"] +["B06W9L7YJM","Samsung","Samsung SM-G900V - Galaxy S5 - 16GB Android Smartphone Verizon - Gold (Renewed)","https://www.amazon.com/Samsung-SM-G900V-Smartphone-Certified-Refurbished/dp/B06W9L7YJM","https://m.media-amazon.com/images/I/71nrzaPs9cL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B06W9L7YJM",186,"$84.95"] +["B06WWLYGWW","Samsung","Samsung Galaxy S6 Edge G925P 32GB White Pearl - Sprint (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-G925P-White-Pearl/dp/B06WWLYGWW","https://m.media-amazon.com/images/I/61aGCHmpKeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B06WWLYGWW",2,"$130.95"] +["B06WWR3T5B","Samsung","Samsung Galaxy S6 G920T 32GB White Pearl - T-Mobile (Renewed)","https://www.amazon.com/Samsung-Galaxy-G920T-White-Pearl/dp/B06WWR3T5B","https://m.media-amazon.com/images/I/71dUtpDZNrL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B06WWR3T5B",33,"$122.50"] +["B06X9FGTMN","Apple","Apple iPhone 7 Plus 128GB Unlocked GSM 4G LTE Quad-Core Smartphone w/ Dual 12MP Camera - Black (Renewed)","https://www.amazon.com/Apple-iPhone-Unlocked-Quad-Core-Smartphone/dp/B06X9FGTMN","https://m.media-amazon.com/images/I/71b4kAq+5QL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B06X9FGTMN",107,"$389.95"] +["B06X9FL2PW","Apple","Apple iPhone SE 16GB GSM Unlocked Phone - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-SE-Unlocked-Refurbished/dp/B06X9FL2PW","https://m.media-amazon.com/images/I/6165FLUs1+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B06X9FL2PW",42,"$109.99"] +["B06X9HVVC5","Sony","Sony Xperia XA1 G3123 32GB Unlocked GSM LTE Octa-Core Phone w/ 23MP Camera - White","https://www.amazon.com/Sony-Xperia-XA1-Unlocked-Smartphone/dp/B06X9HVVC5","https://m.media-amazon.com/images/I/71wchmqQn+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B06X9HVVC5",228,"$249.99"] +["B06X9WY6P6","Apple","Apple iPhone SE 16GB GSM Unlocked Phone - Space Gray (Renewed)","https://www.amazon.com/Apple-iPhone-a1662-Unlocked-Refurbished/dp/B06X9WY6P6","https://m.media-amazon.com/images/I/615B37Bgw5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B06X9WY6P6",27,"$104.96"] +["B06X9XVGY9","Apple","\"Apple iPhone SE, 16GB, Silver - Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-SE-Unlocked-Refurbished/dp/B06X9XVGY9","https://m.media-amazon.com/images/I/61g2Bv+-DpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B06X9XVGY9",16,"$102.97"] +["B06XD2NLFS","Motorola","\"Motorola Moto Z Play (XT1635) 32GB GSM Unlocked Android Smartphone, Black (Renewed)\"","https://www.amazon.com/Motorla-XT1635-Verizon-Unlocked-Black/dp/B06XD2NLFS","https://m.media-amazon.com/images/I/41Xo+hS2k5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B06XD2NLFS",22,"$144.95"] +["B06XH42JZ5","Samsung","Samsung Galaxy S6 Edge 32GB Gold (T-Mobile) Smartphone g925t","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Smartphone-g925t/dp/B06XH42JZ5","https://m.media-amazon.com/images/I/61tHvPeKF+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B06XH42JZ5",13,""] +["B06XHV6HWL","Samsung","Samsung Galaxy S6 G920A 64GB Unlocked GSM - Gold (Renewed)","https://www.amazon.com/Samsung-Galaxy-G920A-64GB-Unlocked/dp/B06XHV6HWL","https://m.media-amazon.com/images/I/81mE4HPNGfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B06XHV6HWL",10,"$150.95"] +["B06XR1K6HR","Apple","Apple iPhone 6s Plus 64GB Unlocked GSM 4G LTE Phone - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-6S-Fully-Unlocked/dp/B06XR1K6HR","https://m.media-amazon.com/images/I/61hNnAR2EJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B06XR1K6HR",87,"$239.99"] +["B06XR2D5S1","Apple","Apple iPhone 7 256GB Unlocked GSM Quad-Core Phone - Black (Renewed)","https://www.amazon.com/Apple-iPhone-256GB-Unlocked-Quad-Core/dp/B06XR2D5S1","https://m.media-amazon.com/images/I/71SzDBdKVxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B06XR2D5S1",16,"$298.69"] +["B06XRG6S73","Apple","\"Apple iPhone 6S 16GB, Rose Gold Smartphone - GSM Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-16GB/dp/B06XRG6S73","https://m.media-amazon.com/images/I/41oBClPPoCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B06XRG6S73",309,"$136.00"] +["B06XRGN22N","Apple","Apple iPhone 6 16GB Unlocked GSM Phone w/ 8MP Camera - Space Gray (Renewed)","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-16GB/dp/B06XRGN22N","https://m.media-amazon.com/images/I/81L7tO3hoQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B06XRGN22N",218,"$101.00"] +["B06XRJQX91","Apple","Apple iPhone 6s 64GB Unlocked GSM 4G LTE Dual-Core Phone w/ 12 MP Camera - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-Unlocked-Dual-Core-Camera/dp/B06XRJQX91","https://m.media-amazon.com/images/I/81qiCrJlzgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B06XRJQX91",318,"\"$175.99,$271.84\""] +["B06XRJXL3R","Apple","Apple iPhone 7 Plus 256GB Unlocked GSM Quad-Core Phone - Black (Renewed)","https://www.amazon.com/Apple-iPhone-256GB-Unlocked-Quad-Core/dp/B06XRJXL3R","https://m.media-amazon.com/images/I/71b4kAq+5QL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06XRJXL3R",38,"$389.99"] +["B06XS2GWFC","Samsung","Samsung Galaxy J7 - Verizon Carrier Locked No Contract Prepaid Smartphone","https://www.amazon.com/Samsung-Galaxy-J7-Contract-Smartphone/dp/B06XS2GWFC","https://m.media-amazon.com/images/I/5103hv5OP0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B06XS2GWFC",369,""] +["B06XS2X4XL","Apple","Apple iPhone 7 Plus 32GB Unlocked GSM Phone - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-Plus-a1661-Renewed/dp/B06XS2X4XL","https://m.media-amazon.com/images/I/71qoijN2JuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06XS2X4XL",74,"$324.99"] +["B06XS4978K","Apple","Apple iPhone 7 Plus 32GB Unlocked GSM 4G LTE Quad-Core Smartphone - Black (Renewed)","https://www.amazon.com/Apple-iPhone-Unlocked-Quad-Core-Smartphone/dp/B06XS4978K","https://m.media-amazon.com/images/I/71b4kAq+5QL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B06XS4978K",53,"$339.00"] +["B06XS98LMS","Samsung","Samsung G550T GSM 4G LTE Unlocked Galaxy ON5 Smartphone","https://www.amazon.com/Samsung-G550T-Unlocked-Galaxy-Smartphone/dp/B06XS98LMS","https://m.media-amazon.com/images/I/61k3JykoCbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B06XS98LMS",56,""] +["B06XSF5C42","Samsung","Samsung Galaxy S7 Edge 32GB G935A GSM Unlocked (Renewed) (Black)","https://www.amazon.com/Samsung-Galaxy-G935A-Unlocked-Renewed/dp/B06XSF5C42","https://m.media-amazon.com/images/I/61TQfjuS1EL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B06XSF5C42",248,"$184.83"] +["B06XW9RMYW","Samsung","\"Samsung Galaxy S7 Active G891A 32GB Unlocked GSM Shatter,Dust and Water Resistant Smartphone w/ 12MP Camera (AT&T) - Sandy Gold\"","https://www.amazon.com/Samsung-Galaxy-S7-Active-Smartphone/dp/B06XW9RMYW","https://m.media-amazon.com/images/I/41gYAzWwF1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B06XW9RMYW",138,"$259.99"] +["B06XY3KMSP","Samsung","Samsung Galaxy Note 4 N910v 32GB Verizon Wireless CDMA Smartphone - Charcoal Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-Verizon-Wireless-Smartphone/dp/B06XY3KMSP","https://m.media-amazon.com/images/I/81bP64cBYeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B06XY3KMSP",71,"$129.99"] +["B06XYMCMHD","Samsung","\"Samsung Galaxy S8 SM-G950F Unlocked 64GB - International Version/No Warranty (GSM Only, No CDMA) (Midnight Black)\"","https://www.amazon.com/Samsung-Galaxy-SM-G950F-Unlocked-64GB/dp/B06XYMCMHD","https://m.media-amazon.com/images/I/81FWIR3RbUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06XYMCMHD",111,""] +["B06XZPNYL7","Samsung","Samsung Galaxy S8 64GB GSM Unlocked Phone - International Version (Orchid Gray)","https://www.amazon.com/Samsung-Galaxy-64GB-Unlocked-Phone/dp/B06XZPNYL7","https://m.media-amazon.com/images/I/71Vf5BDe4vL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B06XZPNYL7",17,""] +["B06XZPS351","Samsung","\"Samsung Galaxy S8+ 64GB Phone- 6.2\"\" display - AT&T Unlocked (Midnight Black)\"","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-display/dp/B06XZPS351","https://m.media-amazon.com/images/I/61AKT2BMR5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06XZPS351",61,""] +["B06XZRH5ZC","Samsung","Samsung Galaxy S8 64GB Unlocked Phone - International Version (Maple Gold)","https://www.amazon.com/Samsung-Galaxy-64GB-Unlocked-Phone/dp/B06XZRH5ZC","https://m.media-amazon.com/images/I/61FtFt6rO-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06XZRH5ZC",104,""] +["B06XZRMD1J","Samsung","Samsung Galaxy S8 64GB Unlocked Phone - US Version (Arctic Silver)","https://www.amazon.com/Samsung-Galaxy-64GB-Unlocked-Phone/dp/B06XZRMD1J","https://m.media-amazon.com/images/I/618ZY+QKyNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B06XZRMD1J",18,""] +["B06XZRZ12Q","Samsung","Samsung Galaxy S7 G930T T-Mobile Unlocked GSM 4G LTE Smartphone w/ 12MP Camera - Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Unlocked-Smartphone/dp/B06XZRZ12Q","https://m.media-amazon.com/images/I/61nEeSZKJZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B06XZRZ12Q",40,"$159.99"] +["B06XZWJDMS","HUAWEI","Huawei P10 Plus VKY-L29 6GB RAM / 128GB ROM 5.5-Inch 4G LTE Dual SIM FACTORY UNLOCKED - International Stock No Warranty (GOLD)","https://www.amazon.com/Huawei-VKY-L29-5-5-Inch-FACTORY-UNLOCKED/dp/B06XZWJDMS","https://m.media-amazon.com/images/I/71BP9yNSYiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B06XZWJDMS",15,""] +["B06XZWNRC5","Samsung","Samsung Galaxy S8+ SM-G955U 64GB Arctic Silver AT&T","https://www.amazon.com/Samsung-Galaxy-SM-G955U-Arctic-Silver/dp/B06XZWNRC5","https://m.media-amazon.com/images/I/817r8IrEN5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B06XZWNRC5",7,""] +["B06Y14T5YW","Samsung","Samsung Galaxy S8 64GB Factory Unlocked Smartphone - US Version (Midnight Black) - US Warranty - [SM-G950UZKAXAA]","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Smartphone/dp/B06Y14T5YW","https://m.media-amazon.com/images/I/617E5oYXENL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B06Y14T5YW",1,"\"$339.04,$499.99\""] +["B06Y15D68F","Samsung","Samsung Galaxy S8 64GB Unlocked Phone - US Version (Orchid Gray)","https://www.amazon.com/Samsung-Galaxy-64GB-Unlocked-Phone/dp/B06Y15D68F","https://m.media-amazon.com/images/I/615VuRqILsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B06Y15D68F",16,"$409.00"] +["B06Y15D6RP","Samsung","\"Samsung Galaxy S8+ 64GB Unlocked Phone - 6.2\"\" Screen - International Version (Coral Blue)\"","https://www.amazon.com/Samsung-Galaxy-64GB-Unlocked-Phone/dp/B06Y15D6RP","https://m.media-amazon.com/images/I/51KRyfZ8McL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B06Y15D6RP",71,"$499.99"] +["B06Y16521Q","Samsung","\"Samsung Galaxy S8+ 64GB Phone -6.2\"\" display - AT&T Unlocked (Arctic Silver)\"","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-display/dp/B06Y16521Q","https://m.media-amazon.com/images/I/61tsDmFOsFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06Y16521Q",61,""] +["B06Y16RL4W","Samsung","\"Samsung Galaxy S8+ 64GB Factory Unlocked Smartphone - 6.2\"\" Screen - US Version (Midnight Black) - US Warranty [SM-G955UZKAXAA]\"","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Smartphone/dp/B06Y16RL4W","https://m.media-amazon.com/images/I/51wJeaY3ekL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B06Y16RL4W",738,"\"$429.40,$589.99\""] +["B06Y17BL9Y","Samsung","Samsung Galaxy S8 G950U 64GB AT&T GSM Unlocked Phone - Orchid Grey","https://www.amazon.com/Samsung-Galaxy-G950U-Unlocked-Phone/dp/B06Y17BL9Y","https://m.media-amazon.com/images/I/61zppUp3YzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.5,"https://www.amazon.com/product-reviews/B06Y17BL9Y",4,"$910.37"] +["B06Y189H68","Samsung","\"Samsung Galaxy S8 64GB Phone- 5.8\"\" display - AT&T Unlocked (Midnight Black)\"","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-display/dp/B06Y189H68","https://m.media-amazon.com/images/I/61sB9sjajWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B06Y189H68",41,""] +["B06Y18MNFG","Samsung","Samsung Galaxy S7 G930T 32GB T-Mobile Unlocked - Gold (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-G930T-T-Mobile-Unlocked/dp/B06Y18MNFG","https://m.media-amazon.com/images/I/618644kVZzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B06Y18MNFG",5,"$234.95"] +["B06Y196Z7N","Sony","\"Sony Xperia XA1 Factory Unlocked, 32GB, 23MP, 5\"\" Display, GSM only, International Version, No Warranty - (Black)\"","https://www.amazon.com/Sony-Factory-Unlocked-International-Warranty/dp/B06Y196Z7N","https://m.media-amazon.com/images/I/51v0i4yBzgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B06Y196Z7N",5,""] +["B06Y1N3RH7","Apple","\"Apple iPhone 7 AT&T, Gold, 128 GB (Renewed)\"","https://www.amazon.com/Apple-iPhone-Gold-128-Refurbished/dp/B06Y1N3RH7","https://m.media-amazon.com/images/I/51YpvE1GvFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B06Y1N3RH7",3,"$219.95"] +["B06Y2GX8K8","Sony","\"Sony Xperia XZ Premium - Unlocked Smartphone - 5.5\"\", 64GB - Dual SIM - Pink (US Warranty)\"","https://www.amazon.com/Sony-Xperia-XZ-Premium-Smartphone/dp/B06Y2GX8K8","https://m.media-amazon.com/images/I/81nfrNby6HL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B06Y2GX8K8",168,"$667.16"] +["B06Y3KRV1W","Samsung","\"Samsung Galaxy S8+, 6.2\"\" 64GB (Verizon Wireless) - Arctic Silver\"","https://www.amazon.com/Samsung-Galaxy-64GB-Verizon-Wireless/dp/B06Y3KRV1W","https://m.media-amazon.com/images/I/81uVqszvnwL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B06Y3KRV1W",54,""] +["B06ZZVZKTR","Motorola","Motorola Moto E (4th Gen.) XT1764 16GB Unlocked GSM LTE Android Phone w/ 8MP Camera - Black","https://www.amazon.com/Moto-4th-Generation-Unlocked-T-Mobile/dp/B06ZZVZKTR","https://m.media-amazon.com/images/I/51wALPQ3BnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B06ZZVZKTR",346,""] +["B0714DBSNH","Motorola","Verizon Motorola Moto E4 Plus Carrier Locked Prepaid Phone","https://www.amazon.com/Verizon-Motorola-Carrier-Locked-Prepaid/dp/B0714DBSNH","https://m.media-amazon.com/images/I/51fbn3oN4JL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0714DBSNH",25,"$127.94"] +["B071HYPM5D","Apple","\"Apple iPhone 5S, GSM Unlocked, 16GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-16GB/dp/B071HYPM5D","https://m.media-amazon.com/images/I/71UucryRfkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B071HYPM5D",97,"$80.00"] +["B071JCPSTX","Apple","\"Apple iPhone 6S, GSM Unlocked, 32GB - Rose Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-32GB/dp/B071JCPSTX","https://m.media-amazon.com/images/I/619mOA3rilL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B071JCPSTX",5,"$139.99"] +["B071JP8XDJ","Sony","Sony Xperia XA1 Ultra G3223 32GB Unlocked GSM LTE Octa-Core Phone w/ 23MP - Gold","https://www.amazon.com/Sony-Xperia-Ultra-Factory-Unlocked/dp/B071JP8XDJ","https://m.media-amazon.com/images/I/817MhreagcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B071JP8XDJ",291,"$159.99"] +["B071KGKFTF","Samsung","Samsung Galaxy S6 Edge Plus SM-G928T 32GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G928T-T-Mobile-Certified-Refurbished/dp/B071KGKFTF","https://m.media-amazon.com/images/I/61GDr9BFNZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B071KGKFTF",18,"$174.00"] +["B071KGTRG8","Samsung","\"Samsung Galaxy J7 4G LTE 5\"\" 16 GB GSM Unlocked - Black\"","https://www.amazon.com/Samsung-Galaxy-LTE-GSM-Unlocked/dp/B071KGTRG8","https://m.media-amazon.com/images/I/61ovoGl-PBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B071KGTRG8",24,""] +["B071P9HZWW","Apple","\"Apple iPhone 6S, 32GB, Space Gray - For AT&T/T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-32GB/dp/B071P9HZWW","https://m.media-amazon.com/images/I/81NvX+grHWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B071P9HZWW",5,"$155.00"] +["B071P9NHSN","Samsung","Samsung Galaxy S5 G900A 16GB Unlocked GSM 4G LTE Quad-Core Smartphone 16MP Camera (Renewed) (Black)","https://www.amazon.com/Samsung-Unlocked-Quad-Core-Smartphone-Renewed/dp/B071P9NHSN","https://m.media-amazon.com/images/I/41TazftBZ1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B071P9NHSN",72,"$94.99"] +["B071VTYHDQ","Motorola","Verizon Motorola Moto E4 Prepaid Phone - Carrier Locked to Verizon Prepaid","https://www.amazon.com/Verizon-Motorola-Carrier-Locked-Prepaid/dp/B071VTYHDQ","https://m.media-amazon.com/images/I/41qP0hy4-kL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B071VTYHDQ",42,"$79.95"] +["B071XBFSPN","Samsung","Samsung Galaxy S8 SM-G950U 64GB Gray T-Mobile Smartphone -Very Good","https://www.amazon.com/SAMSUNG-GALAXY-64GB-ORCHID-T-MOBILE/dp/B071XBFSPN","https://m.media-amazon.com/images/I/61-dEvsdZdL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B071XBFSPN",5,""] +["B071XBH5PL","Samsung","SAMSUNG GALAXY S8 PLUS 64GB ORCHID GRAY AT&T","https://www.amazon.com/SAMSUNG-GALAXY-PLUS-64GB-ORCHID/dp/B071XBH5PL","https://m.media-amazon.com/images/I/41tfoUf5quL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B071XBH5PL",1,""] +["B071XDPF13","Samsung","Samsung Galaxy S6 Edge SM-G925T 32GB T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G925T-T-Mobile-Certified-Refurbished/dp/B071XDPF13","https://m.media-amazon.com/images/I/61buavKtZhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B071XDPF13",18,"$134.98"] +["B071ZDQ6MV","Nokia","Nokia 6 - 32 GB - Dual Sim Unlocked Smartphone (AT&T/T-Mobile/Metropcs/Cricket/Mint) - Update To Android 9.0 PIE - 5.FHD Screen - Blue - U.S. Warranty","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B071ZDQ6MV","https://m.media-amazon.com/images/I/61291x3og8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B071ZDQ6MV",470,"\"$129.00,$179.00\""] +["B071ZN4K8V","Google","\"Google Pixel XL, Quite Black 32GB - Verizon + Unlocked GSM (Renewed)\"","https://www.amazon.com/Google-Pixel-Quite-Black-32GB/dp/B071ZN4K8V","https://m.media-amazon.com/images/I/71z1TjwnadL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B071ZN4K8V",984,"$107.70"] +["B0721KVTMC","Samsung","Samsung Galaxy Note 5 SM-N920T 32GB Platinum Gold - T-Mobile Unlocked GSM","https://www.amazon.com/Samsung-Galaxy-Note-SM-N920T-Platinum/dp/B0721KVTMC","https://m.media-amazon.com/images/I/713xaStc-2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B0721KVTMC",23,""] +["B0721RRM7C","Sony","SONY Wireless Stereo HeadSet SBH56S (SILVER)【Japan Domestic genuine products】","https://www.amazon.com/Wireless-HeadSet-Domestic-genuine-products%E3%80%91/dp/B0721RRM7C","https://m.media-amazon.com/images/I/517+K2tsNmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B0721RRM7C",2,""] +["B0722NN2RG","Samsung","Samsung Galaxy S7 G930A 32GB Black Onyx - Unlocked GSM","https://www.amazon.com/Samsung-Galaxy-G930A-32GB-Black/dp/B0722NN2RG","https://m.media-amazon.com/images/I/61pR9iL0tyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B0722NN2RG",77,"$299.99"] +["B0728HMXFD","Apple","Apple iPad Mini 4 64gb Space Gray (Renewed)","https://www.amazon.com/Apple-iPad-Mini-Space-Refurbished/dp/B0728HMXFD","https://m.media-amazon.com/images/I/71rFU4x+5NL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B0728HMXFD",306,"\"$279.55,$399.99\""] +["B072B7XSVT","Google","Google Pixel 1st Gen 32GB Factory Unlocked GSM/CDMA Smartphone for AT&T + T-Mobile + Verizon Wireless + Sprint (Quite Black)","https://www.amazon.com/Google-Pixel-Unlocked-Smartphone-Carriers/dp/B072B7XSVT","https://m.media-amazon.com/images/I/71i8VZL9dnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B072B7XSVT",22,"$199.00"] +["B072JN1H1X","Samsung","\"Samsung SM-J327 Galaxy J3 Mission 5\"\" Prepaid Carrier Locked - 16 GB - Black (Verizon)\"","https://www.amazon.com/Samsung-SM-J327-Mission-Prepaid-Carrier/dp/B072JN1H1X","https://m.media-amazon.com/images/I/5120SWz2jJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B072JN1H1X",41,"\"$91.99,$99.99\""] +["B072KNNF33","Samsung","Samsung Galaxy S7 32GB G930A - AT&T Locked - Black Onyx (Renewed)","https://www.amazon.com/Samsung-Galaxy-32GB-G930A-Refurbished/dp/B072KNNF33","https://m.media-amazon.com/images/I/31b9CugM3PL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B072KNNF33",215,"$139.00"] +["B072MQ6RZV","Samsung","Samsung Galaxy S8 64GB SM-G950U Arctic Silver - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G950U-Arctic-Silver/dp/B072MQ6RZV","https://m.media-amazon.com/images/I/61HyyXMusML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B072MQ6RZV",6,"$294.95"] +["B072MQRRTR","Samsung","Samsung Galaxy S8 64GB SM-G950U Midnight Black - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G950U-Midnight-Black/dp/B072MQRRTR","https://m.media-amazon.com/images/I/61vwY-jDs2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.2,"https://www.amazon.com/product-reviews/B072MQRRTR",5,"$290.00"] +["B072N19DZR","HUAWEI","Router Hotspot Huawei E5573Cs-609 4G LTE Unlocked GSM (LTE in AT&T Europe Asia Middle East Africa Some South America Countries ) E5573Cs","https://www.amazon.com/Hotspot-E5573Cs-609-Unlocked-America-Countries/dp/B072N19DZR","https://m.media-amazon.com/images/I/310c2axgLRL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B072N19DZR",10,"$48.00"] +["B072QR6NKG","Samsung","Samsung Galaxy S8 64GB SM-G950U Orchid Gray - Sprint (Renewed)","https://www.amazon.com/Samsung-Galaxy-64GB-SM-G950U-Orchid/dp/B072QR6NKG","https://m.media-amazon.com/images/I/61NujdfWCyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B072QR6NKG",10,"\"$299.00,$477.95\""] +["B072V2BNM6","Samsung","\"Samsung Galaxy J3 Prime J327A 16GB 4G LTE 7.0 Nougat 5\"\" GSM Unlocked - Silver\"","https://www.amazon.com/Samsung-Galaxy-Prime-Nougat-Unlocked/dp/B072V2BNM6","https://m.media-amazon.com/images/I/61p+zM8zgWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B072V2BNM6",202,"$109.99"] +["B072ZWCKP5","Motorola","Motorola XT1775 Moto E Plus (4th Gen.) 32GB Unlocked Fine Gold Smartphone","https://www.amazon.com/Motorola-XT1775-Moto-Unlocked-Smartphone/dp/B072ZWCKP5","https://m.media-amazon.com/images/I/71UTxbIjXaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B072ZWCKP5",328,"$198.98"] +["B0731HBTZ7","Apple","\"Apple iPhone 7 32GB, Rose Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-32GB-Rose-Renewed/dp/B0731HBTZ7","https://m.media-amazon.com/images/I/51cRE43zKwL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B0731HBTZ7",292,"$212.99"] +["B0731JJCRZ","Apple","\"Apple iPhone 6S, 32GB, Rose Gold - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-6S-Unlocked-Refurbished/dp/B0731JJCRZ","https://m.media-amazon.com/images/I/41W8O8n6HXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B0731JJCRZ",165,"$152.00"] +["B0731KVYPN","Google","\"Google Pixel GSM Unlocked (Renewed) (128GB, Silver)\"","https://www.amazon.com/Google-Pixel-Unlocked-Renewed-Silver/dp/B0731KVYPN","https://m.media-amazon.com/images/I/41e972fjKnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B0731KVYPN",36,"$112.36"] +["B0731XJ4FB","Samsung","Samsung Galaxy S7 Edge 32GB G935T for T-Mobile - Blue Coral (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-G935T-T-Mobile/dp/B0731XJ4FB","https://m.media-amazon.com/images/I/31j72R8GlUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0731XJ4FB",109,"$188.95"] +["B0733FPPDG","Samsung","Samsung Galaxy S7 Edge G935A 32GB Blue Coral - Unlocked GSM (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-G935A-Coral/dp/B0733FPPDG","https://m.media-amazon.com/images/I/61y8vMNQDUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0733FPPDG",219,"$199.00"] +["B073SBYMK7","Motorola","Motorola Moto Z2 Play XT1710 (64GB) Dual SIM GSM Factory Unlocked US & Global 4G LTE Bands - Dark Gray","https://www.amazon.com/Motorola-XT1710-Factory-Unlocked-Global/dp/B073SBYMK7","https://m.media-amazon.com/images/I/41WxuqeBMfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B073SBYMK7",123,"$215.00"] +["B0741W8Y7S","Samsung","Samsung Galaxy S8 - 64GB SM-G950UZVATMB T-Mobile - (Renewed) (Arctic Silver)","https://www.amazon.com/Samsung-Galaxy-SM-G950UZVATMB-Certified-Refurbished/dp/B0741W8Y7S","https://m.media-amazon.com/images/I/31-khAIXYJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B0741W8Y7S",7,"$264.95"] +["B0743N1S93","Samsung","Samsung Galaxy S7 G930A 32GB Unlocked GSM 4G LTE Quad-Core Phone w/ 12MP Camera - Rose Gold (Renewed)","https://www.amazon.com/Samsung-Galaxy-Unlocked-Quad-Core-Camera/dp/B0743N1S93","https://m.media-amazon.com/images/I/717l48tcKNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B0743N1S93",3,"$169.95"] +["B0744W8WB2","Apple","Apple iPad Mini 4 16gb Space Gray (Renewed)","https://www.amazon.com/Apple-iPad-Mini-Space-Refurbished/dp/B0744W8WB2","https://m.media-amazon.com/images/I/41HcnrjNvAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B0744W8WB2",25,"$179.99"] +["B074JJ3NW5","Samsung","Samsung Galaxy S8+ SM-G955UZBAATT - 64GB - 6.2' - AT&T (Renewed) (Arctic Silver)","https://www.amazon.com/Samsung-Galaxy-SM-G955UZBAATT-Certified-Refurbished/dp/B074JJ3NW5","https://m.media-amazon.com/images/I/71Zsai3oLCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B074JJ3NW5",1,"$270.95"] +["B074MJDYZM","Samsung","Total Wireless Samsung Galaxy S8+ 4G LTE Prepaid Smartphone","https://www.amazon.com/Wireless-Samsung-Galaxy-S8-4G-LTE-Prepaid-Smartphone/dp/B074MJDYZM","https://m.media-amazon.com/images/I/81CNT2u3BZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B074MJDYZM",2,"$759.99"] +["B074P5FMG5","Sony","\"Sony Xperia XZ1 Factory Unlocked Phone - 5.2\"\" Full HD HDR Display - 64GB - Warm Silver (U.S. Warranty)\"","https://www.amazon.com/Sony-Xperia-Factory-Unlocked-Phone/dp/B074P5FMG5","https://m.media-amazon.com/images/I/71gdeHkDbDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B074P5FMG5",78,"$499.99"] +["B074TD2H5K","Motorola","Motorola Moto G5 Plus (XT1685) 4GB / 32GB 5.2-inches Dual SIM Factory Unlocked - International Stock No Warranty (Lunar Gray)","https://www.amazon.com/Motorola-XT1685-5-2-inches-Factory-Unlocked/dp/B074TD2H5K","https://m.media-amazon.com/images/I/61uX8T2fADL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B074TD2H5K",1,"$175.00"] +["B074VDZZKW","Motorola","Motorola MOTO G5S Plus XT1806 32GB Factory Unlocked Cell Phone Blush Gold","https://www.amazon.com/Motorola-XT1806-Factory-Unlocked-Phone/dp/B074VDZZKW","https://m.media-amazon.com/images/I/51-QJ8VgvbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B074VDZZKW",8,"$199.98"] +["B074VF842B","Motorola","\"Motorola XT1806 Factory Unlocked Cell Phone - 5.5\"\" Screen - 32GB - Lunar Gray (U.S. Warranty)\"","https://www.amazon.com/Motorola-XT1806-Factory-Unlocked-Phone/dp/B074VF842B","https://m.media-amazon.com/images/I/51DJrAIe8hL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B074VF842B",9,""] +["B074VFRKZG","Motorola","\"Motorola Moto X4 Factory Unlocked Phone - 32GB - 5.2\"\" - Super Black - PA8S0006US\"","https://www.amazon.com/Motorola-Moto-Factory-Unlocked-Phone/dp/B074VFRKZG","https://m.media-amazon.com/images/I/7159JihtggL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B074VFRKZG",165,""] +["B074XF6JCD","Motorola","Motorola Moto Z2 Force XT1789 64GB ATT only (Super Black)","https://www.amazon.com/Motorola-Force-XT1789-Super-Black/dp/B074XF6JCD","https://m.media-amazon.com/images/I/71b9BtbvjML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B074XF6JCD",19,""] +["B074ZMQHMQ","Samsung","\"Samsung Galaxy S8+ 64GB Phone- 6.2\"\" display - Sprint Unlocked Midnight Black (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-display/dp/B074ZMQHMQ","https://m.media-amazon.com/images/I/618PEFGoTzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B074ZMQHMQ",1,"$289.95"] +["B0751KLN39","Motorola","Motorola Moto Z2 Play XT1710-06 - 64GB Single SIM Factory Unlocked Smartphone (Dark Gray - International Version)","https://www.amazon.com/Motorola-Moto-Play-XT1710-06-International/dp/B0751KLN39","https://m.media-amazon.com/images/I/516z3OFw-AL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B0751KLN39",2,"$189.99"] +["B0751RGH6W","Apple","\"Apple iPhone SE, 32GB, Space Gray - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-SE-Unlocked-32GB/dp/B0751RGH6W","https://m.media-amazon.com/images/I/71eqnpqyD4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B0751RGH6W",175,"$124.41"] +["B0751TDNM3","Apple","\"Apple iPhone SE, 32GB, Silver - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-32GB/dp/B0751TDNM3","https://m.media-amazon.com/images/I/71q6vIPWKSL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0751TDNM3",89,"$135.55"] +["B07536MYBQ","Samsung","Samsung Galaxy Note8 N950U 64GB Unlocked GSM LTE Android Phone w/ Dual 12 Megapixel Camera - Midnight Black","https://www.amazon.com/Samsung-Galaxy-Unlocked-Android-Megapixel/dp/B07536MYBQ","https://m.media-amazon.com/images/I/71wjfOWQhsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07536MYBQ",499,"\"$450.99,$899.99\""] +["B0753QKW5L","Samsung","Samsung Galaxy Tab E 8in 16GB 4G LTE AT&T Unlocked Android 5.1.1 Lollipop (Renewed)","https://www.amazon.com/Samsung-Unlocked-Lollipop-Certified-Refurbished/dp/B0753QKW5L","https://m.media-amazon.com/images/I/41oqYLJZG5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0753QKW5L",18,"$125.95"] +["B0756F2GJT","ASUS","\"ASUS ZE554KL-S630-4G64G-WH ZenFone 4 5.5-inch FHD IPS 4GB RAM, 64GB storage LTE Unlocked Dual SIM Cell Phone, US Warranty, Moonlight White\"","https://www.amazon.com/ZE554KL-S630-4G64G-WH-5-5-inch-Unlocked-Warranty-Moonlight/dp/B0756F2GJT","https://m.media-amazon.com/images/I/7121jXS2coL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B0756F2GJT",14,"$259.00"] +["B0757B64H2","Nokia","Nokia 105 [2017] TA-1037 Dual-Band (850/1900) Factory Unlocked Mobile Phone Black no warranty (Black)","https://www.amazon.com/Nokia-TA-1037-Dual-Band-Unlocked-warranty/dp/B0757B64H2","https://m.media-amazon.com/images/I/51xZ-hvlcqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B0757B64H2",120,"$49.99"] +["B075FKVJV3","Nokia","\"Nokia 2 - Android 7.0 Nougat - 8GB - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5\"\" Screen - White - U.S. Warranty\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B075FKVJV3","https://m.media-amazon.com/images/I/61Dk9-AbNxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B075FKVJV3",331,"\"$94.11,$99.00\""] +["B075FL4H89","Nokia","Nokia 3310 3G - Unlocked Single SIM Feature Phone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 2.4 Inch Screen - Charcoal","https://www.amazon.com/Nokia-3310-3G-Unlocked-T-Mobile/dp/B075FL4H89","https://m.media-amazon.com/images/I/71iQ4QgMchL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B075FL4H89",409,"\"$56.15,$59.00\""] +["B075FTXP6G","Apple","\"Apple iPhone 7 Plus, GSM Unlocked, 256GB - (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-256GB/dp/B075FTXP6G","https://m.media-amazon.com/images/I/71qoijN2JuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B075FTXP6G",9,"$399.99"] +["B075FW7GZV","Apple","\"Apple iPhone SE, 32GB, Rose Gold - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Factory-Unlocked-Renewed/dp/B075FW7GZV","https://m.media-amazon.com/images/I/71T3GGHFRLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B075FW7GZV",109,"$125.55"] +["B075H3VWGN","Samsung","Samsung Galaxy S7 G930T 32GB T-Mobile Unlocked - Black","https://www.amazon.com/Samsung-Galaxy-S7-T-Mobile-Unlocked/dp/B075H3VWGN","https://m.media-amazon.com/images/I/51Z+xQVTLJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B075H3VWGN",29,""] +["B075MSFBJY","Samsung","Samsung Galaxy S7 SM-G930T - 32GB - GSM Unlocked - Gold Platinum (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-SM-G930T-Unlocked/dp/B075MSFBJY","https://m.media-amazon.com/images/I/61KvXevceyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B075MSFBJY",38,"$159.00"] +["B075MSP5LH","Samsung","Samsung Galaxy S7 SM-G930T - 32GB - GSM Unlocked - Black Onyx (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-SM-G930T-Unlocked/dp/B075MSP5LH","https://m.media-amazon.com/images/I/61nEeSZKJZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B075MSP5LH",199,"$144.00"] +["B075QRTVNC","Sony","\"Sony Xperia XA1 Plus - Unlocked Smartphone - 5.5\"\", 32GB - Blue (US Warranty)\"","https://www.amazon.com/Sony-Xperia-XA1-Plus-Smartphone/dp/B075QRTVNC","https://m.media-amazon.com/images/I/71cFo5pTY+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B075QRTVNC",32,""] +["B075SKYZXY","Motorola","Motorola Moto Z2 Force XT1789 64GB Lunar Gray T-Mobile","https://www.amazon.com/Motorola-Force-XT1789-Lunar-T-Mobile/dp/B075SKYZXY","https://m.media-amazon.com/images/I/41ddMNyQe6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B075SKYZXY",51,""] +["B075WDMQG5","Samsung","Samsung Galaxy S7 G930 Unlocked GSM 4G LTE Smartphone w/12MP Camera - Platinum Gold (Renewed)","https://www.amazon.com/Samsung-Galaxy-Unlocked-Smartphone-Camera/dp/B075WDMQG5","https://m.media-amazon.com/images/I/61KvXevceyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B075WDMQG5",20,"$164.99"] +["B075WXQBRD","Apple","\"Apple iPhone 7, AT&T, 128GB - Red (Renewed)\"","https://www.amazon.com/Apple-iPhone-AT-128GB-Refurbished/dp/B075WXQBRD","https://m.media-amazon.com/images/I/61SSUZbSs8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B075WXQBRD",9,"$219.99"] +["B075Z8SFXM","Samsung","Samsung Galaxy Note8 64GB Unlocked GSM LTE Android Phone w/Dual 12 Megapixel Camera - Orchid Grey","https://www.amazon.com/Samsung-Galaxy-Unlocked-Android-Megapixel/dp/B075Z8SFXM","https://m.media-amazon.com/images/I/7153n4nWHhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B075Z8SFXM",1,""] +["B075ZD2WFN","Samsung","Samsung Galaxy S8+ G955U 64GB Unlocked GSM U.S. Version Smartphone w/ 12MP Camera - Orchid Gray","https://www.amazon.com/Samsung-Galaxy-Unlocked-Version-Smartphone/dp/B075ZD2WFN","https://m.media-amazon.com/images/I/71pGMMYD+kL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B075ZD2WFN",18,"$454.99"] +["B075ZGJMQY","Samsung","Samsung Galaxy Note 8 64GB Unlocked GSM LTE Android Phone w/ Dual 12 Megapixel Camera - Midnight Black","https://www.amazon.com/Samsung-Galaxy-Unlocked-Android-Megapixel/dp/B075ZGJMQY","https://m.media-amazon.com/images/I/71wjfOWQhsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B075ZGJMQY",77,""] +["B075ZHJ1SK","Samsung","Samsung Galaxy S8+ G955U 64GB T-Mobile GSM Smartphone w/ 12MP Camera - Arctic Silver","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Smartphone-Camera/dp/B075ZHJ1SK","https://m.media-amazon.com/images/I/817r8IrEN5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B075ZHJ1SK",1,""] +["B075ZHWDN2","Samsung","Samsung Galaxy S8+ G955U 64GB Unlocked GSM U.S. Version Phone w/ 12MP Camera - Midnight Black","https://www.amazon.com/Samsung-Galaxy-Unlocked-Version-Camera/dp/B075ZHWDN2","https://m.media-amazon.com/images/I/81NCJilmjzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B075ZHWDN2",6,""] +["B0764JKDWS","Apple","Apple iPhone 6S Factory Unlocked Cellphone w/ 1 YEAR EXTENDED CPS LIMITED WARRANTY (Renewed) (Rose Gold (16Gb))","https://www.amazon.com/Apple-Unlocked-Cellphone-EXTENDED-Refurbished/dp/B0764JKDWS","https://m.media-amazon.com/images/I/61oNMKeyk9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B0764JKDWS",3,"$169.95"] +["B0766GHWM6","Google","Google Pixel 2 64GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Just Black","https://www.amazon.com/Google-Pixel-Unlocked-64gb-Black/dp/B0766GHWM6","https://m.media-amazon.com/images/I/81KgaU7qznL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0766GHWM6",128,"$373.99"] +["B0766HPGYP","Google","Google Pixel 2 128GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Just Black","https://www.amazon.com/Google-Pixel-Unlocked-128gb-CDMA/dp/B0766HPGYP","https://m.media-amazon.com/images/I/81KgaU7qznL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B0766HPGYP",128,"$393.99"] +["B0767538YH","Google","Google Pixel 2 XL 128GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Just Black","https://www.amazon.com/Google-Unlocked-Octa-Core-12-2MP-Camera/dp/B0767538YH","https://m.media-amazon.com/images/I/41OO+yCbvnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B0767538YH",66,"$679.00"] +["B07684BWYW","Apple","\"Apple iPhone 6, AT&T, 64GB - (Renewed)\"","https://www.amazon.com/Apple-iPhone-AT-64GB-Refurbished/dp/B07684BWYW","https://m.media-amazon.com/images/I/81aaPi-hh6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B07684BWYW",14,""] +["B076BVNGZQ","Nokia","Nokia 3310 TA-1036 Unlocked GSM 3G Android Phone - Charcoal","https://www.amazon.com/Nokia-TA-1036-Unlocked-Android-Phone/dp/B076BVNGZQ","https://m.media-amazon.com/images/I/81hYdGqiYLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B076BVNGZQ",3,"$69.99"] +["B076CS3X2X","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB Midnight Black AT&T","https://www.amazon.com/Samsung-Galaxy-SM-N950U-Midnight-Unlocked/dp/B076CS3X2X","https://m.media-amazon.com/images/I/61Mcj7muZDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B076CS3X2X",42,"$440.95"] +["B076HVSJQR","Samsung","Samsung Galaxy S8 Orchid Gray 64GB Verizon and GSM Factory Unlocked 4G LTE (Renewed)","https://www.amazon.com/Samsung-Galaxy-S8-Certified-Refurbished/dp/B076HVSJQR","https://m.media-amazon.com/images/I/61-dEvsdZdL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B076HVSJQR",1,"$263.00"] +["B076HZDVN6","Motorola","Motorola Moto Z2 Play XT171002 32GB Fine Gold Verizon Wireless","https://www.amazon.com/Motorola-Moto-XT171002-Verizon-Wireless/dp/B076HZDVN6","https://m.media-amazon.com/images/I/314y4dqMTdL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B076HZDVN6",3,""] +["B076JJRZ3P","Samsung","Samsung Galaxy S8+ SM-G955U 64GB Midnight Black T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G955U-Midnight-Certified-Refurbished/dp/B076JJRZ3P","https://m.media-amazon.com/images/I/71K1jL0AC4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B076JJRZ3P",2,"$289.00"] +["B076M93C6B","Samsung","Samsung Galaxy S6 G920T 64GB Unlocked GSM (T-Mobile) 4G LTE Octa-Core Smartphone w/ 16MP Camera - White","https://www.amazon.com/Samsung-Galaxy-S6-Octa-Core-Smartphone/dp/B076M93C6B","https://m.media-amazon.com/images/I/41vLmb6iGfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B076M93C6B",141,""] +["B076M9RQJ2","Samsung","Samsung Galaxy S8 64GB Phone - 5.8in Unlocked Smartphone - Midnight Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-Smartphone/dp/B076M9RQJ2","https://m.media-amazon.com/images/I/71pjGN8WsoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B076M9RQJ2",69,"$255.00"] +["B076MB4CYN","Google","\"Google Pixel 32GB Phone, Very Silver, 5\"\" (Renewed)\"","https://www.amazon.com/Google-Pixel-Silver-Certified-Refurbished/dp/B076MB4CYN","https://m.media-amazon.com/images/I/61q3zgWA8yL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B076MB4CYN",19,"$107.55"] +["B076QJZR5V","Samsung","Samsung Galaxy J3 Verizon Wireless Black (Renewed)","https://www.amazon.com/Samsung-Verizon-Wireless-Certified-Refurbished/dp/B076QJZR5V","https://m.media-amazon.com/images/I/613h0ly1NTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B076QJZR5V",5,"$94.99"] +["B076QKMQ81","Google","Google GA00139-US Pixel 2 64GB Just Black Verizon Wireless Smartphone","https://www.amazon.com/Google-GA00139-US-Verizon-Wireless-Smartphone/dp/B076QKMQ81","https://m.media-amazon.com/images/I/614uK75v7EL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B076QKMQ81",19,""] +["B076XLLCQC","Samsung","Samsung Galaxy Note 8 N950 Factory Unlocked Phone 64GB Midnight Black (Renewed)","https://www.amazon.com/Samsung-Unlocked-Midnight-Certified-Refurbished/dp/B076XLLCQC","https://m.media-amazon.com/images/I/61g0ZfjJjuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B076XLLCQC",650,"$309.10"] +["B0774T8DC6","Apple","\"Apple iPhone SE, 16GB, Space Gray - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-SE-Unlocked-16GB/dp/B0774T8DC6","https://m.media-amazon.com/images/I/413VzFKMpuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B0774T8DC6",126,"$108.99"] +["B07751XZ5F","Apple","\"Apple iPhone 8 Plus, 256GB, Space Gray - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Fully-Unlocked/dp/B07751XZ5F","https://m.media-amazon.com/images/I/61r8IFeR9LL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07751XZ5F",144,""] +["B07752FPVQ","Apple","\"Apple iPhone 8 Plus, GSM Unlocked, 64GB - Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-64GB/dp/B07752FPVQ","https://m.media-amazon.com/images/I/71Ybg7nIAHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07752FPVQ",444,"$479.99"] +["B07753NSQZ","Apple","\"Apple iPhone 8, GSM Unlocked, 256GB - Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-256GB/dp/B07753NSQZ","https://m.media-amazon.com/images/I/61UYEl6lfKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07753NSQZ",50,"\"$436.00,$549.99\""] +["B077578VXH","Apple","\"Apple iPhone 8, GSM Unlocked, 64GB - Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-64GB/dp/B077578VXH","https://m.media-amazon.com/images/I/41mOeuE1OTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B077578VXH",24,"$373.50"] +["B07757NY3X","Apple","Apple iPhone 8 256GB Unlocked GSM Phone - Silver (Renewed)","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-256GB/dp/B07757NY3X","https://m.media-amazon.com/images/I/61F7A5rswJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07757NY3X",25,""] +["B077583FPX","Apple","\"Apple iPhone 8, 64GB, Space Gray - for AT&T/T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-64GB/dp/B077583FPX","https://m.media-amazon.com/images/I/61UYEl6lfKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B077583FPX",1,"\"$373.00,$549.99\""] +["B077596D7L","Apple","\"Apple iPhone X, 256GB, Space Gray - For AT&T/T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-256GB/dp/B077596D7L","https://m.media-amazon.com/images/I/41UWCMQVUkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B077596D7L",294,"$689.99"] +["B07759W12Z","Apple","\"Apple iPhone 8 4.7\"\", 256 GB, Fully Unlocked, Space Gray (Renewed)\"","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-256GB/dp/B07759W12Z","https://m.media-amazon.com/images/I/61UYEl6lfKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07759W12Z",57,"\"$480.00,$549.99\""] +["B0775FLHPN","Apple","\"Apple iPhone 8 Plus, GSM Unlocked, 64GB - Space Gray (Refurbished)\"","https://www.amazon.com/Apple-iPhone-Plus-Unlocked-64GB/dp/B0775FLHPN","https://m.media-amazon.com/images/I/71MRY6+c8pL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B0775FLHPN",444,"$465.00"] +["B0776ZJ1C3","HUAWEI","Modem Huawei USB 3G H+ GSM Unlocked K4605 (E372) USA Latin & Caribbean Europe Bands 850/900/1900 mhz BAM","https://www.amazon.com/Modem-Huawei-Unlocked-Caribbean-Europe/dp/B0776ZJ1C3","https://m.media-amazon.com/images/I/31umgD9tA5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.6,"https://www.amazon.com/product-reviews/B0776ZJ1C3",3,"$24.50"] +["B07772QJ2G","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB Orchid Gray T-Mobile - Renewed","https://www.amazon.com/Samsung-Galaxy-SM-N950U-Orchid-T-Mobile/dp/B07772QJ2G","https://m.media-amazon.com/images/I/61kad0RN1eL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07772QJ2G",34,"$349.00"] +["B07773H2VQ","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB Midnight Black AT&T Unlocked - Renewed","https://www.amazon.com/Samsung-Galaxy-SM-N950U-Midnight-Unlocked/dp/B07773H2VQ","https://m.media-amazon.com/images/I/41CCazqracL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07773H2VQ",40,"$334.55"] +["B0777V5BRJ","Samsung","Samsung Galaxy Note 5 SM-N920T 32GB T-Mobile GSM Unlocked - Sapphire Black","https://www.amazon.com/Samsung-Galaxy-Note-SM-N920T-T-Mobile/dp/B0777V5BRJ","https://m.media-amazon.com/images/I/61StoSuceGL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B0777V5BRJ",24,""] +["B0778XYWD3","Apple","\"Apple iPhone 6 Plus, 16GB, Gold - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Fully-Unlocked/dp/B0778XYWD3","https://m.media-amazon.com/images/I/81bTXIQMGvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B0778XYWD3",18,"$195.00"] +["B077BL94N3","Samsung","Samsung Galaxy Note 8 N950U 64GB - Sprint (Midnight Black)","https://www.amazon.com/Samsung-Galaxy-Note-N950U-64GB/dp/B077BL94N3","https://m.media-amazon.com/images/I/71DPv8ykx0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B077BL94N3",9,"$421.98"] +["B077BSYGB5","Apple","\"Apple iPhone 6 Plus, 16GB, Space Gray - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Fully-Unlocked/dp/B077BSYGB5","https://m.media-amazon.com/images/I/61oCPeB+7BL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B077BSYGB5",43,"$159.99"] +["B077CTDDQ6","Google","Google Pixel 2 XL 64GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Just Black","https://www.amazon.com/Google-Pixel-XL-Unlocked-CDMA/dp/B077CTDDQ6","https://m.media-amazon.com/images/I/71Nj0IWw5OL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B077CTDDQ6",4,"$536.58"] +["B077MR13HM","Samsung","Samsung Galaxy S7 G930T T-Mobile Unlocked GSM - Gold","https://www.amazon.com/Samsung-Galaxy-G930T-T-Mobile-Unlocked/dp/B077MR13HM","https://m.media-amazon.com/images/I/61OCfRvtCEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B077MR13HM",32,""] +["B077NJQPGB","Apple","Apple iPhone 7 256GB Unlocked GSM 4G LTE Quad-Core Smartphone - Jet Black (Renewed)","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-256GB/dp/B077NJQPGB","https://m.media-amazon.com/images/I/71A45XDJ09L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B077NJQPGB",5,"$339.87"] +["B077NK4TZ7","Apple","Apple iPhone 7 256GB Unlocked GSM 4G LTE Quad-Core Smartphone - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-256GB/dp/B077NK4TZ7","https://m.media-amazon.com/images/I/71FvZY9-KrL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.1,"https://www.amazon.com/product-reviews/B077NK4TZ7",2,"$298.69"] +["B077WSVG4Z","Google","\"Google Pixel 2 XL Unlocked (GSM Only, No CDMA) - US warranty (Black & White, 64GB)\"","https://www.amazon.com/Google-Pixel-Unlocked-Only-CDMA/dp/B077WSVG4Z","https://m.media-amazon.com/images/I/7118adoRMXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B077WSVG4Z",127,"$369.99"] +["B077YT57R6","Apple","\"Apple iPhone 7, 128GB, Red - AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-128GB/dp/B077YT57R6","https://m.media-amazon.com/images/I/61hQXv37RvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B077YT57R6",57,"$292.00"] +["B077Z1NXFB","Nokia","\"Nokia 8 - Android One (Upgrade to Pie) - 64 GB - Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/H2O) - 5.3\"\" Screen - Glossy Blue\"","https://www.amazon.com/Nokia-Single-SIM-Polished-Blue/dp/B077Z1NXFB","https://m.media-amazon.com/images/I/4197Tjy8u5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B077Z1NXFB",9,"$299.00"] +["B077ZKKBDB","Sony","\"Sony Xperia XA2 Ultra Factory Unlocked Phone - 6\"\" Screen - 32GB - Blue (U.S. Warranty)\"","https://www.amazon.com/Sony-Xperia-Ultra-Factory-Unlocked/dp/B077ZKKBDB","https://m.media-amazon.com/images/I/81glnka+SaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B077ZKKBDB",281,"$399.99"] +["B077ZMWX1W","Sony","\"Sony Xperia L2, Unlocked, 32GB - Black (U.S. Warranty)\"","https://www.amazon.com/Sony-Xperia-Factory-Unlocked-Phone/dp/B077ZMWX1W","https://m.media-amazon.com/images/I/71w5nP+TCOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B077ZMWX1W",70,"$249.00"] +["B0781VQD66","Google","\"Google Pixel XL 128GB Verizon and GSM Unlocked, Quite Black, 5.5\"\"(Renewed)\"","https://www.amazon.com/Google-Verizon-Unlocked-Certified-Refurbished/dp/B0781VQD66","https://m.media-amazon.com/images/I/71z1TjwnadL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B0781VQD66",15,"$150.00"] +["B0787V183F","Google","\"Google Pixel 2 64 GB, Black Factory Unlocked (Renewed)\"","https://www.amazon.com/Google-Pixel-64-Black-Refurbished/dp/B0787V183F","https://m.media-amazon.com/images/I/7108ZFza5gL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B0787V183F",277,"$213.30"] +["B0788F8DKC","Samsung","Samsung DeX Wireless Qi Desktop Charging Dock Station EE-MG950 Galaxy S8 + Note8 (Renewed)","https://www.amazon.com/Samsung-Wireless-Charging-Certified-Refurbished/dp/B0788F8DKC","https://m.media-amazon.com/images/I/51f9Q6m32TL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B0788F8DKC",9,"$32.95"] +["B0788ZD69Z","Samsung","Samsung Galaxy S8 Plus Unlocked 64GB (Midnight Black) - (Renewed)","https://www.amazon.com/Samsung-Galaxy-S8-Plus-Unlocked/dp/B0788ZD69Z","https://m.media-amazon.com/images/I/71vr2Ck4z2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B0788ZD69Z",1,"$299.00"] +["B078BP86SC","Samsung","\"Straight Talk Samsung Galaxy J7 Sky Pro 16GB Prepaid Smartphone, Black (Locked)\"","https://www.amazon.com/Straight-Samsung-Galaxy-Prepaid-Smartphone/dp/B078BP86SC","https://m.media-amazon.com/images/I/914lmZHLWIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B078BP86SC",39,""] +["B078BY4P44","Samsung","Samsung Galaxy Tab A SM-T580 10.1-Inch Touchscreen International Version (32GB)","https://www.amazon.com/Samsung-SM-T580-10-1-Inch-Touchscreen-International/dp/B078BY4P44","https://m.media-amazon.com/images/I/41vV8zYi-WL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B078BY4P44",60,"$243.30"] +["B078HL31D8","Samsung","Samsung Galaxy S7 32gb Gold AT&T","https://www.amazon.com/Samsung-Galaxy-S7-32gb-Gold/dp/B078HL31D8","https://m.media-amazon.com/images/I/31gDQ27FxsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B078HL31D8",24,"$299.00"] +["B078JR6L2S","Samsung","Samsung Galaxy Note 8 64GB Verizon - Midnight Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-Note8-64GB-Verizon/dp/B078JR6L2S","https://m.media-amazon.com/images/I/61g0ZfjJjuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B078JR6L2S",104,"$359.00"] +["B078KGP5K5","Google","Google Pixel 2 64GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Kinda Blue","https://www.amazon.com/Google-Unlocked-Octa-Core-12-2MP-Camera/dp/B078KGP5K5","https://m.media-amazon.com/images/I/51x4KmQS91L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B078KGP5K5",9,"$499.00"] +["B078N87QFD","Samsung","Samsung Galaxy S8 Unlocked 64GB - US Version (Coral Blue) - US Warranty (Renewed)","https://www.amazon.com/Samsung-Galaxy-Unlocked-64GB-Refurbished/dp/B078N87QFD","https://m.media-amazon.com/images/I/61mMo3xweeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B078N87QFD",27,"$269.00"] +["B078P23KVB","Apple","Apple iPhone 8 Plus a1897 Gold 64GB GSM Unlocked (Renewed)","https://www.amazon.com/Apple-iPhone-a1897-Unlocked-Renewed/dp/B078P23KVB","https://m.media-amazon.com/images/I/61yX3VKY7GL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B078P23KVB",72,"\"$486.94,$599.99\""] +["B078RBVVCV","Motorola","Motorola Moto G5S Plus XT1805 4G LTE Unlocked GSM 32GB 4GB RAm Octa Core Dual 13MP International Version No Warranty","https://www.amazon.com/Motorola-XT1805-Factory-Unlocked-International/dp/B078RBVVCV","https://m.media-amazon.com/images/I/51DJrAIe8hL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B078RBVVCV",64,"$187.00"] +["B078T2T2FL","HUAWEI","\"Huawei Mate 10 Pro Unlocked Phone, 6\"\" 6GB/128GB, AI Processor, Dual Leica Camera, Water Resistant IP67, GSM Only - Midnight Blue (US Warranty)\"","https://www.amazon.com/Huawei-Unlocked-Processor-Camera-Resistant/dp/B078T2T2FL","https://m.media-amazon.com/images/I/81RL39THW7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B078T2T2FL",561,"$414.99"] +["B078WJSWWN","Samsung","Samsung Galaxy S8 64GB Phone - 5.8in Unlocked Smartphone - Arctic Silver (Renewed)","https://www.amazon.com/Samsung-Galaxy-64GB-Phone-Smartphone/dp/B078WJSWWN","https://m.media-amazon.com/images/I/51sIhUpXgJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B078WJSWWN",31,"$258.71"] +["B078WZ86Y9","Apple","\"Apple iPhone 7, GSM Unlocked, 128GB - Red (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-128GB/dp/B078WZ86Y9","https://m.media-amazon.com/images/I/41Zknaw6InL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B078WZ86Y9",26,"$279.99"] +["B078WZX9LD","Apple","Apple iPhone 7 - 256GB - GSM Unlocked - Red (Renewed)","https://www.amazon.com/Apple-iPhone-256GB-Unlocked-Renewed/dp/B078WZX9LD","https://m.media-amazon.com/images/I/51DGjn19SVL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B078WZX9LD",2,"$289.99"] +["B078YWG75M","Samsung","Samsung Galaxy S8 Plus SM-G955U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G955U-T-Mobile-Renewed/dp/B078YWG75M","https://m.media-amazon.com/images/I/61BzJQ2d6rL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B078YWG75M",144,"$269.99"] +["B078YX7N89","Samsung","Samsung Galaxy S8 SM-G950U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G950U-T-Mobile-Certified-Refurbished/dp/B078YX7N89","https://m.media-amazon.com/images/I/61-dEvsdZdL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B078YX7N89",21,"$248.99"] +["B078YX8S5N","Samsung","Samsung Galaxy S8 SM-G950U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G950U-T-Mobile-Certified-Refurbished/dp/B078YX8S5N","https://m.media-amazon.com/images/I/61knKFKbiUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B078YX8S5N",3,"$249.98"] +["B078YXJPRF","Samsung","Samsung Galaxy S8 Plus SM-G955U 64GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-Plus-SM-G955U-Renewed/dp/B078YXJPRF","https://m.media-amazon.com/images/I/61ucVCgCWbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B078YXJPRF",55,"$270.70"] +["B078YXKLC6","Samsung","Samsung Galaxy S8 SM-G950U 64GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G950U-Certified-Refurbished/dp/B078YXKLC6","https://m.media-amazon.com/images/I/61knKFKbiUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B078YXKLC6",69,"$237.38"] +["B078YXKQSJ","Samsung","Samsung Galaxy S8 SM-G950U 64GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G950U-Certified-Refurbished/dp/B078YXKQSJ","https://m.media-amazon.com/images/I/61-cy8+UuaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B078YXKQSJ",69,"\"$255.00,$349.99\""] +["B078YXPCJJ","Samsung","Samsung Galaxy S8 SM-G950U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-G950U-T-Mobile-Certified-Refurbished/dp/B078YXPCJJ","https://m.media-amazon.com/images/I/61Mcj7muZDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B078YXPCJJ",20,"$247.99"] +["B078YXQ38Z","Samsung","Samsung Galaxy S8 Active 64GB SM-G892A Unlocked GSM - Meteor Gray (Renewed)","https://www.amazon.com/Samsung-Galaxy-S8-Active-SM-G892A/dp/B078YXQ38Z","https://m.media-amazon.com/images/I/61wgvFSAJQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B078YXQ38Z",107,"$260.00"] +["B078YY1SFC","Samsung","Samsung Galaxy S8 Active 64GB SM-G892A Unlocked GSM Phone - Titanium Gold (Renewed)","https://www.amazon.com/Samsung-Galaxy-Active-SM-G892A-Unlocked/dp/B078YY1SFC","https://m.media-amazon.com/images/I/61LfItgBuKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B078YY1SFC",80,"$274.99"] +["B07914FQ4R","ASUS","ASUS ZenFone Max Plus ZB570TL-MT67-3G32G-BK - 5.7” 1920x1080-3GB RAM - 32GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Black","https://www.amazon.com/ASUS-ZenFone-Plus-ZB570TL-MT67-3G32G-BK-1920x1080-3GB/dp/B07914FQ4R","https://m.media-amazon.com/images/I/71TpK1k5VVL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07914FQ4R",148,"\"$179.00,$229.00\""] +["B0791VS3N9","HUAWEI","Huawei Mate SE Factory Unlocked 5.93” - 4GB/64GB Octa-core Processor| 16MP + 2MP Dual Camera| GSM Only |Grey (US Warranty)","https://www.amazon.com/Huawei-Mate-Factory-Unlocked-5-93/dp/B0791VS3N9","https://m.media-amazon.com/images/I/811cPuY63mL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B0791VS3N9",2,""] +["B0792DWMS5","Samsung","Samsung Galaxy S8 64GB G950U T-Mobile GSM Unlocked - Midnight Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-G950U-T-Mobile-Unlocked/dp/B0792DWMS5","https://m.media-amazon.com/images/I/61fJU8nKM6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B0792DWMS5",1,"$269.95"] +["B07946VKT8","Sony","\"Sony Xperia XA1 Plus G3423 LTE 5.5\"\" 32GB Factory Unlocked Smartphone (International Version) (Black)\"","https://www.amazon.com/Sony-Factory-Unlocked-Smartphone-International/dp/B07946VKT8","https://m.media-amazon.com/images/I/61A1b0sGreL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07946VKT8",5,"$199.99"] +["B0799QJKQ5","Samsung","Samsung Galaxy S7 Edge 32GB G935A GSM Unlocked - Pink Gold","https://www.amazon.com/Samsung-Galaxy-Edge-G935A-Unlocked/dp/B0799QJKQ5","https://m.media-amazon.com/images/I/51VYfttkarL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B0799QJKQ5",1,""] +["B079B34R7G","Samsung","Samsung Galaxy S8 Active 64GB SM-G892U Sprint - Meteor Gray (Certified Ref)","https://www.amazon.com/Samsung-Galaxy-Active-SM-G892U-Sprint/dp/B079B34R7G","https://m.media-amazon.com/images/I/61Aj4FFSO3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B079B34R7G",20,"$289.95"] +["B079C1K282","Google","\"Google Pixel 2 XL 64 GB, Black (Renewed)\"","https://www.amazon.com/Google-Pixel-XL-Black-Renewed/dp/B079C1K282","https://m.media-amazon.com/images/I/71CDE9pG4hL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B079C1K282",385,"$250.00"] +["B079C47CS4","Motorola","Motorola Moto Z2 Force XT1789 64GB Lunar Gray T-Mobile (Renewed)","https://www.amazon.com/Motorola-XT1789-T-Mobile-Certified-Refurbished/dp/B079C47CS4","https://m.media-amazon.com/images/I/41CR60B8WYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B079C47CS4",24,"$161.99"] +["B079H6RLKQ","Samsung","Samsung Galaxy S9 G960U 64GB Unlocked GSM 4G LTE Phone w/ 12MP Camera - Midnight Black","https://www.amazon.com/Samsung-Galaxy-S9-Unlocked-Smartphone/dp/B079H6RLKQ","https://m.media-amazon.com/images/I/81+h9mpyQmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B079H6RLKQ",2,"\"$492.70,$599.99\""] +["B079HB518K","Apple","\"Apple iPhone 7, GSM Unlocked, 32GB - Rose Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-32GB/dp/B079HB518K","https://m.media-amazon.com/images/I/71x3e0x+M2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B079HB518K",79,"$212.00"] +["B079HC27HJ","Apple","\"Apple iPhone 7 128 GB AT&T, Jet Black (Renewed)\"","https://www.amazon.com/Apple-iPhone-128-Black-Refurbished/dp/B079HC27HJ","https://m.media-amazon.com/images/I/61qdqzt3X3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B079HC27HJ",5,"$249.99"] +["B079HG7TZS","HUAWEI","\"Huawei P Smart (32GB) 5.6\"\" Fullview Display & Dual Camera's, 4G LTE Dual-SIM Factory Unlocked w/ Fingerprint Scanner FIG-L23 International Model, No Warranty (Black)\"","https://www.amazon.com/Fullview-Dual-SIM-Fingerprint-FIG-L23-International/dp/B079HG7TZS","https://m.media-amazon.com/images/I/51+UNS7GlGL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B079HG7TZS",33,"$179.99"] +["B079J59FGT","Google","Google Pixel 2 XL Unlocked US Warranty 128GB Black & White","https://www.amazon.com/Pixel-XL-Unlocked-GSM-CDMA/dp/B079J59FGT","https://m.media-amazon.com/images/I/41djXmzL3oL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B079J59FGT",13,""] +["B079J5MKXJ","Google","Google Pixel 2 XL 128GB Unlocked GSM/CDMA 4G LTE Octa-Core Phone w/ 12.2MP Camera - Just Black","https://www.amazon.com/Google-Pixel-XL-Unlocked-CDMA/dp/B079J5MKXJ","https://m.media-amazon.com/images/I/71Nj0IWw5OL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B079J5MKXJ",18,""] +["B079K78C1Y","Google","Google Pixel XL 128GB Silver (Unlocked) - (Renewed)","https://www.amazon.com/Google-Pixel-128GB-Silver-Unlocked/dp/B079K78C1Y","https://m.media-amazon.com/images/I/61q3zgWA8yL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B079K78C1Y",18,"$154.95"] +["B079NM9SZL","Nokia","\"Nokia 5 - Android 9.0 Pie - 16 GB - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.2\"\" Screen - Blue\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-Metropcs/dp/B079NM9SZL","https://m.media-amazon.com/images/I/51OGbwPc-DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B079NM9SZL",21,"$99.00"] +["B079NQHRPS","Nokia","\"Nokia 5 (16GB, 2GB RAM) 5.2\"\" Polarized HD Display, Android 9.0 Pie, Dual SIM GSM (AT&T/T-Mobile/MetroPCS/Cricket/Mint) Unlocked Smartphone (Silver)\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B079NQHRPS","https://m.media-amazon.com/images/I/51S8Ri7zyoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B079NQHRPS",27,"$109.99"] +["B079PS2HZM","HUAWEI","Huawei Ascend XT (2nd Gen) 4G LTE Cell phone Metallic Silver - GSM Unlocked","https://www.amazon.com/Huawei-Unlocked-H1711-Android-Desbloqueado/dp/B079PS2HZM","https://m.media-amazon.com/images/I/61k4eKBpv0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B079PS2HZM",69,"$119.99"] +["B079RJWMZG","Samsung","\"Samsung Galaxy S8+, 6.2\"\" 64GB SPRINT Midnight Black\"","https://www.amazon.com/Samsung-Galaxy-SPRINT-Midnight-Black/dp/B079RJWMZG","https://m.media-amazon.com/images/I/41o1rR8G4uL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B079RJWMZG",3,""] +["B079RWXLBL","Apple","\"Apple iPhone 8 256GB GSM Unlocked Phone, Gold (Renewed)\"","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-256GB/dp/B079RWXLBL","https://m.media-amazon.com/images/I/515cPaXSLgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B079RWXLBL",22,"$436.00"] +["B079TZ8NKG","Samsung","Samsung Galaxy S6 Edge G925T 64GB Gold Platinum - T-Mobile","https://www.amazon.com/Samsung-Galaxy-Edge-G925T-Platinum/dp/B079TZ8NKG","https://m.media-amazon.com/images/I/916OH+JvtDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B079TZ8NKG",1,""] +["B079TZJF9F","Samsung","Samsung Galaxy S6 Edge G925T 64GB White Pearl - T-Mobile","https://www.amazon.com/Samsung-Galaxy-G925T-White-Pearl/dp/B079TZJF9F","https://m.media-amazon.com/images/I/51wMQbivn8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B079TZJF9F",1,""] +["B079X582LF","Samsung","\"Samsung Galaxy S9 Plus (6.2\"\", Single SIM) 128GB SM-G965F (GSM Only, No CDMA) Factory Unlocked LTE Smartphone (Midnight Black) - International Version\"","https://www.amazon.com/Samsung-SM-G965F-Unlocked-Smartphone-Midnight/dp/B079X582LF","https://m.media-amazon.com/images/I/71dd-elhT7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B079X582LF",28,""] +["B079YZMN3X","HUAWEI","\"Huawei P Smart (32GB) 5.6\"\" Fullview Display & Dual Camera's, 4G LTE Dual-SIM Factory Unlocked w/ Fingerprint Scanner FIG-L23 International Model, No Warranty (Blue)\"","https://www.amazon.com/Fullview-Dual-SIM-Unlocked-Fingerprint-International/dp/B079YZMN3X","https://m.media-amazon.com/images/I/619FpNXGSCL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B079YZMN3X",15,""] +["B079Z792J7","Motorola","Motorola G6 – 32 GB – Unlocked (AT&T/Sprint/T-Mobile/Verizon) – Black - (U.S. Warranty) - PAAE0000US","https://www.amazon.com/Moto-G6-Unlocked-T-Mobile-Warranty/dp/B079Z792J7","https://m.media-amazon.com/images/I/71FJqHOegyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B079Z792J7",697,"\"$189.99,$249.99\""] +["B07B81WJRQ","Sony","\"Sony Xperia XZ2 Compact Unlocked Smartphone - 5\"\" Screen - 64GB - Coral Pink (US Warranty)\"","https://www.amazon.com/Sony-Xperia-Compact-Unlocked-Smartphone/dp/B07B81WJRQ","https://m.media-amazon.com/images/I/81ylz045jDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07B81WJRQ",131,"$459.00"] +["B07B82VTX5","Sony","\"Sony Xperia XZ2 Unlocked Smarphone - Dual SIM - 5.7\"\" Screen - 64GB - Liquid Silver (US Warranty)\"","https://www.amazon.com/Sony-Xperia-XZ2-Unlocked-Smarphone/dp/B07B82VTX5","https://m.media-amazon.com/images/I/81fpWSGDNKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07B82VTX5",39,"$477.50"] +["B07BBRCZ37","Samsung","Samsung Galaxy S9 Smartphone - Midnight Black - GSM Only - International Version","https://www.amazon.com/Samsung-Galaxy-S9-Smartphone-International/dp/B07BBRCZ37","https://m.media-amazon.com/images/I/61lDQzzlbWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07BBRCZ37",4,""] +["B07BBRYWRY","Samsung","Samsung Galaxy S9+ Dual SIM Smartphone - Midnight Black - GSM Only - International Version","https://www.amazon.com/Samsung-Galaxy-Dual-Smartphone-International/dp/B07BBRYWRY","https://m.media-amazon.com/images/I/61lDQzzlbWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07BBRYWRY",48,""] +["B07BBT5MMD","Samsung","\"Samsung Galaxy S9 AT&T Locked - 64gb - (Lilac Purple, Galaxy S9) (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-S9-AT-Locked/dp/B07BBT5MMD","https://m.media-amazon.com/images/I/716uqF6uUgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07BBT5MMD",106,"\"$332.99,$449.99\""] +["B07BBTLDJR","Samsung","Samsung Galaxy S9+ Smartphone -Lilac Purple - Carrier Locked - AT&T","https://www.amazon.com/Samsung-Galaxy-Smartphone-Lilac-Purple/dp/B07BBTLDJR","https://m.media-amazon.com/images/I/316cHR0ZIpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07BBTLDJR",5,""] +["B07BBZJ8BX","Samsung","Samsung Galaxy S9+ Smartphone - Midnight Black - Carrier Locked - Sprint","https://www.amazon.com/Samsung-Galaxy-S9-Smartphone-Midnight/dp/B07BBZJ8BX","https://m.media-amazon.com/images/I/316cHR0ZIpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07BBZJ8BX",5,""] +["B07BDP5S59","Samsung","Samsung J327V Eclipse Verizon (black) (Renewed)","https://www.amazon.com/Samsung-Eclipse-Verizon-Certified-Refurbished/dp/B07BDP5S59","https://m.media-amazon.com/images/I/41bK7VPEYoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07BDP5S59",2,"$119.99"] +["B07BFCFDXG","Samsung","Samsung Galaxy S9 Plus Verizon + GSM Unlocked 64GB Lilac Purple (Renewed)","https://www.amazon.com/Samsung-Verizon-Unlocked-Certified-Refurbished/dp/B07BFCFDXG","https://m.media-amazon.com/images/I/71s20zYKEfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07BFCFDXG",225,"$349.99"] +["B07BFHTJTK","Samsung","\"Samsung Galaxy S7 Edge G935v 32GB Smartphone for Verizon Wireless CDMA, Coral Blue (Renewed)\"","https://www.amazon.com/Samsung-Smartphone-Wireless-Certified-Refurbished/dp/B07BFHTJTK","https://m.media-amazon.com/images/I/614dxJxan4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07BFHTJTK",20,"$174.99"] +["B07BFPDGNX","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB AT&T - Orchid Grey","https://www.amazon.com/Samsung-Galaxy-Note-64GB-Orchid/dp/B07BFPDGNX","https://m.media-amazon.com/images/I/61kad0RN1eL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07BFPDGNX",42,"$449.94"] +["B07BGTCHW7","Apple","\"Apple iPhone 6 32GB 4G LTE Dual-Core Smartphone w/ 8MP Camera - Space Gray, Verizon Prepaid (Renewed)\"","https://www.amazon.com/Apple-iPhone-Dual-Core-Smartphone-Camera/dp/B07BGTCHW7","https://m.media-amazon.com/images/I/81JIAvkV52L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B07BGTCHW7",13,"$159.95"] +["B07BHDMHR1","HUAWEI","\"Huawei P20 Pro 128GB Dual-SIM (GSM Only, No CDMA) Factory Unlocked 4G/LTE Smartphone (Black) - International Version\"","https://www.amazon.com/Huawei-Dual-SIM-Factory-Unlocked-Smartphone/dp/B07BHDMHR1","https://m.media-amazon.com/images/I/61FRUed8mlL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07BHDMHR1",66,""] +["B07BHT4KGM","Samsung","\"Samsung Galaxy S9 Sm-G9600 Dual Sim 5.8\"\" Super Amoled, 64GB, 4 GB RAM, Factory Unlocked - No Warranty Midnight Black\"","https://www.amazon.com/Samsung-Galaxy-SM-G9600-Factory-Unlocked/dp/B07BHT4KGM","https://m.media-amazon.com/images/I/71uI+nAzruL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07BHT4KGM",88,"$692.14"] +["B07BHTLZZS","Samsung","\"Samsung Galaxy S9+ SM-G9650 Single Sim 64GB and 6GB RAM 6.2\"\" Super AMOLED Factory Unlocked - No Warranty Midnight Black…\"","https://www.amazon.com/Samsung-Galaxy-SM-G9650-Factory-Unlocked/dp/B07BHTLZZS","https://m.media-amazon.com/images/I/71o0FyLm2eL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07BHTLZZS",12,"\"$559.99,$699.99\""] +["B07BKSBK9M","Apple","\"Apple iPhone 6, GSM Unlocked, 64GB - Space Grey (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-64GB/dp/B07BKSBK9M","https://m.media-amazon.com/images/I/31sd0-GGYAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.4,"https://www.amazon.com/product-reviews/B07BKSBK9M",15,"$189.00"] +["B07BR995NC","Samsung","\"Samsung Galaxy S8 Active (G892A) Military-Grade Durable Smartphone w/ 5.8\"\" Shatter-Resistant Glass, Meteor Gray\"","https://www.amazon.com/Samsung-Galaxy-Active-SM-G892A-Unlocked/dp/B07BR995NC","https://m.media-amazon.com/images/I/61zSaCsk-LL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07BR995NC",34,""] +["B07BSTPWTS","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-N950U-T-Mobile-Certified-Refurbished/dp/B07BSTPWTS","https://m.media-amazon.com/images/I/61g0ZfjJjuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07BSTPWTS",15,"$321.99"] +["B07BSWXZD5","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-Note-SM-N950U-Renewed/dp/B07BSWXZD5","https://m.media-amazon.com/images/I/61g0ZfjJjuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07BSWXZD5",20,"$316.99"] +["B07BSYQ534","Samsung","Samsung Galaxy Note 8 SM-N950U 64GB for AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-Note-SM-N950U-Renewed/dp/B07BSYQ534","https://m.media-amazon.com/images/I/61kad0RN1eL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07BSYQ534",21,"$348.35"] +["B07C2VFMN2","Motorola","Motorola Z3 Play & Moto Power Pack - Unlocked (AT&T/Sprint/T-Mobile/Verizon) - 64GB - Deep Indigo (US Warranty) - PA9S0000US","https://www.amazon.com/Moto-Z3-Play-Power-Pack/dp/B07C2VFMN2","https://m.media-amazon.com/images/I/61N-Axwzz1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07C2VFMN2",50,"\"$299.99,$499.99\""] +["B07C57L57V","Samsung","\"Samsung Galaxy S7 Edge Certified Pre-Owned Factory Unlocked Phone - 5.5\"\" Screen - 32GB - Titanium (1 Year Samsung U.S. Warranty)\"","https://www.amazon.com/Samsung-Certified-Pre-Owned-Factory-Unlocked/dp/B07C57L57V","https://m.media-amazon.com/images/I/81Xx9LLlvcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07C57L57V",40,"$300.00"] +["B07C5HH17G","HUAWEI","\"HUAWEI P20 Lite (32GB + 4GB RAM) 5.84\"\" FHD+ Display, 4G LTE Dual SIM GSM Factory Unlocked Smartphone ANE-LX3 - International Model - No Warranty (Klein Blue)\"","https://www.amazon.com/Huawei-P20-Lite-Unlocked-Smartphone/dp/B07C5HH17G","https://m.media-amazon.com/images/I/61GHou9GhKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07C5HH17G",505,"$209.99"] +["B07C5QBPYP","Sony","Sony Xperia XZ2 H8216 64GB 5.7' Factory Unlocked Smartphone (Liquid Silver) US & Latin 4G LTE","https://www.amazon.com/Sony-Xperia-Factory-Unlocked-Smartphone/dp/B07C5QBPYP","https://m.media-amazon.com/images/I/41CrCdEiRUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07C5QBPYP",1,"$364.85"] +["B07C65VV3R","Samsung","Samsung Galaxy S9+ Unlocked - 64gb - Midnight Black - US Warranty (Renewed)","https://www.amazon.com/Samsung-Galaxy-S9-Unlocked-Midnight/dp/B07C65VV3R","https://m.media-amazon.com/images/I/71SWW5LsZ0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07C65VV3R",610,"$359.47"] +["B07C65XFBB","Samsung","Samsung Galaxy S9 Unlocked - 64gb - Midnight Black - US Warranty (Renewed)","https://www.amazon.com/Samsung-Galaxy-Unlocked-Certified-Refurbished/dp/B07C65XFBB","https://m.media-amazon.com/images/I/41KOSseOOdL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07C65XFBB",640,"$328.99"] +["B07C7NFJMR","Apple","\"Apple iPhone 6S Plus, 16GB, Rose Gold - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Fully-Unlocked/dp/B07C7NFJMR","https://m.media-amazon.com/images/I/61hNnAR2EJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07C7NFJMR",2,"$179.99"] +["B07CB315Y7","HUAWEI","\"Huawei P20 EML-L29 128GB 4GB RAM, Dual SIM LTE, 5.8\"\", Full HD+ Display -Dual Camera 20 MP +12 MP, GSM Unlocked International Model, No Warranty (Black)\"","https://www.amazon.com/EML-L29-Display-Unlocked-International-Warranty/dp/B07CB315Y7","https://m.media-amazon.com/images/I/61164zozN5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07CB315Y7",90,"$449.00"] +["B07CFYMN1S","Samsung","\"Samsung Galaxy S7 Certified Pre-Owned Factory Unlocked Phone - 5.1\"\" Screen - 32GB - Gold (1 Year Samsung U.S. Warranty) - SM5G930UZDAXAA\"","https://www.amazon.com/Samsung-Certified-Pre-Owned-Factory-Unlocked/dp/B07CFYMN1S","https://m.media-amazon.com/images/I/81Y7vLLDlxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07CFYMN1S",100,"$268.07"] +["B07CGFWF2G","HUAWEI","Modem 3G H+ GSM Huawei Unlocked USB 43 Mbps (3G AT&T and T-Mobile in the USA 3G worldwide) H+ E3251 Latin & Caribbean Bands 850/1900 mhz BAM","https://www.amazon.com/Huawei-Unlocked-T-Mobile-worldwide-Caribbean/dp/B07CGFWF2G","https://m.media-amazon.com/images/I/41oEfnH6+NL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07CGFWF2G",1,"$22.99"] +["B07CGMQDXW","Apple","\"Apple iPhone 8 Plus, 64GB, Space Gray - For Verizon (Renewed)\"","https://www.amazon.com/Apple-iPhone-Plus-Verizon-64GB/dp/B07CGMQDXW","https://m.media-amazon.com/images/I/71MRY6+c8pL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07CGMQDXW",25,"$557.99"] +["B07CH2FZW5","Samsung","Samsung Galaxy J3 (2016) J320V Verizon CDMA 4G LTE Quad-Core Phone w/ 8MP Camera- Black (Renewed)","https://www.amazon.com/Samsung-Verizon-Quad-Core-Camera-Renewed/dp/B07CH2FZW5","https://m.media-amazon.com/images/I/51nAoaesK7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.7,"https://www.amazon.com/product-reviews/B07CH2FZW5",4,"$83.99"] +["B07CHW5KMY","Motorola","\"Motorola Moto G6 (32GB, 3GB RAM) Dual SIM 5.7\"\" 4G LTE (GSM Only) Factory Unlocked Smartphone International Model XT1925-2 (Deep Indigo)\"","https://www.amazon.com/Motorola-XT1925-2-Unlocked-Smartphone-International/dp/B07CHW5KMY","https://m.media-amazon.com/images/I/511i4Qx+e2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07CHW5KMY",145,"\"$129.60,$129.99\""] +["B07CHWMYHP","Motorola","\"Motorola Moto G6 Plus - 64GB - 5.9\"\" FHD+, Dual SIM 4G LTE GSM Factory Unlocked Smartphone International Model XT1926-7 (Deep Indigo)\"","https://www.amazon.com/Motorola-Moto-Plus-Smartphone-International/dp/B07CHWMYHP","https://m.media-amazon.com/images/I/511i4Qx+e2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07CHWMYHP",188,"\"$191.05,$191.43\""] +["B07CJ7DLHL","ASUS","ASUS ZenFone 5Q (ZC600KL-S630-4G-64G-BK) - 6” FHD 2160x1080 display - Quad-camera - 4GB RAM - 64GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Black","https://www.amazon.com/ASUS-ZenFone-ZC600KL-S630-4G-64G-BK-2160x1080-Quad-camera/dp/B07CJ7DLHL","https://m.media-amazon.com/images/I/81dMDldt8oL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07CJ7DLHL",76,"\"$199.00,$299.00\""] +["B07CJQKKYW","Samsung","Samsung Galaxy Note 5 SM-N920T 32GB T-Mobile GSM Unlocked - Sapphire Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-N920T-T-Mobile-Unlocked/dp/B07CJQKKYW","https://m.media-amazon.com/images/I/61LpMswVxiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.4,"https://www.amazon.com/product-reviews/B07CJQKKYW",5,"\"$169.00,$299.99\""] +["B07CLT3BDN","ASUS","ASUS ZenFone 5Z (ZS620KL-S845-6G64G) - 6.2” FHD+ 2160x1080 display - 6GB RAM - 64GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Midnight Blue","https://www.amazon.com/ASUS-ZenFone-5Z-ZS620KL-S845-6G64G-2160x1080/dp/B07CLT3BDN","https://m.media-amazon.com/images/I/81gTI5HBVyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07CLT3BDN",79,"\"$349.00,$499.00\""] +["B07CLWGC3T","ASUS","ASUS ZenFone 5Z (ZS620KL-S845-6G64G) - 6.2” FHD+ 2160x1080 display - 6GB RAM - 64GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Meteor Silver","https://www.amazon.com/ASUS-ZenFone-5Z-ZS620KL-S845-6G64G-2160x1080/dp/B07CLWGC3T","https://m.media-amazon.com/images/I/817evtiTRXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07CLWGC3T",27,"\"$359.00,$499.00\""] +["B07CM54RY8","ASUS","ASUS ZenFone Max M1 (ZB555KL-S425-2G16G-BK) - 5.5” HD+ 2GB RAM 16GB storage LTE Unlocked Dual SIM Cell phone - US Warranty - Deepsea Black","https://www.amazon.com/ASUS-ZenFone-Max-M1-ZB555KL-S425-2G16G-BK/dp/B07CM54RY8","https://m.media-amazon.com/images/I/91W6kACTDeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.1,"https://www.amazon.com/product-reviews/B07CM54RY8",6,""] +["B07CMMGLL3","HUAWEI","Huawei P20 Pro (CLT-L29) 6GB / 128GB 6.1-inches LTE Dual SIM Factory Unlocked - International Stock No Warranty (Midnight Blue)","https://www.amazon.com/Huawei-CLT-L29-6-1-inches-Factory-Unlocked/dp/B07CMMGLL3","https://m.media-amazon.com/images/I/61z8ytoOVoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07CMMGLL3",67,"$454.49"] +["B07CQ28D33","Samsung","Samsung Galaxy S7 G930P 32GB Prepaid Boost Mobile - Black Onyx (Renewed)","https://www.amazon.com/Samsung-Galaxy-G930P-Prepaid-Mobile/dp/B07CQ28D33","https://m.media-amazon.com/images/I/61qHBP+t6cL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07CQ28D33",13,"$195.95"] +["B07CT1NTW1","Apple","Apple iPhone 6 16GB Unlocked GSM Phone - Space Gray (Renewed)","https://www.amazon.com/Apple-iPhone-16GB-Unlocked-Phone/dp/B07CT1NTW1","https://m.media-amazon.com/images/I/61uno-cq+TL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07CT1NTW1",15,"$105.00"] +["B07CT4JC7J","Google","Google Pixel 2 XL 64GB Smartphone - Verizon - Just Black (Renewed)","https://www.amazon.com/Google-Pixel-64GB-Smartphone-Refurbished/dp/B07CT4JC7J","https://m.media-amazon.com/images/I/41SBYqOYq6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07CT4JC7J",20,"$288.99"] +["B07D4S6KF6","Samsung","Samsung Galaxy S9 [AT&T] GSM Unlocked Smartphone - Midnight Black","https://www.amazon.com/Samsung-Galaxy-GSM-Unlocked-Smartphone/dp/B07D4S6KF6","https://m.media-amazon.com/images/I/616sdK81NnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07D4S6KF6",7,""] +["B07D6TCG98","Apple","\"Apple iPhone 8, 64GB, Gold - For AT&T (Renewed)\"","https://www.amazon.com/Apple-iPhone-AT-64GB-Refurbished/dp/B07D6TCG98","https://m.media-amazon.com/images/I/61pRPj+-IYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07D6TCG98",1,"$299.95"] +["B07D856BVR","Xiaomi","\"Xiaomi Redmi Note 5 64GB Dual Sim, Dual Camera 4GB RAM, 5.99\"\", GSM Unlocked, No Warranty (Gold)\"","https://www.amazon.com/Xiaomi-Camera-Unlocked-Version-Warranty/dp/B07D856BVR","https://m.media-amazon.com/images/I/51G009hFg-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07D856BVR",442,"\"$162.50,$249.99\""] +["B07D9TTLZG","OnePlus","\"OnePlus Factory Unlocked Phone - 6.28\"\" Screen - 64GB - Mirror Black\"","https://www.amazon.com/OnePlus-Factory-Unlocked-Phone-Screen/dp/B07D9TTLZG","https://m.media-amazon.com/images/I/71osq6wnwjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07D9TTLZG",1,"$520.22"] +["B07DD71K4D","Nokia","\"Nokia 3.1 - Android 9.0 Pie - 16 GB - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.2\"\" Screen - White - U.S. Warranty\"","https://www.amazon.com/Nokia-3-1-Unlocked-Smartphone-T-Mobile/dp/B07DD71K4D","https://m.media-amazon.com/images/I/61Rmi1HiNQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07DD71K4D",119,"$109.95"] +["B07DDBQ67F","Nokia","\"Nokia 3.1 - Android 9.0 Pie - 16 GB - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.2\"\" Screen - Black - U.S. Warranty\"","https://www.amazon.com/Nokia-3-1-Unlocked-Smartphone-T-Mobile/dp/B07DDBQ67F","https://m.media-amazon.com/images/I/61++d-AKSIL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07DDBQ67F",119,"$146.48"] +["B07DF8MFT3","Samsung","\"SAMSUNG GALAXY A6+(2018) SM-A605GN/DS DUAL SIM 6.0\"\" HD+ 32 GB 3 GB RAM Octa-Core 64 bit, 4G LTE 16MP+ 5MP Dual Rear Camera -Fingerprint -Factory Unlocked -International Version -No Warranty (Lavender)\"","https://www.amazon.com/SM-A605GN-Octa-Core-Fingerprint-Factory-International/dp/B07DF8MFT3","https://m.media-amazon.com/images/I/61x+iWcSDcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07DF8MFT3",22,"$239.95"] +["B07DFPGZ6N","Samsung","Samsung Galaxy S8 Active SM-G892U 64GB Meteor Gray - T-Mobile Unlocked (Renewed)","https://www.amazon.com/Samsung-Galaxy-Active-SM-G892U-Meteor/dp/B07DFPGZ6N","https://m.media-amazon.com/images/I/719WxJ7ywyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07DFPGZ6N",1,"$312.94"] +["B07DP4V5PX","Samsung","Samsung Galaxy S8+ Plus 64GB Sprint (Certified Refurbished) (Coral Blue)","https://www.amazon.com/Samsung-Galaxy-Sprint-Certified-Refurbished/dp/B07DP4V5PX","https://m.media-amazon.com/images/I/61HRcVxqbRL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07DP4V5PX",4,"$304.95"] +["B07DVV3BJY","Apple","\"Apple iPhone 5S, GSM Unlocked, 16GB - Silver (Renewed)\"","https://www.amazon.com/Apple-iPhone-GSM-Unlocked-16GB/dp/B07DVV3BJY","https://m.media-amazon.com/images/I/618pvPy7uWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B07DVV3BJY",65,"$84.99"] +["B07DW9XMQC","ASUS","ASUS ZenFone Max Plus (ZB570) - 5.7” 1920x1080-3GB RAM - 32GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Black (Renewed)","https://www.amazon.com/ASUS-ZenFone-Plus-ZB570-1920x1080-3GB/dp/B07DW9XMQC","https://m.media-amazon.com/images/I/71sXWjOJ2oL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07DW9XMQC",23,"$129.95"] +["B07DXJR9T5","Motorola","Verizon Prepaid Motorola Moto G6 Play MOTXT19226PP with 16GB Memory 5.7 IPS TouchScreen Fingerprint Android 8.0 Oreo OS Prepaid Cell Phone - Carrier Locked to Verizon Prepaid","https://www.amazon.com/Verizon-Prepaid-screen-fingerprint-Android/dp/B07DXJR9T5","https://m.media-amazon.com/images/I/71ApeXNO8AL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07DXJR9T5",5,""] +["B07DXPLJB2","Motorola","\"Boost Mobile MOTO G6 Play with 5.7 IPS touch screen fingerprint 16GB Memory Android 8.0 Oreo OS Prepaid Cell Phone, Carrier Locked to Boost Mobile\"","https://www.amazon.com/Mobile-fingerprint-Android-Prepaid-Carrier/dp/B07DXPLJB2","https://m.media-amazon.com/images/I/51R-ZmwliLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07DXPLJB2",9,"$139.95"] +["B07DY25LDW","Samsung","Samsung Galaxy Note 8 64GB Verizon + GSM Unlocked (Midnight Black) (Renewed)","https://www.amazon.com/Samsung-Unlocked-Midnight-Certified-Refurbished/dp/B07DY25LDW","https://m.media-amazon.com/images/I/61H-1M8APWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07DY25LDW",15,"$332.99"] +["B07DZZKBBL","Samsung","Samsung J8 Infinity 4G LTE Unlocked SM-J810G/DS 64GB + 4GB Ram Dual Rear Camera Fingerprint 6.0 International Version N/Warranty (Blue)","https://www.amazon.com/Samsung-Galaxy-J8-64GB-Unlocked/dp/B07DZZKBBL","https://m.media-amazon.com/images/I/71KM9R3GQNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07DZZKBBL",6,"$231.99"] +["B07F2RX25J","HUAWEI","\"Huawei Y5 2018 DRA-L23 DUAL SIM FullView Display 5.45\"\" 4G LTE Quad Core 16GB 8MP Smartphone Factory Unlocked Android GO (International Version- No Warranty) (Black)\"","https://www.amazon.com/Huawei-FullView-Smartphone-Unlocked-International/dp/B07F2RX25J","https://m.media-amazon.com/images/I/51bw+8pAsjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07F2RX25J",24,"$96.54"] +["B07F3YGL26","Xiaomi","\"Xiaomi Redmi S2 (32GB 3GB RAM) with AI Smart Selfie & Dual Rear Cameras,5.99\"\"Display,Dual SIM Unlocked,Global Version,No Warranty (Gold)\"","https://www.amazon.com/Cameras-Display-Unlocked-Version-Warranty/dp/B07F3YGL26","https://m.media-amazon.com/images/I/41NTLwPYT6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07F3YGL26",1,"$155.00"] +["B07FKD3H9Q","Apple","\"Apple iPad mini 4 (32GB, Wi-Fi + Cellular, Space Gray) (Renewed)\"","https://www.amazon.com/Apple-Wi-Fi-Cellular-Space-Refurbished/dp/B07FKD3H9Q","https://m.media-amazon.com/images/I/41B0b1ysbaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07FKD3H9Q",3,"$267.71"] +["B07FKWT3JP","Sony","\"Sony Xperia XA1 Plus G3423 LTE 5.5\"\" 32GB Factory Unlocked Smartphone International Model - (Gold)\"","https://www.amazon.com/Sony-Factory-Unlocked-Smartphone-International/dp/B07FKWT3JP","https://m.media-amazon.com/images/I/210XRStw05L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07FKWT3JP",1,"$198.99"] +["B07FMD7MRX","Motorola","\"Motorola Moto G6 Play 16GB - 5.7\"\" 4G LTE Unlocked Smartphone, US Version, XT1922-9 (Deep Indigo)\"","https://www.amazon.com/Motorola-Moto-G6-Play-16GB/dp/B07FMD7MRX","https://m.media-amazon.com/images/I/71gbkZwwGLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07FMD7MRX",4,""] +["B07FMFK1Q9","Samsung","Samsung Galaxy S7 Edge 32GB SM-G935T Unlocked GSM 4G LTE Android Smartphone (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-Edge-Refurbished/dp/B07FMFK1Q9","https://m.media-amazon.com/images/I/61x6fkxZWHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07FMFK1Q9",17,"$210.99"] +["B07FMHBMRJ","Samsung","Samsung Galaxy S7 Edge 32GB SM-G935T Unlocked GSM 4G LTE Android Smartphone (Renewed)","https://www.amazon.com/Samsung-Galaxy-S7-Edge-Refurbished/dp/B07FMHBMRJ","https://m.media-amazon.com/images/I/61Mw6r7BJQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07FMHBMRJ",6,"$189.99"] +["B07FMPVBQR","Xiaomi","\"Xiaomi Mi A2 64GB + 4GB RAM, Dual Camera, LTE AndroidOne Smartphone - International Global Version (Rose Gold) (Black)\"","https://www.amazon.com/Xiaomi-64GB-Camera-AndroidOne-Smartphone/dp/B07FMPVBQR","https://m.media-amazon.com/images/I/61mG8UT79zL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07FMPVBQR",370,"$160.00"] +["B07FMZ9CMZ","Motorola","\"Motorola Moto E5 Plus XT1924-4 16GB, 6\"\", Dual Sim, 2GB RAM, GSM Unlocked International Model, No Warranty (Grey)\"","https://www.amazon.com/Motorola-XT1924-4-Unlocked-International-Warranty/dp/B07FMZ9CMZ","https://m.media-amazon.com/images/I/51bKF-5C09L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07FMZ9CMZ",22,"\"$129.99,$199.99\""] +["B07FRWH1R3","Apple","\"Apple iPhone 8 Plus, 64GB, Red - For AT&T / T-Mobile (Renewed)\"","https://www.amazon.com/Apple-iPhone-special-Product-A1897/dp/B07FRWH1R3","https://m.media-amazon.com/images/I/51+wAHd8wOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07FRWH1R3",60,""] +["B07FS3RNFJ","Samsung","Samsung J737T Galaxy J7 Star (2018) Unlocked 32GB (Carrier Packaging)","https://www.amazon.com/Samsung-J737T-Galaxy-Star-T-Mobile/dp/B07FS3RNFJ","https://m.media-amazon.com/images/I/61lY2glgbuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07FS3RNFJ",131,"$159.72"] +["B07FXRR28W","Samsung","Samsung Galaxy Note 5 SM-N920T 32GB Platinum Gold - T-Mobile","https://www.amazon.com/Samsung-Galaxy-Note-SM-N920T-Platinum/dp/B07FXRR28W","https://m.media-amazon.com/images/I/71xJxyzDYaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07FXRR28W",8,""] +["B07FZHHQB8","Samsung","\"Samsung Galaxy Note 9 Factory Unlocked Phone with 6.4\"\" Screen and 512GB (U.S. Warranty), Ocean Blue\"","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Warranty/dp/B07FZHHQB8","https://m.media-amazon.com/images/I/71VMn6229fL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07FZHHQB8",742,"\"$1,149.99,$1,249.99\""] +["B07G2S7CT3","HUAWEI","\"Huawei Honor 7A 16GB, Dual SIM, 2GB RAM, 5.7\"\" LTE Factory Unlocked Smartphone - International Version (Black)\"","https://www.amazon.com/Huawei-Honor-Factory-Unlocked-Smartphone/dp/B07G2S7CT3","https://m.media-amazon.com/images/I/61VKVcxV8gL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07G2S7CT3",27,"$124.99"] +["B07G3T73J5","Samsung","\"Samsung Galaxy Note 9 128GB (Single-SIM) SM-N960F (GSM Only, No CDMA) Factory Unlocked 4G/LTE Smartphone - International Version (Lavender Purple)\"","https://www.amazon.com/Samsung-Single-SIM-SM-N960F-Unlocked-Smartphone/dp/B07G3T73J5","https://m.media-amazon.com/images/I/81AZTr6wrWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07G3T73J5",1,"$549.95"] +["B07G4G6C2L","Samsung","Samsung Galaxy J7 Refine - Boost Mobile - Prepaid Cell Phone - Carrier Locked","https://www.amazon.com/Samsung-Galaxy-J7-Refine-Prepaid/dp/B07G4G6C2L","https://m.media-amazon.com/images/I/412rM37uD9L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07G4G6C2L",29,"\"$149.00,$159.99\""] +["B07G5NL6RB","Samsung","\"Samsung Galaxy J8 (32GB) J810M/DS - 6.0\"\" 18:9 Infintiy Display, 4G LTE Dual SIM Unlocked Phone with Face Unlock, Dual Camera's, Finger Print Sensor (Gold)\"","https://www.amazon.com/Samsung-Galaxy-32GB-J810M-DS/dp/B07G5NL6RB","https://m.media-amazon.com/images/I/413bSbVIiWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07G5NL6RB",83,""] +["B07G7JQCNX","Xiaomi","\"Xiaomi Mi A2 Lite 64GB + 4GB RAM, Dual Camera, LTE AndroidOne Smartphone (Black)\"","https://www.amazon.com/XIAOMI-CAMERA-SCREEN-VERSION-WARRANTY/dp/B07G7JQCNX","https://m.media-amazon.com/images/I/614N3s82M2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07G7JQCNX",120,"$152.49"] +["B07G7N1MD2","Motorola","\"Motorola e5 Play 16GB Smartphone , Black\"","https://www.amazon.com/Motorola-Moto-Factory-Unlocked-Phone/dp/B07G7N1MD2","https://m.media-amazon.com/images/I/71sC4ky-BAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07G7N1MD2",36,"\"$99.99,$129.99\""] +["B07G7QZKBG","Xiaomi","\"Xiaomi Redmi 6-64GB + 4GB RAM, Dual Camera, Dual SIM GSM Factory Unlocked Smartphone - International Global 4G LTE Version - No Warranty (Black)\"","https://www.amazon.com/Xiaomi-6-64GB-Factory-Unlocked-Smartphone/dp/B07G7QZKBG","https://m.media-amazon.com/images/I/61ROfcN2SmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07G7QZKBG",11,"$135.00"] +["B07G8VPHG3","Xiaomi","\"Xiaomi Mi A2 Lite (64GB, 4GB RAM) 5.84\"\" 18:9 HD Display, Dual Camera, Android One Unlocked Smartphone - International Global LTE Version (Gold)\"","https://www.amazon.com/Xiaomi-Lite-64GB-5-84-International/dp/B07G8VPHG3","https://m.media-amazon.com/images/I/61lfpjOekDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07G8VPHG3",125,"$153.49"] +["B07GCBWWPL","Samsung","Samsung Galaxy Note 9 SM-N960F/DS 128GB/6GB 6.4” QHD+ sAMOLED Factory Unlocked GSM (No CDMA) - International Version (No Warranty in The USA) (Ocean Blue)","https://www.amazon.com/Samsung-SM-N960F-DS-sAMOLED-Unlocked/dp/B07GCBWWPL","https://m.media-amazon.com/images/I/61HU03k3sRL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07GCBWWPL",163,"\"$639.50,$849.99\""] +["B07GDTHH2H","Samsung","Samsung - Galaxy Note 9 (AT&T) - (Factory Unlocked) Lavender Purple - 128 GB","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Lavender/dp/B07GDTHH2H","https://m.media-amazon.com/images/I/61SqOFHAYeL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07GDTHH2H",7,""] +["B07GGGTT78","Motorola","\"Motorola Moto G4 Plus XT1642 4G LTE Dual SIM Factory Unlocked No Warranty Octacore (NO CDMA) 5.5 Inches (Black, 32GB)\"","https://www.amazon.com/Motorola-Moto-G4-Plus-Unlocked/dp/B07GGGTT78","https://m.media-amazon.com/images/I/61mbR+yjMaL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07GGGTT78",1,"$129.00"] +["B07GNQ9221","Apple","Apple iPhone 6s 32GB Unlocked GSM 4G LTE Dual-Core Phone - Rose Gold (Renewed)","https://www.amazon.com/Apple-iPhone-Fully-Unlocked-Refurbished/dp/B07GNQ9221","https://m.media-amazon.com/images/I/81qiCrJlzgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07GNQ9221",9,"$165.55"] +["B07GS272K7","ASUS","\"ASUS ZS600KL-S845-8G128G ROG Gaming Smartphone 6\"\" FHD+ 2160x1080 90Hz Display - Qualcomm SD 845 - 8GB RAM/128GB Storage - LTE Unlocked Dual SIM (GSM Only), Black\"","https://www.amazon.com/ASUS-ZS600KL-S845-8G128G-Smartphone-2160x1080-Display/dp/B07GS272K7","https://m.media-amazon.com/images/I/81r+fyBZWsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07GS272K7",105,"\"$698.99,$899.99\""] +["B07GVLKNB4","ASUS","\"Asus - ZenFone Live with 16GB Memory Cell Phone, 5.5\"\" IPS Touch Screen (Unlocked) - Midnight Black\"","https://www.amazon.com/Asus-ZenFone-Memory-Unlocked-Midnight/dp/B07GVLKNB4","https://m.media-amazon.com/images/I/61UKpUKPCML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07GVLKNB4",1,""] +["B07GVNHQV4","Motorola","Motorola Moto Z3 MOTXT192917 GSM/CDMA LTE Unlocked Droid Edition 5G Capable - Ceramic Black","https://www.amazon.com/Motorola-MOTXT192917-Unlocked-Droid-Capable/dp/B07GVNHQV4","https://m.media-amazon.com/images/I/618gPPBUgpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07GVNHQV4",11,""] +["B07GW1DXFP","Samsung","Samsung Galaxy Prime 16GB J327 J3 AT&T T-Mobile Unlocked Smartphone - Silver (Renewed)","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Unlocked-Smartphone/dp/B07GW1DXFP","https://m.media-amazon.com/images/I/61nN0-7YPvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07GW1DXFP",24,"$87.98"] +["B07GWV23X7","Samsung","Samsung Galaxy Note 5 N920A 64GB at&T GSM Unlocked - Gold Platinum","https://www.amazon.com/Samsung-Galaxy-Note-N920A-Unlocked/dp/B07GWV23X7","https://m.media-amazon.com/images/I/41032h1UuBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07GWV23X7",7,""] +["B07GX1DBD9","ASUS","ASUS ZenFone V Smartphone - Verizon Exclusive Model - 32GB - Saphire Black (Renewed)","https://www.amazon.com/ASUS-ZenFone-Smartphone-Exclusive-Refurbished/dp/B07GX1DBD9","https://m.media-amazon.com/images/I/51K2MqitpmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1.8,"https://www.amazon.com/product-reviews/B07GX1DBD9",2,"$99.95"] +["B07GY3NJY9","Samsung","\"Samsung SM-J737UZKAXAA Galaxy J7 Factory Unlocked Smartphone, 32GB, 5.5\"\" Screen, Black\"","https://www.amazon.com/Samsung-SM-J737UZKAXAA-Factory-Unlocked-Smartphone/dp/B07GY3NJY9","https://m.media-amazon.com/images/I/61phcuChofL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07GY3NJY9",14,"$249.99"] +["B07GYK8MBD","Samsung","Samsung Galaxy J3 (2018) J337A 16GB Unlocked GSM 4G LTE Phone w/ 8MP Camera - Black","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Smartphone/dp/B07GYK8MBD","https://m.media-amazon.com/images/I/61uZ7y2rrwL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07GYK8MBD",11,"$169.99"] +["B07GYYT1LK","Samsung","Samsung Galaxy S8 Active 64GB SM-G892A at&T - Meteor Gray","https://www.amazon.com/Samsung-Galaxy-Active-64GB-SM-G892A/dp/B07GYYT1LK","https://m.media-amazon.com/images/I/415yIk8tDZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07GYYT1LK",25,""] +["B07GZS32JK","Samsung","\"Samsung Galaxy J8 64GB+4GB RAM J810M/DS 6.0\"\" HD+ Display, 4G LTE GSM Factory Unlocked Smartphone (International Model w/ 64GB MicroSD Bundle) (Black)\"","https://www.amazon.com/Samsung-DS-Factory-Unlocked-Smartphone/dp/B07GZS32JK","https://m.media-amazon.com/images/I/51ivkI+bx2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07GZS32JK",58,""] +["B07H3FZ9DV","Samsung","Samsung Galaxy S8 Plus G955U 64GB Phone - Sprint - Arctic Silver (Certified Refurbished)","https://www.amazon.com/Samsung-Galaxy-Plus-G955U-Phone/dp/B07H3FZ9DV","https://m.media-amazon.com/images/I/51xv2i0CLxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07H3FZ9DV",1,"$284.95"] +["B07H41NB46","Xiaomi","\"Xiaomi Pocophone F1 128GB Graphite Black, Dual Sim, 6GB RAM, Dual Camera, 6.18\"\", GSM Unlocked Global Model, No Warranty\"","https://www.amazon.com/Xiaomi-Pocophone-Graphite-Unlocked-Warranty/dp/B07H41NB46","https://m.media-amazon.com/images/I/71q3UGwZhcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07H41NB46",202,"$326.89"] +["B07H7SBBWQ","Xiaomi","\"Xiaomi Redmi 6 - 64GB + 3GB RAM, Dual Camera, Dual SIM GSM Factory Unlocked Smartphone - International Global 4G LTE Version - No Warranty (Black)\"","https://www.amazon.com/Xiaomi-Redmi-Unlocked-Smartphone-International/dp/B07H7SBBWQ","https://m.media-amazon.com/images/I/51T1yEB85oL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07H7SBBWQ",48,"$134.00"] +["B07H8Q3C9T","Samsung","\"Samsung Galaxy J2 Core 2018 International Version, No Warranty Factory Unlocked 4G LTE (USA Latin Caribbean) Android Oreo SM-J260M Dual Sim 8MP 8GB (Black)\"","https://www.amazon.com/Samsung-Factory-Unlocked-Caribbean-SM-J260M/dp/B07H8Q3C9T","https://m.media-amazon.com/images/I/51MjRcctKLL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07H8Q3C9T",136,"$92.00"] +["B07H8SBLBC","Motorola","\"Motorola Moto E5 Play XT1920-19 Factory Unlocked 16GB Dual SIM 1GB RAM 4G LTE 5.3\"\" LCD Display 8MP International Version (Black)\"","https://www.amazon.com/Motorola-Moto-Fingerprint-Sensor-XT1920-19/dp/B07H8SBLBC","https://m.media-amazon.com/images/I/516fQL-Bs8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07H8SBLBC",89,""] +["B07HC3CSMR","Samsung","Samsung Galaxy S8 64 GB Unlocked Phone with FREE Cellairis Phone Case & Screen Protector","https://www.amazon.com/Samsung-Galaxy-Unlocked-Cellairis-Protector/dp/B07HC3CSMR","https://m.media-amazon.com/images/I/81d7kCPgG7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07HC3CSMR",1,"$360.85"] +["B07HC74RMG","Samsung","Samsung Galaxy S9 Enterprise Edition 64 GB Unlocked Phone With FREE Cellairis Phone Case & Screen Protector","https://www.amazon.com/Samsung-Enterprise-Unlocked-Cellairis-Protector/dp/B07HC74RMG","https://m.media-amazon.com/images/I/715LLCKpQEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07HC74RMG",1,"$874.18"] +["B07HCQ8VDQ","Samsung","\"Samsung Galaxy Note 5 N920A, Black 32GB - at&T GSM Unlocked\"","https://www.amazon.com/Samsung-Galaxy-Note-N920A-Black/dp/B07HCQ8VDQ","https://m.media-amazon.com/images/I/71dPOKaPwbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07HCQ8VDQ",35,""] +["B07HD2X91Q","Nokia","\"Nokia 7.1 - Android 9.0 Pie - 64 GB - Dual Camera - Dual SIM Unlocked Smartphone (Verizon/AT&T/T-Mobile/MetroPCS/Cricket/H2O) - 5.84\"\" FHD+ HDR Screen - Blue - U.S. Warranty\"","https://www.amazon.com/Nokia-7-1-Unlocked-Smartphone-T-Mobile/dp/B07HD2X91Q","https://m.media-amazon.com/images/I/615yUuhIX3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07HD2X91Q",374,"\"$279.99,$349.99\""] +["B07HFHX6HX","Samsung","Samsung Galaxy Note 8 N950U 64GB Unlocked GSM 4G LTE Android Smartphone w/Dual 12 MegaPixel Camera (Renewed) (Midnight Black)","https://www.amazon.com/Samsung-Galaxy-Note-Smartphone-Refurbished/dp/B07HFHX6HX","https://m.media-amazon.com/images/I/61OOxwvUanL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07HFHX6HX",334,"$314.99"] +["B07HFKWDK7","Motorola","Motorola Moto G5S Plus Unlocked GSM Android Smartphone (Blush Gold)","https://www.amazon.com/Motorola-Unlocked-Android-Smartphone-Blush/dp/B07HFKWDK7","https://m.media-amazon.com/images/I/41fmra6BrcL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B07HFKWDK7",48,"$138.99"] +["B07HH9ZD4Y","OnePlus","\"OnePlus 6T A6013 Dual Sim 128GB/6GB (Mirror Black) - Factory Unlocked - GSM ONLY, NO CDMA - No Warranty in the USA\"","https://www.amazon.com/OnePlus-6T-A6013-128GB-Mirror/dp/B07HH9ZD4Y","https://m.media-amazon.com/images/I/513BTiAoW1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07HH9ZD4Y",61,"$451.49"] +["B07HHQ2K9J","Nokia","\"Nokia 5 - Android 9.0 Pie - 16 GB - Single SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.2\"\" Screen - Silver\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B07HHQ2K9J","https://m.media-amazon.com/images/I/51S8Ri7zyoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B07HHQ2K9J",47,"$98.95"] +["B07HHRF89L","Nokia","\"Nokia 5 - Android 9.0 Pie - 16 GB - Single SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.2\"\" Screen - Blue\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B07HHRF89L","https://m.media-amazon.com/images/I/51OGbwPc-DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07HHRF89L",12,"$99.00"] +["B07HK4JNV1","Xiaomi","\"Xiaomi Redmi Note 6 Pro 64GB / 4GB RAM 6.26\"\" Dual Camera LTE Factory Unlocked Smartphone Global Version (Black)\"","https://www.amazon.com/Xiaomi-Factory-Unlocked-Smartphone-Version/dp/B07HK4JNV1","https://m.media-amazon.com/images/I/517Q3-wHBkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07HK4JNV1",393,"$172.49"] +["B07HKPBTVV","Google","Pixel Phone 3-128GB - US Warranty - Just Black - (Renewed)","https://www.amazon.com/Pixel-Phone-3-128GB-Certified-Refurbished/dp/B07HKPBTVV","https://m.media-amazon.com/images/I/51i26XWLGFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07HKPBTVV",48,"$390.00"] +["B07HKPMFZ5","Google","Google Pixel 3 XL 64GB Unlocked GSM & CDMA 4G LTE Android Phone w/ 12.2MP Rear & Dual 8MP Front Camera - Just Black (Renewed)","https://www.amazon.com/Pixel-Phone-XL-Certified-Refurbished/dp/B07HKPMFZ5","https://m.media-amazon.com/images/I/61zn1xfzyDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07HKPMFZ5",132,"$425.00"] +["B07HMC84L1","Motorola","Motorola Moto E5 Cruise Unlocked 4G LTE (Cricket) Single Sim 16GB 2GB Ram 8MP XT1921-2 Android 8.0 Desbloqueado","https://www.amazon.com/Motorola-Unlocked-Cricket-XT1921-2-Desbloqueado/dp/B07HMC84L1","https://m.media-amazon.com/images/I/41zFUcz3OhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07HMC84L1",1,"$125.99"] +["B07HQTWQVT","Sony","\"Sony H3123 - Black/SBH-90C/SCSH10 Xperia XA2 Accessory Bundle, (Bundle Includes: 1 Xperia XA2, 1 SBH90C Bluetooth Headset, 1 Flip Phone Case), Black\"","https://www.amazon.com/Sony-H3123-SBH-90C-Accessory-Bluetooth/dp/B07HQTWQVT","https://m.media-amazon.com/images/I/61+387TW4-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07HQTWQVT",189,"$440.42"] +["B07HRXB728","Samsung","Samsung Galaxy S9+ Plus Verizon + GSM Unlocked 64GB - Lilac Purple","https://www.amazon.com/Samsung-Galaxy-Plus-Verizon-Unlocked/dp/B07HRXB728","https://m.media-amazon.com/images/I/61xHkX-jbpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07HRXB728",7,""] +["B07HWYWPN7","Samsung","\"Samsung Galaxy S8 Plus G955U 64GB Phone- 6.2\"\" Display - Sprint (Orchid Gray)\"","https://www.amazon.com/Samsung-Galaxy-G955U-Phone-Display/dp/B07HWYWPN7","https://m.media-amazon.com/images/I/61NujdfWCyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07HWYWPN7",7,""] +["B07HXHPNKH","Motorola","Verizon Wireless Prepaid - Motorola Moto E5 Play - 4G with 16GB Memory No-Contract Cell Phone","https://www.amazon.com/Verizon-Wireless-Prepaid-Motorola-No-Contract/dp/B07HXHPNKH","https://m.media-amazon.com/images/I/61O-B55oewL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07HXHPNKH",7,""] +["B07J1Q8P6G","Samsung","Samsung Galaxy S9 SM-G960U 64GB for T-Mobile (Renewed)","https://www.amazon.com/Samsung-Galaxy-S9-SM-G960U-T-Mobile/dp/B07J1Q8P6G","https://m.media-amazon.com/images/I/616sdK81NnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07J1Q8P6G",17,"$330.99"] +["B07J2Q68N4","Samsung","Samsung Galaxy S9 G960U Verizon + GSM Unlocked 64GB (Midnight Black)","https://www.amazon.com/Samsung-Galaxy-Verizon-Unlocked-Midnight/dp/B07J2Q68N4","https://m.media-amazon.com/images/I/61J+8aMNXqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07J2Q68N4",8,"$469.90"] +["B07J4Z9647","HUAWEI","\"Huawei Mate 20 Lite SNE-LX3 64GB (Factory Unlocked) 6.3\"\" FHD (International Version) (Black)\"","https://www.amazon.com/Huawei-SNE-LX3-Factory-Unlocked-International/dp/B07J4Z9647","https://m.media-amazon.com/images/I/51eM8j7wKzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07J4Z9647",327,"\"$193.99,$299.99\""] +["B07J58XN6D","Motorola","Motorola Moto G6 - Verizon Locked Phone - 5.7in Screen - 32GB - Black - U.S. Warranty - (Renewed)","https://www.amazon.com/Motorola-Moto-G6-Verizon-Warranty/dp/B07J58XN6D","https://m.media-amazon.com/images/I/417em30-U-L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07J58XN6D",21,"$121.99"] +["B07J5GH52Q","Samsung","Samsung Qi Certified Fast Charge Wireless Charging Pad for Qi Compatible Smartphones with Built-in Cool Fan - Retail Packaging - Black","https://www.amazon.com/Samsung-Certified-Wireless-Compatible-Smartphones/dp/B07J5GH52Q","https://m.media-amazon.com/images/I/51+SYrCpHTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07J5GH52Q",11,"$23.99"] +["B07J62YCWB","Motorola","\"Motorola Z2 Force (Super Black, ATT GSM Unlocked)\"","https://www.amazon.com/Motorola-Force-Super-Black-Unlocked/dp/B07J62YCWB","https://m.media-amazon.com/images/I/419enF+lD6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07J62YCWB",7,""] +["B07JB4Q9W8","HUAWEI","\"Huawei Mate 20 HMA-L29 Dual-SIM 128GB (4GB RAM, 6.53\"\" inch, Android) (GSM Only, No CDMA) Factory Unlocked 4G/LTE Smartphone (Midnight Blue) - International Version\"","https://www.amazon.com/Huawei-Dual-SIM-Unlocked-Smartphone-Midnight/dp/B07JB4Q9W8","https://m.media-amazon.com/images/I/61BrebgQHuL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07JB4Q9W8",1,"$777.43"] +["B07JFTCMV3","Samsung","\"Samsung Gear S2 Wi-Fi + AT&T 3G Smartwatch, Dust and Water Resistant, White (Renewed)\"","https://www.amazon.com/Samsung-Wi-Fi-Smartwatch-Resistant-Renewed/dp/B07JFTCMV3","https://m.media-amazon.com/images/I/71b80hxDSrL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07JFTCMV3",3,"$109.99"] +["B07JGVYVK8","HUAWEI","\"Huawei Y9 2019 JKM-LX3 6.5\"\" HiSilicon Kirin 710 64GB 3GB RAM Dual SIM A-GPS Fingerprint -Glonass No Warranty US (Black)\"","https://www.amazon.com/Huawei-JKM-LX3-HiSilicon-Fingerprint-Glonass/dp/B07JGVYVK8","https://m.media-amazon.com/images/I/51tLx1lZxAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07JGVYVK8",59,"$199.96"] +["B07JML1XPT","Samsung","Samsung Galaxy Note 8 N950U 64GB - T-Mobile (Orchid Gray)","https://www.amazon.com/Samsung-Galaxy-Note-N950U-64GB/dp/B07JML1XPT","https://m.media-amazon.com/images/I/41f3kTuOG7L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07JML1XPT",10,""] +["B07JMPGNHK","Xiaomi","\"Xiaomi Mi 8 Lite (64GB, 4GB RAM) 6.26\"\" Full Screen Display, Snapdragon 660, Dual AI Camera's, Factory Unlocked Phone - International Global 4G LTE Version (Black)\"","https://www.amazon.com/Xiaomi-Display-Snapdragon-Cameras-Unlocked/dp/B07JMPGNHK","https://m.media-amazon.com/images/I/61oKJ6RYCDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07JMPGNHK",180,"$192.49"] +["B07JRDXXK6","Samsung","\"Samsung Galaxy S8 Active (G892A) GSM Unlocked Military-Grade Durable Smartphone w/ 5.8in Shatter-Resistant Glass, Meteor Gray (Renewed)\"","https://www.amazon.com/Samsung-Unlocked-Military-Grade-Smartphone-Shatter-Resistant/dp/B07JRDXXK6","https://m.media-amazon.com/images/I/415yIk8tDZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07JRDXXK6",82,"$279.00"] +["B07JVC2JNQ","Google","\"Google Pixel 3, Verizon, 64 GB - Clearly White\"","https://www.amazon.com/Google-Pixel-Factory-Unlocked-White/dp/B07JVC2JNQ","https://m.media-amazon.com/images/I/616314NXVyL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07JVC2JNQ",48,""] +["B07JZRFHTP","Samsung","Samsung Galaxy S8+ Certified Pre-Owned Factory Unlocked Phone - 6.2Inch Screen - 64GB - Midnight Black (U.S. Warranty) - SM5G955UZKAXAA","https://www.amazon.com/Samsung-Certified-Pre-Owned-Factory-Unlocked/dp/B07JZRFHTP","https://m.media-amazon.com/images/I/81qD4PO4h3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07JZRFHTP",3,"\"$372.38,$400.00\""] +["B07JZRL7N5","Samsung","Samsung Galaxy S8 Certified Pre-Owned Factory Unlocked Phone - 5.8Inch Screen - 64GB - Midnight Black (U.S. Warranty) - SM5G950UZKAXAA","https://www.amazon.com/Samsung-Certified-Pre-Owned-Factory-Unlocked/dp/B07JZRL7N5","https://m.media-amazon.com/images/I/810Pw0xxs1L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07JZRL7N5",19,"$349.95"] +["B07JZXVS9D","HUAWEI","\"Huawei Mate 20 HMA-L29 128GB+4GB - Factory Unlocked International Version - GSM ONLY, NO CDMA - No Warranty in The USA (Midnight Blue)\"","https://www.amazon.com/Huawei-Mate-20-HMA-L29-128GB/dp/B07JZXVS9D","https://m.media-amazon.com/images/I/71z8nu9Dd3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07JZXVS9D",12,"$592.85"] +["B07K1M36CM","HUAWEI","\"Huawei Mate 20 Pro LYA-L29 128GB + 6GB - Factory Unlocked International Version - GSM ONLY, NO CDMA - No Warranty in The USA (Black)\"","https://www.amazon.com/Huawei-Mate-LYA-L29-128GB-International/dp/B07K1M36CM","https://m.media-amazon.com/images/I/61L1cbjChQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07K1M36CM",142,"$540.00"] +["B07K1MFQ7S","Motorola","\"Motorola moto e⁴ XT1765 16GB Smartphone 8MP 5.0\"\" HD Android 7.1 Nougat (Fine Gold) T-Mobile\"","https://www.amazon.com/Motorola-XT1765-Smartphone-Android-T-Mobile/dp/B07K1MFQ7S","https://m.media-amazon.com/images/I/51nn8M0paBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07K1MFQ7S",5,"$69.99"] +["B07K2FZYKV","Samsung","\"Samsung Galaxy J7 2018 (16GB) J737A - 5.5\"\" HD Display, Android 8.0, Octa-core 4G LTE at&T Unlocked Smartphone (Black)\"","https://www.amazon.com/Samsung-Galaxy-2018-16GB-J737A/dp/B07K2FZYKV","https://m.media-amazon.com/images/I/41v1cev1acL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07K2FZYKV",30,"$179.99"] +["B07K2HWC9V","Motorola","\"Moto E4 Verizon Prepaid - XT1765 16GB 5\"\" 4G LTE Smartphone - Gold\"","https://www.amazon.com/Moto-E4-Verizon-Prepaid-Smartphone/dp/B07K2HWC9V","https://m.media-amazon.com/images/I/61MlfmBOcnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07K2HWC9V",13,"$87.59"] +["B07K3X5JTP","Google","Google - Pixel 3 XL with 64GB Memory Cell Phone (Unlocked) - Just Black","https://www.amazon.com/Google-Pixel-XL-Just-Black/dp/B07K3X5JTP","https://m.media-amazon.com/images/I/718ynShMnpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07K3X5JTP",46,"\"$598.97,$899.00\""] +["B07K4F5759","Samsung","Samsung Galaxy S8 G950U 64GB Unlocked GSM U.S. Version Phone - w/ 12MP Camera - Orchid Gray (Renewed)","https://www.amazon.com/Samsung-Galaxy-S8-Unlocked-64GB/dp/B07K4F5759","https://m.media-amazon.com/images/I/31JmJT2qy6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07K4F5759",68,"$247.20"] +["B07K4TRTDV","Samsung","Samsung Galaxy S8 Active 64GB SM-G892U Sprint CDMA/GSM Unlocked - Meteor Gray (Renewed)","https://www.amazon.com/Samsung-Galaxy-Active-SM-G892U-Unlocked/dp/B07K4TRTDV","https://m.media-amazon.com/images/I/61zSaCsk-LL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.8,"https://www.amazon.com/product-reviews/B07K4TRTDV",10,"$284.00"] +["B07K4V35TJ","Apple","\"Apple iPhone XS, 64GB, Gold - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-XS-Fully-Unlocked/dp/B07K4V35TJ","https://m.media-amazon.com/images/I/41+2tWGDs3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07K4V35TJ",50,"$789.00"] +["B07K64PTLP","Xiaomi","\"Xiaomi Mi 8 Pro (128GB, 8GB RAM) with In-Screen Fingerprint Reader, Dual Camera's, 6.21\"\" AMOLED Display, Factory Unlocked - Global Version No Warranty (Transparent Titanium)\"","https://www.amazon.com/Screen-Fingerprint-Cameras-Display-Unlocked/dp/B07K64PTLP","https://m.media-amazon.com/images/I/51XCFd-+zAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07K64PTLP",21,"$340.00"] +["B07K8TVZ3J","Apple","\"Apple iPhone XS Max, 64GB, Gold - For Verizon (Renewed)\"","https://www.amazon.com/Apple-iPhone-MAX-64GB-Refurbished/dp/B07K8TVZ3J","https://m.media-amazon.com/images/I/51zJTtsQEnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07K8TVZ3J",53,"$944.99"] +["B07KCPMMF7","Samsung","Samsung Galaxy J7 Prime SM-J727T 5.5in Smartphone 16GB Android T-Mobile (Renewed)","https://www.amazon.com/Samsung-SM-J727T-Smartphone-Android-T-Mobile/dp/B07KCPMMF7","https://m.media-amazon.com/images/I/61822MjJeKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07KCPMMF7",5,"$149.99"] +["B07KCQHWTN","Samsung","Samsung Galaxy Note 9 N960U 128GB T-Mobile GSM Unlocked - Ocean Blue","https://www.amazon.com/Samsung-Galaxy-N960U-128GB-T-Mobile/dp/B07KCQHWTN","https://m.media-amazon.com/images/I/61AO4aJIvZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07KCQHWTN",4,""] +["B07KFN43WC","Apple","\"Apple iPhone XS Max, 256GB, Gold - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-Max-Fully-Unlocked/dp/B07KFN43WC","https://m.media-amazon.com/images/I/51zJTtsQEnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07KFN43WC",53,"\"$1,000.00,$1,399.99\""] +["B07KGHN2ZB","Motorola","Motorola Moto Z XT1650-03 32GB (White)","https://www.amazon.com/Motorola-Moto-XT1650-03-Factory-Unlocked/dp/B07KGHN2ZB","https://m.media-amazon.com/images/I/51xSD2hiVYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.4,"https://www.amazon.com/product-reviews/B07KGHN2ZB",5,"$169.99"] +["B07KJM21TB","Samsung","Samsung Galaxy J7 J727A 16GB Carrier Branded Unlocked (Black) (Renewed)","https://www.amazon.com/Samsung-Carrier-Branded-Unlocked-Renewed/dp/B07KJM21TB","https://m.media-amazon.com/images/I/517cXvVDGsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07KJM21TB",17,""] +["B07KKP8G1Q","Samsung","\"SAMSUNG Galaxy A9 2018 SM-A920F Dual SIM - Unlocked - 4G LTE - 6.3\"\" Screen - 6GB/128GB Memory - Quad Camera - 24MP Selfie Camera - International Version - NO Warranty - Black\"","https://www.amazon.com/SAMSUNG-Galaxy-2018-SM-A920F-Dual/dp/B07KKP8G1Q","https://m.media-amazon.com/images/I/61Xz0i1AyzL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07KKP8G1Q",35,"\"$329.99,$499.99\""] +["B07KLXX29N","Samsung","\"Samsung Galaxy Note 9, Verizon, 512GB, Ocean Blue - (Renewed)\"","https://www.amazon.com/SAMSUNG-Galaxy-NOTE9-512GB-Ocean/dp/B07KLXX29N","https://m.media-amazon.com/images/I/71+WsylZr4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07KLXX29N",5,"$664.95"] +["B07KMFRPR1","HUAWEI","\"Huawei Mate 20 (128GB/4GB) 6.53\"\" FHD+ Display Triple Camera 4000 mAh Battery 4G LTE GSM Dual SIM Global Unlocked (HMA-L29) International Version, Midnight Blue\"","https://www.amazon.com/Huawei-Display-Battery-Unlocked-HMA-L29/dp/B07KMFRPR1","https://m.media-amazon.com/images/I/71cOQ3kigtL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07KMFRPR1",69,""] +["B07KNB1TN8","Samsung","Samsung Galaxy Note9 N960U 128GB Unlocked 4G LTE Phone w/ Dual 12MP Camera - Midnight Black (Renewed)","https://www.amazon.com/Samsung-Factory-Unlocked-Warranty-Midnight/dp/B07KNB1TN8","https://m.media-amazon.com/images/I/61cceqaKnWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07KNB1TN8",494,"$452.92"] +["B07KQNCDP3","Samsung","\"Samsung Galaxy A7 2016 A710M Unlocked GSM 4G LTE 5.5\"\" Smartphone, Gold\"","https://www.amazon.com/Samsung-Galaxy-A710M-Unlocked-Smartphone/dp/B07KQNCDP3","https://m.media-amazon.com/images/I/61w2Pih38yL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B07KQNCDP3",2,"$144.00"] +["B07KSFL2K5","Samsung","\"Samsung Electronics 32GB A6 Factory Unlocked Phone - 5.6\"\" - Black (U.S. Warranty)\"","https://www.amazon.com/Samsung-Electronics-Factory-Unlocked-Phone/dp/B07KSFL2K5","https://m.media-amazon.com/images/I/61-rdvC42nL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07KSFL2K5",14,"$349.17"] +["B07KWDTVR4","Nokia","\"Nokia 7 Plus TA-1046 Dual Sim 64GB/4GB (Black) - Factory Unlocked - International Version - No Warranty in The USA - GSM ONLY, NO CDMA - Android One\"","https://www.amazon.com/Nokia-Plus-TA-1046-Dual-Black/dp/B07KWDTVR4","https://m.media-amazon.com/images/I/612fM51P9ZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07KWDTVR4",10,""] +["B07KWX9GNJ","Samsung","\"Samsung Galaxy A50 A505G 64GB Duos GSM Unlocked Phone w/Triple 25MP Camera - (International Version, No Warranty) - Black\"","https://www.amazon.com/Samsung-Galaxy-Infinity-U-Display-Warranty/dp/B07KWX9GNJ","https://m.media-amazon.com/images/I/71g5tQyQ4VL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07KWX9GNJ",59,"$250.94"] +["B07KX73JJL","Samsung","Samsung Galaxy S9 G960U AT&T GSM Unlocked 64GB - Lilac Purple (Renewed)","https://www.amazon.com/Samsung-Galaxy-G960U-Unlocked-64GB/dp/B07KX73JJL","https://m.media-amazon.com/images/I/716uqF6uUgL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07KX73JJL",56,"$328.00"] +["B07KX8DXW8","Google","Google Pixel 3 64GB Unlocked GSM & CDMA 4G LTE - Just Black (Renewed)","https://www.amazon.com/Google-Pixel-Unlocked-GSM-CDMA/dp/B07KX8DXW8","https://m.media-amazon.com/images/I/31d3gR+rXfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07KX8DXW8",15,"$379.99"] +["B07KYGHQ1X","Motorola","Motorola Moto X4 Android One Edition Factory Unlocked Phone - 5.2inch Screen - 32GB - Black (U.S. Warranty)","https://www.amazon.com/Motorola-Android-Factory-Unlocked-Phone/dp/B07KYGHQ1X","https://m.media-amazon.com/images/I/81znt6scdML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07KYGHQ1X",166,"\"$274.25,$349.99\""] +["B07L14D7F7","HUAWEI","\"Huawei Honor 8X (64GB + 4GB RAM) 6.5\"\" HD 4G LTE GSM Factory Unlocked Smartphone - International Version No Warranty JSN-L23 (Black)\"","https://www.amazon.com/Huawei-Honor-Factory-Unlocked-Smartphone/dp/B07L14D7F7","https://m.media-amazon.com/images/I/81uuNY+2tZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07L14D7F7",347,"$172.44"] +["B07L1CG9BD","Samsung","Samsung Galaxy S8+ SM-G955U 64GB Midnight Black AT&T (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-G955U-Midnight-Renewed/dp/B07L1CG9BD","https://m.media-amazon.com/images/I/61XjtWM498L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07L1CG9BD",27,"$285.00"] +["B07L375RS6","Google","\"Google Pixel 3 XL Unlocked GSM/CDMA - US Warranty (Just Black, 64GB) (Renewed)\"","https://www.amazon.com/Google-Pixel-Unlocked-GSM-CDMA/dp/B07L375RS6","https://m.media-amazon.com/images/I/61zn1xfzyDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07L375RS6",28,"$400.00"] +["B07L44WY1F","Motorola","Motorola Moto G6 MOTXT192512 - 32GB - (Verizon) Smartphone - BLACK - (Renewed)","https://www.amazon.com/Motorola-Moto-G6-MOTXT192512-Smartphone/dp/B07L44WY1F","https://m.media-amazon.com/images/I/612aP-I95tL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07L44WY1F",7,"$139.95"] +["B07L4WRXXT","HUAWEI","\"Huawei Honor 8X (64GB + 4GB RAM) 6.5\"\" HD 4G LTE GSM Factory Unlocked Smartphone - International Version No Warranty JSN-L23 (Blue)\"","https://www.amazon.com/Huawei-Honor-Factory-Unlocked-Smartphone/dp/B07L4WRXXT","https://m.media-amazon.com/images/I/81f891yYQhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07L4WRXXT",298,"$179.99"] +["B07L543G3M","Samsung","\"Samsung Galaxy J3 2018 (16GB) J337A - 5.0\"\" HD Display, Android 8.0, 4G LTE AT&T Unlocked GSM Smartphone (Black)\"","https://www.amazon.com/Samsung-Galaxy-2018-16GB-J337A/dp/B07L543G3M","https://m.media-amazon.com/images/I/41Q3zLdBrUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07L543G3M",77,"\"$117.00,$129.99\""] +["B07L6RCH5W","Google","\"Google Pixel 3, Verizon, 64 GB - Clearly White (Renewed)\"","https://www.amazon.com/Google-Pixel-Factory-Unlocked-Renewed/dp/B07L6RCH5W","https://m.media-amazon.com/images/I/61-ttFzr2PL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07L6RCH5W",1,"$419.99"] +["B07L759TFQ","Samsung","\"Samsung Galaxy J8 (2018) Duos SM-J810F/DS 32GB Dual SIM Factory Unlocked GSM Smartphone - International Version, No Warranty (Lavender)\"","https://www.amazon.com/Samsung-SM-J810F-DS-Unlocked-Smartphone/dp/B07L759TFQ","https://m.media-amazon.com/images/I/51ybAQ9tuKL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07L759TFQ",38,"$199.99"] +["B07LBPP4J9","Nokia","\"Nokia 6.1 - Android 9.0 Pie - 32GB + 32GB MicroSD - Single SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.5\"\" Screen - Black\"","https://www.amazon.com/Nokia-6-1-Unlocked-Smartphone-T-Mobile/dp/B07LBPP4J9","https://m.media-amazon.com/images/I/61+7tN6sHHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07LBPP4J9",21,"$199.00"] +["B07LDS3WDR","Samsung","Samsung Galaxy Note 9 SM-N960U 128GB Ocean Blue - Verizon","https://www.amazon.com/Samsung-Galaxy-SM-N960U-128GB-Ocean/dp/B07LDS3WDR","https://m.media-amazon.com/images/I/51yoJBR-ACL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07LDS3WDR",2,""] +["B07LDVW8G8","Samsung","Samsung Galaxy S7 32GB GSM Unlocked Smartphone for GSM Carriers - Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-Unlocked-Smartphone-Carriers/dp/B07LDVW8G8","https://m.media-amazon.com/images/I/51BZDeSfcpL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07LDVW8G8",18,"$155.00"] +["B07M94R4GF","Samsung","Samsung Galaxy J3 (2018) J337A 16GB Unlocked GSM 4G LTE Phone w/ 8MP Camera - Black (Renewed)","https://www.amazon.com/Samsung-Galaxy-J337A-Unlocked-Camera/dp/B07M94R4GF","https://m.media-amazon.com/images/I/61QcyZOnDxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07M94R4GF",13,"$88.98"] +["B07MCMGHB5","Motorola","\"Motorola Moto E5 Play (16GB) 5.2\"\" HD Display, 4G LTE (GSM) Factory Unlocked XT1921-1 - International Model - Black (Renewed)\"","https://www.amazon.com/Motorola-XT1921-Unlocked-Android-Camera/dp/B07MCMGHB5","https://m.media-amazon.com/images/I/71fgtixAklL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.5,"https://www.amazon.com/product-reviews/B07MCMGHB5",10,"$59.99"] +["B07MF3JM4T","Motorola","\"Motorola Moto One - Android One - 64 GB - 13+2 MP Dual Rear Camera - Dual SIM Unlocked Smartphone (at&T/T-Mobile/MetroPCS/Cricket/H2O) - 5.9\"\" HD+ Display - XT1941-3 - (International Version) (Black)\"","https://www.amazon.com/Motorola-Moto-One-Smartphone-International/dp/B07MF3JM4T","https://m.media-amazon.com/images/I/51Hy0ypovHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07MF3JM4T",119,"\"$167.99,$249.99\""] +["B07MF3Y8Y5","Motorola","Motorola G6 (XT1925) 32GB GSM Unlocked Android Smartphone (AT&T/T-Mobile/Mint) - Black (Renewed)","https://www.amazon.com/Motorola-G6-Unlocked-T-Mobile-PAAE0000US/dp/B07MF3Y8Y5","https://m.media-amazon.com/images/I/71fy1Oad3rL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07MF3Y8Y5",38,"$119.96"] +["B07MGC6WVV","Samsung","\"Samsung Galaxy Note 3 SM-N900T (32 GB, T-Mobile) (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-SM-N900T-T-Mobile-Renewed/dp/B07MGC6WVV","https://m.media-amazon.com/images/I/914Kn-BA+3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07MGC6WVV",3,"$139.95"] +["B07MK93MVZ","ASUS","ASUS ZenFone 5Q (ZC600KL-S630-4G-64G-BK) - 6” FHD 2160x1080 display - Quad-camera - 4GB RAM - 64GB storage - LTE Unlocked Dual SIM Cell Phone - US Warranty - Black (Renewed)","https://www.amazon.com/ASUS-ZenFone-ZC600KL-S630-4G-64G-BK-2160x1080-Quad-camera/dp/B07MK93MVZ","https://m.media-amazon.com/images/I/81F+D7615bL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07MK93MVZ",9,"$199.99"] +["B07MLBF9VS","Samsung","Samsung GALAXY S6 G920 32GB Unlocked GSM 4G LTE Octa-Core Smartphone - Black Sapphire (Renewed)","https://www.amazon.com/Samsung-S6-Unlocked-Octa-Core-Smartphone/dp/B07MLBF9VS","https://m.media-amazon.com/images/I/81XmzLOqKDL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B07MLBF9VS",15,"$137.99"] +["B07MN8QTK1","Motorola","\"Motorola Moto G7 Play XT1952 32GB+2GB RAM 5.7\"\" Max Vision LTE Factory Unlocked (International Model, No Warranty) Deep Indigo\"","https://www.amazon.com/Motorola-Factory-Unlocked-International-Warranty/dp/B07MN8QTK1","https://m.media-amazon.com/images/I/51Qyh9JAYoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07MN8QTK1",46,"$134.00"] +["B07MR1PF21","Samsung","\"Samsung - Galaxy Note 9 (Verizon) (Black, 128GB) (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-Note9-Verizon-Renewed/dp/B07MR1PF21","https://m.media-amazon.com/images/I/613-UgtqEEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07MR1PF21",36,"$494.95"] +["B07MY7XPNZ","Motorola","AT&T Moto E5 Play with 16GB Memory Prepaid Cell Phone - Black - Carrier Locked to AT&T","https://www.amazon.com/Moto-Play-Memory-Prepaid-Phone/dp/B07MY7XPNZ","https://m.media-amazon.com/images/I/51jv-B8t+4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07MY7XPNZ",9,"$77.00"] +["B07MZ2TRTC","Sony","Sony Xperia 10 Plus Unlocked Smartphone - US Warranty","https://www.amazon.com/Sony-Xperia-Plus-Unlocked-Smartphone/dp/B07MZ2TRTC","https://m.media-amazon.com/images/I/71OEcbgvnnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B07MZ2TRTC",71,"\"$378.00,$429.99\""] +["B07N11SM58","Nokia","\"Nokia 9 PureView - Android 9.0 Pie - 128 GB - Single SIM Unlocked Smartphone (at&T/T-Mobile/MetroPCS/Cricket/H2O) - 5.99\"\" QHD+ Screen - Qi Wireless Charging - Midnight Blue - U.S. Warranty\"","https://www.amazon.com/Nokia-PureView-Unlocked-Smartphone-T-Mobile/dp/B07N11SM58","https://m.media-amazon.com/images/I/51ls1kpJJsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07N11SM58",48,"\"$570.00,$699.00\""] +["B07N2GXR7K","Samsung","\"Samsung Galaxy J7 2018 (16GB) J737A - 5.5in HD Display, Android 8.0, Octa-core 4G LTE at&T Unlocked Smartphone (Black) (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-2018-16GB-J737A/dp/B07N2GXR7K","https://m.media-amazon.com/images/I/41kRhl+BcxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07N2GXR7K",19,"$110.00"] +["B07N4M412B","Samsung","Samsung Galaxy S10 Factory Unlocked Phone with 128GB - Prism Black","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Phone/dp/B07N4M412B","https://m.media-amazon.com/images/I/616PPIgQgUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07N4M412B",750,"\"$799.99,$899.99\""] +["B07N5MGYPS","ASUS","ASUS ZenFone Max M1 (ZB555KL-S425-2G16G-BK) - 5.5” HD+ 2GB RAM 16GB storage LTE Unlocked Dual SIM Cell phone - US Warranty - Deepsea Black (Renewed)","https://www.amazon.com/ASUS-ZenFone-Max-M1-ZB555KL-S425-2G16G-BK/dp/B07N5MGYPS","https://m.media-amazon.com/images/I/81xjdf3FLJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07N5MGYPS",2,"$79.95"] +["B07N6N7JP3","Xiaomi","\"Xiaomi MI Mix 3 (128GB, 6GB) 6.39\"\" Display, Dual SIM 4G LTE GSM Unlocked Multi-Functional Magnetic Slider Smartphone w/Wireless Charging Pad (Black)\"","https://www.amazon.com/Xiaomi-Unlocked-Multi-Functional-Magnetic-Smartphone/dp/B07N6N7JP3","https://m.media-amazon.com/images/I/71QLhYeA2+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07N6N7JP3",57,"$364.90"] +["B07N7M2P59","Samsung","\"Samsung Galaxy S8 Active G892U 5.8\"\" Android 64GB T-Mobile Smartphone - Meteor Gray (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-Android-T-Mobile-Smartphone/dp/B07N7M2P59","https://m.media-amazon.com/images/I/41mDTPQU7jL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07N7M2P59",4,"$254.99"] +["B07N7M7VBV","Samsung","Samsung Galaxy Note 9 SM-N960U 128GB Unlocked (Silver) (Renewed)","https://www.amazon.com/Samsung-Galaxy-SM-N960U-Unlocked-Renewed/dp/B07N7M7VBV","https://m.media-amazon.com/images/I/51yWrB+kAOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07N7M7VBV",36,"$550.95"] +["B07N91S9MW","Motorola","\"Moto G7 – Unlocked – 64 GB – Ceramic Black (US Warranty) - Verizon, AT&T, T-Mobile, Sprint, Boost, Cricket, & Metro\"","https://www.amazon.com/Moto-G7-Unlocked-Warranty-T-Mobile/dp/B07N91S9MW","https://m.media-amazon.com/images/I/51NnHEemO6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07N91S9MW",178,"\"$249.99,$299.99\""] +["B07N9LN3RC","Motorola","Motorola G7 Play 32GB GSM Nano-SIM Phone w/ 13MP Camera - Deep Indigo","https://www.amazon.com/Motorola-Play-Nano-SIM-Phone-Camera/dp/B07N9LN3RC","https://m.media-amazon.com/images/I/71W69U8ehiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07N9LN3RC",7,"\"$160.28,$199.99\""] +["B07N9M9FX4","Motorola","\"Moto G7 – Unlocked – 64 GB – Ceramic Black (US Warranty) - Verizon, AT&T, T-Mobile, Sprint, Boost, Cricket, Metro\"","https://www.amazon.com/Moto-G7-Unlocked-Warranty-T-Mobile/dp/B07N9M9FX4","https://m.media-amazon.com/images/I/7177TyBRVnL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07N9M9FX4",43,""] +["B07NDL1D58","HUAWEI","\"Huawei Y7 2019 (32GB, 3GB) 6.26\"\" Dewdrop Display, 4000 mAh Battery, 4G LTE GSM Dual SIM Factory Unlocked Smartphone (Dub-LX3) - International Version, No Warranty (Blue)\"","https://www.amazon.com/Dewdrop-Display-Battery-Unlocked-Smartphone/dp/B07NDL1D58","https://m.media-amazon.com/images/I/61KvUONXg6L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07NDL1D58",94,"\"$150.00,$179.99\""] +["B07NGDHMKL","HUAWEI","HUAWEI P Smart 2019 Pot-LX3 32GB Unlocked GSM 4G LTE Dual Camera (13MP+2MP) Phone - Coral Red …","https://www.amazon.com/HUAWEI-Smart-Pot-LX3-Unlocked-Camera/dp/B07NGDHMKL","https://m.media-amazon.com/images/I/41xd2-SpzlL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07NGDHMKL",8,"$199.99"] +["B07NGNPX4J","Samsung","Samsung - Galaxy Note 9 (AT&T) - (Factory Unlocked) Ocean Blue - 128 GB (Renewed)","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Renewed/dp/B07NGNPX4J","https://m.media-amazon.com/images/I/711mxjaZbGL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07NGNPX4J",2,"$519.00"] +["B07NL58M5L","ASUS","ASUS ZenFone Max Pro (M2) (ZB631KL) 4GB / 128GB 6.3-inches LTE Dual SIM Factory Unlocked - International Stock No Warranty (Cosmic Titanium)","https://www.amazon.com/ASUS-ZenFone-ZB631KL-6-3-inches-Unlocked/dp/B07NL58M5L","https://m.media-amazon.com/images/I/612UzGrdpqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07NL58M5L",12,"$259.99"] +["B07NLBGSY5","Samsung","AT&T Prepaid - Samsung Express Prime 3 with 16GB Memory Prepaid Cell Phone - Black","https://www.amazon.com/AT-Prepaid-Samsung-Express-Memory/dp/B07NLBGSY5","https://m.media-amazon.com/images/I/41Z1BbbL9ZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.8,"https://www.amazon.com/product-reviews/B07NLBGSY5",8,"\"$89.99,$99.99\""] +["B07NLLFGTL","Samsung","\"Samsung Galaxy Note9 Smartphone 6.4\"\" AT&T Android 512GB (Certified Refurbished) (Lilac Purple)\"","https://www.amazon.com/Samsung-Smartphone-Android-Certified-Refurbished/dp/B07NLLFGTL","https://m.media-amazon.com/images/I/51pdXCj33kL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07NLLFGTL",1,"$664.95"] +["B07NMVTJPG","Apple","\"Apple iPhone 6S Plus 5.5in 16GB GSM Unlocked Smartphone, Rose Gold (Renewed)\"","https://www.amazon.com/Apple-6S-Plus-Unlocked-Smartphone/dp/B07NMVTJPG","https://m.media-amazon.com/images/I/71qHE1rCwmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.3,"https://www.amazon.com/product-reviews/B07NMVTJPG",5,"$207.99"] +["B07NNVLH1D","Samsung","\"Samsung Galaxy A50 (64GB, 4GB RAM) 6.4\"\" Display, 25MP, Triple Camera, Global 4G LTE Dual SIM GSM Factory Unlocked A505G/DS (International Model w/ 64GB MicroSD Bundle) (White)\"","https://www.amazon.com/Samsung-A50-Display-Unlocked-International/dp/B07NNVLH1D","https://m.media-amazon.com/images/I/81NuMh5e+UL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07NNVLH1D",242,"$242.00"] +["B07NP2Y82Q","Motorola","\"Motorola Moto G7+ Plus (64GB, 4GB RAM) Dual SIM 6.2\"\" 4G LTE (GSM Only) Factory Unlocked Smartphone International Model, No Warranty XT1965-2 (Deep Indigo)\"","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-Model/dp/B07NP2Y82Q","https://m.media-amazon.com/images/I/61HtH9zl4OL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07NP2Y82Q",78,"$229.27"] +["B07NP3RD5H","Motorola","\"Motorola Moto G7 (64GB, 4GB RAM) Dual SIM 6.2\"\" 4G LTE (GSM Only) Factory Unlocked Smartphone International Model XT1962-4 No Warranty (Ceramic Black)\"","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-Model/dp/B07NP3RD5H","https://m.media-amazon.com/images/I/61Lp3MNvbfL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07NP3RD5H",71,"$189.99"] +["B07NPRQYP1","Motorola","Moto G7 Power - Unlocked - 64 GB - Marine Blue (No Warranty) - International Model (GSM Only)","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-Model/dp/B07NPRQYP1","https://m.media-amazon.com/images/I/51sMncfrO2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07NPRQYP1",316,"\"$192.99,$299.99\""] +["B07NQGV37P","Motorola","\"Motorola Moto G7 Power, Dual SIM 6.2\"\" (GSM Only) Factory Unlocked US & Global 4G LTE International Model XT1955 (Black, 64GB)\"","https://www.amazon.com/Motorola-Factory-Unlocked-International-XT1955-4/dp/B07NQGV37P","https://m.media-amazon.com/images/I/41OAP+NOAtL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07NQGV37P",100,"$192.99"] +["B07NQNJ8XK","Samsung","Samsung Galaxy S9+ G965U 64GB Midnight Black - Sprint(Renewed)","https://www.amazon.com/Samsung-Galaxy-G965U-Midnight-Black/dp/B07NQNJ8XK","https://m.media-amazon.com/images/I/71kVfvrhYRL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.3,"https://www.amazon.com/product-reviews/B07NQNJ8XK",5,"$419.95"] +["B07NRCRFVJ","Samsung","Samsung Galaxy Note8 Certified Pre-Owned Factory Unlocked Phone - 64GB - Black (1 Year Samsung U.S. Warranty)","https://www.amazon.com/Samsung-Certified-Pre-Owned-Factory-Unlocked/dp/B07NRCRFVJ","https://m.media-amazon.com/images/I/81pByOHKz3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07NRCRFVJ",1,"\"$452.49,$547.49\""] +["B07NVWSTHP","Motorola","Motorola Moto Z3 Play 32GB XT1929-3 Deep Indigo - Sprint (Renewed)","https://www.amazon.com/Motorola-Moto-Play-XT1929-3-Indigo/dp/B07NVWSTHP","https://m.media-amazon.com/images/I/41HfzhSprOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07NVWSTHP",1,"$189.95"] +["B07NWKP41X","Samsung","\"Samsung Galaxy S10+ Plus 512GB / 8GB RAM SM-G975F/DS Hybrid/Dual-SIM (GSM Only, No CDMA) Factory Unlocked 4G/LTE Smartphone - International Version No Warranty (Ceramic White)\"","https://www.amazon.com/Samsung-SM-G975F-Dual-SIM-Unlocked-Smartphone/dp/B07NWKP41X","https://m.media-amazon.com/images/I/61hMHIfDujL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07NWKP41X",18,"$815.00"] +["B07NYBD9DW","Motorola","Moto X4 Android One Edition - 64GB - Black - Unlocked","https://www.amazon.com/Moto-X4-Android-One-Unlocked/dp/B07NYBD9DW","https://m.media-amazon.com/images/I/81znt6scdML._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07NYBD9DW",166,"$344.45"] +["B07NZ98856","Nokia","\"Nokia 3 - Android 9.0 Pie - 16 GB - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.0\"\" HD Screen - Copper\"","https://www.amazon.com/Nokia-Unlocked-Smartphone-T-Mobile-MetroPCS/dp/B07NZ98856","https://m.media-amazon.com/images/I/51EKCBuxzJL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B07NZ98856",6,"\"$79.00,$99.00\""] +["B07NZVM3RN","Samsung","\"Samsung Galaxy S10e 128GB+6GB RAM SM-G970 Dual Sim 5.8\"\" LTE Factory Unlocked Smartphone (International Model) (Prism Black)\"","https://www.amazon.com/Samsung-S10e-Unlocked-Smartphone-International/dp/B07NZVM3RN","https://m.media-amazon.com/images/I/51BateZ5iqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07NZVM3RN",124,"$535.00"] +["B07NZVV9PL","Xiaomi","\"Xiaomi Redmi GO (8GB) 5\"\" Display, Snapdragon 425, Global 4G LTE Dual SIM GSM Factory Unlocked - International Model (Black)\"","https://www.amazon.com/Xiaomi-Display-Snapdragon-Factory-Unlocked/dp/B07NZVV9PL","https://m.media-amazon.com/images/I/51tiZEc3tsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07NZVV9PL",14,"$68.00"] +["B07NZX5BKH","Samsung","\"Samsung Galaxy S10+ Plus 128GB+8GB RAM SM-G975F/DS Dual Sim 6.4\"\" LTE Factory Unlocked Smartphone International Model, No Warranty (Prism Black)\"","https://www.amazon.com/Samsung-SM-G975F-Unlocked-Smartphone-International/dp/B07NZX5BKH","https://m.media-amazon.com/images/I/61u0MPaaQwL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07NZX5BKH",269,"\"$774.50,$899.99\""] +["B07NZXXZB2","Samsung","\"Samsung Galaxy S10 128GB+8GB RAM SM-G973F/DS Dual Sim 6.1\"\" LTE Factory Unlocked Smartphone (International Model No Warranty) (Prism White)\"","https://www.amazon.com/Samsung-SM-G973F-DS-Smartphone-International/dp/B07NZXXZB2","https://m.media-amazon.com/images/I/61YVqHdFRxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07NZXXZB2",203,"$695.00"] +["B07P6Y7954","Apple","\"Apple iPhone XR, 64GB, Black - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-XR-Fully-Unlocked/dp/B07P6Y7954","https://m.media-amazon.com/images/I/51Bl9V35WEL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07P6Y7954",368,"\"$618.95,$749.99\""] +["B07P6Y8L3F","Apple","\"Apple iPhone XR, 64GB, Red - Fully Unlocked (Renewed)\"","https://www.amazon.com/Apple-iPhone-XR-Fully-Unlocked/dp/B07P6Y8L3F","https://m.media-amazon.com/images/I/51oPt03uUsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07P6Y8L3F",368,"$579.99"] +["B07P8MQHSH","Google","Google - Pixel 3 with 64GB Memory Cell Phone (Unlocked) - Just Black","https://www.amazon.com/Google-Pixel-Memory-Phone-Unlocked/dp/B07P8MQHSH","https://m.media-amazon.com/images/I/71-s0qpYaZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07P8MQHSH",18,"\"$475.99,$799.00\""] +["B07PC21HKM","Samsung","\"Samsung Galaxy S9+ SM-G9650 Dual Sim 128GB 6GB RAM 6.2\"\" Super AMOLED Factory Unlocked - No Warranty (Sunrise Gold) (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-SM-G9650-Factory-Unlocked/dp/B07PC21HKM","https://m.media-amazon.com/images/I/51jCNLU12JL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07PC21HKM",1,"$399.99"] +["B07PGWBKR2","HUAWEI","\"Huawei Y6 2019 MRD-LX3 6.09\"\" Dewdrop Display 32GB 2GB RAM Dual SIM 13MP+ 8MP A-GPS Fingerprint Factory Unlocked No Warranty US (Black)\"","https://www.amazon.com/MRD-LX3-Dewdrop-Fingerprint-Unlocked-Warranty/dp/B07PGWBKR2","https://m.media-amazon.com/images/I/51sKDWkBjvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07PGWBKR2",8,"\"$125.00,$149.99\""] +["B07PHQ7FBP","Sony","\"Sony Xperia 1 Unlocked Smartphone 6.5\"\" 4K HDR OLED CinemaWide Display, 128GB - Black - (US Warranty)\"","https://www.amazon.com/Sony-Unlocked-Smartphone-CinemaWide-Display/dp/B07PHQ7FBP","https://m.media-amazon.com/images/I/812JkkMlcOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07PHQ7FBP",47,"\"$879.15,$949.99\""] +["B07PJV9ZLR","Samsung","\"Samsung Galaxy S10+ Factory Unlocked Phone with 128GB (U.S. Warranty), Prism Black (Renewed)\"","https://www.amazon.com/Samsung-Factory-Unlocked-Warranty-Renewed/dp/B07PJV9ZLR","https://m.media-amazon.com/images/I/61-OmBirjTL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07PJV9ZLR",53,"$629.95"] +["B07PLLZRHC","Samsung","\"Samsung Galaxy J7 Star J737T 5.5\"\" T-Mobile 32GB Android 13MP - Silver (Renewed)\"","https://www.amazon.com/Samsung-Galaxy-J737T-T-Mobile-Android/dp/B07PLLZRHC","https://m.media-amazon.com/images/I/51k+lnhqMhL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07PLLZRHC",4,"$149.99"] +["B07PN7FV4L","Motorola","Motorola Moto E5 Play 5.2in XT1921-3 T-Mobile 16GB Smartphone Android - Silver (Renewed)","https://www.amazon.com/Motorola-XT1921-3-T-Mobile-Smartphone-Android/dp/B07PN7FV4L","https://m.media-amazon.com/images/I/41evS62oMiL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07PN7FV4L",2,"$70.99"] +["B07PPB4Y7S","Samsung","Samsung Galaxy Note5 N920V 5.7in 32GB (Verizon/GSM Unlocked) Android - Black Sapphire (Renewed)","https://www.amazon.com/Samsung-Galaxy-Verizon-Unlocked-Android/dp/B07PPB4Y7S","https://m.media-amazon.com/images/I/71dPOKaPwbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07PPB4Y7S",2,"$170.00"] +["B07PPZQHPV","Sony","\"Sony Xperia 10 Plus i4293 64GB/6GB Dual Sim (Black) - International Model - No Warranty in The USA - GSM ONLY, NO CDMA\"","https://www.amazon.com/Sony-Xperia-Plus-i4293-Black/dp/B07PPZQHPV","https://m.media-amazon.com/images/I/51EYyUAB8wL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07PPZQHPV",9,"$327.95"] +["B07PQSYGKB","OnePlus","OnePlus 6T A6013 128GB Mirror Black - T-Mobile (Renewed)","https://www.amazon.com/OnePlus-A6013-128GB-Mirror-Black/dp/B07PQSYGKB","https://m.media-amazon.com/images/I/61mUCvyDkQL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07PQSYGKB",16,"$300.96"] +["B07PR1Z2BF","Motorola","\"Moto Z3 Play - Unlocked - 32 GB - Deep Indigo (US Warranty) - Verizon, AT&T, T-Mobile, Sprint\"","https://www.amazon.com/Moto-Z3-Play-Unlocked-Warranty/dp/B07PR1Z2BF","https://m.media-amazon.com/images/I/511pgLkDz2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.1,"https://www.amazon.com/product-reviews/B07PR1Z2BF",6,"\"$199.99,$349.99\""] +["B07PRSPD3Q","Nokia","\"Nokia Mobile Nokia 5.1 Plus - Android 9.0 Pie - 32 GB - Dual Camera - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/Mint) - 5.86\"\" 19:9 HD+ Screen - Black\"","https://www.amazon.com/Nokia-Mobile-5-1-Plus-Smartphone/dp/B07PRSPD3Q","https://m.media-amazon.com/images/I/616a0FnPc5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.2,"https://www.amazon.com/product-reviews/B07PRSPD3Q",5,"$159.00"] +["B07PV68K73","Samsung","\"Samsung Galaxy A50 SM-A505G 64GB 4GB RAM 25 MP 6.4\"\" Factory Unlocked International Version- Black\"","https://www.amazon.com/Samsung-A50-SM-A505G-Unlocked-International/dp/B07PV68K73","https://m.media-amazon.com/images/I/71Ly8dZuEAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07PV68K73",201,"$242.00"] +["B07PXV5GXJ","Xiaomi","\"Xiaomi Redmi 7 32Gb+3GB RAM 6.26\"\" HD+ LTE Factory Unlocked GMS Smartphone (International Version, No Warranty) - Blue\"","https://www.amazon.com/Xiaomi-Unlocked-Smartphone-International-Warranty/dp/B07PXV5GXJ","https://m.media-amazon.com/images/I/51iRhc7-HBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.7,"https://www.amazon.com/product-reviews/B07PXV5GXJ",14,"$139.99"] +["B07PY52GVP","Xiaomi","\"Xiaomi Redmi Note 7, 64GB/4GB RAM, 6.30'' FHD+, Snapdragon 660, Black - Unlocked Global Version\"","https://www.amazon.com/Xiaomi-Redmi-Note-Snapdragon-Black/dp/B07PY52GVP","https://m.media-amazon.com/images/I/61ZaskM5hBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07PY52GVP",385,"$182.00"] +["B07Q2WPMNB","HUAWEI","HUAWEI P30 Pro Factory Unlocked International Version 128GB Black","https://www.amazon.com/HUAWEI-Factory-Unlocked-International-Version/dp/B07Q2WPMNB","https://m.media-amazon.com/images/I/51zDfRUUhHL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07Q2WPMNB",25,"$809.99"] +["B07Q3XHJWL","Samsung","Samsung Galaxy S7 Edge G935A 32GB GSM Unlocked - Blue Coral (Renewed)","https://www.amazon.com/Samsung-Galaxy-Edge-G935A-Unlocked/dp/B07Q3XHJWL","https://m.media-amazon.com/images/I/61ZvnaKjsGL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07Q3XHJWL",2,"$190.00"] +["B07Q3ZPWQM","Samsung","\"Samsung Galaxy M30 (64GB, 4GB RAM) 6.4\"\" Display, Low Radiation, Triple Camera, 5000mAh Extended Battery, Global 4G LTE Dual SIM GSM Factory Unlocked M305M/DS - International Model (Gradation Black)\"","https://www.amazon.com/Samsung-M30-Radiation-Extended-Unlocked/dp/B07Q3ZPWQM","https://m.media-amazon.com/images/I/716FQ1yB7JL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07Q3ZPWQM",14,"$259.99"] +["B07Q61VVDC","Samsung","Samsung Galaxy S8 G950U 64GB - Prepaid Boost Mobile (Midnight Black)","https://www.amazon.com/Samsung-Galaxy-S8-G950U-64GB/dp/B07Q61VVDC","https://m.media-amazon.com/images/I/4138L-otq8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07Q61VVDC",4,""] +["B07Q6ZZ4S1","Xiaomi","\"Xiaomi Redmi Note 7 128GB + 4GB RAM 6.3\"\" FHD+ LTE Factory Unlocked 48MP GSM Smartphone (Global Version, No Warranty) (Neptune Blue)\"","https://www.amazon.com/Xiaomi-Factory-Unlocked-Smartphone-Warranty/dp/B07Q6ZZ4S1","https://m.media-amazon.com/images/I/51X1YcLSmXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07Q6ZZ4S1",143,"$205.00"] +["B07Q84DPZH","Samsung","\"Samsung Galaxy A10 32GB (A105M) 6.2\"\" HD+ Infinity-V 4G LTE Factory Unlocked GSM Smartphone - Black\"","https://www.amazon.com/Samsung-A10-Infinity-V-Unlocked-Smartphone/dp/B07Q84DPZH","https://m.media-amazon.com/images/I/61OQjF+8obL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07Q84DPZH",516,"\"$133.50,$179.99\""] +["B07QB9HMLF","Samsung","\"Samsung Galaxy Note 9 N960U 128GB T-Mobile GSM Unlocked Phone (Midnight Black, 128GB)(Renewed)\"","https://www.amazon.com/Samsung-T-Mobile-Unlocked-Midnight-Renewed/dp/B07QB9HMLF","https://m.media-amazon.com/images/I/71qDtN2wn8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.6,"https://www.amazon.com/product-reviews/B07QB9HMLF",3,"$519.95"] +["B07QCCW5KB","Xiaomi","\"Xiaomi Redmi 7 32Gb+3GB RAM 6.26\"\" HD+ LTE Factory Unlocked GMS Smartphone (Global Version, No Warranty) (Eclipse Black)\"","https://www.amazon.com/Xiaomi-Factory-Unlocked-Smartphone-Warranty/dp/B07QCCW5KB","https://m.media-amazon.com/images/I/61EWAOXIXFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07QCCW5KB",61,"$139.00"] +["B07QCQ9JRH","Samsung","Samsung Galaxy M10 M105M 16GB Unlocked GSM Phone w/Dual 13 MP & 5 MP Camera - Ocean Blue","https://www.amazon.com/Samsung-Galaxy-M105M-Unlocked-Camera/dp/B07QCQ9JRH","https://m.media-amazon.com/images/I/41msGeobyxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07QCQ9JRH",24,"\"$149.99,$199.99\""] +["B07QCXPP71","Xiaomi","\"Xiaomi Redmi 7 64GB + 3GB RAM 6.26\"\" HD+ LTE Factory Unlocked GSM Smartphone (Global Version) (Comet Blue)\"","https://www.amazon.com/Xiaomi-Unlocked-Smartphone-Global-Version/dp/B07QCXPP71","https://m.media-amazon.com/images/I/51+GWFYhjUL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07QCXPP71",16,"$155.00"] +["B07QDP1YCJ","Samsung","Samsung Galaxy M20 M205M 32GB Unlocked GSM Phone w/Dual 13 MP & 5 MP Cameras - Ocean Blue","https://www.amazon.com/Samsung-Galaxy-M20-Unlocked-Cameras/dp/B07QDP1YCJ","https://m.media-amazon.com/images/I/41vkCXBDpsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07QDP1YCJ",1,"$199.98"] +["B07QDVJRY6","HUAWEI","\"Huawei Honor 8X (64GB + 4GB RAM) 6.5\"\" HD 4G LTE GSM Factory Unlocked Smartphone - International Version No Warranty JSN-L23 (Blue) (Renewed)\"","https://www.amazon.com/Huawei-Honor-Factory-Unlocked-Smartphone/dp/B07QDVJRY6","https://m.media-amazon.com/images/I/810Q2gd9DkL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07QDVJRY6",2,"$159.99"] +["B07QFFSQFN","Samsung","Samsung Galaxy Note 9 N960U 512GB T-Mobile GSM Unlocked Phone - Ocean Blue (Renewed)","https://www.amazon.com/Samsung-Galaxy-N960U-T-Mobile-Unlocked/dp/B07QFFSQFN","https://m.media-amazon.com/images/I/61seKW0ojYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07QFFSQFN",2,"$675.95"] +["B07QFS3L4G","Samsung","Samsung Galaxy M20 M205M 32GB Unlocked GSM Phone w/Dual 13 MP & 5 MP Camera - Charcoal Black","https://www.amazon.com/Samsung-Galaxy-M20-Unlocked-Camera/dp/B07QFS3L4G","https://m.media-amazon.com/images/I/418T9z1d6zL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07QFS3L4G",17,"$189.75"] +["B07QG4FJ8Z","Samsung","Samsung Galaxy J2 Core 2018 Factory Unlocked 4G LTE (USA Latin Caribbean) Android Oreo SM-J260M Dual Sim 8MP 16GB (Gold)","https://www.amazon.com/Samsung-Factory-Unlocked-Caribbean-SM-J260M/dp/B07QG4FJ8Z","https://m.media-amazon.com/images/I/31f-b5A00bL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07QG4FJ8Z",1,"$103.74"] +["B07QGG4654","Samsung","\"Samsung Galaxy Note 9 N960U 128GB T-Mobile GSM Unlocked Phone (Ocean Blue, 128GB)(Renewed)\"","https://www.amazon.com/Samsung-Galaxy-T-Mobile-Unlocked-Renewed/dp/B07QGG4654","https://m.media-amazon.com/images/I/61seKW0ojYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07QGG4654",9,"$534.00"] +["B07QJCY1SF","Xiaomi","\"Xiaomi Redmi 7 64GB + 3GB RAM 6.26\"\" HD+ LTE Factory Unlocked GSM Smartphone (Global Version) (Eclipse Black)\"","https://www.amazon.com/Xiaomi-Factory-Unlocked-Smartphone-Version/dp/B07QJCY1SF","https://m.media-amazon.com/images/I/71q8k-BVnWL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07QJCY1SF",7,"$150.00"] +["B07QJDF611","Xiaomi","\"Xiaomi Mi 9 (128GB, 6GB RAM) 6.39\"\" OLED Display, 48MP Camera, Snapdragon 855, Factory Unlocked GSM Smartphone (Global 4G LTE Version) (Ocean Blue)\"","https://www.amazon.com/Xiaomi-Display-Snapdragon-Unlocked-Smartphone/dp/B07QJDF611","https://m.media-amazon.com/images/I/51M6y4sAvlL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07QJDF611",40,"$405.00"] +["B07QK32C8M","Xiaomi","\"Xiaomi Redmi Note 7 128GB + 4GB RAM 6.3\"\" FHD+ LTE Factory Unlocked 48MP GSM Smartphone (Global Version, No Warranty) (Space Black)\"","https://www.amazon.com/Xiaomi-Factory-Unlocked-Smartphone-Warranty/dp/B07QK32C8M","https://m.media-amazon.com/images/I/51Hc4HmwwbL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07QK32C8M",132,"$205.00"] +["B07QN78KC6","Samsung","\"Samsung Galaxy A70 SM-A705F/DS Dual-SIM (128GB ROM, 6GB RAM, 6.7-Inch, GSM Only, No CDMA) Factory Unlocked 4G/LTE Smartphone - International Version (White)\"","https://www.amazon.com/Samsung-SM-A705F-Dual-SIM-6-7-Inch-Smartphone/dp/B07QN78KC6","https://m.media-amazon.com/images/I/81eVUR1h6DL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07QN78KC6",22,"$359.00"] +["B07QP7WZ1T","Motorola","Motorola Moto G7 Power 32GB+4GB RAM XT1955-2 LTE Factory Unlocked GSM 5000mAh Battery Smartphone (International Version) (Marine Blue)","https://www.amazon.com/Motorola-XT1955-2-Unlocked-Smartphone-International/dp/B07QP7WZ1T","https://m.media-amazon.com/images/I/41KbWOVZW0L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07QP7WZ1T",45,"$179.64"] +["B07QP9CSFT","Motorola","Motorola One XT1941-3 32B Unlocked GSM Dual-SIM Phone w/Dual 13+2 Megapixel Camera - Black","https://www.amazon.com/Motorola-XT1941-3-Unlocked-Dual-SIM-Megapixel/dp/B07QP9CSFT","https://m.media-amazon.com/images/I/71HSAqR9qXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07QP9CSFT",17,"$150.88"] +["B07QQDZ5SN","HUAWEI","Huawei P30 ELE-L29 128GB Hybrid Dual Sim Unlocked GSM Phone w/Triple (40 MP + 16 MP + 8 MP) Camera - Aurora","https://www.amazon.com/Huawei-ELE-L29-Hybrid-Unlocked-Triple/dp/B07QQDZ5SN","https://m.media-amazon.com/images/I/41G71MpHWmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.4,"https://www.amazon.com/product-reviews/B07QQDZ5SN",23,"\"$549.00,$599.99\""] +["B07QTLB1D9","Nokia","\"Nokia 4.2 - Android One (Pie) - 32 GB - 13+2 MP Dual Camera - Dual SIM Unlocked Smartphone (AT&T/T-Mobile/MetroPCS/Cricket/H2O) - 5.71\"\" HD+ Screen - Black - U.S. Warranty\"","https://www.amazon.com/Nokia-4-2-Unlocked-Smartphone-T-Mobile/dp/B07QTLB1D9","https://m.media-amazon.com/images/I/611ccr6BovL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07QTLB1D9",18,"$188.18"] +["B07QV2JKGQ","Samsung","\"Samsung Galaxy A20 32GB A205G/DS 6.4\"\" HD+ 4,000mAh Battery LTE Factory Unlocked GSM Smartphone (International Version, No Warranty) (Deep Blue)\"","https://www.amazon.com/Samsung-DS-Unlocked-Smartphone-International/dp/B07QV2JKGQ","https://m.media-amazon.com/images/I/61EEPbnigqL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07QV2JKGQ",425,"$159.99"] +["B07QWNFKFF","Motorola","\"Motorola Moto X Force XT1580 64GB Black, 5.4\"\", Unlocked GSM Smartphone, International Stock, No Warranty\"","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-Warranty/dp/B07QWNFKFF","https://m.media-amazon.com/images/I/41H5hvbeGNL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.7,"https://www.amazon.com/product-reviews/B07QWNFKFF",4,"$139.00"] +["B07QZSD327","Samsung","\"Samsung Galaxy A30 (64GB, 4GB RAM) 6.4\"\" FHD+ Infinity-U Display, 16MP+5MP Dual Camera, Dual SIM GSM Factory Unlocked A305G/DS (International Version, No Warranty w/ 64GB MicroSD Bundle) (Black)\"","https://www.amazon.com/Samsung-Infinity-U-Unlocked-International-Warranty/dp/B07QZSD327","https://m.media-amazon.com/images/I/61cj1jJTALL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07QZSD327",172,"$203.07"] +["B07QZZZ7RR","Samsung","\"Samsung Galaxy A10, Global 4G LTE GSM Factory Unlocked A105M (International Mode), (32GB, 2GB RAM) 6.2\"\" HD+ Infinity-V Display, (Black) - Single Sim\"","https://www.amazon.com/Samsung-A10-Unlocked-International-Infinity-V/dp/B07QZZZ7RR","https://m.media-amazon.com/images/I/61GyjhbQXXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.4,"https://www.amazon.com/product-reviews/B07QZZZ7RR",7,"$131.90"] +["B07R3FCNCZ","Samsung","Samsung Galaxy S9+ G965U 256GB Unlocked GSM 4G LTE Phone w/Dual 12MP Camera - Lilac Purplepur (Renewed)","https://www.amazon.com/Samsung-Galaxy-G965U-Unlocked-Camera/dp/B07R3FCNCZ","https://m.media-amazon.com/images/I/81sALUl2D5L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07R3FCNCZ",2,""] +["B07R4PP7FF","Xiaomi","Xiaomi Mi 9 64GB + 6GB RAM - 48MP Ultra High Resolution Camera LTE Factory Unlocked GSM Smartphone (Global Version) (Piano Black)","https://www.amazon.com/Xiaomi-64GB-6GB-RAM-Resolution/dp/B07R4PP7FF","https://m.media-amazon.com/images/I/51OANpTqi8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07R4PP7FF",30,"$384.00"] +["B07R5ZYR77","Xiaomi","\"Xiaomi Mi 9 128GB + 6GB RAM - 48MP Ultra High Resolution Camera LTE Factory Unlocked GSM Smartphone (Global Version, No Warranty) (Piano Black)\"","https://www.amazon.com/Xiaomi-128GB-6GB-RAM-Resolution/dp/B07R5ZYR77","https://m.media-amazon.com/images/I/51OANpTqi8L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.6,"https://www.amazon.com/product-reviews/B07R5ZYR77",27,"$413.90"] +["B07R7DY911","Google","Google - Pixel 3a with 64GB Memory Cell Phone (Unlocked) - Just Black","https://www.amazon.com/Google-Pixel-Memory-Phone-Unlocked/dp/B07R7DY911","https://m.media-amazon.com/images/I/81T-FKC695L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.3,"https://www.amazon.com/product-reviews/B07R7DY911",503,""] +["B07RB78W37","Motorola","\"Moto Z4 – Unlocked – 128 GB – Flash Gray (US Warranty) - Verizon, AT&T, T-Mobile, Sprint, Boost, Cricket, Metro - PAF60007US\"","https://www.amazon.com/Moto-Z4-Unlocked-Warranty-PAF60007US/dp/B07RB78W37","https://m.media-amazon.com/images/I/61CRYY64I4L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07RB78W37",38,"$499.99"] +["B07RCXCPV5","OnePlus","\"OnePlus 7 Pro Dual Sim Factory Unlocked GM1917 8GB+256GB Mirror Gray (ATT, Verizon, Tmobile) - US Warranty\"","https://www.amazon.com/OnePlus-Factory-Unlocked-Verizon-Tmobile/dp/B07RCXCPV5","https://m.media-amazon.com/images/I/71SD8-CNAmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07RCXCPV5",19,"$829.00"] +["B07RN984G5","Samsung","Samsung Galaxy S7 Edge G935P SM-G935P 32GB - Sprint & GSM Unlocked (Blue Coral)","https://www.amazon.com/Samsung-Galaxy-Edge-G935P-SM-G935P/dp/B07RN984G5","https://m.media-amazon.com/images/I/41cMVGfyxoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07RN984G5",1,""] +["B07RS512XL","Samsung","\"Samsung Galaxy A70 128GB/6GB SM-A705MN/DS 6.7\"\" HD+ Infinity-U 4G/LTE Factory Unlocked Smartphone (International Version, No Warranty) (Black)\"","https://www.amazon.com/Samsung-A70-Infinity-U-Smartphone-International/dp/B07RS512XL","https://m.media-amazon.com/images/I/61Ygdf5VvoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07RS512XL",193,"$346.70"] +["B07RXLTVTP","Samsung","Samsung Galaxy J3 V 3rd Gen SM-J337V Eclipse 2 Verizon","https://www.amazon.com/Samsung-Galaxy-SM-J337V-Eclipse-Verizon/dp/B07RXLTVTP","https://m.media-amazon.com/images/I/51DTneJmgZL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07RXLTVTP",1,""] +["B07RYBGNDQ","OnePlus","\"OnePlus 6T A6013 128GB Storage + 8GB Memory, 6.41 inch AMOLED Display, Android 9 - Mirror Black US Version VERIZON + GSM T-Mobile Unlocked Phone (Renewed)\"","https://www.amazon.com/OnePlus-Storage-Memory-Display-Android/dp/B07RYBGNDQ","https://m.media-amazon.com/images/I/61Ayh-0gRVL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.3,"https://www.amazon.com/product-reviews/B07RYBGNDQ",7,"$299.99"] +["B07RZ8QFV1","Samsung","Samsung Galaxy Note 9 N960U 128GB T-Mobile GSM Unlocked - Midnight Black","https://www.amazon.com/Samsung-Galaxy-N960U-T-Mobile-Unlocked/dp/B07RZ8QFV1","https://m.media-amazon.com/images/I/61a3e3EzhmL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07RZ8QFV1",4,""] +["B07S41W46Y","HUAWEI","\"Huawei P30 Lite (128GB, 4GB RAM) 6.15\"\" Display, AI Triple Camera, 32MP Selfie, Dual SIM US + Latin 4G LTE GSM Factory Unlocked MAR-LX3A - International Version (Peacock Blue, 128GB + 64GB SD Bundle)\"","https://www.amazon.com/Huawei-Display-Factory-Unlocked-MAR-LX3A/dp/B07S41W46Y","https://m.media-amazon.com/images/I/61B4bvEcA2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.8,"https://www.amazon.com/product-reviews/B07S41W46Y",12,"$309.99"] +["B07SBJPYLW","Motorola","\"Motorola One Vision (128GB) 6.3' Full HD Display, 48MP Camera, Dual SIM US + GLOBAL 4G LTE GSM Factory Unlocked XT1970-1 - International Version (Blue)\"","https://www.amazon.com/Motorola-Display-Factory-Unlocked-XT1970-1/dp/B07SBJPYLW","https://m.media-amazon.com/images/I/41yqnrC7GtL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07SBJPYLW",21,"$310.00"] +["B07SCJNSRT","Samsung","\"Samsung Galaxy A10 32GB A105G/DS LTE Unlocked GSM 6.2\"\" HD+ Smartphone - International Version, No Warranty (Blue)\"","https://www.amazon.com/Samsung-Galaxy-DS-Unlocked-Smartphone/dp/B07SCJNSRT","https://m.media-amazon.com/images/I/615wcLMDicL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07SCJNSRT",74,"$128.00"] +["B07SD888PR","Samsung","\"Samsung Galaxy A10 (32GB, 2GB RAM) 6.2\"\" HD+ Infinity-V Display, Android Pie, Samsung One UI, US + Global 4G LTE Dual SIM GSM Factory Unlocked A105M/DS - International Model (Black, 32GB)\"","https://www.amazon.com/Samsung-A10-Infinity-V-Display-Unlocked/dp/B07SD888PR","https://m.media-amazon.com/images/I/61HGi0tNglL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.5,"https://www.amazon.com/product-reviews/B07SD888PR",2,"$132.98"] +["B07SQ2JZTF","Xiaomi","\"Xiaomi Mi 9T Factory Unlocked Global 4G LTE Dual SIM GSM, Full Screen Display, 6.39\"\" AMOLED FHD, 48MP Triple Camera, (128GB, 6GB RAM) (Glacier Blue)\"","https://www.amazon.com/Xiaomi-Mi-9T-Factory-Unlocked/dp/B07SQ2JZTF","https://m.media-amazon.com/images/I/51UGaYg2+NL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.2,"https://www.amazon.com/product-reviews/B07SQ2JZTF",20,"$344.50"] +["B07SQFPZZM","Samsung","\"Samsung Galaxy A10 32GB A105G/DS LTE Unlocked GSM 6.2\"\" HD+ Smartphone - International Version, No Warranty (Black)\"","https://www.amazon.com/Samsung-Galaxy-DS-Unlocked-Smartphone/dp/B07SQFPZZM","https://m.media-amazon.com/images/I/41DjygLpavL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07SQFPZZM",74,"$128.99"] +["B07SRD6SVX","Samsung","Samsung Galaxy S10e Verizon + GSM Unlocked 128GB Prism White (Renewed)","https://www.amazon.com/Samsung-Galaxy-Verizon-Unlocked-Renewed/dp/B07SRD6SVX","https://m.media-amazon.com/images/I/71+figFvKvL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07SRD6SVX",1,"$498.43"] +["B07SWFLKYW","Nokia","\"Nokia 2.2 - Android 9.0 Pie - 32 GB - Single Sim Unlocked Smartphone (AT&T/T-Mobile/Metropcs/Cricket/Mint) - 5.71\"\" HD+ Screen - Black - U.S. Warranty\"","https://www.amazon.com/Nokia-2-2-Unlocked-Smartphone-T-Mobile/dp/B07SWFLKYW","https://m.media-amazon.com/images/I/61H6LxQvBFL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B07SWFLKYW",5,"$139.99"] +["B07SWR8QZL","Apple","\"Apple iPad Mini 4, 64GB with Retina Display, Wi-Fi + Cellular, Space Gray (Renewed)\"","https://www.amazon.com/Apple-Retina-Display-Cellular-Renewed/dp/B07SWR8QZL","https://m.media-amazon.com/images/I/91Q1I8PuvjL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07SWR8QZL",5,"$289.99"] +["B07T2MQ7MP","Motorola","\"Motorola Moto G7 Play (32GB, 2GB RAM) Dual SIM 5.7\"\" 4G LTE (GSM Only) Factory Unlocked Smartphone International Model XT1952-2 (Gold) (Renewed)\"","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-XT1952-2/dp/B07T2MQ7MP","https://m.media-amazon.com/images/I/41BoQDauT2L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07T2MQ7MP",2,"$143.99"] +["B07TDC7BKR","Samsung","\"Samsung Galaxy A20 SM-A205GDS 32GB, Dual Sim, 6.4\"\" Infinity-V Display, Dual Rear Camera, 3GB RAM, GSM Unlocked International Model, No Warranty (Red)\"","https://www.amazon.com/Samsung-SM-A205GDS-Infinity-V-Unlocked-International/dp/B07TDC7BKR","https://m.media-amazon.com/images/I/41YVOuezwoL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07TDC7BKR",28,"$163.95"] +["B07TRPH8SD","Xiaomi","\"Xiaomi Mi 9T (64GB, 6GB RAM) 6.39\"\" AMOLED FHD + Full Screen Display, 48MP Triple Camera, Global 4G LTE Dual SIM GSM Factory Unlocked - International Version, No Warranty (Glacier Blue)\"","https://www.amazon.com/Xiaomi-AMOLED-Display-Factory-Unlocked/dp/B07TRPH8SD","https://m.media-amazon.com/images/I/519XrCP20FL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.5,"https://www.amazon.com/product-reviews/B07TRPH8SD",68,"$299.99"] +["B07TTJTDQ9","Google","Google - Pixel 3a XL with 64GB Memory Cell Phone (Unlocked) - Just Black (Renewed)","https://www.amazon.com/Google-Pixel-Memory-Unlocked-Renewed/dp/B07TTJTDQ9","https://m.media-amazon.com/images/I/814bCP5oOsL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07TTJTDQ9",1,"$399.00"] +["B07V4TQDZ8","Samsung","\"Samsung Galaxy A80 (128GB, 8GB RAM) 6.7\"\" Display, Rotating Triple Camera, Snapdragon 730, US & Global 4G LTE Dual SIM GSM Factory Unlocked SM-A805F/DS - International Model (Ghost White)\"","https://www.amazon.com/Samsung-A80-Rotating-Snapdragon-Unlocked/dp/B07V4TQDZ8","https://m.media-amazon.com/images/I/61D4rkkw5RL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",5,"https://www.amazon.com/product-reviews/B07V4TQDZ8",1,"$480.99"] +["B07V5KS95Y","Samsung","\"Samsung Galaxy Note 10+ Plus Factory Unlocked Cell Phone with 512GB (U.S. Warranty), Aura Black/ Note10+\"","https://www.amazon.com/Samsung-Galaxy-Factory-Unlocked-Warranty/dp/B07V5KS95Y","https://m.media-amazon.com/images/I/61Y6BSxzezL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.9,"https://www.amazon.com/product-reviews/B07V5KS95Y",46,"\"$1,199.99\""] +["B07V5RGNJK","Samsung","\"Samsung Galaxy A80 SM-A805F/DS Dual Sim (Factory Unlocked) 6.7\"\" 128GB 8GB RAM (Black/Silver/Gold) (Phantom Black)\"","https://www.amazon.com/Samsung-A80-SM-A805F-Factory-Unlocked/dp/B07V5RGNJK","https://m.media-amazon.com/images/I/61BJsABQqYL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2.9,"https://www.amazon.com/product-reviews/B07V5RGNJK",2,"$479.79"] +["B07V682K4N","Motorola","\"Motorola Moto G7 Power (64GB, 4GB RAM) Dual SIM 6.2\"\" 4G LTE (GSM Only) Factory Unlocked Smartphone International Model XT1955-2 No Warranty (Violet) (Renewed)\"","https://www.amazon.com/Motorola-Unlocked-Smartphone-International-XT1955-2/dp/B07V682K4N","https://m.media-amazon.com/images/I/61qXH9YwpBL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",1,"https://www.amazon.com/product-reviews/B07V682K4N",1,"$188.99"] +["B07VD3JH2C","Xiaomi","\"Xiaomi Mi A3 64GB + 4GB RAM, Triple Camera, 4G LTE Smartphone - International Global Version (Not just Blue)\"","https://www.amazon.com/Xiaomi-64GB-Triple-Camera-Smartphone/dp/B07VD3JH2C","https://m.media-amazon.com/images/I/51Xm9ay971L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.1,"https://www.amazon.com/product-reviews/B07VD3JH2C",17,"$187.72"] +["B07VXKDVKM","Xiaomi","\"Xiaomi Mi A3 128GB, 4GB RAM 6.1' 48MP AI Triple Camera LTE Factory Unlocked Smartphone (International Version) (More Than White)\"","https://www.amazon.com/Xiaomi-Mi-A3-International-Version/dp/B07VXKDVKM","https://m.media-amazon.com/images/I/51yKg2o1LXL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07VXKDVKM",4,"$211.96"] +["B07VYP6VLS","HUAWEI","\"Huawei Y9 Prime 2019 (128GB, 4GB RAM) 6.59\"\" Display, 3 AI Cameras, 4000mAh Battery, Dual SIM GSM Factory Unlocked - STK-LX3, US & Global 4G LTE International Model (Midnight Black, 128 GB)\"","https://www.amazon.com/Display-Cameras-4000mAh-Battery-Unlocked/dp/B07VYP6VLS","https://m.media-amazon.com/images/I/51I12mfTuAL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07VYP6VLS",6,"$249.99"] +["B07VZL1W7K","Samsung","\"Samsung Galaxy A50 US Version Factory Unlocked Cell Phone with 64GB Memory, 6.4\"\" Screen, [SM-A505UZKNXAA] 12 Month Samsung US Warranty, GSM & CDMA Compatible, Black\"","https://www.amazon.com/Samsung-Unlocked-SM-A505UZKNXAA-Warranty-Compatible/dp/B07VZL1W7K","https://m.media-amazon.com/images/I/71kLFOLKN3L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.8,"https://www.amazon.com/product-reviews/B07VZL1W7K",11,"$349.99"] +["B07WFJ6HRF","Apple","\"Apple iPhone XS, 512GB, Gold - For Verizon (Renewed)\"","https://www.amazon.com/Apple-iPhone-XS-512GB-Gold/dp/B07WFJ6HRF","https://m.media-amazon.com/images/I/71kt40GjztL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3.7,"https://www.amazon.com/product-reviews/B07WFJ6HRF",50,"\"$999.95,$1,349.99\""] +["B07WKSVF6X","Samsung","\"Samsung Galaxy A50 128GB, 4GB RAM 6.4\"\" Display, 25MP, Triple Camera, Global 4G LTE Dual SIM GSM Factory Unlocked A505G/DS - International Model (Black, 128GB + 128GB SD + Case Bundle)\"","https://www.amazon.com/Samsung-A50-Display-Factory-Unlocked/dp/B07WKSVF6X","https://m.media-amazon.com/images/I/61HyCNLJ2+L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4.7,"https://www.amazon.com/product-reviews/B07WKSVF6X",7,"$304.99"] +["B07WVRJQ7V","Samsung","\"Samsung Galaxy S9 (64GB, 4GB RAM) 5.8\"\" QHD+ Display, IP68 Water Resistance, 3000mAh Battery - GSM/CDMA Factory Unlocked (AT&T/T-Mobile/Verizon/Sprint) w/US Warranty - SM-G960U (Midnight Black)\"","https://www.amazon.com/Samsung-Galaxy-S9-Display-Resistance/dp/B07WVRJQ7V","https://m.media-amazon.com/images/I/71EpwFTgLOL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",2,"https://www.amazon.com/product-reviews/B07WVRJQ7V",1,"$519.99"] +["B07WXKWDT2","Motorola","\"Motorola Moto G7 Play (32GB, 2GB RAM) 5.7\"\" HD+ Max Vision Display, Dual SIM GSM Factory Unlocked - XT1952-1, US & Global 4G LTE International Model (Deep Indigo, 32 GB)\"","https://www.amazon.com/Motorola-Vision-Display-Factory-Unlocked/dp/B07WXKWDT2","https://m.media-amazon.com/images/I/51xgfG4A28L._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",3,"https://www.amazon.com/product-reviews/B07WXKWDT2",5,"$139.99"] +["B07X51T2VK","HUAWEI","\"Honor 5X Unlocked Smartphone, 16GB Dark Grey (US Warranty) (Renewed)\"","https://www.amazon.com/Honor-Unlocked-Smartphone-Warranty-Renewed/dp/B07X51T2VK","https://m.media-amazon.com/images/I/71qG253LcxL._AC_UY218_SEARCH213888_FMwebp_QL75_.jpg",4,"https://www.amazon.com/product-reviews/B07X51T2VK",1,"$74.99"] \ No newline at end of file diff --git a/tuplex/test/resources/ndjson/github.json b/tuplex/test/resources/ndjson/github.json new file mode 100644 index 000000000..6495a64e7 --- /dev/null +++ b/tuplex/test/resources/ndjson/github.json @@ -0,0 +1,200 @@ +{"repo":{"id":355634,"url":"https://api.github.dev/repos/projectblacklight/blacklight","name":"projectblacklight/blacklight"},"type":"PushEvent","org":{"gravatar_id":"6cb76a4a521c36d96a0583e7c45eaf95","id":120516,"url":"https://api.github.dev/orgs/projectblacklight","avatar_url":"https://secure.gravatar.com/avatar/6cb76a4a521c36d96a0583e7c45eaf95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"projectblacklight"},"public":true,"created_at":"2011-02-12T00:00:00Z","payload":{"shas":[["d3da39ab96a2caecae5d526596a04820c6f848a6","b31a437f57bdf70558bed8ac28790a53e8174b87@stanford.edu","We have to stay with cucumber < 0.10 and rspec < 2, otherwise our tests break. I updated the gem requirements to reflect this, so people won't accidentally upgrade to a gem version that's too new when they run rake gems:install","Bess Sadler"],["898150b7830102cdc171cbd4304b6a783101c3e3","b31a437f57bdf70558bed8ac28790a53e8174b87@stanford.edu","Removing unused cruise control tasks. Also, we shouldn't remove the coverage.data file, so we can look at the coverage data over time.","Bess Sadler"]],"repo":"projectblacklight/blacklight","actor":"bess","ref":"refs/heads/master","size":2,"head":"898150b7830102cdc171cbd4304b6a783101c3e3","actor_gravatar":"887fa2fcd0cf1cbdc6dc43e5524f33f6","push_id":24643024},"actor":{"gravatar_id":"887fa2fcd0cf1cbdc6dc43e5524f33f6","id":65608,"url":"https://api.github.dev/users/bess","avatar_url":"https://secure.gravatar.com/avatar/887fa2fcd0cf1cbdc6dc43e5524f33f6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"bess"},"id":"1127195475"} +{"repo":{"id":1357116,"url":"https://api.github.dev/repos/ezmobius/super-nginx","name":"ezmobius/super-nginx"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:00:06Z","payload":{"repo":"ezmobius/super-nginx","actor":"sosedoff","actor_gravatar":"cd73497eb3c985f302723424c3fa5b50","action":"started"},"actor":{"gravatar_id":"cd73497eb3c985f302723424c3fa5b50","id":71051,"url":"https://api.github.dev/users/sosedoff","avatar_url":"https://secure.gravatar.com/avatar/cd73497eb3c985f302723424c3fa5b50?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sosedoff"},"id":"1127195541"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:10Z","payload":{"shas":[["4c65fb00df1005d9e2f6d7d7d23018349bc710d5","d677aaa2417cc877d5126f07f47fde466d1099f5@frd-linux.(none)","When truncating we now ensure the empty directories are pruned.\nAlso each time a directory is created or deleted the listeners are informed.\nThe MonitoringBlobListener in the diskquota now monitor the space taken by the directory indexes by adding one block size per directory created.\nDisable the function that was readjusting the quota after a certain amount of updates.","frd"]],"repo":"francoisregis/geowebcache","actor":"francoisregis","ref":"refs/heads/master","size":1,"head":"4c65fb00df1005d9e2f6d7d7d23018349bc710d5","actor_gravatar":"fd79ce8b2ca0a31bd5f796e2298e7f41","push_id":24643030},"actor":{"gravatar_id":"fd79ce8b2ca0a31bd5f796e2298e7f41","id":601242,"url":"https://api.github.dev/users/francoisregis","avatar_url":"https://secure.gravatar.com/avatar/fd79ce8b2ca0a31bd5f796e2298e7f41?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"francoisregis"},"id":"1127195568"} +{"repo":{"id":1253617,"url":"https://api.github.dev/repos/Selenium2/Selenium2","name":"Selenium2/Selenium2"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:10Z","payload":{"shas":[["b359be1fa4612b727f3a0f9e767d0b63ad92a459","01cb3f2769d800f9e9ef8dc415a67f1f552831ea@07704840-8298-11de-bf8c-fd130f914ac9","Revert \"JariBakken (on behalf of derekekins): Fix for Zipper.zip on Windows. Closes #1286.\"\n\ngit-svn-id: https://selenium.googlecode.com/svn/trunk@11371 07704840-8298-11de-bf8c-fd130f914ac9","jari.bakken"],["bf44d16a621971fa414968b875e45de2c063d736","01cb3f2769d800f9e9ef8dc415a67f1f552831ea@07704840-8298-11de-bf8c-fd130f914ac9","JariBakken: Properly fix Firefox::Profile serialization on Windows.\n\ngit-svn-id: https://selenium.googlecode.com/svn/trunk@11372 07704840-8298-11de-bf8c-fd130f914ac9","jari.bakken"]],"repo":"Selenium2/Selenium2","actor":"Selenium2","ref":"refs/heads/master","size":2,"head":"bf44d16a621971fa414968b875e45de2c063d736","actor_gravatar":"3c2ad6b6efb1c84d9ff60259f8c8ef95","push_id":24643031},"actor":{"gravatar_id":"9aa15bd565d4cd32b424421d33a94998","id":564176,"url":"https://api.github.dev/users/Selenium2","avatar_url":"https://secure.gravatar.com/avatar/9aa15bd565d4cd32b424421d33a94998?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Selenium2"},"id":"1127195569"} +{"repo":{"id":681382,"url":"https://api.github.dev/repos/appcelerator/webkit_titanium","name":"appcelerator/webkit_titanium"},"type":"PushEvent","org":{"gravatar_id":"01d8a2b8546d6479cf4323d72cbed363","id":82188,"url":"https://api.github.dev/orgs/appcelerator","avatar_url":"https://secure.gravatar.com/avatar/01d8a2b8546d6479cf4323d72cbed363?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"appcelerator"},"public":true,"created_at":"2011-02-12T00:00:17Z","payload":{"shas":[["023f4ad8279d727acb65e7179fe221b55137bddf","a82ad16292c9f3b890b7b13c336ff95f6bd02623@webkit.org","2011-02-11 Mike Reed \n\n Reviewed by James Robinson.\n\n Need makeContextCurrent() called in prepareForSoftwareDraw(), in the case that skia's backend\n is the gpu. This matches the pattern in GraphicsContext3DOpenGL.cpp\n\n No new tests. All existing canvas layouttests exercise this code path\n\n * platform/graphics/skia/PlatformContextSkia.cpp:\n (WebCore::PlatformContextSkia::prepareForSoftwareDraw):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78377 268f45cc-cd09-0410-ab3c-d52691b4dbfc","commit-queue@webkit.org"],["6ca27f337d08f1d2e640ca94110ca22dd665db03","1213f304cb4206c2f96b41c3de6fca27b6572fb1@apple.com","Crash with dynamic popup menu use\n\n\nReviewed by Anders Carlsson.\n\nInvalidate popup menus when forcing them closed, since they might still be\nin their tracking loop.\n\n* UIProcess/WebPageProxy.cpp:\n(WebKit::WebPageProxy::showPopupMenu):\n(WebKit::WebPageProxy::hidePopupMenu):\n* UIProcess/WebPopupMenuProxy.h:\n(WebKit::WebPopupMenuProxy::invalidate):\n* UIProcess/mac/WebPopupMenuProxyMac.mm:\n(WebKit::WebPopupMenuProxyMac::showPopupMenu):\n* UIProcess/win/WebPopupMenuProxyWin.cpp:\n(WebKit::WebPopupMenuProxyWin::showPopupMenu):\n(WebKit::WebPopupMenuProxyWin::setFocusedIndex):\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78381 268f45cc-cd09-0410-ab3c-d52691b4dbfc","weinig@apple.com"],["b843ba8559807e7f214c133915590ee48118da9e","3900621269810b30d05a7a0a00185ac6ac0d42c4@apple.com","2011-02-11 Geoffrey Garen \n\n Reviewed by Oliver Hunt.\n\n A little more encapsulation for the heap: Removed CollectorHeapIterator\n https://bugs.webkit.org/show_bug.cgi?id=54298\n\n CollectorHeapIterator is a God object that knows the internals of each\n of the pieces of the heap. This undermines the encapsulation I'm trying\n to achieve by splitting concepts into different classes.\n\n As an alternative, I've given each class a forEach iteration function,\n which takes a functor as an argument. Now, each class just needs to\n know how to iterate the things it knows about.\n\n * GNUmakefile.am:\n * JavaScriptCore.exp:\n * JavaScriptCore.gypi:\n * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Removed CollectorHeapIterator.\n\n * debugger/Debugger.cpp:\n (JSC::Recompiler::Recompiler):\n (JSC::Recompiler::~Recompiler):\n (JSC::Recompiler::operator()):\n (JSC::Debugger::recompileAllJSFunctions): Updated to use forEach interface\n instead of an iterator.\n\n * runtime/CollectorHeapIterator.h: Removed.\n\n * runtime/Heap.cpp:\n (JSC::TypeCounter::TypeCounter):\n (JSC::TypeCounter::typeName):\n (JSC::TypeCounter::operator()):\n (JSC::TypeCounter::take):\n (JSC::Heap::protectedObjectTypeCounts):\n (JSC::Heap::objectTypeCounts): Added forEach and removed iterator.\n\n * runtime/Heap.h:\n (JSC::Heap::forEach):\n * runtime/JSGlobalData.cpp:\n (JSC::Recompiler::operator()):\n (JSC::JSGlobalData::recompileAllJSFunctions):\n\n * runtime/MarkedBlock.h:\n (JSC::MarkedBlock::forEach): Added forEach. Removed friend declaration\n for CollectorHeapIterator. Now, we can make all our data private and\n change it without breaking any other classes.\n\n * runtime/MarkedSpace.cpp:\n * runtime/MarkedSpace.h:\n (JSC::MarkedSpace::forEach): Added forEach and removed iterator.\n2011-02-11 Geoffrey Garen \n\n Reviewed by Oliver Hunt.\n\n A little more encapsulation for the heap: Removed CollectorHeapIterator\n https://bugs.webkit.org/show_bug.cgi?id=54298\n\n * WebCoreStatistics.cpp:\n (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):\n2011-02-11 Geoffrey Garen \n\n Reviewed by Oliver Hunt.\n\n A little more encapsulation for the heap: Removed CollectorHeapIterator\n https://bugs.webkit.org/show_bug.cgi?id=54298\n\n * Misc/WebCoreStatistics.mm:\n (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):\n (+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78382 268f45cc-cd09-0410-ab3c-d52691b4dbfc","ggaren@apple.com"],["666336174cc920604d4fd00f7b7b6dde7839a6ca","96f164ad4d9b2b0dacf8ebee2bb1eeb3aa69adf1@webkit.org","2011-02-11 Eric Seidel \n\n Reviewed by Adam Barth.\n\n KURL should remove default port numbers when cannonicalizing urls (to match every other browser)\n https://bugs.webkit.org/show_bug.cgi?id=54090\n\n Added a new test to show that we are intentionally removing\n a colon after a host name. http://foo.com:/ -> http://foo.com/\n\n * fast/url/port-expected.txt:\n * fast/url/relative-unix-expected.txt:\n * fast/url/segments-expected.txt:\n * fast/url/segments-from-data-url-expected.txt:\n * fast/url/standard-url-expected.txt:\n2011-02-11 Eric Seidel \n\n Reviewed by Adam Barth.\n\n KURL should remove default port numbers when cannonicalizing urls (to match every other browser)\n https://bugs.webkit.org/show_bug.cgi?id=54090\n\n * platform/KURL.cpp:\n (WebCore::isDefaultPortForScheme):\n (WebCore::KURL::parse):\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78383 268f45cc-cd09-0410-ab3c-d52691b4dbfc","eric@webkit.org"],["8656d0492cdb57ed0142eab54755d1aa397803ec","3900621269810b30d05a7a0a00185ac6ac0d42c4@apple.com","Try to fix the Windows build: added an exported symbol.\n\n* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:\n\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78384 268f45cc-cd09-0410-ab3c-d52691b4dbfc","ggaren@apple.com"],["7bb9915b09f378272b74f7c43638e3bd12782597","af664bbd4d5aee5df9352ca181b40e17255c4a06@apple.com","2011-02-11 Anders Carlsson \n\n Reviewed by Sam Weinig.\n\n Add a way to send async messages that can't get out of order with sync ones\n https://bugs.webkit.org/show_bug.cgi?id=54319\n \n\n * Platform/CoreIPC/Connection.cpp:\n (CoreIPC::Connection::sendMessage):\n sendMessage now takes a messageSendFlags. Update the messageID if the\n messageSendFlags contain DispatchMessageEvenWhenWaitingForSyncReply.\n\n (CoreIPC::Connection::waitForSyncReply):\n Process asynchronous messages as well.\n\n (CoreIPC::Connection::processIncomingMessage):\n Check if a message should be dispatched even when we're waiting for a\n synchronous reply.\n\n * Platform/CoreIPC/Connection.h:\n (CoreIPC::Connection::send):\n Send now takes a messageSendFlags parameter.\n\n * Platform/CoreIPC/MessageID.h:\n (CoreIPC::MessageID::messageIDWithAddedFlags):\n Return a new MessageID object with the given flags added.\n\n (CoreIPC::MessageID::shouldDispatchMessageWhenWaitingForSyncReply):\n Add getter.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78385 268f45cc-cd09-0410-ab3c-d52691b4dbfc","andersca@apple.com"],["635c615a3e8a57f324193026e10b81bcd6a1c27e","3900621269810b30d05a7a0a00185ac6ac0d42c4@apple.com","2011-02-11 Geoffrey Garen \n\n Reviewed by Sam Weinig.\n\n Garbage collection timer cycles forever, even when nothing is happening\n https://bugs.webkit.org/show_bug.cgi?id=54320\n\n * runtime/GCActivityCallbackCF.cpp:\n (JSC::DefaultGCActivityCallbackPlatformData::trigger): Be sure to make\n our timer inert after forcing a GC, to avoid GC'ing repeatedly.\n\n\ngit-svn-id: http://svn.webkit.org/repository/webkit/trunk@78386 268f45cc-cd09-0410-ab3c-d52691b4dbfc","ggaren@apple.com"]],"repo":"appcelerator/webkit_titanium","actor":"joshthecoder","ref":"refs/heads/master","size":7,"head":"635c615a3e8a57f324193026e10b81bcd6a1c27e","actor_gravatar":"1ac0f2a98e4ab76825933758f4ce98f7","push_id":24643037},"actor":{"gravatar_id":"1ac0f2a98e4ab76825933758f4ce98f7","id":25644,"url":"https://api.github.dev/users/joshthecoder","avatar_url":"https://secure.gravatar.com/avatar/1ac0f2a98e4ab76825933758f4ce98f7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"joshthecoder"},"id":"1127195580"} +{"repo":{"id":1246284,"url":"https://api.github.dev/repos/urzuae/spd","name":"urzuae/spd"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:19Z","payload":{"shas":[["cbafdd8efd6acc76ff96efc5164421b4384f454c","2e9870bc96c92d64777798edc35263281b049872@gmail.com","Modificar mayoristas y ciclo de distribuidores","Enrique Urzúa"]],"repo":"urzuae/spd","actor":"urzuae","ref":"refs/heads/master","size":1,"head":"cbafdd8efd6acc76ff96efc5164421b4384f454c","actor_gravatar":"7c93d35d03f2b75f305617e3bedf20cf","push_id":24643041},"actor":{"gravatar_id":"7c93d35d03f2b75f305617e3bedf20cf","id":224653,"url":"https://api.github.dev/users/urzuae","avatar_url":"https://secure.gravatar.com/avatar/7c93d35d03f2b75f305617e3bedf20cf?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"urzuae"},"id":"1127195629"} +{"repo":{"id":832431,"url":"https://api.github.dev/repos/arokem/nitime","name":"arokem/nitime"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:22Z","payload":{"shas":[["c8a96b606ad68cfa968dbbacf011af7228c6d050","5b588a5dffd73a09c11894390aff4cb696eac972@berkeley.edu","Added a filtfilt method to the FilterAnalyzer","arokem"],["3e9cfab68f6b6b28485759dae9ed849eb586a980","5b588a5dffd73a09c11894390aff4cb696eac972@berkeley.edu","More work on filtfilt FilterAnalyzer method, including using this as a\nfiltering method in fmri.io and some tests.","arokem"],["90c21264b3ce7ea30e9fd21a48b4d3f30f1df58e","5b588a5dffd73a09c11894390aff4cb696eac972@berkeley.edu","Merge branch 'filtfilt' of github.com:arokem/nitime into filtfilt\n\nConflicts:\n\tnitime/analysis.py\n\tnitime/tests/test_analysis.py","arokem"]],"repo":"arokem/nitime","actor":"arokem","ref":"refs/heads/filtfilt","size":3,"head":"90c21264b3ce7ea30e9fd21a48b4d3f30f1df58e","actor_gravatar":"f75a7cfe036871a9a205a2fe1a935a8c","push_id":24643044},"actor":{"gravatar_id":"f75a7cfe036871a9a205a2fe1a935a8c","id":118582,"url":"https://api.github.dev/users/arokem","avatar_url":"https://secure.gravatar.com/avatar/f75a7cfe036871a9a205a2fe1a935a8c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"arokem"},"id":"1127195641"} +{"repo":{"id":1345302,"url":"https://api.github.dev/repos/jkbrooks/sample_app","name":"jkbrooks/sample_app"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:23Z","payload":{"shas":[["2302f7801a80e74b6b8e9edd3a2950f1c94d06d4","1aee2a66e1d92ff9779db70e034070e37aca5cfd@devserv.com","Finished Exercises","Jazzy"]],"repo":"jkbrooks/sample_app","actor":"jkbrooks","ref":"refs/heads/master","size":1,"head":"2302f7801a80e74b6b8e9edd3a2950f1c94d06d4","actor_gravatar":"50117b6e69922bf5092a328cc937a3c4","push_id":24643045},"actor":{"gravatar_id":"50117b6e69922bf5092a328cc937a3c4","id":129074,"url":"https://api.github.dev/users/jkbrooks","avatar_url":"https://secure.gravatar.com/avatar/50117b6e69922bf5092a328cc937a3c4?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jkbrooks"},"id":"1127195642"} +{"repo":{"id":890377,"url":"https://api.github.dev/repos/networkx/networkx","name":"networkx/networkx"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:25Z","payload":{"shas":[["9e4e115027ca05bffa873cb376a69b09da8bcba1","3620820b16168e233c7e9c506b9d28acc3712e0e@gmail.com","Correct behavior when nstart dictionary provided to hits algorithm.","Loïc Séguin-C."],["d6f72dc58c31da3808a8c736cfdb0452c3c0466c","3620820b16168e233c7e9c506b9d28acc3712e0e@gmail.com","Remove statements that do nothing.","Loïc Séguin-C."],["391cfb88bc90ddb4772b901035a698b9defc584c","3620820b16168e233c7e9c506b9d28acc3712e0e@gmail.com","Remove statement that does nothing.","Loïc Séguin-C."]],"repo":"networkx/networkx","actor":"networkx","ref":"refs/heads/master","size":3,"head":"391cfb88bc90ddb4772b901035a698b9defc584c","actor_gravatar":"839f97e174de34ac9e485680f0c5113c","push_id":24643048},"actor":{"gravatar_id":"839f97e174de34ac9e485680f0c5113c","id":388785,"url":"https://api.github.dev/users/networkx","avatar_url":"https://secure.gravatar.com/avatar/839f97e174de34ac9e485680f0c5113c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"networkx"},"id":"1127195649"} +{"repo":{"id":1281265,"url":"https://api.github.dev/repos/spurious/clang-mirror","name":"spurious/clang-mirror"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:27Z","payload":{"shas":[["d7852ccdb67375be596727b9de4d8da9e8be7b9b","cd8c339e5d347fa8a115ac188d380e9ee64449d2@91177308-0d34-0410-b5e6-96231b3b80d8","Don't report dead stores on unreachable code paths. Fixes .\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@125415 91177308-0d34-0410-b5e6-96231b3b80d8","kremenek"],["98f2bdcd155d84046fa9a18c966b4c069e46110a","88e414745fc8426792f425b83de2245b06c1994f@91177308-0d34-0410-b5e6-96231b3b80d8","Add CMake dependencies so that LLVM_USED_LIBS order doesn't matter.\n\nI also sorted the tools/driver dependencies since their order no\nlonger matters.\n\n\ngit-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@125417 91177308-0d34-0410-b5e6-96231b3b80d8","jyasskin"]],"repo":"spurious/clang-mirror","actor":"spurious","ref":"refs/heads/trunk","size":2,"head":"98f2bdcd155d84046fa9a18c966b4c069e46110a","actor_gravatar":"43879d0feeead0dcdf6b3fa368714eef","push_id":24643049},"actor":{"gravatar_id":"43879d0feeead0dcdf6b3fa368714eef","id":577737,"url":"https://api.github.dev/users/spurious","avatar_url":"https://secure.gravatar.com/avatar/43879d0feeead0dcdf6b3fa368714eef?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"spurious"},"id":"1127195668"} +{"repo":{"id":548213,"url":"https://api.github.dev/repos/qooxdoo/qooxdoo","name":"qooxdoo/qooxdoo"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:27Z","payload":{"shas":[["f0d8fd10564f96e4f5f1c8df69afa2dce2d72060","53566a40310e7120a373d88c94d924839fd4b1fa@1und1.de","[BUG #3652] Added more unit tests\n\ngit-svn-id: https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk@24996 61aaf1ca-a10e-0410-b9fb-ac63ec25887f","Daniel Wagner"],["2bf30c6b9b45e3a795491d9bb6f53c69e57e8319","53566a40310e7120a373d88c94d924839fd4b1fa@1und1.de","[BUG #3652] Fire a changeValue event when the text field loses focus\n\ngit-svn-id: https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk@24997 61aaf1ca-a10e-0410-b9fb-ac63ec25887f","Daniel Wagner"],["b523d14394b69e624ccb8fc4c4faadb104bc4fa8","d6d54fc17dc8b1fdd8582479ae3439a5b54b0d23@1und1.de","[BUG 4636] Fixed feature detection for data URLs in IE8 and Opera 11. Now this detection is done in the 'defer' block of 'qx.bom.client.Feature' so this class is already defined and the race condition is removed.\n\ngit-svn-id: https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk@24998 61aaf1ca-a10e-0410-b9fb-ac63ec25887f","Alexander Steitz"],["98327cf72c8f2dd8c871e1f0ab612ebfbdbe8535","53566a40310e7120a373d88c94d924839fd4b1fa@1und1.de","[BUG #4372] Ensured compatibility with Simple theme\n\ngit-svn-id: https://qooxdoo.svn.sourceforge.net/svnroot/qooxdoo/trunk@24999 61aaf1ca-a10e-0410-b9fb-ac63ec25887f","Daniel Wagner"]],"repo":"qooxdoo/qooxdoo","actor":"qooxdoo","ref":"refs/heads/master","size":4,"head":"98327cf72c8f2dd8c871e1f0ab612ebfbdbe8535","actor_gravatar":"4d12dc3e9cb5835e51cfd5648ee16a59","push_id":24643050},"actor":{"gravatar_id":"4d12dc3e9cb5835e51cfd5648ee16a59","id":105118,"url":"https://api.github.dev/users/qooxdoo","avatar_url":"https://secure.gravatar.com/avatar/4d12dc3e9cb5835e51cfd5648ee16a59?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"qooxdoo"},"id":"1127195669"} +{"repo":{"id":1306721,"url":"https://api.github.dev/repos/rawomega/graviti","name":"rawomega/graviti"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:29Z","payload":{"shas":[["0f9e04dfcc501233b7d7f0c7a6bf89138b945aad","f039d52e643b73477d23ea4ab571964f47e7c695@yahoo.com","Added little echo app","u-phoria"]],"repo":"rawomega/graviti","actor":"rawomega","ref":"refs/heads/master","size":1,"head":"0f9e04dfcc501233b7d7f0c7a6bf89138b945aad","actor_gravatar":"1303719b60d8ce642ccc860118159ffc","push_id":24643053},"actor":{"gravatar_id":"1303719b60d8ce642ccc860118159ffc","id":587400,"url":"https://api.github.dev/users/rawomega","avatar_url":"https://secure.gravatar.com/avatar/1303719b60d8ce642ccc860118159ffc?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rawomega"},"id":"1127195735"} +{"repo":{"id":1332060,"url":"https://api.github.dev/repos/gray-/geneticpy","name":"gray-/geneticpy"},"type":"IssuesEvent","public":true,"created_at":"2011-02-12T00:00:29Z","payload":{"number":19,"repo":"gray-/geneticpy","actor":"gray-","actor_gravatar":"f78a35cfdffe45bcafce761d66f89471","issue":590552,"action":"closed"},"actor":{"gravatar_id":"f78a35cfdffe45bcafce761d66f89471","id":587232,"url":"https://api.github.dev/users/gray-","avatar_url":"https://secure.gravatar.com/avatar/f78a35cfdffe45bcafce761d66f89471?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gray-"},"id":"1127195736"} +{"repo":{"id":1356006,"url":"https://api.github.dev/repos/joearms/SEBG","name":"joearms/SEBG"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:00:30Z","payload":{"repo":"joearms/SEBG","actor":"dkujawski","actor_gravatar":"b7a622234d2fd7d8526e3d778862c3da","action":"started"},"actor":{"gravatar_id":"b7a622234d2fd7d8526e3d778862c3da","id":515959,"url":"https://api.github.dev/users/dkujawski","avatar_url":"https://secure.gravatar.com/avatar/b7a622234d2fd7d8526e3d778862c3da?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dkujawski"},"id":"1127195743"} +{"repo":{"id":1243816,"url":"https://api.github.dev/repos/urzuae/spl","name":"urzuae/spl"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:31Z","payload":{"shas":[["bd973c177e9c920e746b25cefb8bf6547366a10e","2e9870bc96c92d64777798edc35263281b049872@gmail.com","Cambiar modulos","Enrique Urzúa"]],"repo":"urzuae/spl","actor":"urzuae","ref":"refs/heads/master","size":1,"head":"bd973c177e9c920e746b25cefb8bf6547366a10e","actor_gravatar":"7c93d35d03f2b75f305617e3bedf20cf","push_id":24643055},"actor":{"gravatar_id":"7c93d35d03f2b75f305617e3bedf20cf","id":224653,"url":"https://api.github.dev/users/urzuae","avatar_url":"https://secure.gravatar.com/avatar/7c93d35d03f2b75f305617e3bedf20cf?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"urzuae"},"id":"1127195746"} +{"repo":{"id":1356751,"url":"https://api.github.dev/repos/ardcore/pewpewtowers","name":"ardcore/pewpewtowers"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:32Z","payload":{"shas":[["328c2aae51b21e10f7b1c127cf099fbb674fb140","f2206b280952d4132a7a368c131a65a823a47dde@gmail.com","initial commit","Tomasz T"],["386e23bc0c7ac77818a683bdec977280bf15e163","f2206b280952d4132a7a368c131a65a823a47dde@gmail.com","map pixel data caching","Tomasz T"],["23abbf32eea149fcc8e6475476bce6bb06781fdb","234029ec7f8bcc9b9685c41794052a15e46174b4@gmail.com","merge?","Szymon Pilkowski"]],"repo":"ardcore/temprepo","actor":"ardcore","ref":"refs/heads/master","size":3,"head":"23abbf32eea149fcc8e6475476bce6bb06781fdb","actor_gravatar":"1a101cb270d186fd5eca97d01c4f1248","push_id":24643058},"actor":{"gravatar_id":"1a101cb270d186fd5eca97d01c4f1248","id":49605,"url":"https://api.github.dev/users/ardcore","avatar_url":"https://secure.gravatar.com/avatar/1a101cb270d186fd5eca97d01c4f1248?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ardcore"},"id":"1127195750"} +{"repo":{"id":1352324,"url":"https://api.github.dev/repos/jdriscoll/django-imagekit","name":"jdriscoll/django-imagekit"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:00:32Z","payload":{"repo":"jdriscoll/django-imagekit","actor":"matagus","actor_gravatar":"db3b3decf3a49e94f49172034f5df598","action":"started"},"actor":{"gravatar_id":"db3b3decf3a49e94f49172034f5df598","id":58519,"url":"https://api.github.dev/users/matagus","avatar_url":"https://secure.gravatar.com/avatar/db3b3decf3a49e94f49172034f5df598?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"matagus"},"id":"1127195751"} +{"repo":{"id":1356751,"url":"https://api.github.dev/repos/ardcore/pewpewtowers","name":"ardcore/pewpewtowers"},"type":"PullRequestEvent","public":true,"created_at":"2011-02-12T00:00:33Z","payload":{"number":1,"pull_request":{"title":"czyn to!","number":1,"commits":2,"deletions":409,"id":71786,"issue_id":593146,"additions":1065},"repo":"ardcore/temprepo","actor":"ardcore","actor_gravatar":"1a101cb270d186fd5eca97d01c4f1248","action":"closed"},"actor":{"gravatar_id":"1a101cb270d186fd5eca97d01c4f1248","id":49605,"url":"https://api.github.dev/users/ardcore","avatar_url":"https://secure.gravatar.com/avatar/1a101cb270d186fd5eca97d01c4f1248?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ardcore"},"id":"1127195757"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"FollowEvent","public":true,"created_at":"2011-02-12T00:00:33Z","payload":{"target":{"gravatar_id":"b50d3f9ed186e43dfcc867571749393c","repos":8,"followers":151,"login":"joearms"},"actor":"mulander","actor_gravatar":"ec96450f3351c57eeaea1c9c2599e85d"},"actor":{"gravatar_id":"ec96450f3351c57eeaea1c9c2599e85d","id":107247,"url":"https://api.github.dev/users/mulander","avatar_url":"https://secure.gravatar.com/avatar/ec96450f3351c57eeaea1c9c2599e85d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mulander"},"id":"1127195797"} +{"repo":{"id":1251049,"url":"https://api.github.dev/repos/cloudsmith/geppetto","name":"cloudsmith/geppetto"},"type":"IssuesEvent","org":{"gravatar_id":"13b179cbf3d10c401b01c09b6fb9d248","id":458517,"url":"https://api.github.dev/orgs/cloudsmith","avatar_url":"https://secure.gravatar.com/avatar/13b179cbf3d10c401b01c09b6fb9d248?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"cloudsmith"},"public":true,"created_at":"2011-02-12T00:00:41Z","payload":{"number":19,"repo":"cloudsmith/geppetto","actor":"hlindberg","actor_gravatar":"3158c969e5c43e681b03abe4c8d0b33c","issue":593175,"action":"opened"},"actor":{"gravatar_id":"3158c969e5c43e681b03abe4c8d0b33c","id":563066,"url":"https://api.github.dev/users/hlindberg","avatar_url":"https://secure.gravatar.com/avatar/3158c969e5c43e681b03abe4c8d0b33c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"hlindberg"},"id":"1127195802"} +{"repo":{"id":553200,"url":"https://api.github.dev/repos/wincent/Command-T","name":"wincent/Command-T"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:00:41Z","payload":{"repo":"wincent/Command-T","actor":"hail2u","actor_gravatar":"38b5f9f7d2faa315ec10866e18fc3bd7","action":"started"},"actor":{"gravatar_id":"38b5f9f7d2faa315ec10866e18fc3bd7","id":68940,"url":"https://api.github.dev/users/hail2u","avatar_url":"https://secure.gravatar.com/avatar/38b5f9f7d2faa315ec10866e18fc3bd7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"hail2u"},"id":"1127195803"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:00:42Z","payload":{"name":"gist: 823305","desc":null,"actor":"probablycorey","url":"https://gist.github.com/823305","actor_gravatar":"ac65e62b7ad42e9bc5fdf391d0e250a7","snippet":"#import \n\nwaxClass{\"AppDelegate\", protocols = {\"UIApplicationDelegate\"}}","action":"fork"},"actor":{"gravatar_id":"ac65e62b7ad42e9bc5fdf391d0e250a7","id":596,"url":"https://api.github.dev/users/probablycorey","avatar_url":"https://secure.gravatar.com/avatar/ac65e62b7ad42e9bc5fdf391d0e250a7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"probablycorey"},"id":"1127195804"} +{"repo":{"id":1146844,"url":"https://api.github.dev/repos/ninject/ninject.extensions.wf","name":"ninject/ninject.extensions.wf"},"type":"GollumEvent","org":{"gravatar_id":"b46527233865dd59f195fe0c2115a6e0","id":254550,"url":"https://api.github.dev/orgs/ninject","avatar_url":"https://secure.gravatar.com/avatar/b46527233865dd59f195fe0c2115a6e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"ninject"},"public":true,"created_at":"2011-02-12T00:00:43Z","payload":{"title":"Home","summary":null,"repo":"ninject/ninject.extensions.wf","sha":"3ef341252dc952ffc8985f6329dfcb4e50fef606","actor":"ninject","page_name":"Home","actor_gravatar":"b46527233865dd59f195fe0c2115a6e0","action":"created"},"actor":{"gravatar_id":"b46527233865dd59f195fe0c2115a6e0","id":254550,"url":"https://api.github.dev/users/ninject","avatar_url":"https://secure.gravatar.com/avatar/b46527233865dd59f195fe0c2115a6e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ninject"},"id":"1127195882"} +{"repo":{"id":1300702,"url":"https://api.github.dev/repos/square/apn_on_rails","name":"square/apn_on_rails"},"type":"PushEvent","org":{"gravatar_id":"d87fe401b5fc9a4fc9bfd75febcab7c7","id":82592,"url":"https://api.github.dev/orgs/square","avatar_url":"https://secure.gravatar.com/avatar/d87fe401b5fc9a4fc9bfd75febcab7c7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"square"},"public":true,"created_at":"2011-02-12T00:00:44Z","payload":{"shas":[["3e7dff3114b3f504fcfc2f9ce82d5e3aaf2e77ff","2a33dd1c84f20b9218449bebb11e6c89f1434128@squareup.com","Use extended format for APN protocol.\nDelete device if we get errors for it and continue.","Matt Wilson & Christian Williams"]],"repo":"square/apn_on_rails","actor":"square-dev","ref":"refs/heads/master","size":1,"head":"3e7dff3114b3f504fcfc2f9ce82d5e3aaf2e77ff","actor_gravatar":"522b8d15e6ae8191e52400849c2b5734","push_id":24643065},"actor":{"gravatar_id":"522b8d15e6ae8191e52400849c2b5734","id":346371,"url":"https://api.github.dev/users/square-dev","avatar_url":"https://secure.gravatar.com/avatar/522b8d15e6ae8191e52400849c2b5734?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"square-dev"},"id":"1127195983"} +{"repo":{"id":997263,"url":"https://api.github.dev/repos/adegtiar/Android-Activity-Tracker","name":"adegtiar/Android-Activity-Tracker"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:46Z","payload":{"shas":[["98f0318563605f9eba89c647bd94ebb3c3aff826","e99b5f69c84a71b4710930b3149f483441f3a7ad@berkeley.edu","Added maps. Testing it more thoroughly now by going across campus","Kyle"],["49a947a14f995256dd79708882f866d2a241ac77","e99b5f69c84a71b4710930b3149f483441f3a7ad@berkeley.edu","Fixed some bugs related to maps","Kyle"]],"repo":"adegtiar/Android-Activity-Tracker","actor":"adegtiar","ref":"refs/heads/master","size":2,"head":"49a947a14f995256dd79708882f866d2a241ac77","actor_gravatar":"6364b9c7a1c166e2305386aaa073bf7b","push_id":24643073},"actor":{"gravatar_id":"6364b9c7a1c166e2305386aaa073bf7b","id":437304,"url":"https://api.github.dev/users/adegtiar","avatar_url":"https://secure.gravatar.com/avatar/6364b9c7a1c166e2305386aaa073bf7b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"adegtiar"},"id":"1127196042"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:00:50Z","payload":{"name":"gist: 823302","desc":null,"actor":"Tolmark12","url":"https://gist.github.com/823302","actor_gravatar":"f31f83f4cc7f6126a28e86fb2f751d70","snippet":"general:\n #\n # writable_directories: a list of directories that your php app is","action":"update"},"actor":{"gravatar_id":"f31f83f4cc7f6126a28e86fb2f751d70","id":4827,"url":"https://api.github.dev/users/Tolmark12","avatar_url":"https://secure.gravatar.com/avatar/f31f83f4cc7f6126a28e86fb2f751d70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Tolmark12"},"id":"1127196053"} +{"repo":{"id":54942,"url":"https://api.github.dev/repos/Voker57/kvirc","name":"Voker57/kvirc"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:53Z","payload":{"shas":[["6a7f82849a6411f0a130f4b0b430827a4ec281b4","15ae54d34f13a2edebd5525b9ec47bc142b5fbc9@17fca916-40b9-46aa-a4ea-0a15b648b75c","updated turkish translation\n\ngit-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5464 17fca916-40b9-46aa-a4ea-0a15b648b75c","nakre"],["2aab9f93427726f91ad5e4c0867a2e58bd34faee","15ae54d34f13a2edebd5525b9ec47bc142b5fbc9@17fca916-40b9-46aa-a4ea-0a15b648b75c","added turkish translation\n\ngit-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5465 17fca916-40b9-46aa-a4ea-0a15b648b75c","nakre"],["96fe9510bf12bdc246160276e8ae7e12202cc558","db1c65e1094e60596291e0344b2c04e194c3c763@17fca916-40b9-46aa-a4ea-0a15b648b75c","Don't make Crypto++ and OpenSSL support mutally exclusive.\n\nThis allows using SSL encrypted connections and still use Crypto++ for\nthe remaining cryptographic functions.\n\nSigned-off-by: Kai Wasserbäch \n\ngit-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5466 17fca916-40b9-46aa-a4ea-0a15b648b75c","curan"],["4fcbb45aa6cfccd9411882de4695d1e3e41ee7fe","db1c65e1094e60596291e0344b2c04e194c3c763@17fca916-40b9-46aa-a4ea-0a15b648b75c","libkvirijndael_cryptopp.cpp: Use the correct include and variable.\n\nFixes an FTBFS introduced by r5283.\n\nSigned-off-by: Kai Wasserbäch \n\ngit-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5467 17fca916-40b9-46aa-a4ea-0a15b648b75c","curan"]],"repo":"Voker57/kvirc","actor":"Voker57","ref":"refs/heads/master","size":4,"head":"4fcbb45aa6cfccd9411882de4695d1e3e41ee7fe","actor_gravatar":"e23779fa2ae7e45edb05e15d43be3e05","push_id":24643079},"actor":{"gravatar_id":"e23779fa2ae7e45edb05e15d43be3e05","id":22776,"url":"https://api.github.dev/users/Voker57","avatar_url":"https://secure.gravatar.com/avatar/e23779fa2ae7e45edb05e15d43be3e05?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Voker57"},"id":"1127196067"} +{"repo":{"id":1355159,"url":"https://api.github.dev/repos/mmontone/cl-config","name":"mmontone/cl-config"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:58Z","payload":{"shas":[["ba3ae868810fd7e13e91b8587378fb1dc9ed8e32","74cf0e9a3c2b904e9c445771cdccb3e6ce3e4da7@copyleft.no","Initial example working\n\n(define-configuration db-socket-configuration ()\n (:title \"Socket configuration\")\n (:section :db-socket-configuration \"Socket configuration\"\n\t\t (:path \"Socket\"\n\t\t\t(path-name\n\t\t\t :default \"/tmp/socket.soc\"))))","Mariano Montone"]],"repo":"mmontone/cl-config","actor":"mmontone","ref":"refs/heads/master","size":1,"head":"ba3ae868810fd7e13e91b8587378fb1dc9ed8e32","actor_gravatar":"685ec135de2e803bd96d19472dcf794b","push_id":24643086},"actor":{"gravatar_id":"685ec135de2e803bd96d19472dcf794b","id":436110,"url":"https://api.github.dev/users/mmontone","avatar_url":"https://secure.gravatar.com/avatar/685ec135de2e803bd96d19472dcf794b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mmontone"},"id":"1127196102"} +{"repo":{"id":237159,"url":"https://api.github.dev/repos/visionmedia/express","name":"visionmedia/express"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:00:59Z","payload":{"shas":[["b05f52198f1b4e16e81119e45e8b093d5f59d06e","546b05909706652891a87f7bfe385ae147f61f91@vision-media.ca","misc","Tj Holowaychuk"]],"repo":"visionmedia/express","actor":"visionmedia","ref":"refs/heads/gh-pages","size":1,"head":"b05f52198f1b4e16e81119e45e8b093d5f59d06e","actor_gravatar":"f1e3ab214a976a39cfd713bc93deb10f","push_id":24643087},"actor":{"gravatar_id":"f1e3ab214a976a39cfd713bc93deb10f","id":25254,"url":"https://api.github.dev/users/visionmedia","avatar_url":"https://secure.gravatar.com/avatar/f1e3ab214a976a39cfd713bc93deb10f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"visionmedia"},"id":"1127196103"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"FollowEvent","public":true,"created_at":"2011-02-12T00:01:04Z","payload":{"target":{"gravatar_id":"27bca5b54872824921bcf573d4638bc4","repos":8,"followers":1,"login":"opichals"},"actor":"martinpucala","actor_gravatar":"97911af3618c638741932597a9880992"},"actor":{"gravatar_id":"97911af3618c638741932597a9880992","id":183093,"url":"https://api.github.dev/users/martinpucala","avatar_url":"https://secure.gravatar.com/avatar/97911af3618c638741932597a9880992?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"martinpucala"},"id":"1127196134"} +{"repo":{"id":1007171,"url":"https://api.github.dev/repos/acdha/NativeImaging","name":"acdha/NativeImaging"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:01:05Z","payload":{"repo":"acdha/NativeImaging","actor":"matagus","actor_gravatar":"db3b3decf3a49e94f49172034f5df598","action":"started"},"actor":{"gravatar_id":"db3b3decf3a49e94f49172034f5df598","id":58519,"url":"https://api.github.dev/users/matagus","avatar_url":"https://secure.gravatar.com/avatar/db3b3decf3a49e94f49172034f5df598?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"matagus"},"id":"1127196137"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:01:06Z","payload":{"name":"gist: 823305","desc":null,"actor":"probablycorey","url":"https://gist.github.com/823305","actor_gravatar":"ac65e62b7ad42e9bc5fdf391d0e250a7","snippet":"waxClass{\"AppDelegate\", protocols = {\"UIApplicationDelegate\"}}\n\n-- Well done! You are almost ready to run a lua app on your iPhone!","action":"update"},"actor":{"gravatar_id":"ac65e62b7ad42e9bc5fdf391d0e250a7","id":596,"url":"https://api.github.dev/users/probablycorey","avatar_url":"https://secure.gravatar.com/avatar/ac65e62b7ad42e9bc5fdf391d0e250a7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"probablycorey"},"id":"1127196186"} +{"repo":{"id":1156046,"url":"https://api.github.dev/repos/flokli/aufs2_linus","name":"flokli/aufs2_linus"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:07Z","payload":{"shas":[["ad663600ee2fd49f88787f538113df1f318754ef","358221512ff61c576dd49172149e4a48454cce92@flokli.de","Merge branch 'aufs2.1' of ../aufs2","Florian Klink"]],"repo":"flokli/aufs2_linus","actor":"flokli","ref":"refs/heads/master","size":1,"head":"ad663600ee2fd49f88787f538113df1f318754ef","actor_gravatar":"0e621f3de56b799e7efda22eacc55d93","push_id":24643095},"actor":{"gravatar_id":"0e621f3de56b799e7efda22eacc55d93","id":183879,"url":"https://api.github.dev/users/flokli","avatar_url":"https://secure.gravatar.com/avatar/0e621f3de56b799e7efda22eacc55d93?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"flokli"},"id":"1127196198"} +{"repo":{"id":1357182,"url":"https://api.github.dev/repos/edsfault/Edsfault-processing.js","name":"edsfault/Edsfault-processing.js"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:01:09Z","payload":{"name":"Edsfault-processing.js","object":"repository","object_name":null},"actor":{"gravatar_id":"6995e3f50b7fe5212b05ef8002fb6d0a","id":575211,"url":"https://api.github.dev/users/edsfault","avatar_url":"https://secure.gravatar.com/avatar/6995e3f50b7fe5212b05ef8002fb6d0a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"edsfault"},"id":"1127196319"} +{"repo":{"id":210464,"url":"https://api.github.dev/repos/typo3/typo3v4core","name":"typo3/typo3v4core"},"type":"PushEvent","org":{"gravatar_id":"6621e0ddad0abfe9a29c6f28719aacb6","id":88698,"url":"https://api.github.dev/orgs/typo3","avatar_url":"https://secure.gravatar.com/avatar/6621e0ddad0abfe9a29c6f28719aacb6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"typo3"},"public":true,"created_at":"2011-02-12T00:01:09Z","payload":{"shas":[["c0eb30657d3eadba9b807b706c7f48b7f78fa735","b54ae7893982d10f03c27dbc889098ce04898c8b@709f56b5-9817-0410-a4d7-c38de5d9e867","Fixed issue #17555: htmlArea RTE: Delete deprecated Aspell-related extension configuration variables\n\ngit-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@10450 709f56b5-9817-0410-a4d7-c38de5d9e867","stan"]],"repo":"typo3/typo3v4core","actor":"t3dev","ref":"refs/heads/trunk","size":1,"head":"c0eb30657d3eadba9b807b706c7f48b7f78fa735","actor_gravatar":"96a5c3d942902e2d967a41355fa4060b","push_id":24643098},"actor":{"gravatar_id":"96a5c3d942902e2d967a41355fa4060b","id":85458,"url":"https://api.github.dev/users/t3dev","avatar_url":"https://secure.gravatar.com/avatar/96a5c3d942902e2d967a41355fa4060b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"t3dev"},"id":"1127196320"} +{"repo":{"id":1340396,"url":"https://api.github.dev/repos/igor-tkachev/bltoolkit","name":"igor-tkachev/bltoolkit"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:01:10Z","payload":{"name":"bltoolkit","object":"branch","object_name":"LinqRefactoring"},"actor":{"gravatar_id":"361fc1b5002cfefd21df1a7773c14f4e","id":605954,"url":"https://api.github.dev/users/igor-tkachev","avatar_url":"https://secure.gravatar.com/avatar/361fc1b5002cfefd21df1a7773c14f4e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"igor-tkachev"},"id":"1127196351"} +{"repo":{"id":1340396,"url":"https://api.github.dev/repos/igor-tkachev/bltoolkit","name":"igor-tkachev/bltoolkit"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:01:10Z","payload":{"name":"bltoolkit","object":"branch","object_name":"local"},"actor":{"gravatar_id":"361fc1b5002cfefd21df1a7773c14f4e","id":605954,"url":"https://api.github.dev/users/igor-tkachev","avatar_url":"https://secure.gravatar.com/avatar/361fc1b5002cfefd21df1a7773c14f4e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"igor-tkachev"},"id":"1127196367"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:12Z","payload":{"shas":[["5faba57d8a711449ca632f477da24b19525f6062","a371e9dfd068c35ca8d4555b05d2c2e304b2ce59@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","Restore 2 prototypes that seem to have been mistakenly removed in r218582.\n\nI've manually twiddled the whitespace for e1000_commit_fc_settings_generic\nto match the others in the file.\n\nSubmitted by:\tdim\nTested by:\tme\n\n\ngit-svn-id: svn://svn.freebsd.org/base/head@218587 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","dougb"]],"repo":"arundel/FreeBSD","actor":"arundel","ref":"refs/heads/master","size":1,"head":"5faba57d8a711449ca632f477da24b19525f6062","actor_gravatar":"9f1a05a2dbcd1250eb2a4e344d490d5c","push_id":24643101},"actor":{"gravatar_id":"9f1a05a2dbcd1250eb2a4e344d490d5c","id":451872,"url":"https://api.github.dev/users/arundel","avatar_url":"https://secure.gravatar.com/avatar/9f1a05a2dbcd1250eb2a4e344d490d5c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"arundel"},"id":"1127196381"} +{"repo":{"id":1355269,"url":"https://api.github.dev/repos/marcuswhybrow/g52cfj-icw1","name":"marcuswhybrow/g52cfj-icw1"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:18Z","payload":{"shas":[["6bc21098af856a8918d0cc13f5ef5d1318c64b8f","247731c75f3b277594afe05f8b1d0ee049da0b08@marcuswhybrow.net","A round now ends with an appropriate message if the amount of guesses remaining\ndecreases to 0, or the number of letters left to guess of the word becomes 0.","Marcus Whybrow"]],"repo":"marcuswhybrow/g52cfj-icw1","actor":"marcuswhybrow","ref":"refs/heads/master","size":1,"head":"6bc21098af856a8918d0cc13f5ef5d1318c64b8f","actor_gravatar":"ddaff8541994f2a18a27cc2f01cb16a6","push_id":24643104},"actor":{"gravatar_id":"ddaff8541994f2a18a27cc2f01cb16a6","id":278456,"url":"https://api.github.dev/users/marcuswhybrow","avatar_url":"https://secure.gravatar.com/avatar/ddaff8541994f2a18a27cc2f01cb16a6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"marcuswhybrow"},"id":"1127196399"} +{"repo":{"id":1356975,"url":"https://api.github.dev/repos/eph/dotfiles","name":"eph/dotfiles"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:21Z","payload":{"shas":[["8d598829698dbe1fed0294a1badb3c3fee5e92dd","5e88913b9fb223ef7b64a73a3f3714c3c932130f@eherbst-laptop.(none)","add comments","Edward Herbst"]],"repo":"eph/dotfiles","actor":"eph","ref":"refs/heads/master","size":1,"head":"8d598829698dbe1fed0294a1badb3c3fee5e92dd","actor_gravatar":"a814c8d0c5ac07deca57e76bc93c9643","push_id":24643106},"actor":{"gravatar_id":"a814c8d0c5ac07deca57e76bc93c9643","id":591667,"url":"https://api.github.dev/users/eph","avatar_url":"https://secure.gravatar.com/avatar/a814c8d0c5ac07deca57e76bc93c9643?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"eph"},"id":"1127198295"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:01:21Z","payload":{"name":"gist: 823300","desc":null,"actor":"samgro","url":"https://gist.github.com/823300","actor_gravatar":"32ef7a6ffc9f5f68185585b3a3e8cfaf","snippet":"jQuery.placeholder = function() {\n $('[placeholder]').focus(function() {\n var input = $(this);","action":"update"},"actor":{"gravatar_id":"2585097b62ac0d8fea68ca650bcfa3bf","id":466879,"url":"https://api.github.dev/users/samgro","avatar_url":"https://secure.gravatar.com/avatar/2585097b62ac0d8fea68ca650bcfa3bf?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"samgro"},"id":"1127198297"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:01:23Z","payload":{"name":"gist: 823307","desc":"patch for pkgsrc/misc/screen: use utmpx on current DragonFly","actor":"matthiasr","url":"https://gist.github.com/823307","actor_gravatar":"bf10cdd3f7fae87516a246f132984792","snippet":"commit 4bb5d970f11f92a0ee8a8e21fe326ec9bf201961\nAuthor: Matthias Rampke \nDate: Sat Feb 12 01:00:30 2011 +0100","action":"create"},"actor":{"gravatar_id":"bf10cdd3f7fae87516a246f132984792","id":131590,"url":"https://api.github.dev/users/matthiasr","avatar_url":"https://secure.gravatar.com/avatar/bf10cdd3f7fae87516a246f132984792?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"matthiasr"},"id":"1127198302"} +{"repo":{"id":1347524,"url":"https://api.github.dev/repos/rpj/frontprocesscheckr","name":"rpj/frontprocesscheckr"},"type":"CommitCommentEvent","public":true,"created_at":"2011-02-12T00:01:31Z","payload":{"repo":"rpj/frontprocesscheckr","actor":"rpj","comment_id":268918,"actor_gravatar":"778a006884e2b2a5d829596ae6351de1","commit":"fb7c0238a794809505d14ea481cfcc91fb34c3a1"},"actor":{"gravatar_id":"778a006884e2b2a5d829596ae6351de1","id":5136,"url":"https://api.github.dev/users/rpj","avatar_url":"https://secure.gravatar.com/avatar/778a006884e2b2a5d829596ae6351de1?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rpj"},"id":"1127198352"} +{"repo":{"id":775386,"url":"https://api.github.dev/repos/Craga89/qTip2","name":"Craga89/qTip2"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:36Z","payload":{"shas":[["d5ba6a4c615db5e60e27afd8c2ebd95c5c97676d","c4b5a8c0fafd56ae12499ba1d5d55022dbe4108e@craigsworks.com","Fixed issue with mosue tracked qTips sticknig around even after mouseout of show target","Craig Michael Thompson"]],"repo":"Craga89/qTip2","actor":"Craga89","ref":"refs/heads/master","size":1,"head":"d5ba6a4c615db5e60e27afd8c2ebd95c5c97676d","actor_gravatar":"3f21b279f144c354ebd739716c38bd63","push_id":24643121},"actor":{"gravatar_id":"3f21b279f144c354ebd739716c38bd63","id":187963,"url":"https://api.github.dev/users/Craga89","avatar_url":"https://secure.gravatar.com/avatar/3f21b279f144c354ebd739716c38bd63?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Craga89"},"id":"1127198365"} +{"repo":{"id":1146844,"url":"https://api.github.dev/repos/ninject/ninject.extensions.wf","name":"ninject/ninject.extensions.wf"},"type":"GollumEvent","org":{"gravatar_id":"b46527233865dd59f195fe0c2115a6e0","id":254550,"url":"https://api.github.dev/orgs/ninject","avatar_url":"https://secure.gravatar.com/avatar/b46527233865dd59f195fe0c2115a6e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"ninject"},"public":true,"created_at":"2011-02-12T00:01:40Z","payload":{"title":"Home","summary":null,"repo":"ninject/ninject.extensions.wf","sha":"1f42a936da8ea2f74bbf9b6835989d81d6643810","actor":"danielmarbach","page_name":"Home","actor_gravatar":"a6d7c51251ba7bca8525e923e7977854","action":"edited"},"actor":{"gravatar_id":"a6d7c51251ba7bca8525e923e7977854","id":174258,"url":"https://api.github.dev/users/danielmarbach","avatar_url":"https://secure.gravatar.com/avatar/a6d7c51251ba7bca8525e923e7977854?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"danielmarbach"},"id":"1127198495"} +{"repo":{"id":1227,"url":"https://api.github.dev/repos/mislav/will_paginate","name":"mislav/will_paginate"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:01:45Z","payload":{"repo":"mislav/will_paginate","actor":"christianrojas","actor_gravatar":"d08289eccd25ac6722f84ac561091e09","action":"started"},"actor":{"gravatar_id":"d08289eccd25ac6722f84ac561091e09","id":91822,"url":"https://api.github.dev/users/christianrojas","avatar_url":"https://secure.gravatar.com/avatar/d08289eccd25ac6722f84ac561091e09?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"christianrojas"},"id":"1127198511"} +{"repo":{"id":1054616,"url":"https://api.github.dev/repos/codeforamerica/shortstack","name":"codeforamerica/shortstack"},"type":"PushEvent","org":{"gravatar_id":"ec81184c572bc827b72ebb489d49f821","id":337792,"url":"https://api.github.dev/orgs/codeforamerica","avatar_url":"https://secure.gravatar.com/avatar/ec81184c572bc827b72ebb489d49f821?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"codeforamerica"},"public":true,"created_at":"2011-02-12T00:01:45Z","payload":{"shas":[["d798c97c52995ce36aac69d88c3b6f01de7b69e3","b37d28f1d28d95034889e356f376ee051dc4c1aa@gmail.com","puts for logging to STDOUT","Rocky Meza"]],"repo":"codeforamerica/shortstack","actor":"rockymeza","ref":"refs/heads/crunchbase","size":1,"head":"d798c97c52995ce36aac69d88c3b6f01de7b69e3","actor_gravatar":"2eb6399115a962582e441abbd04c32dd","push_id":24643130},"actor":{"gravatar_id":"2eb6399115a962582e441abbd04c32dd","id":21784,"url":"https://api.github.dev/users/rockymeza","avatar_url":"https://secure.gravatar.com/avatar/2eb6399115a962582e441abbd04c32dd?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rockymeza"},"id":"1127198514"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"FollowEvent","public":true,"created_at":"2011-02-12T00:01:46Z","payload":{"target":{"gravatar_id":"1d7fa3686afc3a8a638bcac8faa87be1","repos":0,"followers":2,"login":"amorton"},"actor":"dkujawski","actor_gravatar":"b7a622234d2fd7d8526e3d778862c3da"},"actor":{"gravatar_id":"b7a622234d2fd7d8526e3d778862c3da","id":515959,"url":"https://api.github.dev/users/dkujawski","avatar_url":"https://secure.gravatar.com/avatar/b7a622234d2fd7d8526e3d778862c3da?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dkujawski"},"id":"1127198527"} +{"repo":{"id":1357183,"url":"https://api.github.dev/repos/nej/colorshades-wp-theme","name":"nej/colorshades-wp-theme"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:01:49Z","payload":{"name":"colorshades-wp-theme","object":"repository","object_name":null},"actor":{"gravatar_id":"f630345a19bf9e36399d35b05bebbd7f","id":328223,"url":"https://api.github.dev/users/nej","avatar_url":"https://secure.gravatar.com/avatar/f630345a19bf9e36399d35b05bebbd7f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nej"},"id":"1127198529"} +{"repo":{"id":341270,"url":"https://api.github.dev/repos/Turbo87/XCSoar","name":"Turbo87/XCSoar"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:49Z","payload":{"shas":[["82fa700e609a0e6b61cfab2d9f809ff6e439e7be","3705ed3fd952b292a486ace50523e6a2730948aa@gmx.de","FileLineReader: Removed unnecessary nested #ifdef\n\n#ifdef _UNICODE was already tested in the parent #ifdef block","Tobias Bieniek"],["8f79eaf76a395b35104866945dd390547b6e64be","3705ed3fd952b292a486ace50523e6a2730948aa@gmx.de","NMEAInputLine: Moved major code parts to CSVLine class","Tobias Bieniek"],["fdbc2ea3db52f3d78a6aedb2cff48e0b6658300c","3705ed3fd952b292a486ace50523e6a2730948aa@gmx.de","CSVLine: Renamed local variable comma to _seperator","Tobias Bieniek"],["b6c2e08e132a6e1e1b212112f6070b309ed20303","3705ed3fd952b292a486ace50523e6a2730948aa@gmx.de","CSVLine: Added configurable seperator character","Tobias Bieniek"]],"repo":"Turbo87/XCSoar","actor":"Turbo87","ref":"refs/heads/master","size":4,"head":"b6c2e08e132a6e1e1b212112f6070b309ed20303","actor_gravatar":"ab97201abd62673ed21bb286e1b20345","push_id":24643134},"actor":{"gravatar_id":"ab97201abd62673ed21bb286e1b20345","id":141300,"url":"https://api.github.dev/users/Turbo87","avatar_url":"https://secure.gravatar.com/avatar/ab97201abd62673ed21bb286e1b20345?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Turbo87"},"id":"1127198530"} +{"repo":{"id":1230809,"url":"https://api.github.dev/repos/andyjko/Gidget","name":"andyjko/Gidget"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:55Z","payload":{"shas":[["f91331cd16dbdba943ba14fa7dc05272e422584a","5439a0b193742d3800488d3c24f52b2ae8dd6e24@gmail.com","updated levels and graphics to add animal ccharacters","mjslee"],["2f36d68594ed2ba84c0ca83495efce97aeaff376","5439a0b193742d3800488d3c24f52b2ae8dd6e24@gmail.com","Resolved merge conflict between key highlighting","mjslee"]],"repo":"andyjko/Gidget","actor":"mjslee","ref":"refs/heads/master","size":2,"head":"2f36d68594ed2ba84c0ca83495efce97aeaff376","actor_gravatar":"4854ca50ce40b5f412aa93261f3bad7e","push_id":24643139},"actor":{"gravatar_id":"4854ca50ce40b5f412aa93261f3bad7e","id":589049,"url":"https://api.github.dev/users/mjslee","avatar_url":"https://secure.gravatar.com/avatar/4854ca50ce40b5f412aa93261f3bad7e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mjslee"},"id":"1127198554"} +{"repo":{"id":183866,"url":"https://api.github.dev/repos/boolean/classical","name":"boolean/classical"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:01:57Z","payload":{"shas":[["11e0b1693cb7d5d022df0ab2a3819a640e540e92","1ca2be43d396c0f28e64b269d8bc6821b5b0b3c9@gmail.com","added pagination for all show views","Fernando Saenz"]],"repo":"boolean/classical","actor":"boolean","ref":"refs/heads/master","size":1,"head":"11e0b1693cb7d5d022df0ab2a3819a640e540e92","actor_gravatar":"8ba5f53b5629715a11c9aecfd9d5392e","push_id":24643140},"actor":{"gravatar_id":"8ba5f53b5629715a11c9aecfd9d5392e","id":55569,"url":"https://api.github.dev/users/boolean","avatar_url":"https://secure.gravatar.com/avatar/8ba5f53b5629715a11c9aecfd9d5392e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"boolean"},"id":"1127198556"} +{"repo":{"id":609787,"url":"https://api.github.dev/repos/facebook/php-sdk","name":"facebook/php-sdk"},"type":"WatchEvent","org":{"gravatar_id":"193c1a93276f729041fc875cf2a20773","id":69631,"url":"https://api.github.dev/orgs/facebook","avatar_url":"https://secure.gravatar.com/avatar/193c1a93276f729041fc875cf2a20773?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"facebook"},"public":true,"created_at":"2011-02-12T00:01:57Z","payload":{"repo":"facebook/php-sdk","actor":"graeson","actor_gravatar":"6bd7cd54eeae2fa4eee0c1f760d508e0","action":"started"},"actor":{"gravatar_id":"6bd7cd54eeae2fa4eee0c1f760d508e0","id":613643,"url":"https://api.github.dev/users/graeson","avatar_url":"https://secure.gravatar.com/avatar/6bd7cd54eeae2fa4eee0c1f760d508e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"graeson"},"id":"1127198559"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:01:57Z","payload":{"name":"gist: 823302","desc":null,"actor":"Tolmark12","url":"https://gist.github.com/823302","actor_gravatar":"f31f83f4cc7f6126a28e86fb2f751d70","snippet":"general:\n #\n # writable_directories: a list of directories that your php app is","action":"update"},"actor":{"gravatar_id":"f31f83f4cc7f6126a28e86fb2f751d70","id":4827,"url":"https://api.github.dev/users/Tolmark12","avatar_url":"https://secure.gravatar.com/avatar/f31f83f4cc7f6126a28e86fb2f751d70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Tolmark12"},"id":"1127198565"} +{"repo":{"id":656494,"url":"https://api.github.dev/repos/cakephp/cakephp","name":"cakephp/cakephp"},"type":"WatchEvent","org":{"gravatar_id":"12cd092be901674cdbf0d3d964e945d5","id":23666,"url":"https://api.github.dev/orgs/cakephp","avatar_url":"https://secure.gravatar.com/avatar/12cd092be901674cdbf0d3d964e945d5?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"cakephp"},"public":true,"created_at":"2011-02-12T00:02:00Z","payload":{"repo":"cakephp/cakephp","actor":"graeson","actor_gravatar":"6bd7cd54eeae2fa4eee0c1f760d508e0","action":"started"},"actor":{"gravatar_id":"6bd7cd54eeae2fa4eee0c1f760d508e0","id":613643,"url":"https://api.github.dev/users/graeson","avatar_url":"https://secure.gravatar.com/avatar/6bd7cd54eeae2fa4eee0c1f760d508e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"graeson"},"id":"1127198571"} +{"repo":{"id":1356941,"url":"https://api.github.dev/repos/alecgorge/node-compress","name":"alecgorge/node-compress"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:01Z","payload":{"shas":[["e6378ea8b142915b2b9dc460a49ad5e1a1909ed2","2ef72c8d1621c66dd0e059b6545add9ccbce021e@gmail.com","remove uncessary method?","Alec Gorge"]],"repo":"alecgorge/node-compress","actor":"alecgorge","ref":"refs/heads/master","size":1,"head":"e6378ea8b142915b2b9dc460a49ad5e1a1909ed2","actor_gravatar":"fbdcebe9314b8ec14e9c6a5ea7638f3e","push_id":24643144},"actor":{"gravatar_id":"fbdcebe9314b8ec14e9c6a5ea7638f3e","id":261668,"url":"https://api.github.dev/users/alecgorge","avatar_url":"https://secure.gravatar.com/avatar/fbdcebe9314b8ec14e9c6a5ea7638f3e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"alecgorge"},"id":"1127198579"} +{"repo":{"id":549638,"url":"https://api.github.dev/repos/pixelmatrix/mapkey","name":"pixelmatrix/mapkey"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:01Z","payload":{"repo":"pixelmatrix/mapkey","actor":"matagus","actor_gravatar":"db3b3decf3a49e94f49172034f5df598","action":"started"},"actor":{"gravatar_id":"db3b3decf3a49e94f49172034f5df598","id":58519,"url":"https://api.github.dev/users/matagus","avatar_url":"https://secure.gravatar.com/avatar/db3b3decf3a49e94f49172034f5df598?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"matagus"},"id":"1127198581"} +{"repo":{"id":314031,"url":"https://api.github.dev/repos/openlibrary/openlibrary.github.com","name":"openlibrary/openlibrary.github.com"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:01Z","payload":{"shas":[["1062901ef164b539b0f6536ad4b34382713737bd","c48a0653e8fdc3ad121a892eb67476fd5aa75a2a@nibrahim.net.in","autogenerated at 2011-02-12 00:00:03.488544","Noufal Ibrahim"]],"repo":"openlibrary/openlibrary.github.com","actor":"nibrahim","ref":"refs/heads/master","size":1,"head":"1062901ef164b539b0f6536ad4b34382713737bd","actor_gravatar":"37cbce2e7c6f281176d12a81e661a49e","push_id":24643147},"actor":{"gravatar_id":"37cbce2e7c6f281176d12a81e661a49e","id":69051,"url":"https://api.github.dev/users/nibrahim","avatar_url":"https://secure.gravatar.com/avatar/37cbce2e7c6f281176d12a81e661a49e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nibrahim"},"id":"1127198583"} +{"repo":{"id":846014,"url":"https://api.github.dev/repos/chocolateboy/true","name":"chocolateboy/true"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:02Z","payload":{"shas":[["7eeb12df9af3202d3e8f35cd6b216ea766d5ded1","891c5feef171da85aadd3fdb8130ba509b03f5ea@cpan.org","0.14","chocolateboy"]],"repo":"chocolateboy/true","actor":"chocolateboy","ref":"refs/heads/master","size":1,"head":"7eeb12df9af3202d3e8f35cd6b216ea766d5ded1","actor_gravatar":"53901b090fa84a630206b5df96f222a1","push_id":24643148},"actor":{"gravatar_id":"53901b090fa84a630206b5df96f222a1","id":31533,"url":"https://api.github.dev/users/chocolateboy","avatar_url":"https://secure.gravatar.com/avatar/53901b090fa84a630206b5df96f222a1?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"chocolateboy"},"id":"1127198584"} +{"repo":{"id":1329467,"url":"https://api.github.dev/repos/swasheck/foundry","name":"swasheck/foundry"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:02Z","payload":{"shas":[["c38bbf80a1dcf43126400b43e0cd78df6555cb91","b4cc1e31aacd0b5cb36f53b4e2540e5a916c14d6@gmail.com","First template is in.","Seth Washeck"]],"repo":"swasheck/foundry","actor":"swasheck","ref":"refs/heads/master","size":1,"head":"c38bbf80a1dcf43126400b43e0cd78df6555cb91","actor_gravatar":"af267fac1addb7a4778e14b5c85ec5bf","push_id":24643151},"actor":{"gravatar_id":"af267fac1addb7a4778e14b5c85ec5bf","id":264587,"url":"https://api.github.dev/users/swasheck","avatar_url":"https://secure.gravatar.com/avatar/af267fac1addb7a4778e14b5c85ec5bf?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"swasheck"},"id":"1127198645"} +{"repo":{"id":448045,"url":"https://api.github.dev/repos/sebastianbergmann/phpunit","name":"sebastianbergmann/phpunit"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:04Z","payload":{"repo":"sebastianbergmann/phpunit","actor":"graeson","actor_gravatar":"6bd7cd54eeae2fa4eee0c1f760d508e0","action":"started"},"actor":{"gravatar_id":"6bd7cd54eeae2fa4eee0c1f760d508e0","id":613643,"url":"https://api.github.dev/users/graeson","avatar_url":"https://secure.gravatar.com/avatar/6bd7cd54eeae2fa4eee0c1f760d508e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"graeson"},"id":"1127198650"} +{"repo":{"id":459274,"url":"https://api.github.dev/repos/phpbb/phpbb","name":"phpbb/phpbb"},"type":"WatchEvent","org":{"gravatar_id":"cf23934d15908c132f1c236369262eb6","id":176697,"url":"https://api.github.dev/orgs/phpbb","avatar_url":"https://secure.gravatar.com/avatar/cf23934d15908c132f1c236369262eb6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"phpbb"},"public":true,"created_at":"2011-02-12T00:02:07Z","payload":{"repo":"phpbb/phpbb","actor":"graeson","actor_gravatar":"6bd7cd54eeae2fa4eee0c1f760d508e0","action":"started"},"actor":{"gravatar_id":"6bd7cd54eeae2fa4eee0c1f760d508e0","id":613643,"url":"https://api.github.dev/users/graeson","avatar_url":"https://secure.gravatar.com/avatar/6bd7cd54eeae2fa4eee0c1f760d508e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"graeson"},"id":"1127198658"} +{"repo":{"id":1194723,"url":"https://api.github.dev/repos/Xelhua/Auto","name":"Xelhua/Auto"},"type":"PushEvent","org":{"gravatar_id":"e9bff8ec0a9f779c7e8507c1293f9e0b","id":535169,"url":"https://api.github.dev/orgs/Xelhua","avatar_url":"https://secure.gravatar.com/avatar/e9bff8ec0a9f779c7e8507c1293f9e0b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"Xelhua"},"public":true,"created_at":"2011-02-12T00:02:07Z","payload":{"shas":[["60eb0137eb7126655a4cb24d222dab8fdb943bdd","9d2ef0d3f9427c686698f6190f394e89fcc307d7@starcoder.info","Added Vim modelines and Auto buildlines.","Elijah Perrault"]],"repo":"Xelhua/Auto","actor":"iElijah101","ref":"refs/heads/indev","size":1,"head":"60eb0137eb7126655a4cb24d222dab8fdb943bdd","actor_gravatar":"ac3855f38cb9d4a84f5ff8e36d6801e6","push_id":24643156},"actor":{"gravatar_id":"ac3855f38cb9d4a84f5ff8e36d6801e6","id":261657,"url":"https://api.github.dev/users/iElijah101","avatar_url":"https://secure.gravatar.com/avatar/ac3855f38cb9d4a84f5ff8e36d6801e6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"iElijah101"},"id":"1127198662"} +{"repo":{"id":1260035,"url":"https://api.github.dev/repos/simplerr/Simply2D","name":"simplerr/Simply2D"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:08Z","payload":{"shas":[["cf7700ce84edd8463c4157709fe1521867c138c2","e4cdb9429be021bc917fe8a1ae61d3b742f6c7e1@gmail.com","The camera can now be moved in the editor.","simplerr"]],"repo":"simplerr/Simply2D","actor":"simplerr","ref":"refs/heads/master","size":1,"head":"cf7700ce84edd8463c4157709fe1521867c138c2","actor_gravatar":"0aaa2d5cd71028bf7b5d65594e9d1a64","push_id":24643159},"actor":{"gravatar_id":"0aaa2d5cd71028bf7b5d65594e9d1a64","id":567267,"url":"https://api.github.dev/users/simplerr","avatar_url":"https://secure.gravatar.com/avatar/0aaa2d5cd71028bf7b5d65594e9d1a64?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"simplerr"},"id":"1127198676"} +{"repo":{"id":1354185,"url":"https://api.github.dev/repos/Comarco/Brochure-profile","name":"Comarco/Brochure-profile"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:12Z","payload":{"shas":[["3889b6856c2bfc71c507e949e375c5f229cd0f59","3829486b93ec44395f0b980424bae9b6fb07b7bc@iftbqp.com","","Comarco"]],"repo":"Comarco/Brochure-profile","actor":"Comarco","ref":"refs/heads/master","size":1,"head":"3889b6856c2bfc71c507e949e375c5f229cd0f59","actor_gravatar":"0fb226cf15fbef2389bc041e3f9e8ac5","push_id":24643160},"actor":{"gravatar_id":"0fb226cf15fbef2389bc041e3f9e8ac5","id":612304,"url":"https://api.github.dev/users/Comarco","avatar_url":"https://secure.gravatar.com/avatar/0fb226cf15fbef2389bc041e3f9e8ac5?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Comarco"},"id":"1127198677"} +{"repo":{"id":1352140,"url":"https://api.github.dev/repos/gholt/tcod","name":"gholt/tcod"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:13Z","payload":{"shas":[["4c1c0df254308cdf4ee1990cc244295c6677687c","fb83e0e14789300227d3551e544c3b5006d2665a@saio5.(none)","adding in excepts for bad status lines and sema fix","dpgoetz"]],"repo":"gholt/tcod","actor":"dpgoetz","ref":"refs/heads/master","size":1,"head":"4c1c0df254308cdf4ee1990cc244295c6677687c","actor_gravatar":"26eb512b5fd099561d0506b71cac8fdb","push_id":24643161},"actor":{"gravatar_id":"26eb512b5fd099561d0506b71cac8fdb","id":438461,"url":"https://api.github.dev/users/dpgoetz","avatar_url":"https://secure.gravatar.com/avatar/26eb512b5fd099561d0506b71cac8fdb?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dpgoetz"},"id":"1127198680"} +{"repo":{"id":25306,"url":"https://api.github.dev/repos/pieter/gitx","name":"pieter/gitx"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:13Z","payload":{"repo":"pieter/gitx","actor":"ppl","actor_gravatar":"3882a1e8c4b32a9813873f7e75950a41","action":"started"},"actor":{"gravatar_id":"3882a1e8c4b32a9813873f7e75950a41","id":131469,"url":"https://api.github.dev/users/ppl","avatar_url":"https://secure.gravatar.com/avatar/3882a1e8c4b32a9813873f7e75950a41?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ppl"},"id":"1127198689"} +{"repo":{"id":1357183,"url":"https://api.github.dev/repos/nej/colorshades-wp-theme","name":"nej/colorshades-wp-theme"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:02:13Z","payload":{"name":"colorshades-wp-theme","object":"branch","object_name":"master"},"actor":{"gravatar_id":"f630345a19bf9e36399d35b05bebbd7f","id":328223,"url":"https://api.github.dev/users/nej","avatar_url":"https://secure.gravatar.com/avatar/f630345a19bf9e36399d35b05bebbd7f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nej"},"id":"1127198698"} +{"repo":{"id":712229,"url":"https://api.github.dev/repos/cloudera/flume","name":"cloudera/flume"},"type":"PushEvent","org":{"gravatar_id":"d9607b0bfa4067d8b2df80fb7981f02a","id":87383,"url":"https://api.github.dev/orgs/cloudera","avatar_url":"https://secure.gravatar.com/avatar/d9607b0bfa4067d8b2df80fb7981f02a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"cloudera"},"public":true,"created_at":"2011-02-12T00:02:15Z","payload":{"shas":[["a02767f55b077766ed73beebe023d52faaa0670a","44f878afe53efc66b76772bd845eb65944ed8232@cloudera.com","FLUME-516: bin/flume script does not properly load pre-existing hadoop jars","Jonathan Hsieh"]],"repo":"cloudera/flume","actor":"jmhsieh","ref":"refs/heads/b0.9.3","size":1,"head":"a02767f55b077766ed73beebe023d52faaa0670a","actor_gravatar":"67599ef548b015d54fa8ba67fdc21f2f","push_id":24643164},"actor":{"gravatar_id":"67599ef548b015d54fa8ba67fdc21f2f","id":248541,"url":"https://api.github.dev/users/jmhsieh","avatar_url":"https://secure.gravatar.com/avatar/67599ef548b015d54fa8ba67fdc21f2f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jmhsieh"},"id":"1127198705"} +{"repo":{"id":526114,"url":"https://api.github.dev/repos/openid/php-openid","name":"openid/php-openid"},"type":"WatchEvent","org":{"gravatar_id":"9e9e5f8e09ae8ef809831be12f186e10","id":71971,"url":"https://api.github.dev/orgs/openid","avatar_url":"https://secure.gravatar.com/avatar/9e9e5f8e09ae8ef809831be12f186e10?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"openid"},"public":true,"created_at":"2011-02-12T00:02:18Z","payload":{"repo":"openid/php-openid","actor":"graeson","actor_gravatar":"6bd7cd54eeae2fa4eee0c1f760d508e0","action":"started"},"actor":{"gravatar_id":"6bd7cd54eeae2fa4eee0c1f760d508e0","id":613643,"url":"https://api.github.dev/users/graeson","avatar_url":"https://secure.gravatar.com/avatar/6bd7cd54eeae2fa4eee0c1f760d508e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"graeson"},"id":"1127198706"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:21Z","payload":{"shas":[["1d8fda4377fe1ab3ca93de348f99e824f6230a7f","df16204902dceb0705bc4ce87d68316adcefc0d3@gmail.com","Added new icon //Windows Vista/7 zoom action support","Fisico"]],"repo":"Fisico/teeworlds","actor":"Fisico","ref":"refs/heads/master","size":1,"head":"1d8fda4377fe1ab3ca93de348f99e824f6230a7f","actor_gravatar":"5f9d060548a810c1ca06a83f297b4a80","push_id":24643168},"actor":{"gravatar_id":"fc29b1454563b40187608da355fa4a3b","id":329471,"url":"https://api.github.dev/users/Fisico","avatar_url":"https://secure.gravatar.com/avatar/fc29b1454563b40187608da355fa4a3b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Fisico"},"id":"1127198996"} +{"repo":{"id":1296764,"url":"https://api.github.dev/repos/rvianello/django-chem","name":"rvianello/django-chem"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:23Z","payload":{"shas":[["81e95f3c2818b2e6c4838c2ad7dd9ae23289f937","3ba53270160c2c4d4c195a6c45ad39f9bd0849a9@gmail.com","extended (and cleaner) implementation of molecular descriptor fields.","Riccardo Vianello"]],"repo":"rvianello/django_chem","actor":"rvianello","ref":"refs/heads/master","size":1,"head":"81e95f3c2818b2e6c4838c2ad7dd9ae23289f937","actor_gravatar":"62516278d5c9adcd93e647b1fd81554b","push_id":24643170},"actor":{"gravatar_id":"62516278d5c9adcd93e647b1fd81554b","id":383098,"url":"https://api.github.dev/users/rvianello","avatar_url":"https://secure.gravatar.com/avatar/62516278d5c9adcd93e647b1fd81554b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rvianello"},"id":"1127199012"} +{"repo":{"id":1007501,"url":"https://api.github.dev/repos/Elv22/Tukui","name":"Elv22/Tukui"},"type":"ForkEvent","public":true,"created_at":"2011-02-12T00:02:25Z","payload":{"repo":"Elv22/Tukui","actor":"smanzo","forkee":1357185,"actor_gravatar":"2ced74a8de2b6cf6ffd598fe1c3fc6a6"},"actor":{"gravatar_id":"2ced74a8de2b6cf6ffd598fe1c3fc6a6","id":492746,"url":"https://api.github.dev/users/smanzo","avatar_url":"https://secure.gravatar.com/avatar/2ced74a8de2b6cf6ffd598fe1c3fc6a6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"smanzo"},"id":"1127199028"} +{"repo":{"id":846014,"url":"https://api.github.dev/repos/chocolateboy/true","name":"chocolateboy/true"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:02:26Z","payload":{"name":"true","object":"tag","object_name":"0.14"},"actor":{"gravatar_id":"53901b090fa84a630206b5df96f222a1","id":31533,"url":"https://api.github.dev/users/chocolateboy","avatar_url":"https://secure.gravatar.com/avatar/53901b090fa84a630206b5df96f222a1?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"chocolateboy"},"id":"1127199030"} +{"repo":{"id":1254764,"url":"https://api.github.dev/repos/Savaged-Zen/Savaged-Zen","name":"Savaged-Zen/Savaged-Zen"},"type":"DeleteEvent","org":{"gravatar_id":"9ff78f57a433db4074dff22ce1408b7c","id":557288,"url":"https://api.github.dev/orgs/Savaged-Zen","avatar_url":"https://secure.gravatar.com/avatar/9ff78f57a433db4074dff22ce1408b7c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"Savaged-Zen"},"public":true,"created_at":"2011-02-12T00:02:29Z","payload":{"ref_type":"branch","ref":"govs"},"actor":{"gravatar_id":"5198671d16aa88ec4ddd21d46170771a","id":564683,"url":"https://api.github.dev/users/sz-gerrit","avatar_url":"https://secure.gravatar.com/avatar/5198671d16aa88ec4ddd21d46170771a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sz-gerrit"},"id":"1127199033"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:02:32Z","payload":{"name":"gist: 823302","desc":null,"actor":"Tolmark12","url":"https://gist.github.com/823302","actor_gravatar":"f31f83f4cc7f6126a28e86fb2f751d70","snippet":"general:\n #\n # writable_directories: a list of directories that your php app is","action":"update"},"actor":{"gravatar_id":"f31f83f4cc7f6126a28e86fb2f751d70","id":4827,"url":"https://api.github.dev/users/Tolmark12","avatar_url":"https://secure.gravatar.com/avatar/f31f83f4cc7f6126a28e86fb2f751d70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Tolmark12"},"id":"1127199050"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:02:35Z","payload":{"name":"gist: 823082","desc":"Instalações que faço no meu Ubuntu 10.10 para a máquina de desenvolvimento","actor":"acdesouza","url":"https://gist.github.com/823082","actor_gravatar":"2de33da0b65c957690a1a07fc3eda839","snippet":"#!/bin/sh\ngoogle-chrome -remote \"openurl(https://mail.google.com/mail?view=cm&tf=0&to=`\necho $1 | sed 's/mailto://'`,new-tab)\"","action":"update"},"actor":{"gravatar_id":"2de33da0b65c957690a1a07fc3eda839","id":97436,"url":"https://api.github.dev/users/acdesouza","avatar_url":"https://secure.gravatar.com/avatar/2de33da0b65c957690a1a07fc3eda839?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"acdesouza"},"id":"1127199055"} +{"repo":{"id":365027,"url":"https://api.github.dev/repos/getify/LABjs","name":"getify/LABjs"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:38Z","payload":{"repo":"getify/LABjs","actor":"rxgx","actor_gravatar":"0414be17c1746a3084716ad9b58510c5","action":"started"},"actor":{"gravatar_id":"0414be17c1746a3084716ad9b58510c5","id":132984,"url":"https://api.github.dev/users/rxgx","avatar_url":"https://secure.gravatar.com/avatar/0414be17c1746a3084716ad9b58510c5?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rxgx"},"id":"1127199063"} +{"repo":{"id":1327453,"url":"https://api.github.dev/repos/mexpolk/homebrew-formulas","name":"mexpolk/homebrew-formulas"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:38Z","payload":{"shas":[["8ff605bd11305952df908bf536eb8b40ab1459b4","7c3fb2cfffd5ee6f878de48c6e8690d75d616b40@gmail.com","Update README for GNU Screen","Ivan Torres"]],"repo":"mexpolk/homebrew-formulas","actor":"mexpolk","ref":"refs/heads/master","size":1,"head":"8ff605bd11305952df908bf536eb8b40ab1459b4","actor_gravatar":"4859e9f7b0c9d1ef22ec2d69bf3f4b13","push_id":24643182},"actor":{"gravatar_id":"4859e9f7b0c9d1ef22ec2d69bf3f4b13","id":25449,"url":"https://api.github.dev/users/mexpolk","avatar_url":"https://secure.gravatar.com/avatar/4859e9f7b0c9d1ef22ec2d69bf3f4b13?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mexpolk"},"id":"1127199064"} +{"repo":{"id":1261387,"url":"https://api.github.dev/repos/bloom-lang/bud","name":"bloom-lang/bud"},"type":"PushEvent","org":{"gravatar_id":"cfb86064b82d06588450a4fa0475e7dc","id":567865,"url":"https://api.github.dev/orgs/bloom-lang","avatar_url":"https://secure.gravatar.com/avatar/cfb86064b82d06588450a4fa0475e7dc?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"bloom-lang"},"public":true,"created_at":"2011-02-12T00:02:38Z","payload":{"shas":[["e130c3792ae31268ee7c78191b12857d9c437805","2c47ce3e96bf7e0216a6c3e09d72186b3be4a4e1@cs.berkeley.edu","Remove old files from test/ subdirectory\n\nThis code now lives in bud-sandbox.","Neil Conway"]],"repo":"bloom-lang/bud","actor":"neilconway","ref":"refs/heads/master","size":1,"head":"e130c3792ae31268ee7c78191b12857d9c437805","actor_gravatar":"08e09dfff8d762b155d4d06788ae10d9","push_id":24643183},"actor":{"gravatar_id":"08e09dfff8d762b155d4d06788ae10d9","id":556208,"url":"https://api.github.dev/users/neilconway","avatar_url":"https://secure.gravatar.com/avatar/08e09dfff8d762b155d4d06788ae10d9?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"neilconway"},"id":"1127199076"} +{"repo":{"id":1348354,"url":"https://api.github.dev/repos/foobarbuzz/convoread","name":"foobarbuzz/convoread"},"type":"PushEvent","org":{"gravatar_id":"eb84096ca841a81f90ea9ba9ca03667b","id":322534,"url":"https://api.github.dev/orgs/foobarbuzz","avatar_url":"https://secure.gravatar.com/avatar/eb84096ca841a81f90ea9ba9ca03667b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"foobarbuzz"},"public":true,"created_at":"2011-02-12T00:02:40Z","payload":{"shas":[["297867e7c4a7e5c1c72f05dd276f55e241a5fa1c","7192dc0e6b89b887acfef41d9a4c82a09eac58e3@gmail.com","reader process ignores C-c, terminates on C-d","Andrey Vlasovskikh"]],"repo":"foobarbuzz/convoread","actor":"vlasovskikh","ref":"refs/heads/master","size":1,"head":"297867e7c4a7e5c1c72f05dd276f55e241a5fa1c","actor_gravatar":"fa748a7a5e24be66c4677371e35ff218","push_id":24643184},"actor":{"gravatar_id":"fa748a7a5e24be66c4677371e35ff218","id":126891,"url":"https://api.github.dev/users/vlasovskikh","avatar_url":"https://secure.gravatar.com/avatar/fa748a7a5e24be66c4677371e35ff218?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"vlasovskikh"},"id":"1127199099"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:43Z","payload":{"shas":[["6c3fb66a9df8b5b661b4fee1ccaf65e7878309fe","01514b8bd21cfe85fe56b4c5e1d03c64a61e40d2@codecatalyst.com","Moved InvalidationTracker (and associated classes) from com.codecatalyst.util.* to com.codecatalyst.util.invalidation.*\nAdded MXML implementation of InvalidationTracker for use when creating MXML-based components.\nAdded previousValue( \"propertyName\" ) method to InvalidationTracker.\nUpdated .flexLibProperties to reflect new packages.\nUpdated manifest.xml to include the MXML version of InvalidationTracker.\nUpdated SWC.","John Yanarella"],["3b78e81392b7e4794aa7de595577d27092cf1611","01514b8bd21cfe85fe56b4c5e1d03c64a61e40d2@codecatalyst.com","Formatting changes to InvalidationTracker.parseInvalidateAnnotations() for improved readability.","John Yanarella"],["d29e6a9ab76f1533b3f9c9b342984cef15e6e3a9","01514b8bd21cfe85fe56b4c5e1d03c64a61e40d2@codecatalyst.com","Updated SWC.","John Yanarella"],["0afda5d071de1574017f26738bca40a193abca40","ef1f6b77ccacd9e2421a06786343e0c851932258@Gmail.com","Merge branch 'master' of git://github.com/johnyanarella/flex-extensions into feature/invalidation_001\n\nConflicts:\n\t.flexLibProperties\n\tbin/flex-extensions.swc\n\tsrc/mainfest.xml","Thomas Burleson"],["1d9deffba5e2d8bc5d77958df31248f9455b8ab3","ef1f6b77ccacd9e2421a06786343e0c851932258@Gmail.com","Fixes to manifest.xml\n- now supports MXML tags notation for MasterDetails and factories.\nEnhancements to MasterDetails template component\n- now use InvalidationTracker (SWEET!)\n- now allows toggle change to Resize tween duration (0 or 1000)","Thomas Burleson"],["8b30b82a146c223d75ee58e413db7896ebee5650","ef1f6b77ccacd9e2421a06786343e0c851932258@Gmail.com","Merge branch 'feature/invalidation_001' into develop","Thomas Burleson"]],"repo":"ThomasBurleson/flex-extensions","actor":"ThomasBurleson","ref":"refs/heads/develop","size":6,"head":"8b30b82a146c223d75ee58e413db7896ebee5650","actor_gravatar":"bcad85a0d0f1b5ac8fb904d59bc064c9","push_id":24643185},"actor":{"gravatar_id":"bcad85a0d0f1b5ac8fb904d59bc064c9","id":210413,"url":"https://api.github.dev/users/ThomasBurleson","avatar_url":"https://secure.gravatar.com/avatar/bcad85a0d0f1b5ac8fb904d59bc064c9?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ThomasBurleson"},"id":"1127199110"} +{"repo":{"id":1346748,"url":"https://api.github.dev/repos/extroid/tracking","name":"extroid/tracking"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:43Z","payload":{"shas":[["ad906c290b22e5561fafc759fe9e8d955b5bcff5","64fe445ae672d8e1205a94cab54734a32a0a97f0@gmail.com","logging based on sentry project was added","Andrew Budarevsky"]],"repo":"extroid/tracking","actor":"extroid","ref":"refs/heads/master","size":1,"head":"ad906c290b22e5561fafc759fe9e8d955b5bcff5","actor_gravatar":"2e5deae958913b171d851b1f76f76fe8","push_id":24643186},"actor":{"gravatar_id":"2e5deae958913b171d851b1f76f76fe8","id":597081,"url":"https://api.github.dev/users/extroid","avatar_url":"https://secure.gravatar.com/avatar/2e5deae958913b171d851b1f76f76fe8?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"extroid"},"id":"1127199111"} +{"repo":{"id":374927,"url":"https://api.github.dev/repos/erlang/otp","name":"erlang/otp"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:45Z","payload":{"repo":"erlang/otp","actor":"dkujawski","actor_gravatar":"b7a622234d2fd7d8526e3d778862c3da","action":"started"},"actor":{"gravatar_id":"b7a622234d2fd7d8526e3d778862c3da","id":515959,"url":"https://api.github.dev/users/dkujawski","avatar_url":"https://secure.gravatar.com/avatar/b7a622234d2fd7d8526e3d778862c3da?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dkujawski"},"id":"1127199112"} +{"repo":{"id":485752,"url":"https://api.github.dev/repos/zshall/shimmie2","name":"zshall/shimmie2"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:45Z","payload":{"shas":[["39778db1b51365b68b1267ac7808c72a689e7e76","8a19cfcb96df551d29c617dc08f52aae2286166d@aol.com","Added admin setting ability back where it belongs in lite and danbooru themes.","zshall"]],"repo":"zshall/shimmie2","actor":"zshall","ref":"refs/heads/master","size":1,"head":"39778db1b51365b68b1267ac7808c72a689e7e76","actor_gravatar":"5582fd5aa1d971a2a946f221b5ebaf2c","push_id":24643187},"actor":{"gravatar_id":"5582fd5aa1d971a2a946f221b5ebaf2c","id":175742,"url":"https://api.github.dev/users/zshall","avatar_url":"https://secure.gravatar.com/avatar/5582fd5aa1d971a2a946f221b5ebaf2c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"zshall"},"id":"1127199114"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:46Z","payload":{"shas":[["4943380e44dd228ccdd8dd95365b438a23d22d95","9be63b052c7b26284db6aa66a724d79e2009d7fb@tallbro.local","backpressure is exhibit directly at the Send point","Nick Kallen"],["ba5ce6056a8009c70d0072058f327f292c083bd9","9be63b052c7b26284db6aa66a724d79e2009d7fb@tallbro.local","new backpressure interface has send receive a Seq[Future[_]]","Nick Kallen"]],"repo":"twitter/util","actor":"nkallen","ref":"refs/heads/master","size":2,"head":"ba5ce6056a8009c70d0072058f327f292c083bd9","actor_gravatar":"d9914cfbec64060f4053fc221a2a7536","push_id":24643189},"actor":{"gravatar_id":"d9914cfbec64060f4053fc221a2a7536","id":699,"url":"https://api.github.dev/users/nkallen","avatar_url":"https://secure.gravatar.com/avatar/d9914cfbec64060f4053fc221a2a7536?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nkallen"},"id":"1127199117"} +{"repo":{"id":488363,"url":"https://api.github.dev/repos/opichals/osx-pkg-dmg","name":"opichals/osx-pkg-dmg"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:49Z","payload":{"repo":"opichals/osx-pkg-dmg","actor":"martinpucala","actor_gravatar":"97911af3618c638741932597a9880992","action":"started"},"actor":{"gravatar_id":"97911af3618c638741932597a9880992","id":183093,"url":"https://api.github.dev/users/martinpucala","avatar_url":"https://secure.gravatar.com/avatar/97911af3618c638741932597a9880992?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"martinpucala"},"id":"1127199164"} +{"repo":{"id":1039184,"url":"https://api.github.dev/repos/kmac89/Android-Activity-Tracker","name":"kmac89/Android-Activity-Tracker"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:49Z","payload":{"shas":[["929abc9977352cbe7d8bedd6564bf6f2067c28c4","e99b5f69c84a71b4710930b3149f483441f3a7ad@berkeley.edu","Updated the sending of gps data to include the time","Kyle"]],"repo":"kmac89/Android-Activity-Tracker","actor":"kmac89","ref":"refs/heads/master","size":1,"head":"929abc9977352cbe7d8bedd6564bf6f2067c28c4","actor_gravatar":"392264ddfc4a87a22271ce28bf1845c1","push_id":24643191},"actor":{"gravatar_id":"392264ddfc4a87a22271ce28bf1845c1","id":437498,"url":"https://api.github.dev/users/kmac89","avatar_url":"https://secure.gravatar.com/avatar/392264ddfc4a87a22271ce28bf1845c1?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"kmac89"},"id":"1127199166"} +{"repo":{"id":1099237,"url":"https://api.github.dev/repos/kilroysoft/aloysLisp","name":"kilroysoft/aloysLisp"},"type":"GollumEvent","public":true,"created_at":"2011-02-12T00:02:50Z","payload":{"title":"Functions","summary":null,"repo":"kilroysoft/aloysLisp","sha":"22fbf9bdfa24786f227491acbe3bc7dcb1ee6ee4","actor":"kilroysoft","page_name":"Functions","actor_gravatar":"3c697b241783b0398b3fadcf44988961","action":"edited"},"actor":{"gravatar_id":"3c697b241783b0398b3fadcf44988961","id":228428,"url":"https://api.github.dev/users/kilroysoft","avatar_url":"https://secure.gravatar.com/avatar/3c697b241783b0398b3fadcf44988961?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"kilroysoft"},"id":"1127199168"} +{"repo":{"id":841941,"url":"https://api.github.dev/repos/scala/scala","name":"scala/scala"},"type":"WatchEvent","org":{"gravatar_id":"c0713d6f34649ef9a7358de2ef25379a","id":57059,"url":"https://api.github.dev/orgs/scala","avatar_url":"https://secure.gravatar.com/avatar/c0713d6f34649ef9a7358de2ef25379a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"scala"},"public":true,"created_at":"2011-02-12T00:02:51Z","payload":{"repo":"scala/scala","actor":"mumoshu","actor_gravatar":"8e045bf747ca7a90b1d955dc30217271","action":"started"},"actor":{"gravatar_id":"8e045bf747ca7a90b1d955dc30217271","id":22009,"url":"https://api.github.dev/users/mumoshu","avatar_url":"https://secure.gravatar.com/avatar/8e045bf747ca7a90b1d955dc30217271?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mumoshu"},"id":"1127199169"} +{"repo":{"id":1356941,"url":"https://api.github.dev/repos/alecgorge/node-compress","name":"alecgorge/node-compress"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:53Z","payload":{"shas":[["b84d174999b0c5916d2812a81e98b84df6d00003","2ef72c8d1621c66dd0e059b6545add9ccbce021e@gmail.com","updated wscript by kkaefer","Alec Gorge"]],"repo":"alecgorge/node-compress","actor":"alecgorge","ref":"refs/heads/master","size":1,"head":"b84d174999b0c5916d2812a81e98b84df6d00003","actor_gravatar":"fbdcebe9314b8ec14e9c6a5ea7638f3e","push_id":24643195},"actor":{"gravatar_id":"fbdcebe9314b8ec14e9c6a5ea7638f3e","id":261668,"url":"https://api.github.dev/users/alecgorge","avatar_url":"https://secure.gravatar.com/avatar/fbdcebe9314b8ec14e9c6a5ea7638f3e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"alecgorge"},"id":"1127199179"} +{"repo":{"id":1342096,"url":"https://api.github.dev/repos/marka2g/colourbleed","name":"marka2g/colourbleed"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:55Z","payload":{"shas":[["1235970a1dd38fd96069eb95d2461e63921ff778","141e5cc772263e48b4ed390a47e2e5cf62abdcb0@gmail.com","simplified design","Mark Sadegi"]],"repo":"marka2g/colourbleed","actor":"marka2g","ref":"refs/heads/master","size":1,"head":"1235970a1dd38fd96069eb95d2461e63921ff778","actor_gravatar":"27d724b5464085703db5070fc0cfae38","push_id":24643196},"actor":{"gravatar_id":"27d724b5464085703db5070fc0cfae38","id":12756,"url":"https://api.github.dev/users/marka2g","avatar_url":"https://secure.gravatar.com/avatar/27d724b5464085703db5070fc0cfae38?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"marka2g"},"id":"1127199182"} +{"repo":{"id":1323734,"url":"https://api.github.dev/repos/axilmar/algui","name":"axilmar/algui"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:56Z","payload":{"shas":[["89db7a6373b6f51b28c8a84c3b7f1baec4edfa15","1c771f7bfd30f6f36b3203efe2cc952c02e6e57d@gmail.com","fixed Bamcaig's makefile.","axilmar"]],"repo":"axilmar/algui","actor":"axilmar","ref":"refs/heads/master","size":1,"head":"89db7a6373b6f51b28c8a84c3b7f1baec4edfa15","actor_gravatar":"c4e926fdc0905d11899b69c6387f6ed7","push_id":24643197},"actor":{"gravatar_id":"c4e926fdc0905d11899b69c6387f6ed7","id":598420,"url":"https://api.github.dev/users/axilmar","avatar_url":"https://secure.gravatar.com/avatar/c4e926fdc0905d11899b69c6387f6ed7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"axilmar"},"id":"1127199183"} +{"repo":{"id":1129010,"url":"https://api.github.dev/repos/blueimp/jQuery-File-Upload","name":"blueimp/jQuery-File-Upload"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:02:57Z","payload":{"repo":"blueimp/jQuery-File-Upload","actor":"Andrewmp1","actor_gravatar":"a29ba635c752b03b8c62e66f68eefcf2","action":"started"},"actor":{"gravatar_id":"a29ba635c752b03b8c62e66f68eefcf2","id":186297,"url":"https://api.github.dev/users/Andrewmp1","avatar_url":"https://secure.gravatar.com/avatar/a29ba635c752b03b8c62e66f68eefcf2?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Andrewmp1"},"id":"1127199185"} +{"repo":{"id":1323083,"url":"https://api.github.dev/repos/wrtaff/sample_app","name":"wrtaff/sample_app"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:02:59Z","payload":{"shas":[["8140685d59c3f5e2bee1f6ffe9bcb31f92198f59","d13c873143724d7f5e8ba07579e07bac11e599c1@gmail.com","Removed default Rails page","wrtaff"],["afa14db5386d9ec86ff6b80e45bd26a68381ae79","d13c873143724d7f5e8ba07579e07bac11e599c1@gmail.com","titan, finished ch5","wrtaff"],["1105dd1b6b0b598f3426263a04311bcc85336d4b","d13c873143724d7f5e8ba07579e07bac11e599c1@gmail.com","titan, finished ch 6, Finished first cut of the User Model","wrtaff"],["736e90e83d75dd15e73bb59b65834e5941266f6e","d13c873143724d7f5e8ba07579e07bac11e599c1@gmail.com","finished chapter 7","wrtaff"],["f9a634902727c45fa352a6ffab7eef0dc566c910","d13c873143724d7f5e8ba07579e07bac11e599c1@gmail.com","I'm not sure where I am... somewhere after chapter 7!","wrtaff"]],"repo":"wrtaff/sample_app","actor":"wrtaff","ref":"refs/heads/master","size":5,"head":"f9a634902727c45fa352a6ffab7eef0dc566c910","actor_gravatar":"25f32f750f207794fd18482cdab07816","push_id":24643200},"actor":{"gravatar_id":"25f32f750f207794fd18482cdab07816","id":179664,"url":"https://api.github.dev/users/wrtaff","avatar_url":"https://secure.gravatar.com/avatar/25f32f750f207794fd18482cdab07816?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"wrtaff"},"id":"1127199194"} +{"repo":{"id":1188405,"url":"https://api.github.dev/repos/neerajdotname/spree","name":"neerajdotname/spree"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:09Z","payload":{"shas":[["37a124285c48c3ff9018279e894890aa55e7caa4","58ac9ddc0007b9ea947ca1cef870358b680b5fd1@gmail.com","add scope master_price_lte and test","Neeraj Singh"],["9f1ebeccbf5c41bb4aa5e163785dd8c7e00e175e","58ac9ddc0007b9ea947ca1cef870358b680b5fd1@gmail.com","build all the ordering scopes which got missing after removing searchlogic","Neeraj Singh"],["5d9a2bd69639f7abbfd72b6b7236d12e55cbed79","58ac9ddc0007b9ea947ca1cef870358b680b5fd1@gmail.com","if it is a class then convert it into relation","Neeraj Singh"]],"repo":"neerajdotname/spree","actor":"neerajdotname","ref":"refs/heads/admin_edit_delete","size":3,"head":"5d9a2bd69639f7abbfd72b6b7236d12e55cbed79","actor_gravatar":"934f858e451cf9b771996b2940cd696b","push_id":24643207},"actor":{"gravatar_id":"934f858e451cf9b771996b2940cd696b","id":6399,"url":"https://api.github.dev/users/neerajdotname","avatar_url":"https://secure.gravatar.com/avatar/934f858e451cf9b771996b2940cd696b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"neerajdotname"},"id":"1127199217"} +{"repo":{"id":25306,"url":"https://api.github.dev/repos/pieter/gitx","name":"pieter/gitx"},"type":"ForkEvent","public":true,"created_at":"2011-02-12T00:03:09Z","payload":{"repo":"pieter/gitx","actor":"ppl","forkee":1357188,"actor_gravatar":"3882a1e8c4b32a9813873f7e75950a41"},"actor":{"gravatar_id":"3882a1e8c4b32a9813873f7e75950a41","id":131469,"url":"https://api.github.dev/users/ppl","avatar_url":"https://secure.gravatar.com/avatar/3882a1e8c4b32a9813873f7e75950a41?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ppl"},"id":"1127199224"} +{"repo":{"id":560081,"url":"https://api.github.dev/repos/rs/CHGridView","name":"rs/CHGridView"},"type":"ForkEvent","public":true,"created_at":"2011-02-12T00:03:15Z","payload":{"repo":"rs/CHGridView","actor":"toulouse","forkee":1357189,"actor_gravatar":"956d8f94895f210bd3ab4177d53d7f70"},"actor":{"gravatar_id":"956d8f94895f210bd3ab4177d53d7f70","id":179716,"url":"https://api.github.dev/users/toulouse","avatar_url":"https://secure.gravatar.com/avatar/956d8f94895f210bd3ab4177d53d7f70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"toulouse"},"id":"1127199238"} +{"repo":{"id":1194723,"url":"https://api.github.dev/repos/Xelhua/Auto","name":"Xelhua/Auto"},"type":"PushEvent","org":{"gravatar_id":"e9bff8ec0a9f779c7e8507c1293f9e0b","id":535169,"url":"https://api.github.dev/orgs/Xelhua","avatar_url":"https://secure.gravatar.com/avatar/e9bff8ec0a9f779c7e8507c1293f9e0b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"Xelhua"},"public":true,"created_at":"2011-02-12T00:03:15Z","payload":{"shas":[["e45c5d5c527551252d36a82f084f4bc5aea4d1ec","9d2ef0d3f9427c686698f6190f394e89fcc307d7@starcoder.info","Updated.","Elijah Perrault"]],"repo":"Xelhua/Auto","actor":"iElijah101","ref":"refs/heads/indev","size":1,"head":"e45c5d5c527551252d36a82f084f4bc5aea4d1ec","actor_gravatar":"ac3855f38cb9d4a84f5ff8e36d6801e6","push_id":24643212},"actor":{"gravatar_id":"ac3855f38cb9d4a84f5ff8e36d6801e6","id":261657,"url":"https://api.github.dev/users/iElijah101","avatar_url":"https://secure.gravatar.com/avatar/ac3855f38cb9d4a84f5ff8e36d6801e6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"iElijah101"},"id":"1127199241"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:03:16Z","payload":{"name":"gist: 823302","desc":null,"actor":"Tolmark12","url":"https://gist.github.com/823302","actor_gravatar":"f31f83f4cc7f6126a28e86fb2f751d70","snippet":"general:\n #\n # writable_directories: a list of directories that your php app is","action":"update"},"actor":{"gravatar_id":"f31f83f4cc7f6126a28e86fb2f751d70","id":4827,"url":"https://api.github.dev/users/Tolmark12","avatar_url":"https://secure.gravatar.com/avatar/f31f83f4cc7f6126a28e86fb2f751d70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Tolmark12"},"id":"1127199249"} +{"repo":{"id":1146844,"url":"https://api.github.dev/repos/ninject/ninject.extensions.wf","name":"ninject/ninject.extensions.wf"},"type":"GollumEvent","org":{"gravatar_id":"b46527233865dd59f195fe0c2115a6e0","id":254550,"url":"https://api.github.dev/orgs/ninject","avatar_url":"https://secure.gravatar.com/avatar/b46527233865dd59f195fe0c2115a6e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"ninject"},"public":true,"created_at":"2011-02-12T00:03:20Z","payload":{"title":"Home","summary":null,"repo":"ninject/ninject.extensions.wf","sha":"581311e3a941a7c4f326a3ff570ca9732f70eddc","actor":"danielmarbach","page_name":"Home","actor_gravatar":"a6d7c51251ba7bca8525e923e7977854","action":"edited"},"actor":{"gravatar_id":"a6d7c51251ba7bca8525e923e7977854","id":174258,"url":"https://api.github.dev/users/danielmarbach","avatar_url":"https://secure.gravatar.com/avatar/a6d7c51251ba7bca8525e923e7977854?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"danielmarbach"},"id":"1127199260"} +{"repo":{"id":1257679,"url":"https://api.github.dev/repos/Raphfrk/Bukkit","name":"Raphfrk/Bukkit"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:20Z","payload":{"shas":[["be485d43ee1f64438ff3e93da9816c2a198cf0fd","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added event for when a world is saved (EyvindRM)","Dinnerbone"],["14f93e5066467a99527052aab2a54cc04467fa42","12cb96e516533cbddfec9ec7772ef930d6d27c98@girsbrain.org","Adding Creature.setTarget() per jlogsdon","James Logsdon"],["bd14eac5930e330392636fecabc9c9ada9c686a4","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added Creature.getTarget","Dinnerbone"],["ea17e4070c4516cb577441c6d8b80ba9fbaf1303","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","PlayerChatEvent.setFormat validation","Dinnerbone"]],"repo":"Raphfrk/Bukkit","actor":"Raphfrk","ref":"refs/heads/callableScheduler","size":4,"head":"ea17e4070c4516cb577441c6d8b80ba9fbaf1303","actor_gravatar":"68186a30d5a714f6012a9c48d2b10630","push_id":24643215},"actor":{"gravatar_id":"68186a30d5a714f6012a9c48d2b10630","id":496729,"url":"https://api.github.dev/users/Raphfrk","avatar_url":"https://secure.gravatar.com/avatar/68186a30d5a714f6012a9c48d2b10630?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Raphfrk"},"id":"1127199261"} +{"repo":{"id":609599,"url":"https://api.github.dev/repos/jameswilson/home","name":"jameswilson/home"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:21Z","payload":{"shas":[["c08e57f2a0289976d0cb4eb6ac040c21f4a9dc0f","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","removed drush.","James Wilson"],["15d88dcc9cb334abde0c9bd83e2a38a769df123c","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","Use ApacheCTL from Macports.","James Wilson"],["d4f42f5e0e9fb37bec311a58e9e4aca251f6fae6","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","Dont set the window title.","James Wilson"],["5daa7119f843c50f544e06a10b741e40a141dd16","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","Updated to virtualhost.sh 1.19","James Wilson"],["283602cfca52afef82e22cad47898aa2ecc3cbe4","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","Added cloc.pl 1.53","James Wilson"],["f36ea6768ebce40921e68ba790cfba802dd1d1f9","789e92165ca388ea9036a156272f2e280da69aab@gmail.com","commit the file, not the symlink","James Wilson"]],"repo":"jameswilson/home","actor":"jameswilson","ref":"refs/heads/master","size":6,"head":"f36ea6768ebce40921e68ba790cfba802dd1d1f9","actor_gravatar":"d68b7d119ae6881727153ffba9d75d1d","push_id":24643220},"actor":{"gravatar_id":"d68b7d119ae6881727153ffba9d75d1d","id":243532,"url":"https://api.github.dev/users/jameswilson","avatar_url":"https://secure.gravatar.com/avatar/d68b7d119ae6881727153ffba9d75d1d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jameswilson"},"id":"1127199277"} +{"repo":{"id":692111,"url":"https://api.github.dev/repos/intridea/authbuttons","name":"intridea/authbuttons"},"type":"WatchEvent","org":{"gravatar_id":"75a54fe031ca953d44f974d1c5216a24","id":3747,"url":"https://api.github.dev/orgs/intridea","avatar_url":"https://secure.gravatar.com/avatar/75a54fe031ca953d44f974d1c5216a24?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"intridea"},"public":true,"created_at":"2011-02-12T00:03:30Z","payload":{"repo":"intridea/authbuttons","actor":"elliottgoodwin","actor_gravatar":"074266be2f0baecbc79eee4423173d7c","action":"started"},"actor":{"gravatar_id":"074266be2f0baecbc79eee4423173d7c","id":37953,"url":"https://api.github.dev/users/elliottgoodwin","avatar_url":"https://secure.gravatar.com/avatar/074266be2f0baecbc79eee4423173d7c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"elliottgoodwin"},"id":"1127199301"} +{"repo":{"id":68626,"url":"https://api.github.dev/repos/nitrogen/nitrogen","name":"nitrogen/nitrogen"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:03:31Z","payload":{"repo":"nitrogen/nitrogen","actor":"dkujawski","actor_gravatar":"b7a622234d2fd7d8526e3d778862c3da","action":"started"},"actor":{"gravatar_id":"b7a622234d2fd7d8526e3d778862c3da","id":515959,"url":"https://api.github.dev/users/dkujawski","avatar_url":"https://secure.gravatar.com/avatar/b7a622234d2fd7d8526e3d778862c3da?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dkujawski"},"id":"1127199303"} +{"repo":{"id":766240,"url":"https://api.github.dev/repos/stephenh/gwt-mpv","name":"stephenh/gwt-mpv"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:31Z","payload":{"shas":[["ac5a100ed8c6b0eebd49fd7a64ffe3ac1a50feb2","06fa905d7f2aaced6dc72e9511c71a2a51e8aead@exigencecorp.com","Add IsCookies.set with more options.","Stephen Haberman"],["9daeed8b1b4ef4ee16596793b4fa3094ac734d49","06fa905d7f2aaced6dc72e9511c71a2a51e8aead@exigencecorp.com","Update AbstractCookie to set available options.","Stephen Haberman"],["b68cab5eb3cfcc1b07be65c5adc4984e8ed44ae5","06fa905d7f2aaced6dc72e9511c71a2a51e8aead@exigencecorp.com","Add PropertyBinder.to(IsCookie).","Stephen Haberman"]],"repo":"stephenh/gwt-mpv","actor":"stephenh","ref":"refs/heads/master","size":3,"head":"b68cab5eb3cfcc1b07be65c5adc4984e8ed44ae5","actor_gravatar":"d1ab193da2440f9b2c6a3b196df8477b","push_id":24643229},"actor":{"gravatar_id":"d1ab193da2440f9b2c6a3b196df8477b","id":6401,"url":"https://api.github.dev/users/stephenh","avatar_url":"https://secure.gravatar.com/avatar/d1ab193da2440f9b2c6a3b196df8477b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"stephenh"},"id":"1127199307"} +{"repo":{"id":766240,"url":"https://api.github.dev/repos/stephenh/gwt-mpv","name":"stephenh/gwt-mpv"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:03:32Z","payload":{"name":"gwt-mpv","object":"tag","object_name":"0.26.1"},"actor":{"gravatar_id":"d1ab193da2440f9b2c6a3b196df8477b","id":6401,"url":"https://api.github.dev/users/stephenh","avatar_url":"https://secure.gravatar.com/avatar/d1ab193da2440f9b2c6a3b196df8477b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"stephenh"},"id":"1127199309"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"FollowEvent","public":true,"created_at":"2011-02-12T00:03:33Z","payload":{"target":{"gravatar_id":"b50d3f9ed186e43dfcc867571749393c","repos":8,"followers":152,"login":"joearms"},"actor":"paul-meier","actor_gravatar":"a2f3e8cd4d2ff13c600f1c12b3ab494d"},"actor":{"gravatar_id":"a2f3e8cd4d2ff13c600f1c12b3ab494d","id":315555,"url":"https://api.github.dev/users/paul-meier","avatar_url":"https://secure.gravatar.com/avatar/a2f3e8cd4d2ff13c600f1c12b3ab494d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"paul-meier"},"id":"1127199332"} +{"repo":{"id":1345706,"url":"https://api.github.dev/repos/wchristian/perl5i","name":"wchristian/perl5i"},"type":"CommitCommentEvent","public":true,"created_at":"2011-02-12T00:03:36Z","payload":{"repo":"wchristian/perl5i","actor":"wchristian","comment_id":268920,"actor_gravatar":"f77c2e7572ed0efa7bb025111330e1b2","commit":"be2d808b9eedd3b66571ff69b209935472744726"},"actor":{"gravatar_id":"f77c2e7572ed0efa7bb025111330e1b2","id":175467,"url":"https://api.github.dev/users/wchristian","avatar_url":"https://secure.gravatar.com/avatar/f77c2e7572ed0efa7bb025111330e1b2?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"wchristian"},"id":"1127199351"} +{"repo":{"id":1306677,"url":"https://api.github.dev/repos/lostedboy/football","name":"lostedboy/football"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:38Z","payload":{"shas":[["5df6c1e41b70a21b8ff4355c992faf891db9f89e","a3a54e6313a0793c0ec03511d09012c78021531b@yandex.ru","Articles1","Lost Boy"],["ca91a1eee3057d239bb3d088a1feb38e71725f90","a3a54e6313a0793c0ec03511d09012c78021531b@yandex.ru","Articles1","Lost Boy"],["3c4de6496a1334a142313b9501e7a8b8d29b25cf","a3a54e6313a0793c0ec03511d09012c78021531b@yandex.ru","Extended articles","Lost Boy"]],"repo":"lostedboy/football","actor":"lostedboy","ref":"refs/heads/master","size":3,"head":"3c4de6496a1334a142313b9501e7a8b8d29b25cf","actor_gravatar":"16f5e9b4ea4b135388d945401ebfa02a","push_id":24643234},"actor":{"gravatar_id":"16f5e9b4ea4b135388d945401ebfa02a","id":442962,"url":"https://api.github.dev/users/lostedboy","avatar_url":"https://secure.gravatar.com/avatar/16f5e9b4ea4b135388d945401ebfa02a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"lostedboy"},"id":"1127199352"} +{"repo":{"id":699072,"url":"https://api.github.dev/repos/oy/teeworlds","name":"oy/teeworlds"},"type":"PullRequestEvent","public":true,"created_at":"2011-02-12T00:03:40Z","payload":{"number":485,"pull_request":{"title":"New Windows icon //Windows Vista/7 zoom action support","number":485,"commits":1,"deletions":0,"id":71793,"issue_id":593177,"additions":0},"repo":"oy/teeworlds","actor":"Fisico","actor_gravatar":"5f9d060548a810c1ca06a83f297b4a80","action":"opened"},"actor":{"gravatar_id":"fc29b1454563b40187608da355fa4a3b","id":329471,"url":"https://api.github.dev/users/Fisico","avatar_url":"https://secure.gravatar.com/avatar/fc29b1454563b40187608da355fa4a3b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Fisico"},"id":"1127199355"} +{"repo":{"id":194514,"url":"https://api.github.dev/repos/cldwalker/boson","name":"cldwalker/boson"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:03:42Z","payload":{"repo":"cldwalker/boson","actor":"locks","actor_gravatar":"47106c89a2c15b92fe3d966af3337236","action":"started"},"actor":{"gravatar_id":"47106c89a2c15b92fe3d966af3337236","id":32344,"url":"https://api.github.dev/users/locks","avatar_url":"https://secure.gravatar.com/avatar/47106c89a2c15b92fe3d966af3337236?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"locks"},"id":"1127199432"} +{"repo":{"id":846504,"url":"https://api.github.dev/repos/silverfilain/x264_L-SMASH","name":"silverfilain/x264_L-SMASH"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:47Z","payload":{"shas":[["cc972d40e9a22a8e6e49a3aedb74274d07af6b41","f0d8b5c1d6512f809b27c25a46b70edb12615d19@gmail.com","Macrofy common fields in box structures instead of struct.\n\nAdd pointer of parent box for each box.\nThis can distinguish boxes that have the same fourCC.","Yusuke Nakamura"]],"repo":"silverfilain/x264_L-SMASH","actor":"VFR-maniac","ref":"refs/heads/lsmash","size":1,"head":"cc972d40e9a22a8e6e49a3aedb74274d07af6b41","actor_gravatar":"4a8852f5dad8ec9248670571e64a2b17","push_id":24643244},"actor":{"gravatar_id":"4a8852f5dad8ec9248670571e64a2b17","id":372049,"url":"https://api.github.dev/users/VFR-maniac","avatar_url":"https://secure.gravatar.com/avatar/4a8852f5dad8ec9248670571e64a2b17?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"VFR-maniac"},"id":"1127199476"} +{"repo":{"id":1251921,"url":"https://api.github.dev/repos/neilmanuell/auteur","name":"neilmanuell/auteur"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:48Z","payload":{"shas":[["431152f4107ae609274a1dc804270f4adbbe13d1","aa868623cd93b9822016a73f171b2b9d529586a3@gmail.com","injected CopySequenceDropTargetSubMediator","neilmanuell"]],"repo":"neilmanuell/auteur","actor":"neilmanuell","ref":"refs/heads/add-copy","size":1,"head":"431152f4107ae609274a1dc804270f4adbbe13d1","actor_gravatar":"2f1d373d0d4bec09d439451824b5a7e3","push_id":24643246},"actor":{"gravatar_id":"2f1d373d0d4bec09d439451824b5a7e3","id":249941,"url":"https://api.github.dev/users/neilmanuell","avatar_url":"https://secure.gravatar.com/avatar/2f1d373d0d4bec09d439451824b5a7e3?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"neilmanuell"},"id":"1127199492"} +{"repo":{"id":1274795,"url":"https://api.github.dev/repos/fredrikhenne/linuxadmin","name":"fredrikhenne/linuxadmin"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:48Z","payload":{"shas":[["b628d4fdd05994d36721daafae29bcd46dd9319c","8e7907b3ae9a5927f30d008fd84d2f2a66c1c1ec@gmail.com","Week 4 additions","Tariksin"]],"repo":"Tariksin/linuxadmin","actor":"Tariksin","ref":"refs/heads/master","size":1,"head":"b628d4fdd05994d36721daafae29bcd46dd9319c","actor_gravatar":"cb10f6cce6ea6fc570663ffdb2c1a43b","push_id":24643247},"actor":{"gravatar_id":"cb10f6cce6ea6fc570663ffdb2c1a43b","id":141870,"url":"https://api.github.dev/users/fredrikhenne","avatar_url":"https://secure.gravatar.com/avatar/cb10f6cce6ea6fc570663ffdb2c1a43b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"fredrikhenne"},"id":"1127199493"} +{"repo":{"id":1334946,"url":"https://api.github.dev/repos/x99percent/speedy-2.6.32","name":"x99percent/speedy-2.6.32"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:50Z","payload":{"shas":[["5fe631b2e11926aef08c38c0b3fb657c8965dbfc","1001e8702733cced254345e193c88aaa47a4f5de@99percent.com","Original HTC Source","x99percent"],["83a7b39e3901309d33965e436462a9ace97f6104","1001e8702733cced254345e193c88aaa47a4f5de@99percent.com","Update CROSS_COMPILE to easily work with the ARM compiler from http://www.codesourcery.com/sgpp/lite/arm/portal/release1293","x99percent"],["a3a50510428c8d51cb490f3f84fc1e0cbb28454e","1001e8702733cced254345e193c88aaa47a4f5de@99percent.com","Add explicit neon to CONFIG_VFP","x99percent"]],"repo":"x99percent/speedy-2.6.32","actor":"x99percent","ref":"refs/heads/pulling","size":3,"head":"a3a50510428c8d51cb490f3f84fc1e0cbb28454e","actor_gravatar":"592b78049afbb46680486d08aa383b6b","push_id":24643250},"actor":{"gravatar_id":"592b78049afbb46680486d08aa383b6b","id":603416,"url":"https://api.github.dev/users/x99percent","avatar_url":"https://secure.gravatar.com/avatar/592b78049afbb46680486d08aa383b6b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"x99percent"},"id":"1127199499"} +{"repo":{"id":488514,"url":"https://api.github.dev/repos/carlhuda/bundler","name":"carlhuda/bundler"},"type":"ForkEvent","org":{"gravatar_id":"d1c067780d4e27fd72212543162c7053","id":76794,"url":"https://api.github.dev/orgs/carlhuda","avatar_url":"https://secure.gravatar.com/avatar/d1c067780d4e27fd72212543162c7053?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"carlhuda"},"public":true,"created_at":"2011-02-12T00:03:52Z","payload":{"repo":"carlhuda/bundler","actor":"dbettin","forkee":1357191,"actor_gravatar":"385db2cd77cb32b4fb84dc3b97cae581"},"actor":{"gravatar_id":"385db2cd77cb32b4fb84dc3b97cae581","id":282896,"url":"https://api.github.dev/users/dbettin","avatar_url":"https://secure.gravatar.com/avatar/385db2cd77cb32b4fb84dc3b97cae581?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dbettin"},"id":"1127199508"} +{"repo":{"id":867564,"url":"https://api.github.dev/repos/pivotal/robolectric","name":"pivotal/robolectric"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:54Z","payload":{"shas":[["11467471c08b5aafff61e1e45090b86d9d2feb1a","569d1f6a119a13cc092e91d6ba8b588e05d10e72@pivotallabs.com","Implemented query capability for ShadowCanvas","Phil Goodwin"]],"repo":"pivotal/robolectric","actor":"pivotal","ref":"refs/heads/bitmap-DrawEvent","size":1,"head":"11467471c08b5aafff61e1e45090b86d9d2feb1a","actor_gravatar":"3573b25b9e1631a7c9d0c4aaaaf4f470","push_id":24643254},"actor":{"gravatar_id":"cb76d5e8ca3eebb5b627f6194b14370c","id":9148,"url":"https://api.github.dev/users/pivotal","avatar_url":"https://secure.gravatar.com/avatar/cb76d5e8ca3eebb5b627f6194b14370c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"pivotal"},"id":"1127199518"} +{"repo":{"id":1257679,"url":"https://api.github.dev/repos/Raphfrk/Bukkit","name":"Raphfrk/Bukkit"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:55Z","payload":{"shas":[["dd9e77ac8ac305416d4dd27de7e55499b657c96d","d36f570d1542d01c4d98b5df7356b3d7302b5cb5@gmail.com","allows calling of functions in the main thread","Raphfrk"]],"repo":"Raphfrk/Bukkit","actor":"Raphfrk","ref":"refs/heads/callableScheduler","size":1,"head":"dd9e77ac8ac305416d4dd27de7e55499b657c96d","actor_gravatar":"68186a30d5a714f6012a9c48d2b10630","push_id":24643255},"actor":{"gravatar_id":"68186a30d5a714f6012a9c48d2b10630","id":496729,"url":"https://api.github.dev/users/Raphfrk","avatar_url":"https://secure.gravatar.com/avatar/68186a30d5a714f6012a9c48d2b10630?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Raphfrk"},"id":"1127199581"} +{"repo":{"id":309235,"url":"https://api.github.dev/repos/gmr/rejected","name":"gmr/rejected"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:03:59Z","payload":{"shas":[["890f571be39ce99b4729854a42ced17a23573c16","735f672b66c6ea115159d1ea01fec2c47e36e2f7@myyearbook.com","Add Processes and Threads and handle shutdown on keyboard interrupt","Gavin M. Roy"],["98622f4c7af12e026e8ecd7e44b3e4ba993a1e73","735f672b66c6ea115159d1ea01fec2c47e36e2f7@myyearbook.com","Clean it up a little more adding blocking in the main MCP loop","Gavin M. Roy"]],"repo":"gmr/rejected","actor":"gmr","ref":"refs/heads/v2","size":2,"head":"98622f4c7af12e026e8ecd7e44b3e4ba993a1e73","actor_gravatar":"d105ef42a9433c9bd9cd33b78aa7e6ca","push_id":24643259},"actor":{"gravatar_id":"d105ef42a9433c9bd9cd33b78aa7e6ca","id":49469,"url":"https://api.github.dev/users/gmr","avatar_url":"https://secure.gravatar.com/avatar/d105ef42a9433c9bd9cd33b78aa7e6ca?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gmr"},"id":"1127199588"} +{"repo":{"id":1194723,"url":"https://api.github.dev/repos/Xelhua/Auto","name":"Xelhua/Auto"},"type":"PushEvent","org":{"gravatar_id":"e9bff8ec0a9f779c7e8507c1293f9e0b","id":535169,"url":"https://api.github.dev/orgs/Xelhua","avatar_url":"https://secure.gravatar.com/avatar/e9bff8ec0a9f779c7e8507c1293f9e0b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"Xelhua"},"public":true,"created_at":"2011-02-12T00:03:59Z","payload":{"shas":[["6434fffb512e9493edd70c176a24d333e63d059c","9d2ef0d3f9427c686698f6190f394e89fcc307d7@starcoder.info","...What.","Elijah Perrault"]],"repo":"Xelhua/Auto","actor":"iElijah101","ref":"refs/heads/indev","size":1,"head":"6434fffb512e9493edd70c176a24d333e63d059c","actor_gravatar":"ac3855f38cb9d4a84f5ff8e36d6801e6","push_id":24643258},"actor":{"gravatar_id":"ac3855f38cb9d4a84f5ff8e36d6801e6","id":261657,"url":"https://api.github.dev/users/iElijah101","avatar_url":"https://secure.gravatar.com/avatar/ac3855f38cb9d4a84f5ff8e36d6801e6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"iElijah101"},"id":"1127199589"} +{"repo":{"id":1330658,"url":"https://api.github.dev/repos/huntca/roster-runner","name":"huntca/roster-runner"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:00Z","payload":{"shas":[["c3912cdbd998afd88b6242e29d72319808376bdc","deea8e76580d937827cc6985189c7a62c92b66fb@gmail.com","Added info for pagination","Chris Hunt"]],"repo":"huntca/roster-runner","actor":"huntca","ref":"refs/heads/master","size":1,"head":"c3912cdbd998afd88b6242e29d72319808376bdc","actor_gravatar":"4fafaca2401263fd03b62ff37a157a35","push_id":24643260},"actor":{"gravatar_id":"4fafaca2401263fd03b62ff37a157a35","id":65323,"url":"https://api.github.dev/users/huntca","avatar_url":"https://secure.gravatar.com/avatar/4fafaca2401263fd03b62ff37a157a35?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"huntca"},"id":"1127199619"} +{"repo":{"id":843521,"url":"https://api.github.dev/repos/alde/VaadinDKP","name":"alde/VaadinDKP"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:00Z","payload":{"shas":[["36abbf5e08348b3fe6d24ba2e43e161554c6b7e9","51b82b7ef474dbee768eb0d292efd9390bf37e60@gmail.com","late night design changes","Rickard Dybeck"]],"repo":"alde/VaadinDKP","actor":"alde","ref":"refs/heads/master","size":1,"head":"36abbf5e08348b3fe6d24ba2e43e161554c6b7e9","actor_gravatar":"fc9df96dfa226ae832937d464846c80c","push_id":24643261},"actor":{"gravatar_id":"fc9df96dfa226ae832937d464846c80c","id":350296,"url":"https://api.github.dev/users/alde","avatar_url":"https://secure.gravatar.com/avatar/fc9df96dfa226ae832937d464846c80c?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"alde"},"id":"1127199621"} +{"repo":{"id":1239946,"url":"https://api.github.dev/repos/EvilSeph/Bukkit","name":"EvilSeph/Bukkit"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:00Z","payload":{"shas":[["590834894c296692981f000322d7037ab37f4b03","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added Server.getWorld(), Server.createWorld() now checks this to avoid duplication","Dinnerbone"],["a435cae1018b7081f1f74c016092cbed1c1ae150","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","New event WORLD_LOADED","Dinnerbone"],["5cb0b743b2e87fb1dfb070137148f6926c9a98e1","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Just breaking some redstone plugins, don't mind me","Dinnerbone"],["e95f99802d57ba1036804a86f5c3bb2789f4201b","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added loadChunk, unloadChunk and unloadChunkRequest.","Dinnerbone"],["1204340b967a804c0c485d7e7743a8a90e793f98","7a54be1fdc1bd629b722bd2792889175445f6523@MacBook-Pro.local","Added Sneaking Event","Alexander Hesse"],["be485d43ee1f64438ff3e93da9816c2a198cf0fd","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added event for when a world is saved (EyvindRM)","Dinnerbone"],["14f93e5066467a99527052aab2a54cc04467fa42","12cb96e516533cbddfec9ec7772ef930d6d27c98@girsbrain.org","Adding Creature.setTarget() per jlogsdon","James Logsdon"],["bd14eac5930e330392636fecabc9c9ada9c686a4","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","Added Creature.getTarget","Dinnerbone"],["ea17e4070c4516cb577441c6d8b80ba9fbaf1303","10496518726e793fddcdbba7368941d8c4c120bd@dinnerbone.com","PlayerChatEvent.setFormat validation","Dinnerbone"],["1bb17883098e387ddc54d5b7193b3b71e1fd3d6b","e16edee4090797dd085c30bdf907136e51cf606b@gmail.com","Fixed Button/Lever, using a logical AND instead of XOR to get 3 face bits","Tal Eisenberg"]],"repo":"EvilSeph/Bukkit","actor":"EvilSeph","ref":"refs/heads/master","size":10,"head":"1bb17883098e387ddc54d5b7193b3b71e1fd3d6b","actor_gravatar":"0d4d954f2a9d9c2ac63304f9b47aacc9","push_id":24643262},"actor":{"gravatar_id":"0d4d954f2a9d9c2ac63304f9b47aacc9","id":458009,"url":"https://api.github.dev/users/EvilSeph","avatar_url":"https://secure.gravatar.com/avatar/0d4d954f2a9d9c2ac63304f9b47aacc9?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"EvilSeph"},"id":"1127199629"} +{"repo":{"id":748725,"url":"https://api.github.dev/repos/sorear/niecza","name":"sorear/niecza"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:03Z","payload":{"shas":[["cf9e0a4af094509efcd07ca674a29019707a8722","fed0578406081f3c3a132b2ffaa2b378514d6fc0@cox.net","Remove some gimme5 cruft from this STD too","Stefan O'Rear"]],"repo":"sorear/niecza","actor":"sorear","ref":"refs/heads/master","size":1,"head":"cf9e0a4af094509efcd07ca674a29019707a8722","actor_gravatar":"468f8cec4d8b811d49676068aee54eae","push_id":24643267},"actor":{"gravatar_id":"468f8cec4d8b811d49676068aee54eae","id":92735,"url":"https://api.github.dev/users/sorear","avatar_url":"https://secure.gravatar.com/avatar/468f8cec4d8b811d49676068aee54eae?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sorear"},"id":"1127199645"} +{"repo":{"id":177042,"url":"https://api.github.dev/repos/gc/mangos","name":"gc/mangos"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:04Z","payload":{"shas":[["64bfafe3bc80cd979a7f3b981703717c8dfe597e","5f51ae2004f975078ee98c6c58994c5e9133d9f2@gmail.com","Merge branch 'master' of git://github.com/mangos/mangos","Feanordev"]],"repo":"gc/mangos","actor":"gc","ref":"refs/heads/master","size":1,"head":"64bfafe3bc80cd979a7f3b981703717c8dfe597e","actor_gravatar":"e7564661cde59a5918d52e44319c517d","push_id":24643268},"actor":{"gravatar_id":"e7564661cde59a5918d52e44319c517d","id":74225,"url":"https://api.github.dev/users/gc","avatar_url":"https://secure.gravatar.com/avatar/e7564661cde59a5918d52e44319c517d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gc"},"id":"1127199646"} +{"repo":{"id":1357193,"url":"https://api.github.dev/repos/sethwoodworth/MBET","name":"sethwoodworth/MBET"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:04:08Z","payload":{"name":"MBET","object":"repository","object_name":null},"actor":{"gravatar_id":"005f6728aaf23374daec5d407e40a64f","id":123998,"url":"https://api.github.dev/users/sethwoodworth","avatar_url":"https://secure.gravatar.com/avatar/005f6728aaf23374daec5d407e40a64f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sethwoodworth"},"id":"1127199733"} +{"repo":{"id":910752,"url":"https://api.github.dev/repos/puppetlabs/puppet-docs","name":"puppetlabs/puppet-docs"},"type":"PushEvent","org":{"gravatar_id":"eb454c2139c156db7c8266a875519a1f","id":234268,"url":"https://api.github.dev/orgs/puppetlabs","avatar_url":"https://secure.gravatar.com/avatar/eb454c2139c156db7c8266a875519a1f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"puppetlabs"},"public":true,"created_at":"2011-02-12T00:04:11Z","payload":{"shas":[["1120d0ee4110121694a29732164ce0b0129e3758","474ba67bdb289c6263b36dfd8a7bed6c85b04943@lovedthanlost.net","Fixed Type Guide link","James Turnbull"],["54074e011e3fc8f7ae81e5b3534cd96200d38caa","474ba67bdb289c6263b36dfd8a7bed6c85b04943@lovedthanlost.net","Merge branch 'master' of github.com:puppetlabs/puppet-docs","James Turnbull"]],"repo":"puppetlabs/puppet-docs","actor":"jamtur01","ref":"refs/heads/master","size":2,"head":"54074e011e3fc8f7ae81e5b3534cd96200d38caa","actor_gravatar":"31cc2100279326dd6148a7e163692097","push_id":24643272},"actor":{"gravatar_id":"31cc2100279326dd6148a7e163692097","id":4365,"url":"https://api.github.dev/users/jamtur01","avatar_url":"https://secure.gravatar.com/avatar/31cc2100279326dd6148a7e163692097?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jamtur01"},"id":"1127199737"} +{"repo":{"id":1354191,"url":"https://api.github.dev/repos/Comarco/Brochure-Makefiles","name":"Comarco/Brochure-Makefiles"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:11Z","payload":{"shas":[["b442b606c23fdc412c45357e227d27d8876954a2","3829486b93ec44395f0b980424bae9b6fb07b7bc@iftbqp.com","","Comarco"]],"repo":"Comarco/Brochure-Makefiles","actor":"Comarco","ref":"refs/heads/master","size":1,"head":"b442b606c23fdc412c45357e227d27d8876954a2","actor_gravatar":"0fb226cf15fbef2389bc041e3f9e8ac5","push_id":24643274},"actor":{"gravatar_id":"0fb226cf15fbef2389bc041e3f9e8ac5","id":612304,"url":"https://api.github.dev/users/Comarco","avatar_url":"https://secure.gravatar.com/avatar/0fb226cf15fbef2389bc041e3f9e8ac5?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Comarco"},"id":"1127199761"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:04:17Z","payload":{"name":"mirec","object":"branch","object_name":"master"},"actor":{"gravatar_id":"88865c26b48e0ed568cdd4d06cb5a22a","id":613706,"url":"https://api.github.dev/users/suhabe","avatar_url":"https://secure.gravatar.com/avatar/88865c26b48e0ed568cdd4d06cb5a22a?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"suhabe"},"id":"1127199766"} +{"repo":{"id":349203,"url":"https://api.github.dev/repos/geemus/excon","name":"geemus/excon"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:18Z","payload":{"shas":[["8dd753913cdcbddb9aba7164a6399ebf7de598a0","5fab463426bba55b6404be5d85e458d8ab6b69fb@gmail.com","simplify/shorten chunked parsing","geemus"]],"repo":"geemus/excon","actor":"geemus","ref":"refs/heads/master","size":1,"head":"8dd753913cdcbddb9aba7164a6399ebf7de598a0","actor_gravatar":"f3184fb3877846a5d89b41dc51d0103f","push_id":24643278},"actor":{"gravatar_id":"f3184fb3877846a5d89b41dc51d0103f","id":4138,"url":"https://api.github.dev/users/geemus","avatar_url":"https://secure.gravatar.com/avatar/f3184fb3877846a5d89b41dc51d0103f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"geemus"},"id":"1127199767"} +{"repo":{"id":1356941,"url":"https://api.github.dev/repos/alecgorge/node-compress","name":"alecgorge/node-compress"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:22Z","payload":{"shas":[["bdd4a0180165754d9b15c155490fbef100248583","2ef72c8d1621c66dd0e059b6545add9ccbce021e@gmail.com","better header","Alec Gorge"]],"repo":"alecgorge/node-compress","actor":"alecgorge","ref":"refs/heads/master","size":1,"head":"bdd4a0180165754d9b15c155490fbef100248583","actor_gravatar":"fbdcebe9314b8ec14e9c6a5ea7638f3e","push_id":24643279},"actor":{"gravatar_id":"fbdcebe9314b8ec14e9c6a5ea7638f3e","id":261668,"url":"https://api.github.dev/users/alecgorge","avatar_url":"https://secure.gravatar.com/avatar/fbdcebe9314b8ec14e9c6a5ea7638f3e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"alecgorge"},"id":"1127199901"} +{"repo":{"id":1342975,"url":"https://api.github.dev/repos/chrisdrackett/django-browser-info","name":"chrisdrackett/django-browser-info"},"type":"CommitCommentEvent","public":true,"created_at":"2011-02-12T00:04:23Z","payload":{"repo":"chrisdrackett/django-browser-info","actor":"dmishe","comment_id":268922,"actor_gravatar":"1a74541e905579cc2f21a29515c6d875","commit":"19114078a1e0ddc5b8409b4efa04fb6245693400"},"actor":{"gravatar_id":"1a74541e905579cc2f21a29515c6d875","id":99983,"url":"https://api.github.dev/users/dmishe","avatar_url":"https://secure.gravatar.com/avatar/1a74541e905579cc2f21a29515c6d875?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"dmishe"},"id":"1127199902"} +{"repo":{"id":99116,"url":"https://api.github.dev/repos/kjhealy/emacs-starter-kit","name":"kjhealy/emacs-starter-kit"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:25Z","payload":{"shas":[["e0bb66aec2fd91da874a029be80bb4935c4084ff","e62c4214f3ae2e33ba9ac1e4279c48dd08fac21b@gmail.com","header","Kieran Healy"],["b18749a1efae71d8fb9581cea480ed1c8b44672b","e62c4214f3ae2e33ba9ac1e4279c48dd08fac21b@gmail.com","Merge branch 'master' of github.com:kjhealy/emacs-starter-kit","Kieran Healy"]],"repo":"kjhealy/emacs-starter-kit","actor":"kjhealy","ref":"refs/heads/master","size":2,"head":"b18749a1efae71d8fb9581cea480ed1c8b44672b","actor_gravatar":"6aabce07dcb27b66327ee0ea15190003","push_id":24643282},"actor":{"gravatar_id":"6aabce07dcb27b66327ee0ea15190003","id":5760,"url":"https://api.github.dev/users/kjhealy","avatar_url":"https://secure.gravatar.com/avatar/6aabce07dcb27b66327ee0ea15190003?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"kjhealy"},"id":"1127199922"} +{"repo":{"id":1357131,"url":"https://api.github.dev/repos/metageek-llc/ManagedWifi","name":"metageek-llc/ManagedWifi"},"type":"CreateEvent","org":{"gravatar_id":"56ba94b62a2ac4d6affc1939ef394592","id":373851,"url":"https://api.github.dev/orgs/metageek-llc","avatar_url":"https://secure.gravatar.com/avatar/56ba94b62a2ac4d6affc1939ef394592?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"metageek-llc"},"public":true,"created_at":"2011-02-12T00:04:27Z","payload":{"name":"ManagedWifi","object":"branch","object_name":"master"},"actor":{"gravatar_id":"f99b8d8e787ba09419e1165f83c710ad","id":381142,"url":"https://api.github.dev/users/junkshow","avatar_url":"https://secure.gravatar.com/avatar/f99b8d8e787ba09419e1165f83c710ad?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"junkshow"},"id":"1127199942"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:33Z","payload":{"shas":[["39868141cbafb0450bcc8566e57f85daa0be8490","f2206b280952d4132a7a368c131a65a823a47dde@gmail.com","adding comments and cleaning up","Tomasz T"]],"repo":"i-eat-brainz/temprepo","actor":"i-eat-brainz","ref":"refs/heads/master","size":1,"head":"39868141cbafb0450bcc8566e57f85daa0be8490","actor_gravatar":"d950a86d379de01881463ee00f6b8162","push_id":24643287},"actor":{"gravatar_id":"d950a86d379de01881463ee00f6b8162","id":112270,"url":"https://api.github.dev/users/i-eat-brainz","avatar_url":"https://secure.gravatar.com/avatar/d950a86d379de01881463ee00f6b8162?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"i-eat-brainz"},"id":"1127199956"} +{"repo":{"id":1357165,"url":"https://api.github.dev/repos/JetDroid/JetKernel_binary","name":"JetDroid/JetKernel_binary"},"type":"CreateEvent","org":{"gravatar_id":"3e417d693f2b7db9d4daca24b6a57290","id":359814,"url":"https://api.github.dev/orgs/JetDroid","avatar_url":"https://secure.gravatar.com/avatar/3e417d693f2b7db9d4daca24b6a57290?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"JetDroid"},"public":true,"created_at":"2011-02-12T00:04:35Z","payload":{"name":"JetKernel_binary","object":"branch","object_name":"experimental-2.6.29-dopi"},"actor":{"gravatar_id":"ce9598cde5173fe3bedb86d32c53f346","id":164304,"url":"https://api.github.dev/users/Dopi","avatar_url":"https://secure.gravatar.com/avatar/ce9598cde5173fe3bedb86d32c53f346?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Dopi"},"id":"1127199958"} +{"repo":{"id":1357165,"url":"https://api.github.dev/repos/JetDroid/JetKernel_binary","name":"JetDroid/JetKernel_binary"},"type":"CreateEvent","org":{"gravatar_id":"3e417d693f2b7db9d4daca24b6a57290","id":359814,"url":"https://api.github.dev/orgs/JetDroid","avatar_url":"https://secure.gravatar.com/avatar/3e417d693f2b7db9d4daca24b6a57290?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"JetDroid"},"public":true,"created_at":"2011-02-12T00:04:36Z","payload":{"name":"JetKernel_binary","object":"branch","object_name":"master"},"actor":{"gravatar_id":"ce9598cde5173fe3bedb86d32c53f346","id":164304,"url":"https://api.github.dev/users/Dopi","avatar_url":"https://secure.gravatar.com/avatar/ce9598cde5173fe3bedb86d32c53f346?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Dopi"},"id":"1127199962"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:04:40Z","payload":{"name":"Catalyst","object":"repository","object_name":null},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127199998"} +{"repo":{"id":1050285,"url":"https://api.github.dev/repos/smichr/sympy","name":"smichr/sympy"},"type":"CommitCommentEvent","public":true,"created_at":"2011-02-12T00:04:42Z","payload":{"repo":"smichr/sympy","actor":"smichr","comment_id":268923,"actor_gravatar":"61e106a28e171b4407171702b182759f","commit":"e00673fcb0968ac0c03d697c5c2ca62096744bd4"},"actor":{"gravatar_id":"61e106a28e171b4407171702b182759f","id":90703,"url":"https://api.github.dev/users/smichr","avatar_url":"https://secure.gravatar.com/avatar/61e106a28e171b4407171702b182759f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"smichr"},"id":"1127200034"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"ForkEvent","public":true,"created_at":"2011-02-12T00:04:44Z","payload":{"repo":"EugenMayer/wysiwyg_imageupload","actor":"EliteMonk","forkee":1357195,"actor_gravatar":"47473eea20b3a468aabfc9cec349e550"},"actor":{"gravatar_id":"47473eea20b3a468aabfc9cec349e550","id":613712,"url":"https://api.github.dev/users/EliteMonk","avatar_url":"https://secure.gravatar.com/avatar/47473eea20b3a468aabfc9cec349e550?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"EliteMonk"},"id":"1127200043"} +{"repo":{"id":1323576,"url":"https://api.github.dev/repos/parsley/renenet","name":"parsley/renenet"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:45Z","payload":{"shas":[["f07b4fb3b273f09da05d7a350fe34644db5e257c","0c7e08cd7293d951a127e3c6b55289d87f7ef1e9@gmail.com","Now using GCD for proper multi-threading. The app's been tested on an iPhone 3GS and works as intended. Also added an icon and changed the bundle display name.","Simon Ingeson"]],"repo":"parsley/renenet","actor":"parsley","ref":"refs/heads/master","size":1,"head":"f07b4fb3b273f09da05d7a350fe34644db5e257c","actor_gravatar":"14a9d3fcf0f6f74fae2ee74e84f42a4f","push_id":24643295},"actor":{"gravatar_id":"14a9d3fcf0f6f74fae2ee74e84f42a4f","id":44818,"url":"https://api.github.dev/users/parsley","avatar_url":"https://secure.gravatar.com/avatar/14a9d3fcf0f6f74fae2ee74e84f42a4f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"parsley"},"id":"1127200047"} +{"repo":{"id":1357143,"url":"https://api.github.dev/repos/phyreman/AutoReplace","name":"phyreman/AutoReplace"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:04:46Z","payload":{"name":"AutoReplace","object":"branch","object_name":"master"},"actor":{"gravatar_id":"a708e2ea621c981f6c810eb82f51b0b3","id":241446,"url":"https://api.github.dev/users/phyreman","avatar_url":"https://secure.gravatar.com/avatar/a708e2ea621c981f6c810eb82f51b0b3?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"phyreman"},"id":"1127200050"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:50Z","payload":{"shas":[["964bb5036a2b6e74185cae9994bf5aa07506824d","b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@deryldoucette.com","Forgot to remove the testing controller Say's spec file for it's hello view. Was just used to testing something locally, and is NOT part of the actual project.","Deryl R. Doucette"]],"repo":"pgpkeys/railsdev","actor":"pgpkeys","ref":"refs/heads/devel","size":1,"head":"964bb5036a2b6e74185cae9994bf5aa07506824d","actor_gravatar":"cc620f950e59b4bfc6f11f89271d082f","push_id":24643299},"actor":{"gravatar_id":"cc620f950e59b4bfc6f11f89271d082f","id":400620,"url":"https://api.github.dev/users/deryldoucette","avatar_url":"https://secure.gravatar.com/avatar/cc620f950e59b4bfc6f11f89271d082f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"deryldoucette"},"id":"1127200058"} +{"repo":{"id":346605,"url":"https://api.github.dev/repos/jsmestad/sinatra_warden","name":"jsmestad/sinatra_warden"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:04:52Z","payload":{"repo":"jsmestad/sinatra_warden","actor":"AlexSc","actor_gravatar":"27ad94a02540428c32e3b8e8d0d81213","action":"started"},"actor":{"gravatar_id":"27ad94a02540428c32e3b8e8d0d81213","id":98665,"url":"https://api.github.dev/users/AlexSc","avatar_url":"https://secure.gravatar.com/avatar/27ad94a02540428c32e3b8e8d0d81213?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"AlexSc"},"id":"1127200065"} +{"repo":{"id":723243,"url":"https://api.github.dev/repos/STRd6/pixie.strd6.com","name":"STRd6/pixie.strd6.com"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:54Z","payload":{"shas":[["67e8cfee028ee028cae2f352e02733ee511f48cb","328660e89eb5b03fc4f880a66994a068ff838d08@gmail.com","Added error handling when engine isn't defined","Daniel X Moore"]],"repo":"STRd6/pixie.strd6.com","actor":"STRd6","ref":"refs/heads/master","size":1,"head":"67e8cfee028ee028cae2f352e02733ee511f48cb","actor_gravatar":"33117162fff8a9cf50544a604f60c045","push_id":24643301},"actor":{"gravatar_id":"33117162fff8a9cf50544a604f60c045","id":18894,"url":"https://api.github.dev/users/STRd6","avatar_url":"https://secure.gravatar.com/avatar/33117162fff8a9cf50544a604f60c045?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"STRd6"},"id":"1127200081"} +{"repo":{"id":1328514,"url":"https://api.github.dev/repos/superstack/nova","name":"superstack/nova"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:04:57Z","payload":{"shas":[["216822bdda290f964020134599749ebbadc76566","4361e638a685728d8c0e094cdedae54a3d141dc1@ubuntu.com","Wrap line to under 79 characters","Bilal Akhtar"],["5e66cf492f150bfbd01e5983d876192c5b158343","4361e638a685728d8c0e094cdedae54a3d141dc1@ubuntu.com","This branch fixes bug #708347: RunInstances: Invalid instance type gives improper error message","Bilal Akhtar"],["1280c9e97b66b3914c3b7426ef6aeca57e6ff9e4","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Try setting isolation_level=immediate","Soren Hansen"],["3e13d005c776b99604d1b8714a79709da1e76467","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Try using NullPool instead of SingletonPool","Soren Hansen"],["aff63810b287fdbd0eb6b2e8881dcf6683ed7d91","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Also add floating ip forwarding to OUTPUT chain.","Soren Hansen"],["d65d2e2d34bffa2548dabcde2e230da185125026","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Only use NullPool when using sqlite.","Soren Hansen"],["3f800a8ecde159cb34c5fe358da3aadce660a03a","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Make rpc.cast create a fresh amqp connection. Each API request has its own thread, and they don't multiplex well.","Soren Hansen"],["8e97cddde4dfed5b3d3fe5a985d6c9a4c6baf293","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Get a fresh connection in rpc.cast rather than using a recycled one.","Soren Hansen"],["ac0fb8fe22daae3dfadb38fc71a07377f12f3041","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Use a NullPool for sqlite connections.","Soren Hansen"],["ac7eb23c88437fa30f0ab256f53ba8a2df6e7965","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Add forwarding rules for floating IPs to the OUTPUT chain on the network node in addition to the PREROUTING chain.","Soren Hansen"],["51b7eb9fd9a56e58137c8be21ea002871bd65e30","83c039018498e1c6f1ea1e35196f5e0abe39be70@rackspace.com","sql_idle_timeout should be an integer","Rick Harris"],["d6736026aa11a536d1c0f342d89bca063b43b3ff","83c039018498e1c6f1ea1e35196f5e0abe39be70@rackspace.com","Define sql_idle_timeout flag to be an integer.\n\nThis fixes bug706405 where MySQL Gone Away Errors were being generated.","Rick Harris"],["c6ad6b53230d1c3ca540a1dcdcd1f3ebf4f31f07","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Create a new AMQP connection by default.","Soren Hansen"],["c42ace8e605b987e683372efb4913d85ee472a70","5a44a2b2ff2077806bfd50ca0791c72a2dac44c0@linux2go.dk","Create a new AMQP connection by default.","Soren Hansen"],["d7042ae6bb37a3bff94d0e90535b92a92d7c94f9","d09dadd0e6e93bda88f06c89497fbbfd9659ea5e@gmail.com","joinedload network so describe_instances continues to work","Vishvananda Ishaya"],["2df3182b6e9637fe0e9ce9358a60ee874a97acb3","d09dadd0e6e93bda88f06c89497fbbfd9659ea5e@gmail.com","This fixes a lazy-load issue in describe-instances, which causes a crash. The solution is to specifically load the network table when retrieving an instance.","Vishvananda Ishaya"]],"repo":"superstack/nova","actor":"superstack","ref":"refs/heads/master","size":16,"head":"2df3182b6e9637fe0e9ce9358a60ee874a97acb3","actor_gravatar":"16c8fa6139fb00f18384ffad6e3647b0","push_id":24643303},"actor":{"gravatar_id":"16c8fa6139fb00f18384ffad6e3647b0","id":600669,"url":"https://api.github.dev/users/superstack","avatar_url":"https://secure.gravatar.com/avatar/16c8fa6139fb00f18384ffad6e3647b0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"superstack"},"id":"1127200092"} +{"repo":{"id":1146844,"url":"https://api.github.dev/repos/ninject/ninject.extensions.wf","name":"ninject/ninject.extensions.wf"},"type":"GollumEvent","org":{"gravatar_id":"b46527233865dd59f195fe0c2115a6e0","id":254550,"url":"https://api.github.dev/orgs/ninject","avatar_url":"https://secure.gravatar.com/avatar/b46527233865dd59f195fe0c2115a6e0?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"ninject"},"public":true,"created_at":"2011-02-12T00:05:00Z","payload":{"title":"Introduction","summary":null,"repo":"ninject/ninject.extensions.wf","sha":"2ea354578356d0db2d396788e759c4ee0a315607","actor":"danielmarbach","page_name":"Introduction","actor_gravatar":"a6d7c51251ba7bca8525e923e7977854","action":"created"},"actor":{"gravatar_id":"a6d7c51251ba7bca8525e923e7977854","id":174258,"url":"https://api.github.dev/users/danielmarbach","avatar_url":"https://secure.gravatar.com/avatar/a6d7c51251ba7bca8525e923e7977854?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"danielmarbach"},"id":"1127200101"} +{"repo":{"id":57419,"url":"https://api.github.dev/repos/webpy/webpy","name":"webpy/webpy"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:05:05Z","payload":{"repo":"webpy/webpy","actor":"andrewsmedina","actor_gravatar":"b11eec4cb13d50de922479fcc5e2e803","action":"started"},"actor":{"gravatar_id":"b11eec4cb13d50de922479fcc5e2e803","id":52241,"url":"https://api.github.dev/users/andrewsmedina","avatar_url":"https://secure.gravatar.com/avatar/b11eec4cb13d50de922479fcc5e2e803?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"andrewsmedina"},"id":"1127200108"} +{"repo":{"id":785934,"url":"https://api.github.dev/repos/cpojer/mootools-class-extras","name":"cpojer/mootools-class-extras"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:06Z","payload":{"shas":[["8cc6ef8ca44aa5ea05c865b28a211b8f6809a019","6826ce5cb2708de176255049e250cf7a11269b63@gmail.com","Updating MooTools Core","Christoph Pojer"],["e8f2152e62c41b6904867149b78207e0919ff81c","6826ce5cb2708de176255049e250cf7a11269b63@gmail.com","Updating descriptions","Christoph Pojer"],["e8606d4bc98844fe0e7aa966644f832bd7fb260c","6826ce5cb2708de176255049e250cf7a11269b63@gmail.com","Speeding up mass-class instantiation for singletons","Christoph Pojer"]],"repo":"cpojer/mootools-class-extras","actor":"cpojer","ref":"refs/heads/master","size":3,"head":"e8606d4bc98844fe0e7aa966644f832bd7fb260c","actor_gravatar":"77a332a7da779ef594cb6db9970c7b2f","push_id":24643305},"actor":{"gravatar_id":"77a332a7da779ef594cb6db9970c7b2f","id":13352,"url":"https://api.github.dev/users/cpojer","avatar_url":"https://secure.gravatar.com/avatar/77a332a7da779ef594cb6db9970c7b2f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"cpojer"},"id":"1127200165"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:06Z","payload":{"shas":[["652fd4e4d9e6cf9ecc381e9604cd9bf09dae0480","9be63b052c7b26284db6aa66a724d79e2009d7fb@tallbro.local","ticking version","Nick Kallen"]],"repo":"twitter/util","actor":"nkallen","ref":"refs/heads/master","size":1,"head":"652fd4e4d9e6cf9ecc381e9604cd9bf09dae0480","actor_gravatar":"d9914cfbec64060f4053fc221a2a7536","push_id":24643306},"actor":{"gravatar_id":"d9914cfbec64060f4053fc221a2a7536","id":699,"url":"https://api.github.dev/users/nkallen","avatar_url":"https://secure.gravatar.com/avatar/d9914cfbec64060f4053fc221a2a7536?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"nkallen"},"id":"1127200173"} +{"repo":{"id":985116,"url":"https://api.github.dev/repos/jasonmccampbell/scipy-refactor","name":"jasonmccampbell/scipy-refactor"},"type":"MemberEvent","public":true,"created_at":"2011-02-12T00:05:12Z","payload":{"repo":"jasonmccampbell/scipy-refactor","member":"jwiggins","actor":"jasonmccampbell","actor_gravatar":"3cbc4b4806d66979d51f865e319a2cbc","action":"added"},"actor":{"gravatar_id":"3cbc4b4806d66979d51f865e319a2cbc","id":267494,"url":"https://api.github.dev/users/jasonmccampbell","avatar_url":"https://secure.gravatar.com/avatar/3cbc4b4806d66979d51f865e319a2cbc?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jasonmccampbell"},"id":"1127200212"} +{"repo":{"id":299271,"url":"https://api.github.dev/repos/Elgg/Elgg","name":"Elgg/Elgg"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:16Z","payload":{"shas":[["767d259bb89a337ec57abeeb8c3ac5c5fc3e9d21","71d8be04000428baa84a8c8ff88f0095b3510bfa@36083f99-b078-4883-b0ff-0f9b5a30f544","Added disapproving @todo's wherever I could find javascript not conforming to 1.8 conventions\n\ngit-svn-id: http://code.elgg.org/elgg/trunk@8123 36083f99-b078-4883-b0ff-0f9b5a30f544","ewinslow"],["f16c546ca85ef1f8c27e0edccfca776a9b74daf1","71d8be04000428baa84a8c8ff88f0095b3510bfa@36083f99-b078-4883-b0ff-0f9b5a30f544","Typo correction: @deprecate => @deprecated\n\ngit-svn-id: http://code.elgg.org/elgg/trunk@8124 36083f99-b078-4883-b0ff-0f9b5a30f544","ewinslow"]],"repo":"Elgg/Elgg","actor":"Elgg","ref":"refs/heads/master","size":2,"head":"f16c546ca85ef1f8c27e0edccfca776a9b74daf1","actor_gravatar":"57925b07d70bf9419bb412ca13ee1069","push_id":24643311},"actor":{"gravatar_id":"57925b07d70bf9419bb412ca13ee1069","id":79167,"url":"https://api.github.dev/users/Elgg","avatar_url":"https://secure.gravatar.com/avatar/57925b07d70bf9419bb412ca13ee1069?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Elgg"},"id":"1127200226"} +{"repo":{"id":1317892,"url":"https://api.github.dev/repos/etimecowboy/initemacs","name":"etimecowboy/initemacs"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:16Z","payload":{"shas":[["b3ea9cdfad9be8c7946b16f911a4fc1abf8a1bff","72fed67ca1c641d9beec813ff25751cf8017f918@gmail.com","Use MATLAB in Emacs","Xin Yang"]],"repo":"etimecowboy/initemacs","actor":"etimecowboy","ref":"refs/heads/master","size":1,"head":"b3ea9cdfad9be8c7946b16f911a4fc1abf8a1bff","actor_gravatar":"d1f2ee9b5c5acd521f3fe9a98cddb75e","push_id":24643312},"actor":{"gravatar_id":"d1f2ee9b5c5acd521f3fe9a98cddb75e","id":491744,"url":"https://api.github.dev/users/etimecowboy","avatar_url":"https://secure.gravatar.com/avatar/d1f2ee9b5c5acd521f3fe9a98cddb75e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"etimecowboy"},"id":"1127200227"} +{"repo":{"id":1356751,"url":"https://api.github.dev/repos/ardcore/pewpewtowers","name":"ardcore/pewpewtowers"},"type":"PullRequestEvent","public":true,"created_at":"2011-02-12T00:05:19Z","payload":{"number":2,"pull_request":{"title":"lapaj","number":2,"commits":1,"deletions":7,"id":71794,"issue_id":593179,"additions":11},"repo":"ardcore/temprepo","actor":"i-eat-brainz","actor_gravatar":"d950a86d379de01881463ee00f6b8162","action":"opened"},"actor":{"gravatar_id":"d950a86d379de01881463ee00f6b8162","id":112270,"url":"https://api.github.dev/users/i-eat-brainz","avatar_url":"https://secure.gravatar.com/avatar/d950a86d379de01881463ee00f6b8162?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"i-eat-brainz"},"id":"1127200271"} +{"repo":{"id":1357133,"url":"https://api.github.dev/repos/rutsky/semester02","name":"rutsky/semester02"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:20Z","payload":{"shas":[["ef358aaa0e15d2c1db129c71bf7704b2c6b9afab","35fded304f656f1392b9015712ffb5ae84232c30@gmail.com","Add labs on programming","Vladimir Rutsky"]],"repo":"rutsky/semester02","actor":"rutsky","ref":"refs/heads/master","size":1,"head":"ef358aaa0e15d2c1db129c71bf7704b2c6b9afab","actor_gravatar":"5dac51acc1ded6b77d9993d0e3ce1602","push_id":24643315},"actor":{"gravatar_id":"5dac51acc1ded6b77d9993d0e3ce1602","id":46573,"url":"https://api.github.dev/users/rutsky","avatar_url":"https://secure.gravatar.com/avatar/5dac51acc1ded6b77d9993d0e3ce1602?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"rutsky"},"id":"1127200273"} +{"repo":{"id":21692,"url":"https://api.github.dev/repos/edavis10/redmine","name":"edavis10/redmine"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:05:20Z","payload":{"repo":"edavis10/redmine","actor":"thomvil","actor_gravatar":"93bcb800048691c82113db7fe8c91cf6","action":"started"},"actor":{"gravatar_id":"93bcb800048691c82113db7fe8c91cf6","id":505699,"url":"https://api.github.dev/users/thomvil","avatar_url":"https://secure.gravatar.com/avatar/93bcb800048691c82113db7fe8c91cf6?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"thomvil"},"id":"1127200274"} +{"repo":{"id":779996,"url":"https://api.github.dev/repos/Shougo/unite.vim","name":"Shougo/unite.vim"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:05:25Z","payload":{"repo":"Shougo/unite.vim","actor":"hail2u","actor_gravatar":"38b5f9f7d2faa315ec10866e18fc3bd7","action":"started"},"actor":{"gravatar_id":"38b5f9f7d2faa315ec10866e18fc3bd7","id":68940,"url":"https://api.github.dev/users/hail2u","avatar_url":"https://secure.gravatar.com/avatar/38b5f9f7d2faa315ec10866e18fc3bd7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"hail2u"},"id":"1127200288"} +{"repo":{"id":1357193,"url":"https://api.github.dev/repos/sethwoodworth/MBET","name":"sethwoodworth/MBET"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:25Z","payload":{"name":"MBET","object":"branch","object_name":"master"},"actor":{"gravatar_id":"005f6728aaf23374daec5d407e40a64f","id":123998,"url":"https://api.github.dev/users/sethwoodworth","avatar_url":"https://secure.gravatar.com/avatar/005f6728aaf23374daec5d407e40a64f?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sethwoodworth"},"id":"1127200289"} +{"repo":{"id":1357165,"url":"https://api.github.dev/repos/JetDroid/JetKernel_binary","name":"JetDroid/JetKernel_binary"},"type":"CreateEvent","org":{"gravatar_id":"3e417d693f2b7db9d4daca24b6a57290","id":359814,"url":"https://api.github.dev/orgs/JetDroid","avatar_url":"https://secure.gravatar.com/avatar/3e417d693f2b7db9d4daca24b6a57290?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"JetDroid"},"public":true,"created_at":"2011-02-12T00:05:28Z","payload":{"name":"JetKernel_binary","object":"tag","object_name":"0.3pre3"},"actor":{"gravatar_id":"ce9598cde5173fe3bedb86d32c53f346","id":164304,"url":"https://api.github.dev/users/Dopi","avatar_url":"https://secure.gravatar.com/avatar/ce9598cde5173fe3bedb86d32c53f346?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Dopi"},"id":"1127200342"} +{"repo":{"id":772092,"url":"https://api.github.dev/repos/ripienaar/mcollective-server-provisioner","name":"ripienaar/mcollective-server-provisioner"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:32Z","payload":{"shas":[["d0017d49e6a2eb2b8e8c747750a4f3dd69ee00a1","ab8e595618bc5f23916675978911ffae75f50e81@devco.net","Add packaging and init script for redhat","R.I.Pienaar"]],"repo":"ripienaar/mcollective-server-provisioner","actor":"ripienaar","ref":"refs/heads/master","size":1,"head":"d0017d49e6a2eb2b8e8c747750a4f3dd69ee00a1","actor_gravatar":"9482a1c5a9c64c5d7296971f030165b7","push_id":24643324},"actor":{"gravatar_id":"9482a1c5a9c64c5d7296971f030165b7","id":82342,"url":"https://api.github.dev/users/ripienaar","avatar_url":"https://secure.gravatar.com/avatar/9482a1c5a9c64c5d7296971f030165b7?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"ripienaar"},"id":"1127200361"} +{"repo":{"id":99116,"url":"https://api.github.dev/repos/kjhealy/emacs-starter-kit","name":"kjhealy/emacs-starter-kit"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:38Z","payload":{"shas":[["67faa9d7bd68ba7e46b3397c281819817f2391e5","e62c4214f3ae2e33ba9ac1e4279c48dd08fac21b@gmail.com","make README an org file","Kieran Healy"]],"repo":"kjhealy/emacs-starter-kit","actor":"kjhealy","ref":"refs/heads/master","size":1,"head":"67faa9d7bd68ba7e46b3397c281819817f2391e5","actor_gravatar":"6aabce07dcb27b66327ee0ea15190003","push_id":24643328},"actor":{"gravatar_id":"6aabce07dcb27b66327ee0ea15190003","id":5760,"url":"https://api.github.dev/users/kjhealy","avatar_url":"https://secure.gravatar.com/avatar/6aabce07dcb27b66327ee0ea15190003?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"kjhealy"},"id":"1127200385"} +{"repo":{"id":228129,"url":"https://api.github.dev/repos/appcelerator/titanium_developer","name":"appcelerator/titanium_developer"},"type":"PushEvent","org":{"gravatar_id":"01d8a2b8546d6479cf4323d72cbed363","id":82188,"url":"https://api.github.dev/orgs/appcelerator","avatar_url":"https://secure.gravatar.com/avatar/01d8a2b8546d6479cf4323d72cbed363?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"appcelerator"},"public":true,"created_at":"2011-02-12T00:05:38Z","payload":{"shas":[["11189bf3c97a7d01b91391d1a2dfc9035e38beaa","3e8632173366f1b2a9369b21244c85919123ad63@gmail.com","Fix for mobile #3116.","Stephen Tramer"]],"repo":"appcelerator/titanium_developer","actor":"sptramer","ref":"refs/heads/master","size":1,"head":"11189bf3c97a7d01b91391d1a2dfc9035e38beaa","actor_gravatar":"71668abbd82dcf496aec4a44c29ada2d","push_id":24643329},"actor":{"gravatar_id":"71668abbd82dcf496aec4a44c29ada2d","id":169061,"url":"https://api.github.dev/users/sptramer","avatar_url":"https://secure.gravatar.com/avatar/71668abbd82dcf496aec4a44c29ada2d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"sptramer"},"id":"1127200386"} +{"repo":{"id":720294,"url":"https://api.github.dev/repos/commontk/CTK","name":"commontk/CTK"},"type":"PushEvent","org":{"gravatar_id":"90f3aedcb98b48ca7d9b83b8dbaa4275","id":300358,"url":"https://api.github.dev/orgs/commontk","avatar_url":"https://secure.gravatar.com/avatar/90f3aedcb98b48ca7d9b83b8dbaa4275?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"commontk"},"public":true,"created_at":"2011-02-12T00:05:39Z","payload":{"shas":[["4dbbe3cbfbc52567c0a05b6dd1f374364fc2443d","859d3fd8ca46de62a08fca56c64958e301f5352c@kitware.com","Fix doxygen project brief description","Jean-Christophe Fillion-Robin"],["113a743ccaf0e703aa29b609d5be10a46ee57e36","859d3fd8ca46de62a08fca56c64958e301f5352c@kitware.com","Merge topic 'fix-doxygen-title'\n\n* fix-doxygen-title:\n Fix doxygen project brief description","Jean-Christophe Fillion-Robin"]],"repo":"commontk/CTK","actor":"jcfr","ref":"refs/heads/master","size":2,"head":"113a743ccaf0e703aa29b609d5be10a46ee57e36","actor_gravatar":"89e6f83cf7897760b8b4878dbe67199d","push_id":24643330},"actor":{"gravatar_id":"89e6f83cf7897760b8b4878dbe67199d","id":219043,"url":"https://api.github.dev/users/jcfr","avatar_url":"https://secure.gravatar.com/avatar/89e6f83cf7897760b8b4878dbe67199d?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"jcfr"},"id":"1127200400"} +{"repo":{"id":1357196,"url":"https://api.github.dev/repos/JJCG/Reconocimiento-de-placas","name":"JJCG/Reconocimiento-de-placas"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:46Z","payload":{"name":"Reconocimiento-de-placas","object":"repository","object_name":null},"actor":{"gravatar_id":"9e4490003ca8d1c3667d7a2a3d76f74e","id":116355,"url":"https://api.github.dev/users/JJCG","avatar_url":"https://secure.gravatar.com/avatar/9e4490003ca8d1c3667d7a2a3d76f74e?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"JJCG"},"id":"1127200505"} +{"repo":{"id":1350187,"url":"https://api.github.dev/repos/KristianOellegaard/django-livestats","name":"KristianOellegaard/django-livestats"},"type":"PushEvent","public":true,"created_at":"2011-02-12T00:05:47Z","payload":{"shas":[["237ae919379ee6ace6b5b1b518e42f04c9e8442a","ec7bf92637e134663c52416998a70b7ad4c68f04@prinkk.net","Added a default template, since it might be easier\nfor new users, experienced users will probably just\noverride it anyway","Kristian Øllegaard"],["7ba8557a516c8058ef2a3bd4275182722ce17864","ec7bf92637e134663c52416998a70b7ad4c68f04@prinkk.net","Added a complete set of default CSS, images and JS\nto make it true plug and play.","Kristian Øllegaard"],["7178ef3906d613ec114982dd38c5cc6683be5c19","ec7bf92637e134663c52416998a70b7ad4c68f04@prinkk.net","Merge branch 'master' of github.com:KristianOellegaard/django-livestats","Kristian Øllegaard"]],"repo":"KristianOellegaard/django-livestats","actor":"KristianOellegaard","ref":"refs/heads/master","size":3,"head":"7178ef3906d613ec114982dd38c5cc6683be5c19","actor_gravatar":"231041abb65d84ee452fe8e80ee9d171","push_id":24643335},"actor":{"gravatar_id":"231041abb65d84ee452fe8e80ee9d171","id":235775,"url":"https://api.github.dev/users/KristianOellegaard","avatar_url":"https://secure.gravatar.com/avatar/231041abb65d84ee452fe8e80ee9d171?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"KristianOellegaard"},"id":"1127200510"} +{"repo":{"id":541918,"url":"https://api.github.dev/repos/osuclse/scarlet","name":"osuclse/scarlet"},"type":"PushEvent","org":{"gravatar_id":"948fec05d1e6e0c069e4070045c10af4","id":213472,"url":"https://api.github.dev/orgs/osuclse","avatar_url":"https://secure.gravatar.com/avatar/948fec05d1e6e0c069e4070045c10af4?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"osuclse"},"public":true,"created_at":"2011-02-12T00:05:47Z","payload":{"shas":[["5ecbca557f28440b029afd7ffba39127b5c85d8d","2c1d263ed386c31ad869749e952fe3b38467d8b0@gmail.com","Factored out the @osu.edu domain from emails and html.\n\nUse @settings.school_email_domain when in controllers and views.\nUse Settings.settings.school_email_domain when in models.","silasb"]],"repo":"osuclse/scarlet","actor":"silasb","ref":"refs/heads/installer","size":1,"head":"5ecbca557f28440b029afd7ffba39127b5c85d8d","actor_gravatar":"df97f90faba2ffee0e363418b2bf8835","push_id":24643336},"actor":{"gravatar_id":"df97f90faba2ffee0e363418b2bf8835","id":40670,"url":"https://api.github.dev/users/silasb","avatar_url":"https://secure.gravatar.com/avatar/df97f90faba2ffee0e363418b2bf8835?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"silasb"},"id":"1127200511"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:48Z","payload":{"name":"Catalyst","object":"branch","object_name":"author_requires/master"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200515"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:49Z","payload":{"name":"Catalyst","object":"branch","object_name":"check_conflicts/master"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200520"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:49Z","payload":{"name":"home","object":"branch","object_name":"master"},"actor":{"gravatar_id":"d0354a5f09b6f40d6fc2c9eeed867e52","id":414993,"url":"https://api.github.dev/users/mirhciulica","avatar_url":"https://secure.gravatar.com/avatar/d0354a5f09b6f40d6fc2c9eeed867e52?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mirhciulica"},"id":"1127200521"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:49Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr570/compres"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200522"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:49Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr570/context_go"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200523"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:49Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr570/master"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200524"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:50Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr570/proxystuff"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200529"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:50Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr570/trunk"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200530"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:51Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/action_args"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200531"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:51Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/action_roles"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200532"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:51Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/basic-app-ctx-separation"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200533"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:52Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/basic-app-ctx-separation-cleaned"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200534"} +{"repo":{"id":1357116,"url":"https://api.github.dev/repos/ezmobius/super-nginx","name":"ezmobius/super-nginx"},"type":"WatchEvent","public":true,"created_at":"2011-02-12T00:05:52Z","payload":{"repo":"ezmobius/super-nginx","actor":"mrb","actor_gravatar":"25ee17e694c4590abcc3c1e3c628724b","action":"started"},"actor":{"gravatar_id":"25ee17e694c4590abcc3c1e3c628724b","id":2878,"url":"https://api.github.dev/users/mrb","avatar_url":"https://secure.gravatar.com/avatar/25ee17e694c4590abcc3c1e3c628724b?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"mrb"},"id":"1127200535"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:52Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/basic-app-ctx-separation-cleaned-appnotcomponent"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200552"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:52Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/captures_and_args_combined"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200553"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:52Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/contextual_uri_for"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200554"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:53Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/deprecate_appclass_actions"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200555"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:53Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/docpatch_component_config"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200556"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/exception_interface"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200557"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/expand_modules"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200558"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/fastcgi_ipc-run"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200565"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"GistEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"gist: 823302","desc":null,"actor":"Tolmark12","url":"https://gist.github.com/823302","actor_gravatar":"f31f83f4cc7f6126a28e86fb2f751d70","snippet":"general:\n #\n # writable_directories: a list of directories that your php app is","action":"update"},"actor":{"gravatar_id":"f31f83f4cc7f6126a28e86fb2f751d70","id":4827,"url":"https://api.github.dev/users/Tolmark12","avatar_url":"https://secure.gravatar.com/avatar/f31f83f4cc7f6126a28e86fb2f751d70?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"Tolmark12"},"id":"1127200566"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/finalize_response"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200567"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/forward-comp-obj"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200568"} +{"repo":{"id":825237,"url":"https://api.github.dev/repos/carlhuda/janus","name":"carlhuda/janus"},"type":"WatchEvent","org":{"gravatar_id":"d1c067780d4e27fd72212543162c7053","id":76794,"url":"https://api.github.dev/orgs/carlhuda","avatar_url":"https://secure.gravatar.com/avatar/d1c067780d4e27fd72212543162c7053?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-org-420.png","login":"carlhuda"},"public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"repo":"carlhuda/janus","actor":"gkochan","actor_gravatar":"a0317a752d14a9ba201370824cea5815","action":"started"},"actor":{"gravatar_id":"a0317a752d14a9ba201370824cea5815","id":77819,"url":"https://api.github.dev/users/gkochan","avatar_url":"https://secure.gravatar.com/avatar/a0317a752d14a9ba201370824cea5815?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"gkochan"},"id":"1127200569"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:54Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/gsoc_breadboard"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200578"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:55Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/https_on_port_80"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200579"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:55Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/ipv6_server_script"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200581"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:55Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/private-action-attributes"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200590"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:56Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/psgi"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200591"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:56Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/refactor_debug"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200592"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:56Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/refactoring_dispatcher"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200593"} +{"repo":{"url":"https://api.github.dev/repos//","name":"/"},"type":"CreateEvent","public":true,"created_at":"2011-02-12T00:05:57Z","payload":{"name":"Catalyst","object":"branch","object_name":"cr580/relative_uri_for"},"actor":{"gravatar_id":"88c6023527fbe5a832d1092d7d032a95","id":8163,"url":"https://api.github.dev/users/frioux","avatar_url":"https://secure.gravatar.com/avatar/88c6023527fbe5a832d1092d7d032a95?d=http://github.dev%2Fimages%2Fgravatars%2Fgravatar-user-420.png","login":"frioux"},"id":"1127200594"} diff --git a/tuplex/test/resources/ndjson/origins.txt b/tuplex/test/resources/ndjson/origins.txt new file mode 100644 index 000000000..910c39990 --- /dev/null +++ b/tuplex/test/resources/ndjson/origins.txt @@ -0,0 +1 @@ +https://raw.githubusercontent.com/simdjson/simdjson/master/jsonexamples/amazon_cellphones.ndjson \ No newline at end of file diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index c0e3c462f..df28f06e6 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -12,6 +12,14 @@ #include #include #include +#include + +static std::string fileToString(const std::string& path) { + std::ifstream t(path); + std::stringstream buffer; + buffer << t.rdbuf(); + return buffer.str(); +} TEST(JSONUtils, Chunker) { using namespace std; @@ -32,9 +40,79 @@ TEST(JSONUtils, Chunker) { EXPECT_EQ(findNLJsonStart(test_str.c_str(), test_str.size()), -1); } +TEST(JSONUtils, SIMDJSONFieldParse) { + using namespace tuplex; -// files to test: some with empty lines, etc. + // super slow parse into tuplex structure using SIMDJSON + std::string test_path = "../resources/ndjson/github.json"; + std::string data = fileToString(test_path); + + simdjson::padded_string ps(data); + + // https://simdjson.org/api/2.0.0/md_doc_iterate_many.html + simdjson::ondemand::parser parser; + simdjson::ondemand::document_stream stream; + auto error = parser.iterate_many(data).get(stream); + // dom parser allows more?? + // auto error = parser.parse_many(data).get(stream); + + if(error) { + std::cerr << error << std::endl; return; + } + + // break up into Rows and detect things along the way. + std::vector rows; + + // first: detect column names (ordered? as they are?) + std::vector column_names; + std::set column_names_set; + // anonymous row? I.e., simple value? + for(auto it = stream.begin(); it != stream.end(); ++it) { + auto doc = (*it); + // type of doc + switch(doc.type().value()) { + case simdjson::ondemand::json_type::object: { + auto obj = doc.get_object(); + // objects per line + for(auto field : obj) { + //std::cout< dict? + +} + +// files to test: some with empty lines, etc. TEST(JSONUtils, arrayConv) { using namespace std; diff --git a/tuplex/utils/CMakeLists.txt b/tuplex/utils/CMakeLists.txt index 832d90167..42a96ca5a 100644 --- a/tuplex/utils/CMakeLists.txt +++ b/tuplex/utils/CMakeLists.txt @@ -64,6 +64,17 @@ else() # Note: alternative is to use CJSON_HIDE_SYMBOLS IWTH AWS SDK. endif() +# include simdjson, tutorial here https://github.com/simdjson/cmake_demo_single_file/blob/master/CMakeLists.txt +include(FetchContent) +FetchContent_Declare( + simdjson + GIT_REPOSITORY https://github.com/simdjson/simdjson.git + GIT_SHALLOW TRUE + GIT_TAG tags/v2.0.4 +) + +FetchContent_MakeAvailable(simdjson) + # AWS SDK defines cjson since v1.5, yet if using BUILD_WITH_AWS=OFF make sure to add cJSON symbols... if(NOT BUILD_WITH_AWS) list(APPEND SOURCES ${cjson_SOURCE_DIR}/cJSON.c) @@ -106,4 +117,4 @@ target_include_directories(libutils PUBLIC ${AWSSDK_INCLUDE_DIR}) # Specify here the libraries this program depends on -target_link_libraries(libutils Boost::filesystem Boost::thread Boost::system Boost::system Boost::iostreams ${AWSSDK_LINK_LIBRARIES}) +target_link_libraries(libutils Boost::filesystem Boost::thread Boost::system Boost::system Boost::iostreams ${AWSSDK_LINK_LIBRARIES} simdjson) diff --git a/tuplex/utils/include/JsonStatistic.h b/tuplex/utils/include/JsonStatistic.h index 07985e2a2..a5c7d6776 100644 --- a/tuplex/utils/include/JsonStatistic.h +++ b/tuplex/utils/include/JsonStatistic.h @@ -9,6 +9,8 @@ #include #include "TypeSystem.h" +#include + namespace tuplex { //@March implement: finding Json Offset From e0ce075d1d43155be811e80bb06593ee8cd37305 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 22 Jun 2022 20:19:15 -0400 Subject: [PATCH 006/286] more type detection stuff --- tuplex/test/utils/TestJSONUtils.cc | 129 +++++++++++++++++++++++++++-- 1 file changed, 120 insertions(+), 9 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index df28f06e6..3b367fcf5 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -40,6 +40,41 @@ TEST(JSONUtils, Chunker) { EXPECT_EQ(findNLJsonStart(test_str.c_str(), test_str.size()), -1); } + +namespace tuplex { + + // non-recursive mapping + python::Type jsonTypeToPythonTypeNonRecursive(const simdjson::ondemand::json_type& jtype, const std::string_view& value) { + switch(jtype) { + case simdjson::ondemand::json_type::array: { + return python::Type::GENERICLIST; + } + case simdjson::ondemand::json_type::object: { + return python::Type::GENERICDICT; + } + case simdjson::ondemand::json_type::string: { + return python::Type::STRING; + } + case simdjson::ondemand::json_type::boolean: { + return python::Type::BOOLEAN; + } + case simdjson::ondemand::json_type::null: { + return python::Type::NULLVALUE; + } + case simdjson::ondemand::json_type::number: { + // if a . can be found -> floating point, else integer (if length is not too large!) + if(value.find('.') == std::string_view::npos) + return python::Type::I64; + else + return python::Type::F64; + } + default: { + return python::Type::UNKNOWN; + } + } + } +} + TEST(JSONUtils, SIMDJSONFieldParse) { using namespace tuplex; @@ -63,53 +98,129 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // break up into Rows and detect things along the way. std::vector rows; + // pass I: detect column names // first: detect column names (ordered? as they are?) std::vector column_names; + std::unordered_map column_index_lookup_table; std::set column_names_set; + // @TODO: test with corrupted files & make sure this doesn't fail... + std::unordered_map line_types; + + // counting tables for types + std::unordered_map, size_t> type_counts; + + bool first_row = false; + // anonymous row? I.e., simple value? for(auto it = stream.begin(); it != stream.end(); ++it) { auto doc = (*it); + + auto line_type = doc.type().value(); + line_types[line_type]++; + // type of doc - switch(doc.type().value()) { + switch(line_type) { case simdjson::ondemand::json_type::object: { auto obj = doc.get_object(); // objects per line for(auto field : obj) { - //std::cout< first line? + if(first_row) { + bool all_elements_strings = true; + auto arr = doc.get_array(); + size_t pos = 0; + for(auto field : arr) { + if(field.type() != simdjson::ondemand::json_type::string) + all_elements_strings = false; + else { + auto sv = field.get_string().value(); + auto name = std::string{sv.begin(), sv.end()}; + column_names.push_back(name); + } + + // perform type count (lookups necessary because can be ANY order) + auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); + // add to count array + type_counts[std::make_tuple(pos, py_type)]++; + pos++; + } + } + + // todo, parse types??? + break; } default: { - // unknown, i.e. error line. break; } } + first_row = true; // std::cout << it.source() << std::endl; } std::cout << stream.truncated_bytes() << " bytes "<< std::endl; // returns 39 bytes - std::cout<<"Found columns: "< 1) { + std::cerr<<"Found mix of array [...] and object row notation"< dict? + // print type table + // 1st, gather all available types + std::set found_types; + size_t max_column_idx = 0; + for(const auto& keyval : type_counts) { + found_types.insert(std::get<1>(keyval.first)); + max_column_idx = std::max(max_column_idx, std::get<0>(keyval.first)); + } + // now go through column names + // @TODO: retrieve column count statistics? + std::cout<<"Found at most "<second<<" "; + } else { + // std::cout< dict? } // files to test: some with empty lines, etc. From 98911adc49ba55e1ea06294030d15509c87c9c7b Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 22 Jun 2022 20:27:29 -0400 Subject: [PATCH 007/286] notes --- tuplex/test/utils/TestJSONUtils.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 3b367fcf5..e6033b606 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -220,6 +220,12 @@ TEST(JSONUtils, SIMDJSONFieldParse) { std::cout< dict? } From cbf9f0ef1537c41dcb716b24ef506fb30742e577 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 24 Jun 2022 15:35:12 -0400 Subject: [PATCH 008/286] fixes/checks for structtype --- tuplex/test/codegen/TypeSystemTest.cc | 62 +++++++++++++++++++++++++++ tuplex/utils/include/TypeSystem.h | 13 ++++++ tuplex/utils/src/TypeSystem.cc | 50 +++++++++++++++++++++ 3 files changed, 125 insertions(+) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index ae6bb3e88..2b4cda27d 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -11,6 +11,47 @@ #include "gtest/gtest.h" #include "TypeSystem.h" #include +#include + +/*! + * returns a core vector of types to support + * @return vector of types + */ +std::vector primitiveTypes(bool return_options_as_well=false) { + std::vector v{python::Type::BOOLEAN, python::Type::I64, python::Type::F64, + python::Type::STRING, python::Type::NULLVALUE, python::Type::EMPTYTUPLE, + python::Type::EMPTYLIST, python::Type::EMPTYDICT}; + //python::Type::PYOBJECT}; + + if(return_options_as_well) { + // make everything optional + auto num = v.size(); + for(unsigned i = 0; i < num; ++i) { + v.push_back(python::Type::makeOptionType(v[i])); + } + } + + // create set to remove duplicates + std::set S{v.begin(), v.end()}; + v = std::vector{S.begin(), S.end()}; + // sort + std::sort(v.begin(), v.end()); + return v; +} + +boost::any get_representative_value(const python::Type& type) { + using namespace tuplex; + std::unordered_map m{{python::Type::BOOLEAN, Field(false)}, + {python::Type::I64, Field((int64_t)42)}, + {python::Type::F64, Field(5.3)}, + {python::Type::STRING, Field("hello world!")}, + {python::Type::NULLVALUE, Field::null()}, + {python::Type::EMPTYTUPLE, Field::empty_tuple()}, + {python::Type::EMPTYLIST, Field::empty_list()}, + {python::Type::EMPTYDICT, Field::empty_dict()}}; + return m.at(type); +} + TEST(TypeSys, tupleTypes) { using namespace python; @@ -176,4 +217,25 @@ TEST(TypeSys, compatibleType) { auto b2_type = python::Type::makeListType(python::Type::makeTupleType({python::Type::STRING, python::Type::makeOptionType(python::Type::makeListType(python::Type::F64))})); auto ab2_compatible_type = unifyTypes(a2_type, b2_type, true); EXPECT_EQ(ab2_compatible_type, python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::makeTupleType({python::Type::makeOptionType(python::Type::STRING), python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::F64)))}))))); +} + +TEST(TypeSys, structuredDictType) { + using namespace tuplex; + using namespace std; + + // all primitive types + // -> create structured types + + // test 1: string keys (this is probably the most common scenario) + vector> pairs; + for(auto p : primitiveTypes(true)) { + pairs.push_back(make_pair(p.desc(), p)); + } + auto t = python::Type::makeStructuredDictType(pairs); + auto encoded = t.desc(); + auto decoded_t = python::decodeType(encoded); + EXPECT_EQ(decoded_t.desc(), t.desc()); + + // test 2: full type test + } \ No newline at end of file diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 6861f24de..268f5998c 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -18,6 +18,9 @@ #include #include +// change to std any later, should anyways change codebase to use C++20. +#include + namespace python { class Type { @@ -216,6 +219,13 @@ namespace python { static Type makeListType(const python::Type &elementType); + /*! + * creates a (structured) dictionary with known keys. + * @param kv_pairs + * @return type created + */ + static Type makeStructuredDictType(const std::vector>& kv_pairs); + /*! * create iterator type from yieldType. * @param yieldType @@ -278,6 +288,7 @@ namespace python { FUNCTION, TUPLE, DICTIONARY, + STRUCTURED_DICTIONARY, LIST, CLASS, OPTION, // for nullable @@ -346,6 +357,8 @@ namespace python { Type createOrGetDictionaryType(const Type& key, const Type& val); Type createOrGetListType(const Type& val); + Type createOrGetStructuredDictType(const std::vector>& kv_pairs); + Type createOrGetTupleType(const std::initializer_list args); Type createOrGetTupleType(const TTuple& args); Type createOrGetTupleType(const std::vector& args); diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 2fd3fe064..74344e409 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -16,6 +16,8 @@ #include #include + +#include // types should be like form mypy https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html @@ -173,6 +175,50 @@ namespace python { return registerOrGetType(name, AbstractType::TUPLE, args); } + Type TypeFactory::createOrGetStructuredDictType(const std::vector> &kv_pairs) { + + std::string name = "Struct["; + + // for each pair, construct tuple (val_type, value) -> type + for(auto pair : kv_pairs) { + std::string pair_str = "("; + + // field? + tuplex::Field f = tuplex::Field::null(); + + // upcast a couple of basic C++ types + if(pair.first.type() == typeid(std::string)) { + f = tuplex::Field(boost::any_cast(pair.first)); + } else if(pair.first.type() == typeid(const char*)) { + f = tuplex::Field(std::string(boost::any_cast(pair.first))); + } else { + try { + f = boost::any_cast(pair.first); + } catch (const boost::bad_any_cast& b) { +#ifndef NDEBUG + std::cerr<<"bad cast, expecting Field here but got instead "<" + pair.second.desc(); + + pair_str += ")"; + name += pair_str + ","; + } + if(name.back() == ',') + name.back() = ']'; + else + name += "]"; + + // store as new type in type factory (@TODO) + + return python::Type::UNKNOWN; + } + Type TypeFactory::createOrGetTupleType(const std::initializer_list args) { std::string name = ""; name += "("; @@ -530,6 +576,10 @@ namespace python { return python::TypeFactory::instance().createOrGetListType(elementType); } + Type Type::makeStructuredDictType(const std::vector > &kv_pairs) { + return python::TypeFactory::instance().createOrGetStructuredDictType(kv_pairs); + } + Type Type::makeOptionType(const python::Type &type) { return python::TypeFactory::instance().createOrGetOptionType(type); } From d8f31c04f0db5e28e0cc754291470b69ce705f35 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 22 Jul 2022 19:42:26 -0400 Subject: [PATCH 009/286] compile fix --- tuplex/core/include/physical/JsonReader.h | 2 + tuplex/test/core/JsonReaderTest.cc | 56 +++++++++++------------ tuplex/test/io/JsonTypeTest.cc | 2 +- 3 files changed, 31 insertions(+), 29 deletions(-) diff --git a/tuplex/core/include/physical/JsonReader.h b/tuplex/core/include/physical/JsonReader.h index 5f1e2f77a..b000f8287 100644 --- a/tuplex/core/include/physical/JsonReader.h +++ b/tuplex/core/include/physical/JsonReader.h @@ -6,6 +6,8 @@ #define TUPLEX_JSONREADER_H #include "FileInputReader.h" +#include +#include "CodeDefs.h" namespace tuplex { // @March: implement here diff --git a/tuplex/test/core/JsonReaderTest.cc b/tuplex/test/core/JsonReaderTest.cc index 94e1aa8fe..c0977fc4a 100644 --- a/tuplex/test/core/JsonReaderTest.cc +++ b/tuplex/test/core/JsonReaderTest.cc @@ -7,31 +7,31 @@ #include #include -//@March: you can test here -TEST(JsonReader, Basic) { - using namespace tuplex; - using namespace std; - - auto reader = make_unique(nullptr, nullptr); - auto test_uri = "../resources/sample_file.json"; //@TODO: edit - reader->read(test_uri); - - EXPECT_EQ(reader->inputRowCount, 42); //@TODO: edit -} - - -TEST(JsonReader, Chunked) { - using namespace tuplex; - using namespace std; - - auto reader = make_unique(nullptr, nullptr); - auto test_uri = "../resources/sample_file.json"; //@TODO: edit - auto file_size = ...; - - reader->setRange(0, file_size/2); - reader->read(test_uri); - - reader->setRange(file_size/2, file_size); - - EXPECT_EQ(reader->inputRowCount, 42); //@TODO: edit -} \ No newline at end of file +////@March: you can test here +//TEST(JsonReader, Basic) { +// using namespace tuplex; +// using namespace std; +// +// auto reader = make_unique(nullptr, nullptr); +// URI test_uri = "../resources/sample_file.json"; //@TODO: edit +// reader->read(test_uri); +// +// EXPECT_EQ(reader->inputRowCount(), 42); //@TODO: edit +//} +// +// +//TEST(JsonReader, Chunked) { +// using namespace tuplex; +// using namespace std; +// +// auto reader = make_unique(nullptr, nullptr); +// auto test_uri = "../resources/sample_file.json"; //@TODO: edit +// auto file_size = ...; +// +// reader->setRange(0, file_size/2); +// reader->read(test_uri); +// +// reader->setRange(file_size/2, file_size); +// +// EXPECT_EQ(reader->inputRowCount(), 42); //@TODO: edit +//} \ No newline at end of file diff --git a/tuplex/test/io/JsonTypeTest.cc b/tuplex/test/io/JsonTypeTest.cc index c37b6fc0a..72d7b0ea3 100644 --- a/tuplex/test/io/JsonTypeTest.cc +++ b/tuplex/test/io/JsonTypeTest.cc @@ -36,7 +36,7 @@ TEST(JsonTypes, FlatTypes) { stat.estimate(buf.c_str() + 5, buf.size() - 5); - EXPECT_EQ(stat.columns(), {"num_bedrooms", "price"}); // fix this! + EXPECT_EQ(stat.columns(), vector({"num_bedrooms", "price"})); // fix this! EXPECT_EQ(stat.type(), stat.superType()); // <-- no specialization here EXPECT_EQ(stat.type().desc(), "(i64,f64)"); From f89b915278b9983edf3fe34705b4d47f526b5230 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 22 Jul 2022 22:39:55 -0400 Subject: [PATCH 010/286] struct dict changes --- tuplex/utils/include/TypeSystem.h | 13 ++++++++++--- tuplex/utils/src/TypeSystem.cc | 9 +++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 268f5998c..0d53e23f8 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -302,6 +302,9 @@ namespace python { bool _isVarLen; // params.empty && _isVarlen => GENERICTUPLE Type _ret; //! return value std::vector _baseClasses; //! base classes from left to right + // type specific meta-data + // structured dict: + std::vector> _struct_pairs; // pairs for structured dicts. TypeEntry() {} TypeEntry(const std::string& desc, @@ -309,7 +312,9 @@ namespace python { const std::vector& params, const Type& ret, const std::vector& baseClasses=std::vector{}, - bool isVarLen=false) : _desc(desc), _type(at), _params(params), _ret(ret), _baseClasses(baseClasses), _isVarLen(isVarLen) {} + bool isVarLen=false, + const std::vector>& kv_pairs={}) : _desc(desc), _type(at), + _params(params), _ret(ret), _baseClasses(baseClasses), _isVarLen(isVarLen), _struct_pairs(kv_pairs) {} TypeEntry(const TypeEntry& other) : _desc(other._desc), _type(other._type), _params(other._params), _ret(other._ret), _baseClasses(other._baseClasses), _isVarLen(other._isVarLen) {} std::string desc(); @@ -328,7 +333,8 @@ namespace python { const std::vector& params = std::vector(), const python::Type& retval=python::Type::VOID, const std::vector& baseClasses = std::vector(), - bool isVarLen=false); + bool isVarLen=false, + const std::vector>& kv_pairs={}); bool isFunctionType(const Type& t) const; bool isDictionaryType(const Type& t) const; @@ -350,7 +356,8 @@ namespace python { return theoneandonly; } - Type createOrGetPrimitiveType(const std::string& name, const std::vector& baseClasses=std::vector{}); + Type createOrGetPrimitiveType(const std::string& name, + const std::vector& baseClasses=std::vector{}); // right now, no tuples or other weird types... Type createOrGetFunctionType(const Type& param, const Type& ret=Type::EMPTYTUPLE); diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 74344e409..c830dc48b 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -75,7 +75,8 @@ namespace python { const std::vector& params, const python::Type& retval, const std::vector& baseClasses, - bool isVarLen) { + bool isVarLen, + const std::vector>& kv_pairs) { auto it = std::find_if(_typeMap.begin(), _typeMap.end(), [name](const std::pair& p) { @@ -88,7 +89,7 @@ namespace python { } else { // add new type to hashmap hash = _hash_generator++; - _typeMap[hash] = TypeEntry(name, at, params, retval, baseClasses, isVarLen); + _typeMap[hash] = TypeEntry(name, at, params, retval, baseClasses, isVarLen, kv_pairs); } Type t = Type(); @@ -215,8 +216,8 @@ namespace python { name += "]"; // store as new type in type factory (@TODO) - - return python::Type::UNKNOWN; + auto t = registerOrGetType(name, AbstractType::STRUCTURED_DICTIONARY, {}, {}, {}, false, kv_pairs); + return t; } Type TypeFactory::createOrGetTupleType(const std::initializer_list args) { From fc4199d71810a2b10d1e1c1ef0765a689874f6ee Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 22 Jul 2022 22:50:40 -0400 Subject: [PATCH 011/286] merge in changes from lambda-exp for typesystem minus cereal --- tuplex/utils/include/TypeSystem.h | 122 +++++++++- tuplex/utils/src/TypeSystem.cc | 387 +++++++++++++++++++++++++++++- 2 files changed, 491 insertions(+), 18 deletions(-) diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 0d53e23f8..f1620366c 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -23,6 +23,9 @@ namespace python { + class Type; + class TypeFactory; + class Type { friend class TypeFactory; friend bool operator < (const Type& lhs, const Type& rhs); @@ -63,11 +66,11 @@ namespace python { Type():_hash(-1) {} Type(const Type& other):_hash(other._hash) { - assert(_hash >= -1); + // assert(_hash >= -1); } Type& operator = (const Type& other) { - assert(_hash >= -1); + // assert(_hash >= -1); _hash = other._hash; return *this; } @@ -99,10 +102,12 @@ namespace python { bool isNumericType() const; bool isOptionType() const; bool isOptional() const; + bool isOptimizedType() const; bool isSingleValued() const; bool hasVariablePositionalArgs() const; bool isExceptionType() const; bool isIteratorType() const; + bool isConstantValued() const; inline bool isGeneric() const { if(_hash == python::Type::PYOBJECT._hash || @@ -153,6 +158,8 @@ namespace python { Type valueType() const; // returns the element type in a list or within an option Type elementType() const; + Type underlying() const; + std::string constant() const; // returns the underlying constant of the type (opt. HACK) /*! * return yield type of an iterator @@ -219,6 +226,30 @@ namespace python { static Type makeListType(const python::Type &elementType); + // optimizing types (delayed parsing, range compression, ...) + /*! + * create a delayed parsing type, i.e. this helpful for small strings, integers having a small ASCII representation or + * @param underlying which type the data actually represents (should be a primitive like bool, int, float, str) + * @return the dummy type created. + */ + static Type makeDelayedParsingType(const python::Type& underlying); + + /*! + * create a range compressed integer type using lower & upper bound exclusively + * @param lower_bound integer lower bound (inclusive!) + * @param upper_bound integer upper bound (inclusive!) + * @return the dummy type created. + */ + static Type makeRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound); + + /*! + * create a constant valued type, i.e. this type can get folded via constant folding! + * @param underlying what actual type this is representing. + * @param value the constant value. Note: this needs to be decodable... + * @return the dummy type created. + */ + static Type makeConstantValuedType(const python::Type& underlying, const std::string& value); + /*! * creates a (structured) dictionary with known keys. * @param kv_pairs @@ -270,6 +301,8 @@ namespace python { static Type byName(const std::string& name); + static Type decode(const std::string& s); + std::string encode() const; }; extern bool isLiteralType(const Type& type); @@ -292,7 +325,10 @@ namespace python { LIST, CLASS, OPTION, // for nullable - ITERATOR + ITERATOR, + OPTIMIZED_CONSTANT, // constant value + OPTIMIZED_DELAYEDPARSING, // dummy types to allow for certain optimizations + OPTIMIZED_RANGECOMPRESSION // range compression }; struct TypeEntry { @@ -306,6 +342,11 @@ namespace python { // structured dict: std::vector> _struct_pairs; // pairs for structured dicts. + // opt properties + int64_t _lower_bound; + int64_t _upper_bound; + std::string _constant_value; // everything once was a string... + TypeEntry() {} TypeEntry(const std::string& desc, const AbstractType at, @@ -313,10 +354,19 @@ namespace python { const Type& ret, const std::vector& baseClasses=std::vector{}, bool isVarLen=false, - const std::vector>& kv_pairs={}) : _desc(desc), _type(at), - _params(params), _ret(ret), _baseClasses(baseClasses), _isVarLen(isVarLen), _struct_pairs(kv_pairs) {} - TypeEntry(const TypeEntry& other) : _desc(other._desc), _type(other._type), _params(other._params), _ret(other._ret), _baseClasses(other._baseClasses), _isVarLen(other._isVarLen) {} - + const std::vector>& kv_pairs={}, + int64_t lower_bound=std::numeric_limits::min(), + int64_t upper_bound=std::numeric_limits::max(), + const std::string& constant="") : _desc(desc), _type(at), _params(params), + _ret(ret), _baseClasses(baseClasses), _isVarLen(isVarLen), + _struct_pairs(kv_pairs), + _lower_bound(lower_bound), + _upper_bound(upper_bound), + _constant_value(constant) {} + TypeEntry(const TypeEntry& other) : _desc(other._desc), _type(other._type), _params(other._params), + _ret(other._ret), _baseClasses(other._baseClasses), _isVarLen(other._isVarLen), + _struct_pairs(other._struct_pairs), + _lower_bound(other._lower_bound), _upper_bound(other._upper_bound), _constant_value(other._constant_value) {} std::string desc(); }; @@ -334,7 +384,10 @@ namespace python { const python::Type& retval=python::Type::VOID, const std::vector& baseClasses = std::vector(), bool isVarLen=false, - const std::vector>& kv_pairs={}); + const std::vector>& kv_pairs={}, + int64_t lower_bound=std::numeric_limits::min(), + int64_t upper_bound=std::numeric_limits::max(), + const std::string& constant=""); bool isFunctionType(const Type& t) const; bool isDictionaryType(const Type& t) const; @@ -342,6 +395,7 @@ namespace python { bool isOptionType(const Type& t) const; bool isListType(const Type& t) const; bool isIteratorType(const Type& t) const; + bool isConstantValued(const Type& t) const; std::vector parameters(const Type& t) const; Type returnType(const Type& t) const; @@ -356,8 +410,13 @@ namespace python { return theoneandonly; } - Type createOrGetPrimitiveType(const std::string& name, - const std::vector& baseClasses=std::vector{}); + /*! + * returns a lookup map of all registered primitive type keywords (they can be created dynamically...) + * @return map of keywords -> type. + */ + std::unordered_map get_primitive_keywords() const; + + Type createOrGetPrimitiveType(const std::string& name, const std::vector& baseClasses=std::vector{}); // right now, no tuples or other weird types... Type createOrGetFunctionType(const Type& param, const Type& ret=Type::EMPTYTUPLE); @@ -372,6 +431,10 @@ namespace python { Type createOrGetOptionType(const Type& type); Type createOrGetIteratorType(const Type& yieldType); + Type createOrGetConstantValuedType(const Type& underlying, const std::string& constant); + Type createOrGetDelayedParsingType(const Type& underlying); + Type createOrGetRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound); + Type getByName(const std::string& name); @@ -391,7 +454,7 @@ namespace python { * i64, f64, str, bool supported as primitive types * also () for tuples * @param s string to be used for type decoding - * @return decoded type or unknown if decoding error occured + * @return decoded type or unknown if decoding error occurred */ extern Type decodeType(const std::string& s); @@ -518,6 +581,41 @@ namespace python { return 0; } + /*! + * a constant option can be simplified (i.e. remove polymoprhism) + * @param underlying + * @param constant + * @return the simplified underlying type. + */ + inline python::Type simplifyConstantOption(const python::Type& type) { + if(!type.isConstantValued()) + return type; + + auto underlying = type.underlying(); + auto value = type.constant(); + if(underlying.isOptionType()) { + // is the constant null? None? + if(value == "None" || value == "null") { + return python::Type::NULLVALUE; // simple, null-value is already a constant! + } else + return python::Type::makeConstantValuedType(underlying.elementType(), value); + } + return type; + } + + inline python::Type simplifyConstantType(const python::Type& type) { + if(!type.isConstantValued()) + return type; + + auto t = simplifyConstantOption(type); + + // special case: _Constant[null] --> null + if(t.isConstantValued() && t.underlying() == python::Type::NULLVALUE) + return python::Type::NULLVALUE; + + return t; + } + /*! * specializes a concrete type to one which could be a generic or is a composite type of generics. For example, * assume we have a concrete instance of f64 and a generic version of Option[f64], then the specialized type would be f64. @@ -615,4 +713,4 @@ namespace std { } -#endif //TUPLEX_TYPES_H \ No newline at end of file +#endif //TUPLEX_TYPES_H diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index c830dc48b..8fc4e8f18 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -9,6 +9,7 @@ //--------------------------------------------------------------------------------------------------------------------// #include +#include #include #include #include @@ -76,7 +77,11 @@ namespace python { const python::Type& retval, const std::vector& baseClasses, bool isVarLen, - const std::vector>& kv_pairs) { + const std::vector>& kv_pairs, + int64_t lower_bound, + int64_t upper_bound, + const std::string& constant) { + const std::lock_guard lock(_typeMapMutex); auto it = std::find_if(_typeMap.begin(), _typeMap.end(), [name](const std::pair& p) { @@ -89,7 +94,8 @@ namespace python { } else { // add new type to hashmap hash = _hash_generator++; - _typeMap[hash] = TypeEntry(name, at, params, retval, baseClasses, isVarLen, kv_pairs); + _typeMap[hash] = TypeEntry(name, at, params, retval, baseClasses, + isVarLen, kv_pairs, lower_bound, upper_bound, constant); } Type t = Type(); @@ -265,12 +271,62 @@ namespace python { return registerOrGetType(name, AbstractType::ITERATOR, {yieldType}); } + Type TypeFactory::createOrGetDelayedParsingType(const Type& underlying) { + + // check that it is a primitive type + assert(underlying.isPrimitiveType()); + + std::string name; + name += "_Delayed["; + name += TypeFactory::instance().getDesc(underlying._hash); + name += "]"; + + return registerOrGetType(name, AbstractType::OPTIMIZED_DELAYEDPARSING, {underlying}); + } + + Type TypeFactory::createOrGetRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound) { + + // optimization: if lower_bound == upper_bound, use a constant! + if(lower_bound == upper_bound) + return createOrGetConstantValuedType(python::Type::I64, std::to_string(lower_bound)); + + std::string name; + name += "_Compressed["; + name += "low=" + std::to_string(lower_bound); + name += ",high=" + std::to_string(upper_bound); + name += "]"; + + return registerOrGetType(name, AbstractType::OPTIMIZED_RANGECOMPRESSION, {python::Type::I64}, + python::Type::VOID, + {}, + false, + lower_bound, + upper_bound); + } + + Type TypeFactory::createOrGetConstantValuedType(const Type& underlying, const std::string& constant) { + std::string name; + name += "_Constant["; + name += TypeFactory::instance().getDesc(underlying._hash); + name += ",value=" + constant; + name += "]"; + + return registerOrGetType(name, AbstractType::OPTIMIZED_CONSTANT, {underlying}, + python::Type::VOID, + {}, + false, + std::numeric_limits::min(), + std::numeric_limits::max(), + constant); + } + std::string TypeFactory::getDesc(const int _hash) const { assert(_hash >= 0); assert(_typeMap.find(_hash) != _typeMap.end()); return _typeMap.at(_hash)._desc; } + TypeFactory::~TypeFactory() { } @@ -296,6 +352,10 @@ namespace python { return TypeFactory::instance().isOptionType(*this); } + bool Type::isConstantValued() const { + return TypeFactory::instance().isConstantValued(*this); + } + bool Type::isExceptionType() const { auto classes = baseClasses(); if(classes.empty()) @@ -443,6 +503,25 @@ namespace python { } } + Type Type::underlying() const { + // should be optimizing type... + + auto& factory = TypeFactory::instance(); + auto it = factory._typeMap.find(_hash); + assert(it != factory._typeMap.end()); + assert(it->second._params.size() == 1); + return it->second._params[0]; + } + + std::string Type::constant() const { + assert(isConstantValued()); + auto& factory = TypeFactory::instance(); + auto it = factory._typeMap.find(_hash); + assert(it != factory._typeMap.end()); + assert(it->second._params.size() == 1); + return it->second._constant_value; + } + Type Type::yieldType() const { assert(isIteratorType() && _hash != EMPTYITERATOR._hash); auto& factory = TypeFactory::instance(); @@ -465,6 +544,13 @@ namespace python { bool Type::isFixedSizeType() const { + // constant valued types are fixed-size, i.e. null => they don't require memory per-instance + if(isConstantValued()) + return true; + + // delayed parsing types are also fixed-size (they're 8 bytes each!) + // @TODO. + // string is a varlen type but a primitive type. if(isPrimitiveType() && *this != python::Type::STRING) return true; @@ -511,6 +597,23 @@ namespace python { return desc().find("Option") != std::string::npos; // @TODO: this is a quick and dirty hack, improve. } + bool Type::isOptimizedType() const { + // currently know of the following... +// OPTIMIZED_CONSTANT, // constant value +// OPTIMIZED_DELAYEDPARSING, // dummy types to allow for certain optimizations +// OPTIMIZED_RANGECOMPRESSION // range compression + const auto& entry = TypeFactory::instance()._typeMap.at(_hash); + switch(entry._type) { + case TypeFactory::AbstractType::OPTIMIZED_CONSTANT: + case TypeFactory::AbstractType::OPTIMIZED_DELAYEDPARSING: + case TypeFactory::AbstractType::OPTIMIZED_RANGECOMPRESSION: { + return true; + } + default: + return false; + } + } + bool Type::isSingleValued() const { return *this == Type::NULLVALUE || *this == Type::EMPTYTUPLE || *this == Type::EMPTYDICT || *this == Type::EMPTYLIST; } @@ -589,6 +692,18 @@ namespace python { return python::TypeFactory::instance().createOrGetIteratorType(yieldType); } + Type makeDelayedParsingType(const python::Type& underlying) { + return python::TypeFactory::instance().createOrGetDelayedParsingType(underlying); + } + + Type makeRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound) { + return python::TypeFactory::instance().createOrGetRangeCompressedIntegerType(lower_bound, upper_bound); + } + + Type makeConstantValuedType(const python::Type& underlying, const std::string& value) { + return python::TypeFactory::instance().createOrGetConstantValuedType(underlying, value); + } + std::string TypeFactory::TypeEntry::desc() { std::string res = ""; @@ -635,6 +750,14 @@ namespace python { return res; } + bool TypeFactory::isConstantValued(const Type &t) const { + auto it = _typeMap.find(t._hash); + if(it == _typeMap.end()) + return false; + + return it->second._type == AbstractType::OPTIMIZED_CONSTANT; + } + Type Type::propagateToTupleType(const python::Type &type) { if(type.isTupleType()) return type; @@ -642,6 +765,22 @@ namespace python { return makeTupleType(std::vector{type}); } + std::unordered_map TypeFactory::get_primitive_keywords() const { + std::unordered_map keywords; + for(auto keyval : _typeMap) { + Type t; + t._hash = keyval.first; + if(keyval.second._type == AbstractType::PRIMITIVE) + keywords[keyval.second._desc] = t; + } + + // add both None and null as NULLVALUE + keywords["None"] = Type::NULLVALUE; + keywords["null"] = Type::NULLVALUE; + + return keywords; + } + Type decodeType(const std::string& s) { if(s.length() == 0) @@ -658,10 +797,12 @@ namespace python { std::stack sqBracketIsListStack; std::stack > expressionStack; + bool funcTypeSeen = false; + while(pos < s.length()) { - // parentheses - if(s[pos] == '(') { + // check parentheses + if(s[pos] == '(') { numOpenParentheses++; expressionStack.push(std::vector()); pos++; @@ -768,7 +909,7 @@ namespace python { else expressionStack.top().push_back(t); pos += 4; - } else if(s.substr(pos, 4).compare("None") == 0) { + } else if(s.substr(pos, 4).compare("None") == 0 || s.substr(pos, 4).compare("null") == 0) { Type t = Type::NULLVALUE; if(expressionStack.empty()) expressionStack.push(std::vector({t})); @@ -782,11 +923,22 @@ namespace python { else expressionStack.top().push_back(t); pos += 8; + } else if(s.substr(pos, 7).compare("unknown") == 0) { + Type t = Type::UNKNOWN; + if(expressionStack.empty()) + expressionStack.push(std::vector({t})); + else + expressionStack.top().push_back(t); + pos += 7; } else if (s.substr(pos, 7).compare("Option[") == 0) { expressionStack.push(std::vector()); sqBracketIsListStack.push(false); numOpenSqBrackets++; pos += 7; + } else if(s.substr(pos, 2).compare("->") == 0) { + // this means a function type was encountered! Always exists of 2 + funcTypeSeen = true; + pos += 2; } else if(s[pos] == ',' || s[pos] == ' ' || s[pos] == '\t' || s[pos] == '\n') { // skip , pos++; @@ -804,6 +956,8 @@ namespace python { return expressionStack.top().front(); } + + bool tupleElementsHaveSameType(const python::Type& tupleType) { assert(tupleType.isTupleType()); @@ -862,6 +1016,15 @@ namespace python { Type Type::superType(const Type &A, const Type &B) { + // dealing with optimized types --> always deoptimize, For ranges though special case can be performed... + if(A.isOptimizedType() && B.isOptimizedType()) + return tuplex::unifyOptimizedTypes(A, B); + if(A.isOptimizedType()) + return superType(tuplex::deoptimizedType(A), B); + if(B.isOptimizedType()) + return superType(A, tuplex::deoptimizedType(B)); + + // ------ regular super types ------- // null and x => option[x] if (A == python::Type::NULLVALUE) @@ -934,8 +1097,12 @@ namespace python { if(isOptionType()) return getReturnType().withoutOptions(); +// // constant valueed? that's a tricky one, b.c. constant plays a role. +// if(isConstantValued()) +// return // func not supported... - return python::Type::UNKNOWN; + // return type as is + return *this; } @@ -948,6 +1115,15 @@ namespace python { if(from == to) return true; + // NOTE: optimizing types should come first... + // optimizing types -> i.e. deoptimized/optimized version should be interchangeabke + // @TODO: hack. should have one set of things for all the opts + if(from.isConstantValued()) + return canUpcastType(from.underlying(), to); + if(to.isConstantValued()) + return canUpcastType(from, to.underlying()); + + // option type? if(to.isOptionType()) { // from also option type? @@ -1212,4 +1388,203 @@ namespace python { } return python::Type::UNKNOWN; } + + Type Type::makeConstantValuedType(const Type &underlying, const std::string &value) { + return TypeFactory::instance().createOrGetConstantValuedType(underlying, value); + } + + Type Type::makeRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound) { + return TypeFactory::instance().createOrGetRangeCompressedIntegerType(lower_bound, upper_bound); + } + + Type Type::makeDelayedParsingType(const Type &underlying) { + return TypeFactory::instance().createOrGetDelayedParsingType(underlying); + } + + Type Type::decode(const std::string& s) { + if(s == "uninitialized") { + Type t; + t._hash = -1; + return t; + } + + // decoder fitting encode function below, super simple. + if(s.length() == 0) + return Type::UNKNOWN; + + // fetch primitive keywords for decoding + size_t min_keyword_length = s.length(); + size_t max_keyword_length = 0; + std::unordered_map keywords = TypeFactory::instance().get_primitive_keywords(); + for(const auto& kv : keywords) { + min_keyword_length = std::min(min_keyword_length, kv.first.length()); + max_keyword_length = std::max(max_keyword_length, kv.first.length()); + } + + // go through string + int numOpenParentheses = 0; + int numOpenBrackets = 0; + int numClosedParentheses = 0; + int numClosedBrackets = 0; + int numOpenSqBrackets = 0; + int numClosedSqBrackets = 0; + int pos = 0; + std::stack > expressionStack; + std::stack compoundStack; + + while(pos < s.length()) { + + // check against all keywords + bool keyword_found = false; + Type keyword_type = Type::UNKNOWN; + std::string keyword = ""; + for(unsigned i = min_keyword_length; i <= max_keyword_length && i < s.length() - pos + 1; ++i) { + auto it = keywords.find(s.substr(pos, i)); + if(it != keywords.end()) { + // found keyword, append + keyword_type = it->second; + keyword = it->first; + keyword_found = true; + break; + } + } + + // check first for keyword, then for parentheses + if(keyword_found) { + if(expressionStack.empty()) { + expressionStack.push(std::vector({keyword_type})); + compoundStack.push("primitive"); + } + else + expressionStack.top().push_back(keyword_type); + pos += keyword.size(); // should be 3 for i64 e.g. + } else if(s[pos] == '[') { + // should never get entered?? + numOpenSqBrackets++; + expressionStack.push(std::vector()); + pos++; + } else if(s[pos] == ']') { + numClosedSqBrackets++; + if(numOpenSqBrackets < numClosedSqBrackets) { + Logger::instance().defaultLogger().error("square brackets [...] mismatch in encoded typestr '" + s + "'"); + return Type::UNKNOWN; + } + auto topVec = expressionStack.top(); + auto compound_type = compoundStack.top(); + Type t; + if("List" == compound_type) { + t = TypeFactory::instance().createOrGetListType(topVec[0]); + } else if("Tuple" == compound_type) { + t = TypeFactory::instance().createOrGetTupleType(topVec); + } else if ("Option" == compound_type) { + t = TypeFactory::instance().createOrGetOptionType(topVec[0]); // order?? --> might need reverse... + } else if("Function" == compound_type) { + t = TypeFactory::instance().createOrGetFunctionType(topVec[0], topVec[1]); // order?? --> might need revser? + } else if("Dict" == compound_type) { + t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need revser? + } else { + Logger::instance().defaultLogger().error("Unknown compound type '" + compound_type + "' encountered, can't create compound type. Returning unknown."); + return Type::UNKNOWN; + } + compoundStack.pop(); + expressionStack.pop(); + + if(expressionStack.empty()) { + expressionStack.push({t}); + compoundStack.push("primitive"); + } + else + expressionStack.top().push_back(t); + pos++; + } else if (s.substr(pos, 7).compare("Option[") == 0) { + expressionStack.push(std::vector()); + compoundStack.push("Option"); + numOpenSqBrackets++; + pos += 7; + } else if (s.substr(pos, 6).compare("Tuple[") == 0) { + expressionStack.push(std::vector()); + compoundStack.push("Tuple"); + numOpenSqBrackets++; + pos += 6; + } else if (s.substr(pos, 5).compare("Dict[") == 0) { + expressionStack.push(std::vector()); + compoundStack.push("Dict"); + numOpenSqBrackets++; + pos += 5; + } else if (s.substr(pos, 9).compare("Function[") == 0) { + expressionStack.push(std::vector()); + compoundStack.push("Function"); + numOpenSqBrackets++; + pos += 9; + } else if (s.substr(pos, 5).compare("List[") == 0) { + expressionStack.push(std::vector()); + compoundStack.push("List"); + numOpenSqBrackets++; + pos += 5; + } else if(s[pos] == ',' || s[pos] == ' ' || s[pos] == '\t' || s[pos] == '\n') { + // skip , + pos++; + } else { + std::stringstream ss; + ss<<"unknown token '"< 0); + assert(expressionStack.top().size() > 0); + return expressionStack.top().front(); + } + + // TODO: more efficient encoding using binary representation? + std::string Type::encode() const { + if(_hash > 0) { + // use super simple encoding scheme here. + // -> i.e. primitives use desc + // else, create compound type using [...] + // this allows for easy & quick decoding. + // => could even use quicker names for encoding the types + + // do not use isPrimitiveType(), ... etc. here + // because these functions are for semantics...! + const auto& entry = TypeFactory::instance()._typeMap.at(_hash); + auto abstract_type = entry._type; + switch(abstract_type) { + case TypeFactory::AbstractType::PRIMITIVE: { + return entry._desc; + } + case TypeFactory::AbstractType::OPTION: { + return "Option[" + elementType().encode() + "]"; + } + case TypeFactory::AbstractType::TUPLE: { + std::stringstream ss; + ss<<"Tuple["; + for(unsigned i = 0; i < parameters().size(); ++i) { + ss< Date: Fri, 22 Jul 2022 23:03:34 -0400 Subject: [PATCH 012/286] compile fix --- tuplex/codegen/src/BlockGeneratorVisitor.cc | 3 +- tuplex/codegen/src/TypeAnnotatorVisitor.cc | 13 +- tuplex/test/codegen/TypeSystemTest.cc | 3 +- tuplex/utils/include/TypeHelper.h | 255 ++++++++++++++++++++ tuplex/utils/include/TypeSystem.h | 24 +- tuplex/utils/src/TypeSystem.cc | 229 +++++++++--------- 6 files changed, 395 insertions(+), 132 deletions(-) create mode 100644 tuplex/utils/include/TypeHelper.h diff --git a/tuplex/codegen/src/BlockGeneratorVisitor.cc b/tuplex/codegen/src/BlockGeneratorVisitor.cc index ef447cc72..486c08038 100644 --- a/tuplex/codegen/src/BlockGeneratorVisitor.cc +++ b/tuplex/codegen/src/BlockGeneratorVisitor.cc @@ -15,6 +15,7 @@ #include #include #include +#include "TypeHelper.h" using namespace llvm; @@ -5048,7 +5049,7 @@ namespace tuplex { // if not, error. Type annotation failed then! auto& slot = it->second; - auto uni_type = python::unifyTypes(slot.type, var.second.type, allowNumericUpcasting); + auto uni_type = unifyTypes(slot.type, var.second.type, allowNumericUpcasting); if(uni_type == python::Type::UNKNOWN) { error("variable " + name + " declared in " + branch_name + " with type " + var.second.type.desc() + " conflicts with slot type" + diff --git a/tuplex/codegen/src/TypeAnnotatorVisitor.cc b/tuplex/codegen/src/TypeAnnotatorVisitor.cc index dd19474e7..7018c914b 100644 --- a/tuplex/codegen/src/TypeAnnotatorVisitor.cc +++ b/tuplex/codegen/src/TypeAnnotatorVisitor.cc @@ -13,6 +13,7 @@ #include #include #include +#include namespace tuplex { bool isPythonIntegerType(const python::Type& t ) { @@ -93,7 +94,7 @@ namespace tuplex { // go through all func types, and check whether they can be unified. auto combined_ret_type = _funcReturnTypes.front(); for(int i = 1; i < _funcReturnTypes.size(); ++i) - combined_ret_type = python::unifyTypes(combined_ret_type, _funcReturnTypes[i], + combined_ret_type = unifyTypes(combined_ret_type, _funcReturnTypes[i], _policy.allowNumericTypeUnification); if(combined_ret_type == python::Type::UNKNOWN) { @@ -123,7 +124,7 @@ namespace tuplex { auto best_so_far = std::get<0>(v.front()); for(int i = 1; i < v.size(); ++i) { - auto u_type = python::unifyTypes(best_so_far, std::get<0>(v[i]), + auto u_type = unifyTypes(best_so_far, std::get<0>(v[i]), _policy.allowNumericTypeUnification); if(u_type != python::Type::UNKNOWN) best_so_far = u_type; @@ -160,7 +161,7 @@ namespace tuplex { if(n.getInferredType() == python::Type::UNKNOWN) // i.e. code that is never visited return; - auto uni_type = python::unifyTypes(n.getInferredType(), combined_ret_type, + auto uni_type = unifyTypes(n.getInferredType(), combined_ret_type, autoUpcast); if(uni_type != python::Type::UNKNOWN) n.setInferredType(combined_ret_type); @@ -1293,7 +1294,7 @@ namespace tuplex { if(_nameTable.find(name) != _nameTable.end()) { if(_nameTable[name] != type) { // can we unify types? - auto uni_type = python::unifyTypes(type, _nameTable[name], _policy.allowNumericTypeUnification); + auto uni_type = unifyTypes(type, _nameTable[name], _policy.allowNumericTypeUnification); if(uni_type != python::Type::UNKNOWN) _nameTable[name] = uni_type; else { @@ -1330,7 +1331,7 @@ namespace tuplex { if(if_type != else_type) { // check if they can be unified - auto uni_type = python::unifyTypes(if_type, else_type, _policy.allowNumericTypeUnification); + auto uni_type = unifyTypes(if_type, else_type, _policy.allowNumericTypeUnification); if(uni_type != python::Type::UNKNOWN) { if_table[name] = uni_type; else_table[name] = else_type; @@ -1477,7 +1478,7 @@ namespace tuplex { if(ifelse->isExpression()) { // check: if (iftype != elsetype) { - auto combined_type = python::unifyTypes(iftype, elsetype, _policy.allowNumericTypeUnification); + auto combined_type = unifyTypes(iftype, elsetype, _policy.allowNumericTypeUnification); if(combined_type == python::Type::UNKNOWN) error("could not combine type " + iftype.desc() + " of if-branch with type " + elsetype.desc() + " of else-branch in if-else expression"); diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 2b4cda27d..bd9058b82 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -12,7 +12,7 @@ #include "TypeSystem.h" #include #include - +#include /*! * returns a core vector of types to support * @return vector of types @@ -205,6 +205,7 @@ TEST(TypeSys, flattenWithPyObject) { } TEST(TypeSys, compatibleType) { + using namespace tuplex; // [Option[[i64]]] and [[Option[i64]]] ==> [Option[[Option[i64]]]] auto a1_type = python::Type::makeListType(python::Type::makeOptionType(python::Type::makeListType(python::Type::I64))); diff --git a/tuplex/utils/include/TypeHelper.h b/tuplex/utils/include/TypeHelper.h new file mode 100644 index 000000000..44acf09ea --- /dev/null +++ b/tuplex/utils/include/TypeHelper.h @@ -0,0 +1,255 @@ +//--------------------------------------------------------------------------------------------------------------------// +// // +// Tuplex: Blazing Fast Python Data Science // +// // +// // +// (c) 2017 - 2021, Tuplex team // +// Created by Leonhard Spiegelberg first on 1/1/2021 // +// License: Apache 2.0 // +//--------------------------------------------------------------------------------------------------------------------// + +#ifndef TUPLEX_TYPEHELPER_H +#define TUPLEX_TYPEHELPER_H + +#include "TypeSystem.h" + +namespace tuplex { + + /*! + * retrieves the underlying type of an optimized type + * @param optType + * @return the unoptimized, underlying type. E.g., an integer for a range-compressed integer. + */ + inline python::Type deoptimizedType(const python::Type& optType) { + //@TODO: refactor all these functions/recursive things into something better... + if(python::Type::UNKNOWN == optType) + return python::Type::UNKNOWN; + + // only constant folding so far supported. + // also perform nested deoptimize... + if(optType.isConstantValued()) { + return optType.underlying(); + } + + // compound type? + if(optType.isOptionType()) { + return python::Type::makeOptionType(deoptimizedType(optType.elementType())); + } + + if(optType.isListType()) { + return python::Type::makeListType(deoptimizedType(optType.elementType())); + } + + if(optType.isDictionaryType()) { + return python::Type::makeDictionaryType(deoptimizedType(optType.keyType()), deoptimizedType(optType.valueType())); + } + + if(optType.isPrimitiveType()) + return optType; + + if(optType.isTupleType()) { + auto params = optType.parameters(); + for(auto& param : params) + param = deoptimizedType(param); + return python::Type::makeTupleType(params); + } + + if(optType == python::Type::PYOBJECT) + return python::Type::PYOBJECT; + + throw std::runtime_error("unsupported type " + optType.desc() + " encountered in " + + std::string(__FILE__) + ":" + std::to_string(__LINE__)); + } + + // this function checks whether types can be unified or not + + /*! + * return unified type for both a and b + * e.g. a == [Option[[I64]]] and b == [[Option[I64]]] should return [Option[[Option[I64]]]] + * return python::Type::UNKNOWN if no compatible type can be found + * @param a (optional) primitive or list or tuple type + * @param b (optional) primitive or list or tuple type + * @param allowAutoUpcastOfNumbers whether to upcast numeric types to a unified type when type conflicts, false by default + * @return (optional) compatible type or UNKNOWN + */ + inline python::Type unifyTypes(const python::Type& a, const python::Type& b, bool allowAutoUpcastOfNumbers=false) { + using namespace std; + + // UNKNOWN types are not compatible + if(a == python::Type::UNKNOWN || b == python::Type::UNKNOWN) { + return python::Type::UNKNOWN; + } + + if(a == b) + return a; + + // special case: optimized types! + // -> @TODO: can unify certain types, else just deoptimize. + if(a.isOptimizedType() || b.isOptimizedType()) + return unifyTypes(deoptimizedType(a), deoptimizedType(b), allowAutoUpcastOfNumbers); + + if(a == python::Type::NULLVALUE) + return python::Type::makeOptionType(b); + + if(b == python::Type::NULLVALUE) + return python::Type::makeOptionType(a); + + // check for optional type + bool makeOption = false; + // underlyingType: remove outermost Option if it exists + python::Type aUnderlyingType = a; + python::Type bUnderlyingType = b; + if(a.isOptionType()) { + makeOption = true; + aUnderlyingType = a.getReturnType(); + } + + if(b.isOptionType()) { + makeOption = true; + bUnderlyingType = b.getReturnType(); + } + + // same underlying types? make option + if (aUnderlyingType == bUnderlyingType) { + return python::Type::makeOptionType(aUnderlyingType); + } + + // both numeric types? upcast + if(allowAutoUpcastOfNumbers) { + if(aUnderlyingType.isNumericType() && bUnderlyingType.isNumericType()) { + if(aUnderlyingType == python::Type::F64 || bUnderlyingType == python::Type::F64) { + // upcast to F64 if either is F64 + if (makeOption) { + return python::Type::makeOptionType(python::Type::F64); + } else { + return python::Type::F64; + } + } + // at this point underlyingTypes cannot both be bool. Upcast to I64 + if (makeOption) { + return python::Type::makeOptionType(python::Type::I64); + } else { + return python::Type::I64; + } + } + } + + // list type? check if element type compatible + if(aUnderlyingType.isListType() && bUnderlyingType.isListType() && aUnderlyingType != python::Type::EMPTYLIST && bUnderlyingType != python::Type::EMPTYLIST) { + python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), + allowAutoUpcastOfNumbers); + if(newElementType == python::Type::UNKNOWN) { + // incompatible list element type + return python::Type::UNKNOWN; + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeListType(newElementType)); + } + return python::Type::makeListType(newElementType); + } + + // tuple type? check if every parameter type compatible + if(aUnderlyingType.isTupleType() && bUnderlyingType.isTupleType()) { + if (aUnderlyingType.parameters().size() != bUnderlyingType.parameters().size()) { + // tuple length differs + return python::Type::UNKNOWN; + } + std::vector newTuple; + for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { + python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], + bUnderlyingType.parameters()[i], allowAutoUpcastOfNumbers); + if(newElementType == python::Type::UNKNOWN) { + // incompatible tuple element type + return python::Type::UNKNOWN; + } + newTuple.emplace_back(newElementType); + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeTupleType(newTuple)); + } + return python::Type::makeTupleType(newTuple); + } + + // dictionary type + if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { + auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), allowAutoUpcastOfNumbers); + auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), allowAutoUpcastOfNumbers); + if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { + return python::Type::UNKNOWN; + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); + } else { + return python::Type::makeDictionaryType(key_t, val_t); + } + } + + // other non-supported types + return python::Type::UNKNOWN; + + // old: + // if(!allowAutoUpcastOfNumbers) { + // // only NULL to any or element and option type allowed + // if (a == python::Type::NULLVALUE) + // return python::Type::makeOptionType(b); + // if (b == python::Type::NULLVALUE) + // return python::Type::makeOptionType(a); + // + // // one is option type, the other not but the elementtype of the option type! + // if (a.isOptionType() && !b.isOptionType() && a.elementType() == b) + // return a; + // if (b.isOptionType() && !a.isOptionType() && b.elementType() == a) + // return b; + // } else { + // auto t = python::Type::superType(a, b); + // if(t != python::Type::UNKNOWN) + // return t; + // } + // + // // tuples, lists, dicts... + // if(a.isTupleType() && b.isTupleType() && a.parameters().size() == b.parameters().size()) { + // vector v; + // for(unsigned i = 0; i < a.parameters().size(); ++i) { + // v.push_back(unifyTypes(a.parameters()[i], b.parameters()[i], allowAutoUpcastOfNumbers)); + // if(v.back() == python::Type::UNKNOWN) + // return python::Type::UNKNOWN; + // } + // return python::Type::makeTupleType(v); + // } + // + // if(a.isListType() && b.isListType()) { + // auto el = unifyTypes(a.elementType(), b.elementType(), allowAutoUpcastOfNumbers); + // if(el == python::Type::UNKNOWN) + // return python::Type::UNKNOWN; + // return python::Type::makeListType(el); + // } + // + // if(a.isDictionaryType() && b.isDictionaryType()) { + // auto key_t = unifyTypes(a.keyType(), b.keyType(), allowAutoUpcastOfNumbers); + // auto val_t = unifyTypes(a.valueType(), b.valueType(), allowAutoUpcastOfNumbers); + // if(key_t != python::Type::UNKNOWN && val_t != python::Type::UNKNOWN) + // return python::Type::makeDictionaryType(key_t, val_t); + // } + // return python::Type::UNKNOWN; + } + + + /*! + * special function to unify to a super type for two optimized types... + * @param A + * @param B + * @return + */ + inline python::Type unifyOptimizedTypes(const python::Type& A, const python::Type& B) { + // trivial case + if(A == B) + return A; + + // i.e. ranges may get combined! + + // fallback - deoptimize + return python::Type::superType(deoptimizedType(A), deoptimizedType(B)); + } +} + +#endif \ No newline at end of file diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index f1620366c..7bf3445ed 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -16,9 +16,11 @@ #include #include #include +#include #include +#include +#include -// change to std any later, should anyways change codebase to use C++20. #include namespace python { @@ -257,6 +259,14 @@ namespace python { */ static Type makeStructuredDictType(const std::vector>& kv_pairs); + + // TODO: could create dict compressed type as well.. + // static Type makeDictCompressedType() + + // TODO: could create delta-encoded type or so as well... + + + /*! * create iterator type from yieldType. * @param yieldType @@ -375,6 +385,7 @@ namespace python { // need threadsafe hashmap here... // either tbb's or the one from folly... std::map _typeMap; + mutable std::mutex _typeMapMutex; TypeFactory() : _hash_generator(0) {} std::string getDesc(const int _hash) const; @@ -482,17 +493,6 @@ namespace python { */ extern bool canUpcastToRowType(const python::Type& minor, const python::Type& major); - /*! - * return unified type for both a and b - * e.g. a == [Option[[I64]]] and b == [[Option[I64]]] should return [Option[[Option[I64]]]] - * return python::Type::UNKNOWN if no compatible type can be found - * @param a (optional) primitive or list or tuple type - * @param b (optional) primitive or list or tuple type - * @param autoUpcast whether to upcast numeric types to a unified type when type conflicts, false by default - * @return (optional) compatible type or UNKNOWN - */ - extern Type unifyTypes(const python::Type &a, const python::Type &b, bool autoUpcast=false); - /*! * two types may be combined into one nullable type. * @param a diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 8fc4e8f18..7afcb4a0b 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -300,6 +300,7 @@ namespace python { python::Type::VOID, {}, false, + {}, lower_bound, upper_bound); } @@ -315,6 +316,7 @@ namespace python { python::Type::VOID, {}, false, + {}, std::numeric_limits::min(), std::numeric_limits::max(), constant); @@ -444,6 +446,7 @@ namespace python { } Type TypeFactory::returnType(const python::Type &t) const { + const std::lock_guard lock(_typeMapMutex); auto it = _typeMap.find(t._hash); assert(it != _typeMap.end()); return it->second._ret; @@ -451,6 +454,7 @@ namespace python { std::vector TypeFactory::parameters(const Type& t) const { + const std::lock_guard lock(_typeMapMutex); auto it = _typeMap.find(t._hash); assert(it != _typeMap.end()); // exclude dictionary here, but internal reuse. @@ -1187,118 +1191,119 @@ namespace python { return true; } - Type unifyTypes(const python::Type &a, const python::Type &b, bool autoUpcast) { - // UNKNOWN type is not compatible - if(a == python::Type::UNKNOWN || b == python::Type::UNKNOWN) { - return python::Type::UNKNOWN; - } - - // same type, return either one - if(a == b) { - return a; - } - - if(a == python::Type::NULLVALUE) { - return python::Type::makeOptionType(b); - } - - if(b == python::Type::NULLVALUE) { - return python::Type::makeOptionType(a); - } - - // check for optional type - bool makeOption = false; - // underlyingType: remove outermost Option if exists - python::Type aUnderlyingType = a; - python::Type bUnderlyingType = b; - if(a.isOptionType()) { - makeOption = true; - aUnderlyingType = a.getReturnType(); - } - - if(b.isOptionType()) { - makeOption = true; - bUnderlyingType = b.getReturnType(); - } - - // same underlying types? make option - if (aUnderlyingType == bUnderlyingType) { - return python::Type::makeOptionType(aUnderlyingType); - } - - // both numeric types? upcast - if(autoUpcast) { - if(aUnderlyingType.isNumericType() && bUnderlyingType.isNumericType()) { - if(aUnderlyingType == python::Type::F64 || bUnderlyingType == python::Type::F64) { - // upcast to F64 if either is F64 - if (makeOption) { - return python::Type::makeOptionType(python::Type::F64); - } else { - return python::Type::F64; - } - } - // at this point underlyingTypes cannot both be bool. Upcast to I64 - if (makeOption) { - return python::Type::makeOptionType(python::Type::I64); - } else { - return python::Type::I64; - } - } - } - - // list type? check if element type compatible - if(aUnderlyingType.isListType() && bUnderlyingType.isListType() && aUnderlyingType != python::Type::EMPTYLIST && bUnderlyingType != python::Type::EMPTYLIST) { - python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), - autoUpcast); - if(newElementType == python::Type::UNKNOWN) { - // incompatible list element type - return python::Type::UNKNOWN; - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeListType(newElementType)); - } - return python::Type::makeListType(newElementType); - } - - // tuple type? check if every parameter type compatible - if(aUnderlyingType.isTupleType() && bUnderlyingType.isTupleType()) { - if (aUnderlyingType.parameters().size() != bUnderlyingType.parameters().size()) { - // tuple length differs - return python::Type::UNKNOWN; - } - std::vector newTuple; - for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { - python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], - bUnderlyingType.parameters()[i], autoUpcast); - if(newElementType == python::Type::UNKNOWN) { - // incompatible tuple element type - return python::Type::UNKNOWN; - } - newTuple.emplace_back(newElementType); - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeTupleType(newTuple)); - } - return python::Type::makeTupleType(newTuple); - } - - // dictionary type - if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { - auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), autoUpcast); - auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), autoUpcast); - if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { - return python::Type::UNKNOWN; - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); - } else { - return python::Type::makeDictionaryType(key_t, val_t); - } - } - - // other non-supported types - return python::Type::UNKNOWN; - } + // moved to TypeHelper.h, deprecated. +// Type unifyTypes(const python::Type &a, const python::Type &b, bool autoUpcast) { +// // UNKNOWN type is not compatible +// if(a == python::Type::UNKNOWN || b == python::Type::UNKNOWN) { +// return python::Type::UNKNOWN; +// } +// +// // same type, return either one +// if(a == b) { +// return a; +// } +// +// if(a == python::Type::NULLVALUE) { +// return python::Type::makeOptionType(b); +// } +// +// if(b == python::Type::NULLVALUE) { +// return python::Type::makeOptionType(a); +// } +// +// // check for optional type +// bool makeOption = false; +// // underlyingType: remove outermost Option if it exists +// python::Type aUnderlyingType = a; +// python::Type bUnderlyingType = b; +// if(a.isOptionType()) { +// makeOption = true; +// aUnderlyingType = a.getReturnType(); +// } +// +// if(b.isOptionType()) { +// makeOption = true; +// bUnderlyingType = b.getReturnType(); +// } +// +// // same underlying types? make option +// if (aUnderlyingType == bUnderlyingType) { +// return python::Type::makeOptionType(aUnderlyingType); +// } +// +// // both numeric types? upcast +// if(autoUpcast) { +// if(aUnderlyingType.isNumericType() && bUnderlyingType.isNumericType()) { +// if(aUnderlyingType == python::Type::F64 || bUnderlyingType == python::Type::F64) { +// // upcast to F64 if either is F64 +// if (makeOption) { +// return python::Type::makeOptionType(python::Type::F64); +// } else { +// return python::Type::F64; +// } +// } +// // at this point underlyingTypes cannot both be bool. Upcast to I64 +// if (makeOption) { +// return python::Type::makeOptionType(python::Type::I64); +// } else { +// return python::Type::I64; +// } +// } +// } +// +// // list type? check if element type compatible +// if(aUnderlyingType.isListType() && bUnderlyingType.isListType() && aUnderlyingType != python::Type::EMPTYLIST && bUnderlyingType != python::Type::EMPTYLIST) { +// python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), +// autoUpcast); +// if(newElementType == python::Type::UNKNOWN) { +// // incompatible list element type +// return python::Type::UNKNOWN; +// } +// if(makeOption) { +// return python::Type::makeOptionType(python::Type::makeListType(newElementType)); +// } +// return python::Type::makeListType(newElementType); +// } +// +// // tuple type? check if every parameter type compatible +// if(aUnderlyingType.isTupleType() && bUnderlyingType.isTupleType()) { +// if (aUnderlyingType.parameters().size() != bUnderlyingType.parameters().size()) { +// // tuple length differs +// return python::Type::UNKNOWN; +// } +// std::vector newTuple; +// for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { +// python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], +// bUnderlyingType.parameters()[i], autoUpcast); +// if(newElementType == python::Type::UNKNOWN) { +// // incompatible tuple element type +// return python::Type::UNKNOWN; +// } +// newTuple.emplace_back(newElementType); +// } +// if(makeOption) { +// return python::Type::makeOptionType(python::Type::makeTupleType(newTuple)); +// } +// return python::Type::makeTupleType(newTuple); +// } +// +// // dictionary type +// if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { +// auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), autoUpcast); +// auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), autoUpcast); +// if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { +// return python::Type::UNKNOWN; +// } +// if(makeOption) { +// return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); +// } else { +// return python::Type::makeDictionaryType(key_t, val_t); +// } +// } +// +// // other non-supported types +// return python::Type::UNKNOWN; +// } bool python::Type::isZeroSerializationSize() const { if(*this == python::Type::NULLVALUE) From 0ea78e6e3be892461a71450a75e70ad4cac8cb5a Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 22 Jul 2022 23:09:33 -0400 Subject: [PATCH 013/286] fix --- tuplex/test/codegen/TypeSystemTest.cc | 3 +- tuplex/utils/include/TypeSystem.h | 4 +- tuplex/utils/src/TypeSystem.cc | 177 -------------------------- 3 files changed, 5 insertions(+), 179 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index bd9058b82..51a4ed967 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -91,7 +91,8 @@ TEST(TypeSys, fixedSizeTypes) { TEST(TypeSys, StrDecoding) { using namespace python; - EXPECT_TRUE(Type::EMPTYTUPLE == decodeType("()")); + EXPECT_TRUE(Type::EMPTYTUPLE == + decodeType("()")); Type complex = Type::makeTupleType({Type::I64, Type::EMPTYTUPLE, Type::F64, Type::makeTupleType({Type::STRING,Type::BOOLEAN})}); EXPECT_TRUE(complex == decodeType("(i64, (), f64, (str, bool))")); diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 7bf3445ed..3fdb29b2e 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -467,7 +467,9 @@ namespace python { * @param s string to be used for type decoding * @return decoded type or unknown if decoding error occurred */ - extern Type decodeType(const std::string& s); + inline Type decodeType(const std::string& s) { + return Type::decode(s); + } /*! diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 7afcb4a0b..1b5d57c82 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -785,183 +785,6 @@ namespace python { return keywords; } - Type decodeType(const std::string& s) { - - if(s.length() == 0) - return Type::UNKNOWN; - - // go through string - int numOpenParentheses = 0; - int numOpenBrackets = 0; - int numClosedParentheses = 0; - int numClosedBrackets = 0; - int numOpenSqBrackets = 0; - int numClosedSqBrackets = 0; - int pos = 0; - std::stack sqBracketIsListStack; - std::stack > expressionStack; - - bool funcTypeSeen = false; - - while(pos < s.length()) { - - // check parentheses - if(s[pos] == '(') { - numOpenParentheses++; - expressionStack.push(std::vector()); - pos++; - } else if(s[pos] == ')') { - numClosedParentheses++; - if(numOpenParentheses < numClosedParentheses) { - Logger::instance().defaultLogger().error("parentheses mismatch in encoded typestr '" + s + "'"); - return Type::UNKNOWN; - } - - // create tuple from vector & push back to stack (i.e. appending to last vector) - assert(expressionStack.size() > 0); - Type t = TypeFactory::instance().createOrGetTupleType(expressionStack.top()); - expressionStack.pop(); - // empty or not? - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos++; - } else if(s[pos] == '{') { - numOpenBrackets++; - expressionStack.push(std::vector()); - pos++; - } else if(s[pos] == '}') { - numClosedBrackets++; - if(numOpenBrackets < numClosedBrackets) { - Logger::instance().defaultLogger().error("brackets mismatch in encoded typestr '" + s + "'"); - return Type::UNKNOWN; - } - - // create dictionary from vector and push back to stack (append to last vector) : treat it as a 2-element tuple - assert(expressionStack.size() > 0); - auto topVec = expressionStack.top(); - Type t = expressionStack.top().size() == 2 ? - TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]) : - Type::EMPTYDICT; - expressionStack.pop(); - - if(expressionStack.empty()) - expressionStack.push({t}); - else - expressionStack.top().push_back(t); - pos++; - } else if(s[pos] == '[') { - numOpenSqBrackets++; - expressionStack.push(std::vector()); - sqBracketIsListStack.push(true); - pos++; - } else if(s[pos] == ']') { - numClosedSqBrackets++; - if(numOpenSqBrackets < numClosedSqBrackets) { - Logger::instance().defaultLogger().error("square brackets [...] mismatch in encoded typestr '" + s + "'"); - return Type::UNKNOWN; - } - - // create option type from vector and push back to stack (append to last vector) : treat it as a 2-element tuple -// if(expressionStack.size() != 1) { -// Logger::instance().defaultLogger().error("Option requires one type!"); -// return Type::UNKNOWN; -// } - auto topVec = expressionStack.top(); - auto isList = sqBracketIsListStack.top(); - Type t; - if(isList) { - t = TypeFactory::instance().createOrGetListType(topVec[0]); - } else { - t = TypeFactory::instance().createOrGetOptionType(topVec[0]); - } - sqBracketIsListStack.pop(); - expressionStack.pop(); - - if(expressionStack.empty()) - expressionStack.push({t}); - else - expressionStack.top().push_back(t); - pos++; - - } else if(s.substr(pos, 3).compare("i64") == 0) { - Type t = Type::I64; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 3; - } else if(s.substr(pos, 3).compare("f64") == 0) { - Type t = Type::F64; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 3; - } else if(s.substr(pos, 3).compare("str") == 0) { - Type t = Type::STRING; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 3; - } else if(s.substr(pos, 4).compare("bool") == 0) { - Type t = Type::BOOLEAN; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 4; - } else if(s.substr(pos, 4).compare("None") == 0 || s.substr(pos, 4).compare("null") == 0) { - Type t = Type::NULLVALUE; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 4; - } else if(s.substr(pos, 8).compare("pyobject") == 0) { - Type t = Type::PYOBJECT; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 8; - } else if(s.substr(pos, 7).compare("unknown") == 0) { - Type t = Type::UNKNOWN; - if(expressionStack.empty()) - expressionStack.push(std::vector({t})); - else - expressionStack.top().push_back(t); - pos += 7; - } else if (s.substr(pos, 7).compare("Option[") == 0) { - expressionStack.push(std::vector()); - sqBracketIsListStack.push(false); - numOpenSqBrackets++; - pos += 7; - } else if(s.substr(pos, 2).compare("->") == 0) { - // this means a function type was encountered! Always exists of 2 - funcTypeSeen = true; - pos += 2; - } else if(s[pos] == ',' || s[pos] == ' ' || s[pos] == '\t' || s[pos] == '\n') { - // skip , - pos++; - } - else { - std::stringstream ss; - ss<<"unknown token '"< 0); - assert(expressionStack.top().size() > 0); - return expressionStack.top().front(); - } - - - bool tupleElementsHaveSameType(const python::Type& tupleType) { assert(tupleType.isTupleType()); From d0e5d906a65de30193efd44839b6ef7167639c29 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 22 Jul 2022 23:21:48 -0400 Subject: [PATCH 014/286] compile fix --- tuplex/adapters/cpython/src/PythonHelpers.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tuplex/adapters/cpython/src/PythonHelpers.cc b/tuplex/adapters/cpython/src/PythonHelpers.cc index 0408f60f2..d04a0259c 100644 --- a/tuplex/adapters/cpython/src/PythonHelpers.cc +++ b/tuplex/adapters/cpython/src/PythonHelpers.cc @@ -20,6 +20,8 @@ #include +#include + // module specific vars static std::unordered_map cached_functions; @@ -1418,7 +1420,7 @@ namespace python { python::Type currElementType = mapPythonClassToTuplexType(PyList_GetItem(o, j), autoUpcast); if(elementType != currElementType) { // possible to use nullable type as element type? - auto newElementType = unifyTypes(elementType, currElementType, autoUpcast); + auto newElementType = tuplex::unifyTypes(elementType, currElementType, autoUpcast); if (newElementType == python::Type::UNKNOWN) { Logger::instance().defaultLogger().error("list with variable element type " + elementType.desc() + " and " + currElementType.desc() + " not supported."); return python::Type::PYOBJECT; From 41b1410bf45e5114778d97a09a6c2fcf82e32265 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sun, 24 Jul 2022 21:21:47 -0400 Subject: [PATCH 015/286] struct type wip --- tuplex/test/codegen/TypeSystemTest.cc | 9 +- tuplex/utils/include/TypeSystem.h | 13 ++- tuplex/utils/src/TypeSystem.cc | 158 +++++++++++++++++++++++--- 3 files changed, 160 insertions(+), 20 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 51a4ed967..547231bdd 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -225,12 +225,15 @@ TEST(TypeSys, structuredDictType) { using namespace tuplex; using namespace std; + // Struct[] is empty dict! + // EXPECT_EQ(python::decodeType("Struct[]"), python::Type::EMPTYDICT); + // all primitive types // -> create structured types // test 1: string keys (this is probably the most common scenario) vector> pairs; - for(auto p : primitiveTypes(true)) { + for(const auto& p : primitiveTypes(true)) { pairs.push_back(make_pair(p.desc(), p)); } auto t = python::Type::makeStructuredDictType(pairs); @@ -238,6 +241,10 @@ TEST(TypeSys, structuredDictType) { auto decoded_t = python::decodeType(encoded); EXPECT_EQ(decoded_t.desc(), t.desc()); + + // test 2: full type test + + } \ No newline at end of file diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 3fdb29b2e..fd1efd9f2 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -315,6 +315,12 @@ namespace python { std::string encode() const; }; + struct StructEntry { // an entry of a structured dict + std::string key; // the value of the key, represented as string + Type keyType; // type required to decode the string key + Type valueType; // type what to store under key + }; + extern bool isLiteralType(const Type& type); inline bool operator < (const Type& lhs, const Type& rhs) { return lhs._hash < rhs._hash; } @@ -350,7 +356,7 @@ namespace python { std::vector _baseClasses; //! base classes from left to right // type specific meta-data // structured dict: - std::vector> _struct_pairs; // pairs for structured dicts. + std::vector _struct_pairs; // pairs for structured dicts. // opt properties int64_t _lower_bound; @@ -364,7 +370,7 @@ namespace python { const Type& ret, const std::vector& baseClasses=std::vector{}, bool isVarLen=false, - const std::vector>& kv_pairs={}, + const std::vector& kv_pairs={}, int64_t lower_bound=std::numeric_limits::min(), int64_t upper_bound=std::numeric_limits::max(), const std::string& constant="") : _desc(desc), _type(at), _params(params), @@ -395,7 +401,7 @@ namespace python { const python::Type& retval=python::Type::VOID, const std::vector& baseClasses = std::vector(), bool isVarLen=false, - const std::vector>& kv_pairs={}, + const std::vector& kv_pairs={}, int64_t lower_bound=std::numeric_limits::min(), int64_t upper_bound=std::numeric_limits::max(), const std::string& constant=""); @@ -435,6 +441,7 @@ namespace python { Type createOrGetListType(const Type& val); Type createOrGetStructuredDictType(const std::vector>& kv_pairs); + Type createOrGetStructuredDictType(const std::vector& kv_pairs); Type createOrGetTupleType(const std::initializer_list args); Type createOrGetTupleType(const TTuple& args); diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 1b5d57c82..c09562c88 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -77,7 +77,7 @@ namespace python { const python::Type& retval, const std::vector& baseClasses, bool isVarLen, - const std::vector>& kv_pairs, + const std::vector& kv_pairs, int64_t lower_bound, int64_t upper_bound, const std::string& constant) { @@ -182,12 +182,10 @@ namespace python { return registerOrGetType(name, AbstractType::TUPLE, args); } - Type TypeFactory::createOrGetStructuredDictType(const std::vector> &kv_pairs) { - - std::string name = "Struct["; - + Type TypeFactory::createOrGetStructuredDictType(const std::vector> &pairs) { + std::vector kv_pairs; // for each pair, construct tuple (val_type, value) -> type - for(auto pair : kv_pairs) { + for(auto pair : pairs) { std::string pair_str = "("; // field? @@ -209,9 +207,27 @@ namespace python { } } + // create the actual kv_pair + StructEntry kv_pair; + kv_pair.keyType = f.getType(); + kv_pair.key = f.toPythonString(); + kv_pair.valueType = pair.second; + kv_pairs.push_back(kv_pair); + } + return createOrGetStructuredDictType(kv_pairs); + } + + Type TypeFactory::createOrGetStructuredDictType(const std::vector &kv_pairs) { + + std::string name = "Struct["; + + // for each pair, construct tuple (val_type, value) -> type + for(const auto& kv_pair : kv_pairs) { + std::string pair_str = "("; + // @TODO: we basically need a mechanism to serialize/deserialize field values to string and back. // add mapping - pair_str += f.getType().desc() + "," + f.toPythonString() + "->" + pair.second.desc(); + pair_str += kv_pair.keyType.desc() + "," + escape_to_python_str(kv_pair.key) + "->" + kv_pair.valueType.desc(); pair_str += ")"; name += pair_str + ","; @@ -1229,10 +1245,12 @@ namespace python { return TypeFactory::instance().createOrGetDelayedParsingType(underlying); } - Type Type::decode(const std::string& s) { + + inline Type decodeEx(const std::string& s, size_t *end_position=nullptr) { if(s == "uninitialized") { - Type t; - t._hash = -1; + Type t = Type::fromHash(-1); + if(end_position) + *end_position = s.length(); return t; } @@ -1260,6 +1278,8 @@ namespace python { std::stack > expressionStack; std::stack compoundStack; + std::stack> kvStack; + while(pos < s.length()) { // check against all keywords @@ -1286,17 +1306,74 @@ namespace python { else expressionStack.top().push_back(keyword_type); pos += keyword.size(); // should be 3 for i64 e.g. + } else if(s[pos] == '(' ) { + numOpenParentheses++; + // push new pair + assert(!kvStack.empty()); + kvStack.top().push_back(StructEntry()); + pos++; + } else if(s[pos] == ')') { + // must be a pair -> so take results from stack and push to pairs stack! + numOpenParentheses--; + pos++; + + // edit last pair. + assert(!kvStack.empty()); + assert(!kvStack.top().empty()); + assert(!expressionStack.empty()); + assert(expressionStack.top().size() >= 2); + auto value_type = expressionStack.top().back(); + expressionStack.top().pop_back(); + auto key_type = expressionStack.top().back(); + expressionStack.top().pop_back(); + + kvStack.top().back().keyType = key_type; + kvStack.top().back().valueType = value_type; + } else if(s[pos] == '\'') { + // decode '...'-> string + std::string decoded_string = ""; + pos++; + while(pos < s.size()) { + if(pos + 1 < s.size() && s[pos] == '\\' && s[pos + 1] == '\'') { + decoded_string += tuplex::char2str('\''); + pos += 2; + } if(pos + 1 < s.size() && s[pos] == '\\' && s[pos + 1] == '\\') { + decoded_string += tuplex::char2str('\\'); + pos += 2; + } else if(s[pos] == '\'') { + // string is done + pos++; + break; + } else { + decoded_string += tuplex::char2str(s[pos]); + pos++; + } + } + + // skip any whitespace + while(pos < s.size() && isspace(s[pos])) + pos++; + // check if next one is -> + if(s.substr(pos, 2) == "->") + pos += 2; + else { + throw std::runtime_error("invalid pair found."); + } + // save onto last pair the string value! + assert(!kvStack.empty()); + assert(!kvStack.top().empty()); + kvStack.top().back().key = decoded_string; } else if(s[pos] == '[') { // should never get entered?? numOpenSqBrackets++; expressionStack.push(std::vector()); pos++; } else if(s[pos] == ']') { - numClosedSqBrackets++; - if(numOpenSqBrackets < numClosedSqBrackets) { - Logger::instance().defaultLogger().error("square brackets [...] mismatch in encoded typestr '" + s + "'"); - return Type::UNKNOWN; - } + numClosedSqBrackets++; + if(numOpenSqBrackets < numClosedSqBrackets) { + Logger::instance().defaultLogger().error("square brackets [...] mismatch in encoded typestr '" + s + "'"); + return Type::UNKNOWN; + } auto topVec = expressionStack.top(); auto compound_type = compoundStack.top(); Type t; @@ -1310,6 +1387,10 @@ namespace python { t = TypeFactory::instance().createOrGetFunctionType(topVec[0], topVec[1]); // order?? --> might need revser? } else if("Dict" == compound_type) { t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need revser? + } else if("Struct" == compound_type) { + auto kv_pairs = kvStack.top(); + kvStack.pop(); + t = TypeFactory::instance().createOrGetStructuredDictType(kv_pairs); } else { Logger::instance().defaultLogger().error("Unknown compound type '" + compound_type + "' encountered, can't create compound type. Returning unknown."); return Type::UNKNOWN; @@ -1349,6 +1430,46 @@ namespace python { compoundStack.push("List"); numOpenSqBrackets++; pos += 5; + } else if(s.substr(pos, strlen("Struct[")).compare("Struct[") == 0) { + // it's a compound struct type made up of a bunch of other types + // need to decode pairs manually! + // i.e., what is the next token? -> if ] => then empty dict! + expressionStack.push(std::vector()); + compoundStack.push("Struct"); + kvStack.push({}); // new pair entry! + numOpenSqBrackets++; + pos += strlen("Struct["); +// if(pos < s.size()) { +// if(']' == s[pos]) { +// pos++; +// auto t = python::Type::EMPTYDICT; +// if(expressionStack.empty()) { +// expressionStack.push({t}); +// compoundStack.push("primitive"); +// } +// else +// expressionStack.top().push_back(t); +// } else if('(' == s[pos]) { +// // a bunch of tuples (...) describing the struct elements... => need to support arbitarily nested struct types here +// // they are encoded as (type, value_string -> type) +// pos++; +// size_t end_pos = 0; +// auto t = decodeEx(s.substr(pos), &end_pos); +// +// // type properly decoded +// if(t != python::Type::UNKNOWN && end_pos != 0) { +// std::cout< 0); assert(expressionStack.top().size() > 0); return expressionStack.top().front(); } + Type Type::decode(const std::string& s) { + return decodeEx(s, nullptr); + } + // TODO: more efficient encoding using binary representation? std::string Type::encode() const { if(_hash > 0) { From 3b48cfe019b37f7d19834bbca954417117be3d88 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sun, 24 Jul 2022 21:37:21 -0400 Subject: [PATCH 016/286] more fixes, struct decode wip --- tuplex/utils/src/TypeSystem.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index c09562c88..8f7a9c8ab 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -227,7 +227,9 @@ namespace python { // @TODO: we basically need a mechanism to serialize/deserialize field values to string and back. // add mapping - pair_str += kv_pair.keyType.desc() + "," + escape_to_python_str(kv_pair.key) + "->" + kv_pair.valueType.desc(); + // escape non-string values as string + auto py_string = kv_pair.keyType == python::Type::STRING ? kv_pair.key : escape_to_python_str(kv_pair.key); + pair_str += kv_pair.keyType.desc() + "," + py_string + "->" + kv_pair.valueType.desc(); pair_str += ")"; name += pair_str + ","; @@ -1262,6 +1264,12 @@ namespace python { size_t min_keyword_length = s.length(); size_t max_keyword_length = 0; std::unordered_map keywords = TypeFactory::instance().get_primitive_keywords(); + + // add (), {}, and [] as keywords + keywords["()"] = python::Type::EMPTYTUPLE; + keywords["[]"] = python::Type::EMPTYLIST; + keywords["{}"] = python::Type::EMPTYDICT; + for(const auto& kv : keywords) { min_keyword_length = std::min(min_keyword_length, kv.first.length()); max_keyword_length = std::max(max_keyword_length, kv.first.length()); From 1f82428b34ad6e398156f54d9bde9b580e8d62c9 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 26 Jul 2022 11:23:26 -0400 Subject: [PATCH 017/286] another fix --- tuplex/utils/src/TypeSystem.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 8f7a9c8ab..886c751b9 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -1337,6 +1337,11 @@ namespace python { kvStack.top().back().keyType = key_type; kvStack.top().back().valueType = value_type; + + // special case: encode string (b.c. it's the raw string decoded right now!) + if(python::Type::STRING == key_type) { + kvStack.top().back().key = escape_to_python_str(kvStack.top().back().key); + } } else if(s[pos] == '\'') { // decode '...'-> string std::string decoded_string = ""; From b04c766089e74706dd9c55ed8f10df3f5b3453a5 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 26 Jul 2022 11:53:54 -0400 Subject: [PATCH 018/286] any fix --- tuplex/test/codegen/TypeSystemTest.cc | 37 +++++++++++++++------------ tuplex/utils/include/Field.h | 34 ++++++++++++++++++++++++ tuplex/utils/src/TypeSystem.cc | 24 +++++------------ 3 files changed, 61 insertions(+), 34 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 547231bdd..2aabbc381 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -225,22 +225,27 @@ TEST(TypeSys, structuredDictType) { using namespace tuplex; using namespace std; - // Struct[] is empty dict! - // EXPECT_EQ(python::decodeType("Struct[]"), python::Type::EMPTYDICT); - - // all primitive types - // -> create structured types - - // test 1: string keys (this is probably the most common scenario) - vector> pairs; - for(const auto& p : primitiveTypes(true)) { - pairs.push_back(make_pair(p.desc(), p)); - } - auto t = python::Type::makeStructuredDictType(pairs); - auto encoded = t.desc(); - auto decoded_t = python::decodeType(encoded); - EXPECT_EQ(decoded_t.desc(), t.desc()); - +// // Struct[] is empty dict! +// EXPECT_EQ(python::decodeType("Struct[]").desc(), python::Type::EMPTYDICT.desc()); +// +// // all primitive types +// // -> create structured types +// +// // test 1: string keys (this is probably the most common scenario) +// vector> pairs; +// for(const auto& p : primitiveTypes(true)) { +// pairs.push_back(make_pair(p.desc(), p)); +// } +// auto t = python::Type::makeStructuredDictType(pairs); +// auto encoded = t.desc(); +// auto decoded_t = python::decodeType(encoded); +// EXPECT_EQ(decoded_t.desc(), t.desc()); + + // test 2: non-string keys -> i.e., use Tuples, integers etc. as keys + auto t_2 = python::Type::makeStructuredDictType({make_pair(10, python::Type::F64)}); // i64 -> f64 struct! + auto encoded_2 = t_2.desc(); + auto decoded_2 = python::decodeType(encoded_2); + EXPECT_EQ(decoded_2.desc(), t_2.desc()); // test 2: full type test diff --git a/tuplex/utils/include/Field.h b/tuplex/utils/include/Field.h index f5fe38b89..139bbdab0 100644 --- a/tuplex/utils/include/Field.h +++ b/tuplex/utils/include/Field.h @@ -24,6 +24,8 @@ #include #include +#include + namespace tuplex { class Field; @@ -244,5 +246,37 @@ namespace tuplex { vec_build(v, Fargs...); } + + inline Field any_to_field(const boost::any& value, const Field& default_value = Field::null()) { + auto f = default_value; + + // cast from a couple of basic C++ types + if(value.type() == typeid(std::string)) { + f = tuplex::Field(boost::any_cast(value)); + } else if(value.type() == typeid(const char*)) { + f = tuplex::Field(std::string(boost::any_cast(value))); + } else if(value.type() == typeid(int64_t)) { + f = tuplex::Field(boost::any_cast(value)); + } else if(value.type() == typeid(int8_t)) { + f = tuplex::Field(static_cast(boost::any_cast(value))); + } else if(value.type() == typeid(int16_t)) { + f = tuplex::Field(static_cast(boost::any_cast(value))); + } else if(value.type() == typeid(int32_t)) { + f = tuplex::Field(static_cast(boost::any_cast(value))); + } else { + try { + f = boost::any_cast(value); + } catch (const boost::bad_any_cast& b) { +#ifndef NDEBUG + std::cerr<<"bad cast, expecting Field here but got instead "<(pair.first)); - } else if(pair.first.type() == typeid(const char*)) { - f = tuplex::Field(std::string(boost::any_cast(pair.first))); - } else { - try { - f = boost::any_cast(pair.first); - } catch (const boost::bad_any_cast& b) { -#ifndef NDEBUG - std::cerr<<"bad cast, expecting Field here but got instead "< &kv_pairs) { + // Struct[] is empty dict + if(kv_pairs.empty()) + return python::Type::EMPTYDICT; + std::string name = "Struct["; // for each pair, construct tuple (val_type, value) -> type From 3dbeb208914b3d52ce63252293c0e1443f56bb9d Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Mon, 8 Aug 2022 14:53:51 +0200 Subject: [PATCH 019/286] decoding incl legacy mode --- tuplex/test/codegen/TypeSystemTest.cc | 9 +- tuplex/utils/include/Field.h | 9 ++ tuplex/utils/src/TypeSystem.cc | 159 ++++++++++++++++---------- 3 files changed, 110 insertions(+), 67 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 2aabbc381..d9b345b81 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -91,21 +91,20 @@ TEST(TypeSys, fixedSizeTypes) { TEST(TypeSys, StrDecoding) { using namespace python; - EXPECT_TRUE(Type::EMPTYTUPLE == - decodeType("()")); + EXPECT_EQ(Type::EMPTYTUPLE, decodeType("()")); Type complex = Type::makeTupleType({Type::I64, Type::EMPTYTUPLE, Type::F64, Type::makeTupleType({Type::STRING,Type::BOOLEAN})}); - EXPECT_TRUE(complex == decodeType("(i64, (), f64, (str, bool))")); + EXPECT_EQ(complex, decodeType("(i64, (), f64, (str, bool))")); Type more_complex = Type::makeTupleType({Type::F64, Type::makeDictionaryType(Type::STRING, Type::makeTupleType( {Type::I64, Type::BOOLEAN, Type::makeDictionaryType(Type::F64, Type::STRING)})), Type::F64}); - EXPECT_TRUE(more_complex == decodeType("(f64, {str, (i64, bool, {f64, str})}, f64)")); + EXPECT_EQ(more_complex, decodeType("(f64, {str, (i64, bool, {f64, str})}, f64)")); Type even_more_complex = Type::makeTupleType( {Type::makeListType(Type::F64), Type::makeDictionaryType(Type::STRING, Type::makeTupleType( {Type::makeListType(Type::I64), Type::BOOLEAN, Type::makeListType(Type::makeDictionaryType(Type::F64, Type::makeOptionType(Type::STRING)))})), Type::F64, Type::makeListType(Type::makeOptionType(Type::STRING))}); - EXPECT_TRUE(even_more_complex == decodeType("([f64], {str, ([i64], bool, [{f64, Option[str]}])}, f64, [Option[str]])")); + EXPECT_EQ(even_more_complex, decodeType("([f64], {str, ([i64], bool, [{f64, Option[str]}])}, f64, [Option[str]])")); } TEST(TypeSys, TupleHaveSameType) { diff --git a/tuplex/utils/include/Field.h b/tuplex/utils/include/Field.h index 139bbdab0..0dfb74084 100644 --- a/tuplex/utils/include/Field.h +++ b/tuplex/utils/include/Field.h @@ -255,6 +255,15 @@ namespace tuplex { f = tuplex::Field(boost::any_cast(value)); } else if(value.type() == typeid(const char*)) { f = tuplex::Field(std::string(boost::any_cast(value))); + } else if(value.type() == typeid(float)) { +#ifndef NDEBUG + std::cerr<<"WARNING: number supplied as float (f32) but Tuplex internally only uses double" + <<"precision floating point numbers. Consider calling with the correct double type (f64)." + <(boost::any_cast(value))); + }else if(value.type() == typeid(double)) { + f = tuplex::Field(boost::any_cast(value)); } else if(value.type() == typeid(int64_t)) { f = tuplex::Field(boost::any_cast(value)); } else if(value.type() == typeid(int8_t)) { diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 2efae6185..86e213d27 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -147,18 +147,18 @@ namespace python { Type TypeFactory::createOrGetDictionaryType(const Type &key, const Type &val) { std::string name = ""; - name += "{"; + name += "Dict["; name += TypeFactory::instance().getDesc(key._hash); name += ","; name += TypeFactory::instance().getDesc(val._hash); - name += "}"; + name += "]"; return registerOrGetType(name, AbstractType::DICTIONARY, {key, val}); } Type TypeFactory::createOrGetListType(const Type &val) { std::string name; - name += "["; + name += "List["; name += TypeFactory::instance().getDesc(val._hash); name += "]"; @@ -1258,6 +1258,9 @@ namespace python { keywords["[]"] = python::Type::EMPTYLIST; keywords["{}"] = python::Type::EMPTYDICT; + // fix for bool + keywords["bool"] = python::Type::BOOLEAN; + for(const auto& kv : keywords) { min_keyword_length = std::min(min_keyword_length, kv.first.length()); max_keyword_length = std::max(max_keyword_length, kv.first.length()); @@ -1304,32 +1307,65 @@ namespace python { pos += keyword.size(); // should be 3 for i64 e.g. } else if(s[pos] == '(' ) { numOpenParentheses++; - // push new pair - assert(!kvStack.empty()); - kvStack.top().push_back(StructEntry()); + + // if in struct compound mode -> push pairs + if(!compoundStack.empty() && compoundStack.top() == "Struct") { + // push new pair + assert(!kvStack.empty()); + kvStack.top().push_back(StructEntry()); + } else { + expressionStack.push(std::vector()); + compoundStack.push("Tuple"); + } pos++; } else if(s[pos] == ')') { // must be a pair -> so take results from stack and push to pairs stack! - numOpenParentheses--; + numClosedParentheses++; pos++; - // edit last pair. - assert(!kvStack.empty()); - assert(!kvStack.top().empty()); - assert(!expressionStack.empty()); - assert(expressionStack.top().size() >= 2); - auto value_type = expressionStack.top().back(); - expressionStack.top().pop_back(); - auto key_type = expressionStack.top().back(); - expressionStack.top().pop_back(); - - kvStack.top().back().keyType = key_type; - kvStack.top().back().valueType = value_type; - - // special case: encode string (b.c. it's the raw string decoded right now!) - if(python::Type::STRING == key_type) { - kvStack.top().back().key = escape_to_python_str(kvStack.top().back().key); + if(numOpenParentheses < numClosedParentheses) { + Logger::instance().defaultLogger().error("parentheses (...) mismatch in encoded typestr '" + s + "'"); + return Type::UNKNOWN; } + + // if in struct compound mode -> push pairs + if(!compoundStack.empty() && compoundStack.top() == "Struct") { + // edit last pair. + assert(!kvStack.empty()); + assert(!kvStack.top().empty()); + assert(!expressionStack.empty()); + assert(expressionStack.top().size() >= 2); + auto value_type = expressionStack.top().back(); + expressionStack.top().pop_back(); + auto key_type = expressionStack.top().back(); + expressionStack.top().pop_back(); + + kvStack.top().back().keyType = key_type; + kvStack.top().back().valueType = value_type; + + // special case: encode string (b.c. it's the raw string decoded right now!) + if(python::Type::STRING == key_type) { + kvStack.top().back().key = escape_to_python_str(kvStack.top().back().key); + } + } else if(!compoundStack.empty() && compoundStack.top() == "Tuple") { + // in tuple mode, pop from stack and replace! + auto topVec = expressionStack.top(); + auto compound_type = compoundStack.top(); + Type t = TypeFactory::instance().createOrGetTupleType(topVec); + + compoundStack.pop(); + expressionStack.pop(); + + if(expressionStack.empty()) { + expressionStack.push({t}); + compoundStack.push("primitive"); + } + else + expressionStack.top().push_back(t); + } else { + throw std::runtime_error("invalid type!"); + } + } else if(s[pos] == '\'') { // decode '...'-> string std::string decoded_string = ""; @@ -1364,11 +1400,6 @@ namespace python { assert(!kvStack.empty()); assert(!kvStack.top().empty()); kvStack.top().back().key = decoded_string; - } else if(s[pos] == '[') { - // should never get entered?? - numOpenSqBrackets++; - expressionStack.push(std::vector()); - pos++; } else if(s[pos] == ']') { numClosedSqBrackets++; if(numOpenSqBrackets < numClosedSqBrackets) { @@ -1385,9 +1416,9 @@ namespace python { } else if ("Option" == compound_type) { t = TypeFactory::instance().createOrGetOptionType(topVec[0]); // order?? --> might need reverse... } else if("Function" == compound_type) { - t = TypeFactory::instance().createOrGetFunctionType(topVec[0], topVec[1]); // order?? --> might need revser? + t = TypeFactory::instance().createOrGetFunctionType(topVec[0], topVec[1]); // order?? --> might need reversion? } else if("Dict" == compound_type) { - t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need revser? + t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need reversion? } else if("Struct" == compound_type) { auto kv_pairs = kvStack.top(); kvStack.pop(); @@ -1406,7 +1437,42 @@ namespace python { else expressionStack.top().push_back(t); pos++; - } else if (s.substr(pos, 7).compare("Option[") == 0) { + } else if(s[pos] == '[') { + // legacy, encodes a list + expressionStack.push(std::vector()); + compoundStack.push("List"); + numOpenSqBrackets++; + pos++; + } else if(s[pos] == '{') { + // legacy, should now be treated as Dict[...] except for empty dict + expressionStack.push(std::vector()); + compoundStack.push("Dict"); + numOpenBrackets++; + pos++; + } else if(s[pos] == '}') { + // legacy, should now be treated as Dict[...] except for empty dict + + numClosedBrackets++; + if(numOpenBrackets < numClosedBrackets) { + Logger::instance().defaultLogger().error("brackets {...} mismatch in encoded typestr '" + s + "'"); + return Type::UNKNOWN; + } + auto topVec = expressionStack.top(); + auto compound_type = compoundStack.top(); + assert("Dict" == compound_type); + auto t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need reversion? + + compoundStack.pop(); + expressionStack.pop(); + + if(expressionStack.empty()) { + expressionStack.push({t}); + compoundStack.push("primitive"); + } + else + expressionStack.top().push_back(t); + pos++; + } else if (s.substr(pos, 7).compare("Option[") == 0) { expressionStack.push(std::vector()); compoundStack.push("Option"); numOpenSqBrackets++; @@ -1440,37 +1506,6 @@ namespace python { kvStack.push({}); // new pair entry! numOpenSqBrackets++; pos += strlen("Struct["); -// if(pos < s.size()) { -// if(']' == s[pos]) { -// pos++; -// auto t = python::Type::EMPTYDICT; -// if(expressionStack.empty()) { -// expressionStack.push({t}); -// compoundStack.push("primitive"); -// } -// else -// expressionStack.top().push_back(t); -// } else if('(' == s[pos]) { -// // a bunch of tuples (...) describing the struct elements... => need to support arbitarily nested struct types here -// // they are encoded as (type, value_string -> type) -// pos++; -// size_t end_pos = 0; -// auto t = decodeEx(s.substr(pos), &end_pos); -// -// // type properly decoded -// if(t != python::Type::UNKNOWN && end_pos != 0) { -// std::cout< Date: Mon, 8 Aug 2022 15:58:07 +0200 Subject: [PATCH 020/286] compile fix --- tuplex/core/src/physical/ResolveTask.cc | 2 ++ tuplex/python/src/PythonContext.cc | 1 + 2 files changed, 3 insertions(+) diff --git a/tuplex/core/src/physical/ResolveTask.cc b/tuplex/core/src/physical/ResolveTask.cc index 6e8a54833..7f2946b49 100644 --- a/tuplex/core/src/physical/ResolveTask.cc +++ b/tuplex/core/src/physical/ResolveTask.cc @@ -15,6 +15,8 @@ #include #include #include +#include + #define BUF_FORMAT_COMPILED_RESOLVE 0 #define BUF_FORMAT_NORMAL_OUTPUT 1 diff --git a/tuplex/python/src/PythonContext.cc b/tuplex/python/src/PythonContext.cc index 65f6ae04f..9605cc671 100644 --- a/tuplex/python/src/PythonContext.cc +++ b/tuplex/python/src/PythonContext.cc @@ -15,6 +15,7 @@ #include #include #include +#include // possible classes are // int, float, str, list, tuple, dict From 97dc5d9c2ecf6a620988df186888ff5bf0582fda Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Mon, 8 Aug 2022 17:45:16 +0200 Subject: [PATCH 021/286] nested struct fix --- tuplex/test/codegen/TypeSystemTest.cc | 55 ++++++++++++++++++--------- tuplex/utils/include/TypeSystem.h | 4 ++ tuplex/utils/src/TypeSystem.cc | 22 ++++++++++- 3 files changed, 62 insertions(+), 19 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index d9b345b81..60c7d1432 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -224,21 +224,21 @@ TEST(TypeSys, structuredDictType) { using namespace tuplex; using namespace std; -// // Struct[] is empty dict! -// EXPECT_EQ(python::decodeType("Struct[]").desc(), python::Type::EMPTYDICT.desc()); -// -// // all primitive types -// // -> create structured types -// -// // test 1: string keys (this is probably the most common scenario) -// vector> pairs; -// for(const auto& p : primitiveTypes(true)) { -// pairs.push_back(make_pair(p.desc(), p)); -// } -// auto t = python::Type::makeStructuredDictType(pairs); -// auto encoded = t.desc(); -// auto decoded_t = python::decodeType(encoded); -// EXPECT_EQ(decoded_t.desc(), t.desc()); + // Struct[] is empty dict! + EXPECT_EQ(python::decodeType("Struct[]").desc(), python::Type::EMPTYDICT.desc()); + + // all primitive types + // -> create structured types + + // test 1: string keys (this is probably the most common scenario) + vector> pairs; + for(const auto& p : primitiveTypes(true)) { + pairs.push_back(make_pair(p.desc(), p)); + } + auto t = python::Type::makeStructuredDictType(pairs); + auto encoded = t.desc(); + auto decoded_t = python::decodeType(encoded); + EXPECT_EQ(decoded_t.desc(), t.desc()); // test 2: non-string keys -> i.e., use Tuples, integers etc. as keys auto t_2 = python::Type::makeStructuredDictType({make_pair(10, python::Type::F64)}); // i64 -> f64 struct! @@ -247,8 +247,27 @@ TEST(TypeSys, structuredDictType) { EXPECT_EQ(decoded_2.desc(), t_2.desc()); - // test 2: full type test - - + // test 3: nested struct type, different keys etc. + auto subt_3_1 = python::Type::makeStructuredDictType({make_pair(10, python::Type::F64)}); // i64 -> f64 struct! + auto encoded_subt_3_1 = subt_3_1.desc(); + auto decoded_subt_3_1 = python::decodeType(encoded_subt_3_1); + EXPECT_EQ(decoded_subt_3_1.desc(), subt_3_1.desc()); + auto subt_3_2 = python::Type::makeStructuredDictType({make_pair(Field(Tuple(20, 30)), python::Type::I64), + make_pair(Field(Tuple(Field(Tuple(20, 32)), 20, 30)), Field(Tuple(20, 3.4)).getType()), + make_pair("test", python::Type::STRING), + make_pair("world", python::Type::I64), + make_pair(42, python::Type::makeTupleType({ + python::Type::makeOptionType(python::Type::I64), python::Type::STRING + })) + }); + auto encoded_subt_3_2 = subt_3_2.desc(); + auto decoded_subt_3_2 = python::decodeType(encoded_subt_3_2); + EXPECT_EQ(decoded_subt_3_2.desc(), subt_3_2.desc()); + auto t_3 = python::Type::makeStructuredDictType({make_pair("nested_1", subt_3_1), + make_pair("nested_2", subt_3_2), + make_pair("str_list", python::Type::makeListType(python::Type::I64))}); + auto encoded_3 = t_3.desc(); + auto decoded_3 = python::decodeType(encoded_3); + EXPECT_EQ(decoded_3.desc(), t_3.desc()); } \ No newline at end of file diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index fd1efd9f2..ad20e087e 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -319,6 +319,10 @@ namespace python { std::string key; // the value of the key, represented as string Type keyType; // type required to decode the string key Type valueType; // type what to store under key + + inline bool isUndefined() const { + return key.empty() && keyType == Type() && valueType == Type(); + } }; extern bool isLiteralType(const Type& type); diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 86e213d27..41e113513 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -1281,6 +1281,10 @@ namespace python { while(pos < s.length()) { +#ifndef NDEBUG + // for debug: + std::string remaining_string = s.substr(pos, std::string::npos); +#endif // check against all keywords bool keyword_found = false; Type keyword_type = Type::UNKNOWN; @@ -1308,8 +1312,24 @@ namespace python { } else if(s[pos] == '(' ) { numOpenParentheses++; + // a new pair for struct is encountered when: + // 1. compoundStack top is Struct + // 2. expressionStack top is empty -> i.e. the top has been consumed as pair! + // 3. don't push if the last pair is not filled out completely yet! -> i.e. a tuple type was encountered + + bool push_new_pair = false; + if(!compoundStack.empty() && compoundStack.top() == "Struct" + && (expressionStack.empty() || expressionStack.top().empty())) + push_new_pair = true; + + // special case: tuple key + if(!kvStack.empty() + && !kvStack.top().empty() + && kvStack.top().back().isUndefined()) + push_new_pair = false; + // if in struct compound mode -> push pairs - if(!compoundStack.empty() && compoundStack.top() == "Struct") { + if(push_new_pair) { // push new pair assert(!kvStack.empty()); kvStack.top().push_back(StructEntry()); From d7b1e2bc975062e630b711b71320762500132126 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Mon, 8 Aug 2022 18:00:09 +0200 Subject: [PATCH 022/286] keyword match fix --- tuplex/utils/src/TypeSystem.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 41e113513..10310b999 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -1285,11 +1285,11 @@ namespace python { // for debug: std::string remaining_string = s.substr(pos, std::string::npos); #endif - // check against all keywords + // check against all keywords, match longest keyword first! bool keyword_found = false; Type keyword_type = Type::UNKNOWN; std::string keyword = ""; - for(unsigned i = min_keyword_length; i <= max_keyword_length && i < s.length() - pos + 1; ++i) { + for(unsigned i = std::min(s.length() - pos + 1, max_keyword_length); i >= min_keyword_length; --i) { auto it = keywords.find(s.substr(pos, i)); if(it != keywords.end()) { // found keyword, append From 372c6441c9eda78e0fa68b263025916f3571a282 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Mon, 8 Aug 2022 22:19:35 +0200 Subject: [PATCH 023/286] struct type --- tuplex/test/utils/TestJSONUtils.cc | 83 +++++++++++++++++++++++++++- tuplex/utils/include/JsonStatistic.h | 20 ++++++- tuplex/utils/include/TypeSystem.h | 9 +++ tuplex/utils/src/JsonStatistic.cc | 43 ++++++++++++++ tuplex/utils/src/TypeSystem.cc | 6 +- 5 files changed, 156 insertions(+), 5 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index e6033b606..8ee3b79b8 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -13,6 +13,7 @@ #include #include #include +#include static std::string fileToString(const std::string& path) { std::ifstream t(path); @@ -43,6 +44,19 @@ TEST(JSONUtils, Chunker) { namespace tuplex { + // for estimation a tree structure is required + struct JSONTypeNode { + std::string key; + std::unordered_map types; + std::vector> children; + + inline bool isLeaf() const { return children.empty(); } + + inline void inc_type(const python::Type& type) { + types[type]++; + } + }; + // non-recursive mapping python::Type jsonTypeToPythonTypeNonRecursive(const simdjson::ondemand::json_type& jtype, const std::string_view& value) { switch(jtype) { @@ -73,6 +87,61 @@ namespace tuplex { } } } + + python::Type jsonTypeToPythonTypeRecursive(simdjson::simdjson_result obj) { + using namespace std; + + // is a nested field? + if(obj.type() == simdjson::ondemand::json_type::object) { + + // json is always string keys -> value + vector kv_pairs; + for(auto field : obj.get_object()) { + // add to names + auto sv_key = field.unescaped_key().value(); + std::string key = {sv_key.begin(), sv_key.end()}; + + python::StructEntry entry; + entry.key = escape_to_python_str(key); + entry.keyType = python::Type::STRING; + entry.valueType = jsonTypeToPythonTypeRecursive(field.value()); // recurse if necessary! + kv_pairs.push_back(entry); + } + + return python::Type::makeStructuredDictType(kv_pairs); + } + // is it an array? => only homogenous arrays supported! + if(obj.type() == simdjson::ondemand::json_type::array) { + + // homogenous type? + auto token = obj.raw_json_token().value(); + auto arr = obj.get_array(); + size_t arr_size = 0; + + // go through array and check that types are the same + python::Type element_type; + bool first = true; + for(auto el : arr) { + auto next_type = jsonTypeToPythonTypeRecursive(el); + if(first) { + element_type = next_type; + first = false; + } + auto uni_type = unifyTypes(element_type, next_type); + if(uni_type == python::Type::UNKNOWN) + return python::Type::makeListType(python::Type::PYOBJECT); // non-homogenous list + element_type = uni_type; + arr_size++; + } + + if(arr_size == 0) + return python::Type::EMPTYLIST; + + return python::Type::makeListType(element_type); + } + + return jsonTypeToPythonTypeNonRecursive(obj.type(), obj.raw_json_token()); + } } TEST(JSONUtils, SIMDJSONFieldParse) { @@ -112,6 +181,9 @@ TEST(JSONUtils, SIMDJSONFieldParse) { bool first_row = false; + // cf. Tree Walking and JSON Element Types in https://github.com/simdjson/simdjson/blob/master/doc/basics.md + // use scalar() => for simple numbers etc. + // anonymous row? I.e., simple value? for(auto it = stream.begin(); it != stream.end(); ++it) { auto doc = (*it); @@ -138,6 +210,12 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // perform type count (lookups necessary because can be ANY order) auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); + + // generic types? -> recurse! + if(py_type == python::Type::GENERICDICT || py_type == python::Type::GENERICLIST) { + py_type = jsonTypeToPythonTypeRecursive(field.value()); + } + // add to count array type_counts[std::make_tuple(column_index_lookup_table[key], py_type)]++; } @@ -166,12 +244,11 @@ TEST(JSONUtils, SIMDJSONFieldParse) { pos++; } } - - // todo, parse types??? - break; } default: { + // basic element -> directly map type! + auto py_type = jsonTypeToPythonTypeNonRecursive(doc.type().value(), doc.raw_json_token()); break; } } diff --git a/tuplex/utils/include/JsonStatistic.h b/tuplex/utils/include/JsonStatistic.h index a5c7d6776..bf20a3b3a 100644 --- a/tuplex/utils/include/JsonStatistic.h +++ b/tuplex/utils/include/JsonStatistic.h @@ -33,7 +33,7 @@ namespace tuplex { public: JsonStatistic(double threshold, const std::vector& null_values=std::vector{""}) : _threshold(threshold), _null_values(null_values) {} - //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) + // This function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) void estimate(const char* start, size_t size, bool disableNullColumns=false); //@March: implement, columns present in json file @@ -49,6 +49,24 @@ namespace tuplex { private: double _threshold; std::vector _null_values; + + // for estimation a tree structure is required + struct JSONTypeNode { + std::string key; + std::unordered_map types; + std::vector> children; + + inline bool isLeaf() const { return children.empty(); } + + inline void inc_type(const python::Type& type) { + types[type]++; + } + }; + + std::unique_ptr _root; + + void walkJSONTree(std::unique_ptr& node, cJSON* json); + }; } diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index ad20e087e..3fffc8af7 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -28,6 +28,8 @@ namespace python { class Type; class TypeFactory; + struct StructEntry; + class Type { friend class TypeFactory; friend bool operator < (const Type& lhs, const Type& rhs); @@ -259,6 +261,13 @@ namespace python { */ static Type makeStructuredDictType(const std::vector>& kv_pairs); + /*! + * creates a (structured) dictionary with known keys. + * @param kv_pairs + * @return type created + */ + static Type makeStructuredDictType(const std::vector& kv_pairs); + // TODO: could create dict compressed type as well.. // static Type makeDictCompressedType() diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index dcb265c00..1a240cae8 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -84,8 +84,51 @@ namespace tuplex { return -1; } + void JsonStatistic::walkJSONTree(std::unique_ptr& node, cJSON* json) { + if(!json || !node) + return; + + // check type of JSON, recurse if necessary + if(cJSON_IsNull(json)) { + node->inc_type(python::Type::NULLVALUE); + } else if(cJSON_IsBool(json)) { + node->inc_type(python::Type::BOOLEAN); + } else if(cJSON_IsNumber(json)) { + // parse... + + } else if(cJSON_IsString(json)) { + node->inc_type(python::Type::STRING); + } else if(cJSON_IsArray(json)) { + // only homogenous arrays supported! + } else if(cJSON_IsObject(json)) { + // recurse.. + } + } + //@March: Implement, this function basically takes a buffer, needs to find the start of a valid JSON (i.e. \n{, \r\n{ if start[0] is not {) void JsonStatistic::estimate(const char *start, size_t size, bool disableNullColumns) { + + // find start offset (limited to size) + auto start_offset = findNLJsonStart(start, size); + if(start_offset < 0) + throw std::runtime_error("Coul not find start of valid JSON document in buffer of size " + std::to_string(size)); + + // start parsing at start + offset -> count then types/fields in tree structure + const char *end_ptr = nullptr; + auto buf = start + start_offset; + auto buf_size = size - start_offset; + auto json_obj = cJSON_ParseWithLengthOpts(buf, buf_size, &end_ptr, false); + while(json_obj) { + // count types... + + cJSON_free(json_obj); + + // parse next object + auto parsed_bytes = end_ptr - buf; + buf += parsed_bytes; + buf_size -= parsed_bytes; + json_obj = cJSON_ParseWithLengthOpts(buf, buf_size, &end_ptr, false); + } throw std::runtime_error("not yet implemented"); } diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 10310b999..8e7aa77b6 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -690,7 +690,11 @@ namespace python { return python::TypeFactory::instance().createOrGetListType(elementType); } - Type Type::makeStructuredDictType(const std::vector > &kv_pairs) { + Type Type::makeStructuredDictType(const std::vector> &kv_pairs) { + return python::TypeFactory::instance().createOrGetStructuredDictType(kv_pairs); + } + + Type Type::makeStructuredDictType(const std::vector &kv_pairs) { return python::TypeFactory::instance().createOrGetStructuredDictType(kv_pairs); } From b376357444a7214a04266fd624b9a52fc6aebf3f Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 9 Aug 2022 12:36:40 +0200 Subject: [PATCH 024/286] wip, large extension of unifytypes, typesystem to support structureddicts --- tuplex/test/utils/TestJSONUtils.cc | 399 +++++++++++---------------- tuplex/utils/include/JsonStatistic.h | 30 ++ tuplex/utils/include/TypeHelper.h | 121 +++++++- tuplex/utils/include/TypeSystem.h | 6 + tuplex/utils/src/JsonStatistic.cc | 276 ++++++++++++++++++ tuplex/utils/src/TypeSystem.cc | 143 +++++++++- 6 files changed, 731 insertions(+), 244 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 8ee3b79b8..9ee797c92 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -56,92 +56,6 @@ namespace tuplex { types[type]++; } }; - - // non-recursive mapping - python::Type jsonTypeToPythonTypeNonRecursive(const simdjson::ondemand::json_type& jtype, const std::string_view& value) { - switch(jtype) { - case simdjson::ondemand::json_type::array: { - return python::Type::GENERICLIST; - } - case simdjson::ondemand::json_type::object: { - return python::Type::GENERICDICT; - } - case simdjson::ondemand::json_type::string: { - return python::Type::STRING; - } - case simdjson::ondemand::json_type::boolean: { - return python::Type::BOOLEAN; - } - case simdjson::ondemand::json_type::null: { - return python::Type::NULLVALUE; - } - case simdjson::ondemand::json_type::number: { - // if a . can be found -> floating point, else integer (if length is not too large!) - if(value.find('.') == std::string_view::npos) - return python::Type::I64; - else - return python::Type::F64; - } - default: { - return python::Type::UNKNOWN; - } - } - } - - python::Type jsonTypeToPythonTypeRecursive(simdjson::simdjson_result obj) { - using namespace std; - - // is a nested field? - if(obj.type() == simdjson::ondemand::json_type::object) { - - // json is always string keys -> value - vector kv_pairs; - for(auto field : obj.get_object()) { - // add to names - auto sv_key = field.unescaped_key().value(); - std::string key = {sv_key.begin(), sv_key.end()}; - - python::StructEntry entry; - entry.key = escape_to_python_str(key); - entry.keyType = python::Type::STRING; - entry.valueType = jsonTypeToPythonTypeRecursive(field.value()); // recurse if necessary! - kv_pairs.push_back(entry); - } - - return python::Type::makeStructuredDictType(kv_pairs); - } - // is it an array? => only homogenous arrays supported! - if(obj.type() == simdjson::ondemand::json_type::array) { - - // homogenous type? - auto token = obj.raw_json_token().value(); - auto arr = obj.get_array(); - size_t arr_size = 0; - - // go through array and check that types are the same - python::Type element_type; - bool first = true; - for(auto el : arr) { - auto next_type = jsonTypeToPythonTypeRecursive(el); - if(first) { - element_type = next_type; - first = false; - } - auto uni_type = unifyTypes(element_type, next_type); - if(uni_type == python::Type::UNKNOWN) - return python::Type::makeListType(python::Type::PYOBJECT); // non-homogenous list - element_type = uni_type; - arr_size++; - } - - if(arr_size == 0) - return python::Type::EMPTYLIST; - - return python::Type::makeListType(element_type); - } - - return jsonTypeToPythonTypeNonRecursive(obj.type(), obj.raw_json_token()); - } } TEST(JSONUtils, SIMDJSONFieldParse) { @@ -151,159 +65,166 @@ TEST(JSONUtils, SIMDJSONFieldParse) { std::string test_path = "../resources/ndjson/github.json"; std::string data = fileToString(test_path); - simdjson::padded_string ps(data); - - // https://simdjson.org/api/2.0.0/md_doc_iterate_many.html - simdjson::ondemand::parser parser; - simdjson::ondemand::document_stream stream; - auto error = parser.iterate_many(data).get(stream); - // dom parser allows more?? - // auto error = parser.parse_many(data).get(stream); - - if(error) { - std::cerr << error << std::endl; return; - } - - // break up into Rows and detect things along the way. - std::vector rows; - - // pass I: detect column names - // first: detect column names (ordered? as they are?) - std::vector column_names; - std::unordered_map column_index_lookup_table; - std::set column_names_set; - - // @TODO: test with corrupted files & make sure this doesn't fail... - std::unordered_map line_types; - - // counting tables for types - std::unordered_map, size_t> type_counts; - - bool first_row = false; - - // cf. Tree Walking and JSON Element Types in https://github.com/simdjson/simdjson/blob/master/doc/basics.md - // use scalar() => for simple numbers etc. - - // anonymous row? I.e., simple value? - for(auto it = stream.begin(); it != stream.end(); ++it) { - auto doc = (*it); - - auto line_type = doc.type().value(); - line_types[line_type]++; - - // type of doc - switch(line_type) { - case simdjson::ondemand::json_type::object: { - auto obj = doc.get_object(); - // objects per line - for(auto field : obj) { - // add to names - auto sv_key = field.unescaped_key().value(); - std::string key = {sv_key.begin(), sv_key.end()}; - auto jt = column_names_set.find(key); - if(jt == column_names_set.end()) { - size_t cur_index = column_index_lookup_table.size(); - column_index_lookup_table[key] = cur_index; - column_names.push_back(key); - column_names_set.insert(key); - } - - // perform type count (lookups necessary because can be ANY order) - auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); - - // generic types? -> recurse! - if(py_type == python::Type::GENERICDICT || py_type == python::Type::GENERICLIST) { - py_type = jsonTypeToPythonTypeRecursive(field.value()); - } - - // add to count array - type_counts[std::make_tuple(column_index_lookup_table[key], py_type)]++; - } - break; - } - case simdjson::ondemand::json_type::array: { - // unknown, i.e. error line. - // header? -> first line? - if(first_row) { - bool all_elements_strings = true; - auto arr = doc.get_array(); - size_t pos = 0; - for(auto field : arr) { - if(field.type() != simdjson::ondemand::json_type::string) - all_elements_strings = false; - else { - auto sv = field.get_string().value(); - auto name = std::string{sv.begin(), sv.end()}; - column_names.push_back(name); - } - - // perform type count (lookups necessary because can be ANY order) - auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); - // add to count array - type_counts[std::make_tuple(pos, py_type)]++; - pos++; - } - } - break; - } - default: { - // basic element -> directly map type! - auto py_type = jsonTypeToPythonTypeNonRecursive(doc.type().value(), doc.raw_json_token()); - break; - } - } - first_row = true; - -// std::cout << it.source() << std::endl; - } - std::cout << stream.truncated_bytes() << " bytes "<< std::endl; // returns 39 bytes - std::cout<<"Found columns: "< 1) { - std::cerr<<"Found mix of array [...] and object row notation"< found_types; - size_t max_column_idx = 0; - for(const auto& keyval : type_counts) { - found_types.insert(std::get<1>(keyval.first)); - max_column_idx = std::max(max_column_idx, std::get<0>(keyval.first)); - } - // now go through column names - // @TODO: retrieve column count statistics? - std::cout<<"Found at most "<second<<" "; - } else { - // std::cout< dict? + // + auto rows = parseRowsFromJSON(data); + return; + + + +// +// simdjson::padded_string ps(data); +// +// // https://simdjson.org/api/2.0.0/md_doc_iterate_many.html +// simdjson::ondemand::parser parser; +// simdjson::ondemand::document_stream stream; +// auto error = parser.iterate_many(data).get(stream); +// // dom parser allows more?? +// // auto error = parser.parse_many(data).get(stream); +// +// if(error) { +// std::cerr << error << std::endl; return; +// } +// +// // break up into Rows and detect things along the way. +// std::vector rows; +// +// // pass I: detect column names +// // first: detect column names (ordered? as they are?) +// std::vector column_names; +// std::unordered_map column_index_lookup_table; +// std::set column_names_set; +// +// // @TODO: test with corrupted files & make sure this doesn't fail... +// std::unordered_map line_types; +// +// // counting tables for types +// std::unordered_map, size_t> type_counts; +// +// bool first_row = false; +// +// // cf. Tree Walking and JSON Element Types in https://github.com/simdjson/simdjson/blob/master/doc/basics.md +// // use scalar() => for simple numbers etc. +// +// // anonymous row? I.e., simple value? +// for(auto it = stream.begin(); it != stream.end(); ++it) { +// auto doc = (*it); +// +// auto line_type = doc.type().value(); +// line_types[line_type]++; +// +// // type of doc +// switch(line_type) { +// case simdjson::ondemand::json_type::object: { +// auto obj = doc.get_object(); +// // objects per line +// for(auto field : obj) { +// // add to names +// auto sv_key = field.unescaped_key().value(); +// std::string key = {sv_key.begin(), sv_key.end()}; +// auto jt = column_names_set.find(key); +// if(jt == column_names_set.end()) { +// size_t cur_index = column_index_lookup_table.size(); +// column_index_lookup_table[key] = cur_index; +// column_names.push_back(key); +// column_names_set.insert(key); +// } +// +// // perform type count (lookups necessary because can be ANY order) +// auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); +// +// // generic types? -> recurse! +// if(py_type == python::Type::GENERICDICT || py_type == python::Type::GENERICLIST) { +// py_type = jsonTypeToPythonTypeRecursive(field.value()); +// } +// +// // add to count array +// type_counts[std::make_tuple(column_index_lookup_table[key], py_type)]++; +// } +// break; +// } +// case simdjson::ondemand::json_type::array: { +// // unknown, i.e. error line. +// // header? -> first line? +// if(first_row) { +// bool all_elements_strings = true; +// auto arr = doc.get_array(); +// size_t pos = 0; +// for(auto field : arr) { +// if(field.type() != simdjson::ondemand::json_type::string) +// all_elements_strings = false; +// else { +// auto sv = field.get_string().value(); +// auto name = std::string{sv.begin(), sv.end()}; +// column_names.push_back(name); +// } +// +// // perform type count (lookups necessary because can be ANY order) +// auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); +// // add to count array +// type_counts[std::make_tuple(pos, py_type)]++; +// pos++; +// } +// } +// break; +// } +// default: { +// // basic element -> directly map type! +// auto py_type = jsonTypeToPythonTypeNonRecursive(doc.type().value(), doc.raw_json_token()); +// break; +// } +// } +// first_row = true; +// +//// std::cout << it.source() << std::endl; +// } +// std::cout << stream.truncated_bytes() << " bytes "<< std::endl; // returns 39 bytes +// std::cout<<"Found columns: "< 1) { +// std::cerr<<"Found mix of array [...] and object row notation"< found_types; +// size_t max_column_idx = 0; +// for(const auto& keyval : type_counts) { +// found_types.insert(std::get<1>(keyval.first)); +// max_column_idx = std::max(max_column_idx, std::get<0>(keyval.first)); +// } +// // now go through column names +// // @TODO: retrieve column count statistics? +// std::cout<<"Found at most "<second<<" "; +// } else { +// // std::cout< dict? } // files to test: some with empty lines, etc. diff --git a/tuplex/utils/include/JsonStatistic.h b/tuplex/utils/include/JsonStatistic.h index bf20a3b3a..c1f850f47 100644 --- a/tuplex/utils/include/JsonStatistic.h +++ b/tuplex/utils/include/JsonStatistic.h @@ -10,6 +10,7 @@ #include "TypeSystem.h" #include +#include namespace tuplex { @@ -24,6 +25,35 @@ namespace tuplex { */ int64_t findNLJsonStart(const char* buf, size_t buf_size); + /*! + * maps a single primitive value to a python type (non-recursing_ + * @param jtype + * @param value + * @return tuplex python type + */ + extern python::Type jsonTypeToPythonTypeNonRecursive(const simdjson::ondemand::json_type& jtype, const std::string_view& value); + + /*! + * recursively maps a json field to a python type value, recurses on arrays and objects. Arrays are + * mapped to List[PyObject] if they're not homogenous (i.e. all elements have the same type) + * @param obj + * @return python type + */ + extern python::Type jsonTypeToPythonTypeRecursive(simdjson::simdjson_result obj); + + /*! + * parses rows from buf (newline delimited json) as tuplex rows, + * assigning detected type (StructType) per individual row. + * @param buf + * @param buf_size + * @param outColumnNames vector of string vectors storing the column names for each individual row if desired. If top-level is given as [...] takes either the first rows names or empty string. + * @return vector of Rows with types assigned. + */ + extern std::vector parseRowsFromJSON(const char* buf, size_t buf_size, std::vector>* outColumnNames=nullptr); + + inline std::vector parseRowsFromJSON(const std::string& s, std::vector>* outColumnNames=nullptr) { + return parseRowsFromJSON(s.c_str(), s.size() + 1, outColumnNames); + } // --> put implementation of this into JsonStatistic.cc file in utils/src/JsonStatistic.cc diff --git a/tuplex/utils/include/TypeHelper.h b/tuplex/utils/include/TypeHelper.h index 44acf09ea..8654681d5 100644 --- a/tuplex/utils/include/TypeHelper.h +++ b/tuplex/utils/include/TypeHelper.h @@ -70,9 +70,15 @@ namespace tuplex { * @param a (optional) primitive or list or tuple type * @param b (optional) primitive or list or tuple type * @param allowAutoUpcastOfNumbers whether to upcast numeric types to a unified type when type conflicts, false by default + * @param treatMissingDictKeysAsNone whether to treat missing (key, value) pairs as None when unifying structured dictionaries + * @param allowUnifyWithPyObject when any of a, b is pyobject -> unify to pyobject. * @return (optional) compatible type or UNKNOWN */ - inline python::Type unifyTypes(const python::Type& a, const python::Type& b, bool allowAutoUpcastOfNumbers=false) { + inline python::Type unifyTypes(const python::Type& a, + const python::Type& b, + bool allowAutoUpcastOfNumbers=false, + bool treatMissingDictKeysAsNone=false, + bool allowUnifyWithPyObject=false) { using namespace std; // UNKNOWN types are not compatible @@ -83,6 +89,9 @@ namespace tuplex { if(a == b) return a; + if((a == python::Type::PYOBJECT || b == python::Type::PYOBJECT)) + return allowUnifyWithPyObject ? python::Type::PYOBJECT : python::Type::UNKNOWN; + // special case: optimized types! // -> @TODO: can unify certain types, else just deoptimize. if(a.isOptimizedType() || b.isOptimizedType()) @@ -184,6 +193,116 @@ namespace tuplex { } } + // --- + // structured dicts: + if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isDictionaryType()) { + // are both of them structured dictionaries? + if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isStructuredDictionaryType()) { + // ok, most complex unify setup --> need to check key pairs (independent of order!) + + auto a_pairs = aUnderlyingType.get_struct_pairs(); + auto b_pairs = bUnderlyingType.get_struct_pairs(); + + // same number of elements? if not -> no cast possible! + if(a_pairs.size() != b_pairs.size()) { + // treat missing as null? + if(!treatMissingDictKeysAsNone) + return python::Type::UNKNOWN; + + // treat missing keys as null... + // => a bit more complex now + std::set keys; + std::unordered_map a_lookup; + std::unordered_map b_lookup; + for(const auto& p : a_pairs) { + keys.insert(p.key); + a_lookup[p.key] = p; + } + for(const auto& p : b_pairs) { + keys.insert(p.key); + b_lookup[p.key] = p; + } + + std::vector uni_pairs; + uni_pairs.reserve(keys.size()); + // go through both pair collections... + for(const auto& key : keys) { + python::StructEntry uni; + uni.key = key; + + python::StructEntry a_pair; + a_pair.keyType = python::Type::NULLVALUE; + a_pair.valueType = python::Type::NULLVALUE; + python::StructEntry b_pair; + b_pair.keyType = python::Type::NULLVALUE; + b_pair.valueType = python::Type::NULLVALUE; + if(a_lookup.find(key) != a_lookup.end()) { + a_pair = a_lookup[key]; + } + if(b_lookup.find(key) != b_lookup.end()) { + b_pair = b_lookup[key]; + } + + uni.keyType = unifyTypes(a_pair.keyType, b_pair.keyType, allowAutoUpcastOfNumbers, + treatMissingDictKeysAsNone, allowUnifyWithPyObject); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pair.valueType, b_pair.valueType, allowAutoUpcastOfNumbers, + treatMissingDictKeysAsNone, allowUnifyWithPyObject); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni_pairs.push_back(uni); + } + + // create combined struct type + return python::Type::makeStructuredDictType(uni_pairs); + } else { + // go through pairs (note: they may be differently sorted, so sort first!) + std::sort(a_pairs.begin(), a_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + std::sort(b_pairs.begin(), b_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + + // same size, check if keys are the same and types can be unified for each pair... + std::vector uni_pairs; + for(unsigned i = 0; i < a_pairs.size(); ++i) { + if(a_pairs[i].key != b_pairs[i].key) + return python::Type::UNKNOWN; + + python::StructEntry uni; + uni.key = a_pairs[i].key; + uni.keyType = unifyTypes(a_pairs[i].keyType, b_pairs[i].keyType, allowAutoUpcastOfNumbers, + treatMissingDictKeysAsNone, allowUnifyWithPyObject); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pairs[i].valueType, b_pairs[i].valueType, allowAutoUpcastOfNumbers, + treatMissingDictKeysAsNone, allowUnifyWithPyObject); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni_pairs.push_back(uni); + } + return python::Type::makeStructuredDictType(uni_pairs); + } + } else { + // easier: can unify if struct dict is homogenous when it comes to keys/values! + // => do unify with pyobject? + auto uni_key_type = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), + allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, + allowUnifyWithPyObject); + auto uni_value_type = unifyTypes(aUnderlyingType.valueType(), bUnderlyingType.valueType(), + allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, + allowUnifyWithPyObject); + + // if either is unknown -> can not unify + if(uni_key_type == python::Type::UNKNOWN || uni_value_type == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + // else, create new dict structure of this! + return python::Type::makeDictionaryType(uni_key_type, uni_value_type); + } + } + // other non-supported types return python::Type::UNKNOWN; diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 3fffc8af7..189084bcc 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -102,6 +102,7 @@ namespace python { bool isTupleType() const; bool isFunctionType() const; bool isDictionaryType() const; + bool isStructuredDictionaryType() const; bool isListType() const; bool isNumericType() const; bool isOptionType() const; @@ -221,6 +222,10 @@ namespace python { */ std::vector derivedClasses() const; + // helper functions + std::vector get_struct_pairs() const; + + static Type makeTupleType(std::initializer_list L); static Type makeTupleType(std::vector v); @@ -421,6 +426,7 @@ namespace python { bool isFunctionType(const Type& t) const; bool isDictionaryType(const Type& t) const; + bool isStructuredDictionaryType(const Type& t) const; bool isTupleType(const Type& t) const; bool isOptionType(const Type& t) const; bool isListType(const Type& t) const; diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index 1a240cae8..57526be4e 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -11,6 +11,93 @@ namespace tuplex { + // non-recursive mapping + python::Type jsonTypeToPythonTypeNonRecursive(const simdjson::ondemand::json_type& jtype, const std::string_view& value) { + switch(jtype) { + case simdjson::ondemand::json_type::array: { + return python::Type::GENERICLIST; + } + case simdjson::ondemand::json_type::object: { + return python::Type::GENERICDICT; + } + case simdjson::ondemand::json_type::string: { + return python::Type::STRING; + } + case simdjson::ondemand::json_type::boolean: { + return python::Type::BOOLEAN; + } + case simdjson::ondemand::json_type::null: { + return python::Type::NULLVALUE; + } + case simdjson::ondemand::json_type::number: { + // if a . can be found -> floating point, else integer (if length is not too large!) + if(value.find('.') == std::string_view::npos) + return python::Type::I64; + else + return python::Type::F64; + } + default: { + return python::Type::UNKNOWN; + } + } + } + + python::Type jsonTypeToPythonTypeRecursive(simdjson::simdjson_result obj) { + using namespace std; + + // is a nested field? + if(obj.type() == simdjson::ondemand::json_type::object) { + + // json is always string keys -> value + vector kv_pairs; + for(auto field : obj.get_object()) { + // add to names + auto sv_key = field.unescaped_key().value(); + std::string key = {sv_key.begin(), sv_key.end()}; + + python::StructEntry entry; + entry.key = escape_to_python_str(key); + entry.keyType = python::Type::STRING; + entry.valueType = jsonTypeToPythonTypeRecursive(field.value()); // recurse if necessary! + kv_pairs.push_back(entry); + } + + return python::Type::makeStructuredDictType(kv_pairs); + } + // is it an array? => only homogenous arrays supported! + if(obj.type() == simdjson::ondemand::json_type::array) { + + // homogenous type? + auto token = obj.raw_json_token().value(); + auto arr = obj.get_array(); + size_t arr_size = 0; + + // go through array and check that types are the same + python::Type element_type; + bool first = true; + for(auto el : arr) { + auto next_type = jsonTypeToPythonTypeRecursive(el); + if(first) { + element_type = next_type; + first = false; + } + auto uni_type = unifyTypes(element_type, next_type); + if(uni_type == python::Type::UNKNOWN) + return python::Type::makeListType(python::Type::PYOBJECT); // non-homogenous list + element_type = uni_type; + arr_size++; + } + + if(arr_size == 0) + return python::Type::EMPTYLIST; + + return python::Type::makeListType(element_type); + } + + return jsonTypeToPythonTypeNonRecursive(obj.type(), obj.raw_json_token()); + } + + //@March implement: finding Json Offset //@March + write tests. // we need this function to chunk JSON files later. @@ -84,6 +171,195 @@ namespace tuplex { return -1; } + static Field stringToField(const std::string& s, const python::Type& type) { + if(type == python::Type::NULLVALUE) + return Field::null(); + if(type == python::Type::BOOLEAN) { + assert(s == "true" || s == "false"); + return Field((bool)(s == "true")); + } + if(type == python::Type::I64) { + int64_t i = 0; + if(ecToI32(ExceptionCode::SUCCESS) == fast_atoi64(s.c_str(), s.c_str() + s.length(), &i)) { + return Field(i); + } else + throw std::runtime_error("integer parse error for field " + s); + } + if(type == python::Type::F64) { + double d = 0.0; + if(ecToI32(ExceptionCode::SUCCESS) == fast_atod(s.c_str(), s.c_str() + s.length(), &d)) { + return Field(d); + } else + throw std::runtime_error("double parse error for field " + s); + } + if(type == python::Type::STRING) + return Field(s); + + if(type.isDictionaryType()) + return Field::from_str_data(s, type); + + throw std::runtime_error("unsupported primitive type " + type.desc()); + } + + + std::vector parseRowsFromJSON(const char* buf, size_t buf_size, std::vector>* outColumnNames) { + using namespace std; + + assert(buf[buf_size - 1] == '\0'); + + auto SIMDJSON_BATCH_SIZE=simdjson::dom::DEFAULT_BATCH_SIZE; + + // use simdjson as parser b.c. cJSON has issues with integers/floats. + // https://simdjson.org/api/2.0.0/md_doc_iterate_many.html + simdjson::ondemand::parser parser; + simdjson::ondemand::document_stream stream; + auto error = parser.iterate_many(buf, buf_size, SIMDJSON_BATCH_SIZE).get(stream); + if(error) { + stringstream err_stream; err_stream< rows; + + // pass I: detect column names + // first: detect column names (ordered? as they are?) + std::vector column_names; + std::unordered_map column_index_lookup_table; + std::set column_names_set; + + // @TODO: test with corrupted files & make sure this doesn't fail... + std::unordered_map line_types; + + // counting tables for types + std::unordered_map, size_t> type_counts; + + bool first_row = false; + + // cf. Tree Walking and JSON Element Types in https://github.com/simdjson/simdjson/blob/master/doc/basics.md + // use scalar() => for simple numbers etc. + + // anonymous row? I.e., simple value? + for(auto it = stream.begin(); it != stream.end(); ++it) { + auto doc = (*it); + + auto line_type = doc.type().value(); + line_types[line_type]++; + + std::vector fields; + + // type of doc + switch(line_type) { + case simdjson::ondemand::json_type::object: { + auto obj = doc.get_object(); + + // key names == column names + vector row_column_names; + vector row_json_strings; + vector row_field_types; + + // objects per line + for(auto field : obj) { + // add to names + auto sv_key = field.unescaped_key().value(); + std::string key = {sv_key.begin(), sv_key.end()}; + auto jt = column_names_set.find(key); + if(jt == column_names_set.end()) { + size_t cur_index = column_index_lookup_table.size(); + column_index_lookup_table[key] = cur_index; + column_names.push_back(key); + column_names_set.insert(key); + } + + // perform type count (lookups necessary because can be ANY order) + auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); + + // generic types? -> recurse! + if(py_type == python::Type::GENERICDICT || py_type == python::Type::GENERICLIST) { + py_type = jsonTypeToPythonTypeRecursive(field.value()); + } + + // add to count array + type_counts[std::make_tuple(column_index_lookup_table[key], py_type)]++; + + // save raw data for more info + row_column_names.push_back(key); + auto sv_value = field.value().raw_json_token().value(); + row_json_strings.push_back({sv_value.begin(), sv_value.end()}); + row_field_types.push_back(py_type); + } + + // output column names if desired & save row + if(outColumnNames) { + outColumnNames->push_back(row_column_names); + } + vector fields; + for(unsigned i = 0; i < row_field_types.size(); ++i) { + // can't be opt type -> primitives are parsed! + assert(!row_field_types[i].isOptionType()); + if(row_field_types[i].isDictionaryType()) { + // dict field? + // simple, use json dict + fields.push_back(Field::from_str_data(row_json_strings[i], row_field_types[i])); + } else if(row_field_types[i].isListType()) { + // list field? + // TODO + throw std::runtime_error("nyimpl"); + } else { + // convert primitive string to field + fields.push_back(stringToField(row_json_strings[i], row_field_types[i])); + } + + } + rows.push_back(Row::from_vector(fields)); + + break; + } + case simdjson::ondemand::json_type::array: { + // unknown, i.e. error line. + // header? -> first line? + if(first_row) { + bool all_elements_strings = true; + auto arr = doc.get_array(); + size_t pos = 0; + for(auto field : arr) { + if(field.type() != simdjson::ondemand::json_type::string) + all_elements_strings = false; + else { + auto sv = field.get_string().value(); + auto name = std::string{sv.begin(), sv.end()}; + column_names.push_back(name); + } + + // perform type count (lookups necessary because can be ANY order) + auto py_type = jsonTypeToPythonTypeNonRecursive(field.value().type(), field.value().raw_json_token()); + // add to count array + type_counts[std::make_tuple(pos, py_type)]++; + pos++; + } + } + break; + } + default: { + // basic element -> directly map type! + auto py_type = jsonTypeToPythonTypeNonRecursive(doc.type().value(), doc.raw_json_token()); + break; + } + } + first_row = true; + + // the full json string of a row can be obtained via + // std::cout << it.source() << std::endl; + // { + // stringstream ss; + // ss<& node, cJSON* json) { if(!json || !node) return; diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 8e7aa77b6..50a5aeec9 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -19,6 +19,8 @@ #include + +#include // types should be like form mypy https://mypy.readthedocs.io/en/latest/cheat_sheet_py3.html @@ -382,6 +384,10 @@ namespace python { return TypeFactory::instance().isDictionaryType(*this); } + bool Type::isStructuredDictionaryType() const { + return TypeFactory::instance().isStructuredDictionaryType(*this); + } + bool Type::isListType() const { return TypeFactory::instance().isListType(*this); } @@ -423,7 +429,16 @@ namespace python { return false; auto type = it->second._type; - return type == AbstractType::DICTIONARY || t == Type::EMPTYDICT || t == Type::GENERICDICT; + return type == AbstractType::DICTIONARY || t == Type::EMPTYDICT || t == Type::GENERICDICT || type == AbstractType::STRUCTURED_DICTIONARY; + } + + bool TypeFactory::isStructuredDictionaryType(const Type& t) const { + auto it = _typeMap.find(t._hash); + if(it == _typeMap.end()) + return false; + + auto type = it->second._type; + return type == AbstractType::STRUCTURED_DICTIONARY; } bool TypeFactory::isListType(const Type &t) const { @@ -472,8 +487,40 @@ namespace python { return TypeFactory::instance().parameters(*this); } + std::vector Type::get_struct_pairs() const { + assert(isStructuredDictionaryType()); + auto& factory = TypeFactory::instance(); + auto it = factory._typeMap.find(_hash); + assert(it != factory._typeMap.end()); + return it->second._struct_pairs; + } + Type Type::keyType() const { - assert(isDictionaryType() && _hash != EMPTYDICT._hash && _hash != GENERICDICT._hash); + + // special cases: empty dict, generic dict and structured dict + if(_hash == EMPTYDICT._hash || _hash == GENERICDICT._hash) + return PYOBJECT; + + // is it a structured dict? -> same key type? + if(isStructuredDictionaryType()) { + // check pairs and whether they all have the same type, if not return pyobject + auto& factory = TypeFactory::instance(); + auto it = factory._typeMap.find(_hash); + assert(it != factory._typeMap.end()); + auto pairs = it->second._struct_pairs; + assert(!pairs.empty()); // --> should be empty dict + auto key_type = pairs.front().keyType; + for(auto entry : pairs) { + // unify types... + key_type = tuplex::unifyTypes(key_type, entry.keyType); + if(key_type == UNKNOWN) + return PYOBJECT; + } + return key_type; + } + + // regular dict + assert(isDictionaryType() && !isStructuredDictionaryType() && _hash != EMPTYDICT._hash && _hash != GENERICDICT._hash); auto& factory = TypeFactory::instance(); auto it = factory._typeMap.find(_hash); assert(it != factory._typeMap.end()); @@ -490,6 +537,28 @@ namespace python { } Type Type::valueType() const { + // special cases: empty dict, generic dict and structured dict + if(_hash == EMPTYDICT._hash || _hash == GENERICDICT._hash) + return PYOBJECT; + + // is it a structured dict? -> same key type? + if(isStructuredDictionaryType()) { + // check pairs and whether they all have the same type, if not return pyobject + auto& factory = TypeFactory::instance(); + auto it = factory._typeMap.find(_hash); + assert(it != factory._typeMap.end()); + auto pairs = it->second._struct_pairs; + assert(!pairs.empty()); // --> should be empty dict + auto value_type = pairs.front().keyType; + for(auto entry : pairs) { + // unify types... + value_type = tuplex::unifyTypes(value_type, entry.valueType); + if(value_type == UNKNOWN) + return PYOBJECT; + } + return value_type; + } + assert(isDictionaryType() && _hash != EMPTYDICT._hash && _hash != GENERICDICT._hash); auto& factory = TypeFactory::instance(); auto it = factory._typeMap.find(_hash); @@ -645,6 +714,15 @@ namespace python { return true; return false; } else if(isDictionaryType()) { + + // special case, structured dict: + if(isStructuredDictionaryType()) { + for(auto pair : get_struct_pairs()) + if(pair.keyType.isIllDefined() || pair.valueType.isIllDefined()) + return true; + return false; + } + // empty or generic are well defined if(_hash == Type::EMPTYDICT._hash || _hash == Type::GENERICDICT._hash) return false; @@ -915,14 +993,25 @@ namespace python { if(isTupleType()) { // go through elements & construct optionless tuples vector params; - for(auto t : parameters()) + for(const auto& t : parameters()) params.push_back(t.withoutOptions()); return Type::makeTupleType(params); } // dict? if(isDictionaryType()) { - return Type::makeDictionaryType(keyType().withoutOptions(), valueType().withoutOptions()); + if(isStructuredDictionaryType()) { + // go through pairs! + auto pairs = get_struct_pairs(); + for(auto& entry : pairs) { + entry.keyType = entry.keyType.withoutOptions(); + entry.valueType = entry.valueType.withoutOptions(); + } + return Type::makeStructuredDictType(pairs); + } else { + // homogenous key/value type dict + return Type::makeDictionaryType(keyType().withoutOptions(), valueType().withoutOptions()); + } } // list? @@ -1002,6 +1091,52 @@ namespace python { if(from == python::Type::EMPTYLIST && to.isListType()) return true; + // cast between struct dict and dict + if(from.isStructuredDictionaryType() && to.isDictionaryType()) { + // special case from & to are both structured -> are they compatible? + if(from.isStructuredDictionaryType() && to.isStructuredDictionaryType()) { + auto from_pairs = from.get_struct_pairs(); + auto to_pairs = to.get_struct_pairs(); + + // same number of elements? if not -> no cast possible! + if(from_pairs.size() != to_pairs.size()) + return false; + + // go through pairs (note: they may be differently sorted...) + std::sort(from_pairs.begin(), from_pairs.end(), [](const StructEntry& a, const StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + std::sort(to_pairs.begin(), to_pairs.end(), [](const StructEntry& a, const StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + + assert(from_pairs.size() == to_pairs.size()); + for(unsigned i = 0; i < from_pairs.size(); ++i) { + // must have same key + if(from_pairs[i].key != to_pairs[i].key) + return false; + // keytype and valuetype must be compatible + if(!canUpcastType(from_pairs[i].keyType, to_pairs[i].keyType)) + return false; + if(!canUpcastType(from_pairs[i].valueType, to_pairs[i].valueType)) + return false; + } + return true; + } else { + // check whether ALL from key types and value types can be upcasted to generic type + auto dest_key_type = to.keyType(); + auto dest_value_type = to.valueType(); + auto pairs = from.get_struct_pairs(); + for(const auto& p : pairs) { + if(!canUpcastType(p.keyType, dest_key_type)) + return false; + if(!canUpcastType(p.valueType, dest_value_type)) + return false; + } + return true; + } + } + return false; } From c64f8668b34575c519752955f029bab32f959bd2 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 9 Aug 2022 12:59:03 +0200 Subject: [PATCH 025/286] unify recurse fix --- tuplex/utils/include/TypeHelper.h | 38 +++++++++++++++++-------------- tuplex/utils/src/JsonStatistic.cc | 11 +++++++-- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/tuplex/utils/include/TypeHelper.h b/tuplex/utils/include/TypeHelper.h index 8654681d5..b486af6e9 100644 --- a/tuplex/utils/include/TypeHelper.h +++ b/tuplex/utils/include/TypeHelper.h @@ -95,7 +95,8 @@ namespace tuplex { // special case: optimized types! // -> @TODO: can unify certain types, else just deoptimize. if(a.isOptimizedType() || b.isOptimizedType()) - return unifyTypes(deoptimizedType(a), deoptimizedType(b), allowAutoUpcastOfNumbers); + return unifyTypes(deoptimizedType(a), deoptimizedType(b), + allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); if(a == python::Type::NULLVALUE) return python::Type::makeOptionType(b); @@ -146,7 +147,7 @@ namespace tuplex { // list type? check if element type compatible if(aUnderlyingType.isListType() && bUnderlyingType.isListType() && aUnderlyingType != python::Type::EMPTYLIST && bUnderlyingType != python::Type::EMPTYLIST) { python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), - allowAutoUpcastOfNumbers); + allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); if(newElementType == python::Type::UNKNOWN) { // incompatible list element type return python::Type::UNKNOWN; @@ -166,7 +167,10 @@ namespace tuplex { std::vector newTuple; for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], - bUnderlyingType.parameters()[i], allowAutoUpcastOfNumbers); + bUnderlyingType.parameters()[i], + allowAutoUpcastOfNumbers, + treatMissingDictKeysAsNone, + allowUnifyWithPyObject); if(newElementType == python::Type::UNKNOWN) { // incompatible tuple element type return python::Type::UNKNOWN; @@ -179,20 +183,6 @@ namespace tuplex { return python::Type::makeTupleType(newTuple); } - // dictionary type - if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { - auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), allowAutoUpcastOfNumbers); - auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), allowAutoUpcastOfNumbers); - if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { - return python::Type::UNKNOWN; - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); - } else { - return python::Type::makeDictionaryType(key_t, val_t); - } - } - // --- // structured dicts: if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isDictionaryType()) { @@ -303,6 +293,20 @@ namespace tuplex { } } + // dictionary type + if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { + auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); + auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); + if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { + return python::Type::UNKNOWN; + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); + } else { + return python::Type::makeDictionaryType(key_t, val_t); + } + } + // other non-supported types return python::Type::UNKNOWN; diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index 57526be4e..3d2e274fa 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -213,7 +213,7 @@ namespace tuplex { // https://simdjson.org/api/2.0.0/md_doc_iterate_many.html simdjson::ondemand::parser parser; simdjson::ondemand::document_stream stream; - auto error = parser.iterate_many(buf, buf_size, SIMDJSON_BATCH_SIZE).get(stream); + auto error = parser.iterate_many(buf, buf_size, std::min(buf_size, SIMDJSON_BATCH_SIZE)).get(stream); if(error) { stringstream err_stream; err_stream< first line? + + // @TODO: not yet fully implemented!!! + if(first_row) { bool all_elements_strings = true; auto arr = doc.get_array(); From c59e3991a09ab816b45984bb010bee48817d0df3 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 9 Aug 2022 16:36:43 +0200 Subject: [PATCH 026/286] wip --- tuplex/test/utils/TestJSONUtils.cc | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 9ee797c92..f74839f48 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -65,8 +65,25 @@ TEST(JSONUtils, SIMDJSONFieldParse) { std::string test_path = "../resources/ndjson/github.json"; std::string data = fileToString(test_path); - // - auto rows = parseRowsFromJSON(data); + std::vector> column_names; + auto rows = parseRowsFromJSON(data, &column_names); + + // fetch stat about column names, i.e. which ones occur how often? + // ==> per row stat? + // ==> replacing missing values with nulls or not? + std::set unique_column_names; + size_t min_column_name_count = std::numeric_limits::max(); + size_t max_column_name_count = std::numeric_limits::min(); + + for(auto names: column_names) { + for(auto name : names) + unique_column_names.insert(name); + min_column_name_count = std::min(min_column_name_count, names.size()); + max_column_name_count = std::max(max_column_name_count, names.size()); + } + + std::cout<<"sample contains "< Date: Tue, 9 Aug 2022 17:32:19 +0200 Subject: [PATCH 027/286] backport majority row type and add vector hashing --- tuplex/test/utils/TestJSONUtils.cc | 116 +++++++++++++++++++++++++++++ tuplex/utils/include/Row.h | 14 ++++ tuplex/utils/include/Utils.h | 54 +++++++------- tuplex/utils/src/Row.cc | 115 ++++++++++++++++++++++++++++ 4 files changed, 272 insertions(+), 27 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index f74839f48..967b2507d 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -14,6 +14,7 @@ #include #include #include +#include static std::string fileToString(const std::string& path) { std::ifstream t(path); @@ -56,6 +57,92 @@ namespace tuplex { types[type]++; } }; + + // + /*! + * check whether strings in needle adheres to order of reference array. Each element of needle must be contained within reference, + * but there may be elements in reference that aren't contained. No duplicates allowed in either needle or reference! + */ + bool adheresToRelativeOrder(const std::vector& needle, const std::vector& reference) { + assert(std::set(needle.begin(), needle.end()).size() == needle.size()); + assert(std::set(reference.begin(), reference.end()).size() == reference.size()); + assert(needle.size() <= reference.size()); + + if(needle.empty()) + return true; + + // construct relative positioning lookup + size_t needle_pos = 0; + size_t ref_pos = 0; + while(needle_pos < needle.size()) { + // check whether element can be found in reference + while(ref_pos < reference.size() && reference[ref_pos] != needle[needle_pos]) + ref_pos++; + if(ref_pos >= reference.size() || needle_pos > ref_pos) + return false; + needle_pos++; + } + + return needle_pos == needle.size() && ref_pos != reference.size() && needle_pos <= ref_pos; // all were found + } + + + bool columnsAdheringAllToSameOrder(const std::vector>& v, std::vector* detectedOrderedUniqueNames) { + + using namespace std; + if(v.empty()) + return true; + + // pass 1: get default order of how column names are encountered. + vector column_names = v.front(); + set unique_names(column_names.begin(), column_names.end()); + for(unsigned i = 1; i < v.size(); ++i) { + // go through names and check whether they are all contained within the collected names + for(unsigned j = 0; j < v[i].size(); ++j) { + auto name = v[i][j]; + if(unique_names.find(name) == unique_names.end()) { + // not contained! Therefore insert at the current position and shift the rest of the vector further up! + column_names.insert(column_names.begin() + j, name); + unique_names.insert(name); + } else { + // check if index j is smaller equal than detected index in already encountered column names + size_t idx = 0; + while(idx < column_names.size() && column_names[idx] != name) + idx++; + if(idx < j) + return false; // wrong! + } + } + } + + if(detectedOrderedUniqueNames) + *detectedOrderedUniqueNames = column_names; + + // pass 2: check whether the columns adhere to the order computed. + + return true; + } +} + +TEST(JSONUtils, relativeOrderTest) { + EXPECT_TRUE(tuplex::adheresToRelativeOrder({}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"a"}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"b"}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"c"}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"a", "b"}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"a", "c"}, {"a", "b", "c"})); + EXPECT_TRUE(tuplex::adheresToRelativeOrder({"b", "c"}, {"a", "b", "c"})); + // false + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"b", "a"}, {"a", "b", "c"})); // wrong order + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"c", "a"}, {"a", "b", "c"})); // wrong order + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"c", "b"}, {"a", "b", "c"})); // wrong order + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"d"}, {"a", "b", "c"})); // not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"a", "d"}, {"a", "b", "c"})); // partially not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"d", "a"}, {"a", "b", "c"})); // partially not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"b", "d"}, {"a", "b", "c"})); // partially not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"d", "b"}, {"a", "b", "c"})); // partially not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"c", "d"}, {"a", "b", "c"})); // partially not contained + EXPECT_FALSE(tuplex::adheresToRelativeOrder({"d", "c"}, {"a", "b", "c"})); // partially not contained } TEST(JSONUtils, SIMDJSONFieldParse) { @@ -83,6 +170,35 @@ TEST(JSONUtils, SIMDJSONFieldParse) { } std::cout<<"sample contains "< column_names_ordered; + std::cout<<"Do all rows adhere to same column order?: "< need to resort rows!!! + bool same_column_order = columnsAdheringAllToSameOrder(column_names, &column_names_ordered); + if(!same_column_order) { + throw std::runtime_error("need to resort/reorder column"); + } else { + // if fill-in with missing null-values is ok, then can use maximum order of columns, if not need to first detect maximum order + if(treatMissingValuesAsNulls) { + + } else { + std::cout<<"detecting majority case column count and names"<, size_t> column_count_counts; + for(auto names : column_names) { + column_count_counts[names]++; + } + + // majority case + + } + } + return; diff --git a/tuplex/utils/include/Row.h b/tuplex/utils/include/Row.h index 27b169c5b..d48fc1d13 100644 --- a/tuplex/utils/include/Row.h +++ b/tuplex/utils/include/Row.h @@ -157,5 +157,19 @@ namespace tuplex { */ void printTable(std::ostream& os, const std::vector& header, const std::vector& rows, bool quoteStrings=true); + + /*! + * detect (each col independent) majority for each column and form row type + * @param rows sample, if empty unknown is returned + * @param threshold normal-case threshold + * @param independent_columns whether to treat each column indepedently or use joint maximization + * @param use_nvo if active Option[T] types are speculated on to be either None, T or Option[T] depending on threshold + * @return majority type + */ + extern python::Type detectMajorityRowType(const std::vector& rows, + double threshold, + bool independent_columns=true, + bool use_nvo=true); + } #endif //TUPLEX_ROW_H \ No newline at end of file diff --git a/tuplex/utils/include/Utils.h b/tuplex/utils/include/Utils.h index a7b01eada..d6e918fe4 100644 --- a/tuplex/utils/include/Utils.h +++ b/tuplex/utils/include/Utils.h @@ -133,46 +133,46 @@ namespace std // See Mike Seymour in magic-numbers-in-boosthash-combine: // https://stackoverflow.com/questions/4948780 - template - inline void hash_combine(std::size_t& seed, T const& v) - { - seed ^= hash()(v) + 0x9e3779b9 + (seed<<6) + (seed>>2); + template + inline void hash_combine(std::size_t &seed, T const &v) { + seed ^= hash()(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); } // Recursive template code derived from Matthieu M. - template ::value - 1> - struct HashValueImpl - { - static void apply(size_t& seed, Tuple const& tuple) - { - HashValueImpl::apply(seed, tuple); + template::value - 1> + struct HashValueImpl { + static void apply(size_t &seed, Tuple const &tuple) { + HashValueImpl::apply(seed, tuple); hash_combine(seed, get(tuple)); } }; - template - struct HashValueImpl - { - static void apply(size_t& seed, Tuple const& tuple) - { + template + struct HashValueImpl { + static void apply(size_t &seed, Tuple const &tuple) { hash_combine(seed, get<0>(tuple)); } }; -template -struct hash> -{ - size_t - operator()(std::tuple const& tt) const - { - size_t seed = 0; - HashValueImpl >::apply(seed, tt); - return seed; - } - -}; + template + struct hash> { + size_t + operator()(std::tuple const &tt) const { + size_t seed = 0; + HashValueImpl >::apply(seed, tt); + return seed; + } + }; + template struct hash> { + size_t operator ()(std::vector const& v) const { + size_t seed = 0; + for(const auto& el : v) + hash_combine(seed, el); + return seed; + } + }; } // llvm has competing debug macro -.- diff --git a/tuplex/utils/src/Row.cc b/tuplex/utils/src/Row.cc index 2dfcb24e5..258afe062 100644 --- a/tuplex/utils/src/Row.cc +++ b/tuplex/utils/src/Row.cc @@ -313,4 +313,119 @@ namespace tuplex { os.flush(); } + + python::Type detectMajorityRowType(const std::vector& rows, + double threshold, + bool independent_columns, + bool use_nvo) { + if(rows.empty()) + return python::Type::UNKNOWN; + + assert(0.0 <= threshold <= 1.0); + + if(independent_columns) { + // count each column independently + // hashmap is type, col -> count + std::unordered_map, unsigned> counts; + for(const auto& row : rows) { + auto t = row.getRowType(); + for(unsigned i = 0; i < t.parameters().size(); ++i) { + counts[std::make_tuple(t.parameters()[i].hash(), i)]++; + } + } + + // get column counts + unsigned min_idx = std::numeric_limits::max(); + unsigned max_idx = 0; + for(auto keyval : counts) { + auto type_hash = std::get<0>(keyval.first); + auto col_idx = std::get<1>(keyval.first); + min_idx = std::min(min_idx, col_idx); + max_idx = std::max(max_idx, col_idx); + } + + // have counts, now for each column make a type decision --> i.e. based on majority case! + std::vector>> col_counts(max_idx + 1); + for(auto keyval : counts) { + auto type_hash = std::get<0>(keyval.first); + auto col_idx = std::get<1>(keyval.first); + col_counts[col_idx][keyval.second] = type_hash; + } + + // compute majority, account for null-value prevalence! + std::vector col_types(col_counts.size()); + for(unsigned i = 0; i < col_counts.size(); ++i) { + // single type? -> trivial. + // empty? pyobject + if(col_counts[i].empty()) { + col_types[i] = python::Type::PYOBJECT; + } else if(col_counts[i].size() == 1) { + col_types[i] = python::Type::fromHash(col_counts[i].begin()->second); + } else { + // more than one count. Now it getting tricky... + // is the first null and something else present? => use threshold to determine whether option type or not! + auto most_common_type = python::Type::fromHash(col_counts[i].begin()->second); + auto most_freq = col_counts[i].begin()->first; + unsigned total_freq = 0; + for(auto kv : col_counts[i]) + total_freq += kv.first; + if(python::Type::NULLVALUE == most_common_type) { + // second one present? + auto it = std::next(col_counts[i].begin()); + auto second_freq = it->first; + auto second_type = python::Type::fromHash(it->second); + + // threshold? + if(1.0 * most_freq / (1.0 * total_freq) >= threshold && use_nvo) { + // null value + col_types[i] = python::Type::NULLVALUE; + } else { + // create opt type to cover other cases... + col_types[i] = python::Type::makeOptionType(second_type); + } + } else { + // is there null value somewhere so Opt covers most of the cases? + + auto it = col_counts[i].begin(); + while(it->second != python::Type::NULLVALUE.hash() && it != col_counts[i].end()) + ++it; + + // take original value + col_types[i] = most_common_type; + + // null value found? --> form option type! + if(it != col_counts[i].end()) { + assert(it->second == python::Type::NULLVALUE.hash()); + // check counts, in case of non-nvo always use Option type + auto nv_count = it->first; + if(1.0 * (nv_count + most_freq) / (1.0 * total_freq) >= threshold || !use_nvo) + col_types[i] = python::Type::makeOptionType(most_common_type); + } + } + } + } + + // debug print: + std::stringstream ss; + for(unsigned i = 0; i < col_counts.size(); ++i) { + ss<<"col "< Date: Tue, 9 Aug 2022 18:50:47 +0200 Subject: [PATCH 028/286] backporting row functionality, more progress on nested dict type detection --- tuplex/test/utils/TestJSONUtils.cc | 138 +++++++++++++++++++++++++++-- tuplex/utils/include/Row.h | 39 +++++++- 2 files changed, 170 insertions(+), 7 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 967b2507d..59b4c973c 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -122,6 +122,41 @@ namespace tuplex { return true; } + + template bool vec_set_eq(const std::vector& lhs, const std::vector& rhs) { + std::set L(lhs.begin(), lhs.end()); + std::set R(rhs.begin(), rhs.end()); + + auto lsize = L.size(); + auto rsize = R.size(); + + if(lsize != rsize) + return false; + + // merge sets + for(auto el : rhs) + L.insert(el); + return L.size() == lsize; + } + + void reorder_row(Row& row, + const std::vector& row_column_names, + const std::vector& dest_column_names) { + + assert(row_column_names.size() == dest_column_names.size()); + assert(vec_set_eq(row_column_names, dest_column_names)); // expensive check + + // for each name, figure out where it has to be moved to! + std::unordered_map map; + std::vector fields(row_column_names.size()); + for(unsigned i = 0; i < row_column_names.size(); ++i) { + map[i] = indexInVector(row_column_names[i], dest_column_names); + } + for(unsigned i = 0; i < row_column_names.size(); ++i) + fields[map[i]] = row.get(i); + row = Row::from_vector(fields); + } + } TEST(JSONUtils, relativeOrderTest) { @@ -145,6 +180,15 @@ TEST(JSONUtils, relativeOrderTest) { EXPECT_FALSE(tuplex::adheresToRelativeOrder({"d", "c"}, {"a", "b", "c"})); // partially not contained } +TEST(JSONUtils, ReorderRow) { + using namespace std; + using namespace tuplex; + + Row r(10, 20, 30); + reorder_row(r, {"a", "b", "c"}, {"b", "c", "a"}); + EXPECT_EQ(r.toPythonString(), "(20,30,10)"); +} + TEST(JSONUtils, SIMDJSONFieldParse) { using namespace tuplex; @@ -176,17 +220,35 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // @TODO: might need to resort columns after names b.c. JSON order is NOT unique... // other option is to use struct type to find majority types... - - bool treatMissingValuesAsNulls = false; - // if not same column order -> need to resort rows!!! bool same_column_order = columnsAdheringAllToSameOrder(column_names, &column_names_ordered); + + // the detection results + size_t detected_column_count = 0; + std::vector detected_column_names; + + // detection conf variables + double conf_nc_threshold = 0.9; + bool conf_independent_columns=true; + bool conf_use_nvo=true; + bool conf_treatMissingDictKeysAsNone = false; + bool conf_autoupcast_numbers = false; + bool conf_allowUnifyWithPyObject = false; + if(!same_column_order) { throw std::runtime_error("need to resort/reorder column"); } else { + + std::vector sample; + // if fill-in with missing null-values is ok, then can use maximum order of columns, if not need to first detect maximum order - if(treatMissingValuesAsNulls) { + if(conf_treatMissingDictKeysAsNone) { + // detect majority type of rows (individual columns (?) ) + detected_column_count = column_names_ordered.size(); + detected_column_names = column_names_ordered; + // fix up columns and add them to sample + throw std::runtime_error("nyimpl"); } else { std::cout<<"detecting majority case column count and names"<, size_t> column_count_counts; @@ -195,11 +257,77 @@ TEST(JSONUtils, SIMDJSONFieldParse) { } // majority case + std::cout<<"found "< most_frequent_names; + for(auto el : column_count_counts) + if(el.second > most_frequent_count) { + most_frequent_count = el.second; + most_frequent_names = el.first; + } + std::cout<<"most common column names are: "< i.e. reorder columns! + if(vec_set_eq(column_names[i], detected_column_names)) { + Row row = rows[i]; + reorder_row(row, column_names[i], detected_column_names); + sample.push_back(row); + } else { + continue; + } + } + } + } + std::cout<<"sample has "< i.e. reorder columns! + if(vec_set_eq(column_names[i], detected_column_names)) { + Row row = rows[i]; + reorder_row(row, column_names[i], detected_column_names); + if(unifyTypes(row.getRowType(), majorityRowType, + conf_autoupcast_numbers, conf_treatMissingDictKeysAsNone, conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) + continue; + } else { + continue; + } + } + nc_count++; } + std::cout<<"Of original sample, "< Row(Targs... Fargs) { vec_build(_values, Fargs...); @@ -45,13 +59,33 @@ namespace tuplex { _serializedLength = getSerializedLength(); } - int getNumColumns() const { return _values.size(); } + inline size_t getNumColumns() const { return _values.size(); } inline Field get(const int col) const { assert(!_values.empty()); assert(0 <= col && col < _values.size()); return _values[col]; } + inline void set(const unsigned col, const Field& f) { +#ifndef NDEBUG + if(col >= _values.size()) + throw std::runtime_error("invalid column index in get specified"); +#endif + _values[col] = f; + + // need to update type of row! + auto old_type = _schema.getRowType(); + auto types = old_type.parameters(); + if(types[col] != f.getType()) { + types[col] = f.getType(); + _schema = Schema(_schema.getMemoryLayout(), python::Type::makeTupleType(types)); + } + + // update length, may change! + _serializedLength = getSerializedLength(); + } + + bool getBoolean(const int col) const; int64_t getInt(const int col) const; double getDouble(const int col) const; @@ -142,6 +176,7 @@ namespace tuplex { // used for tests extern bool operator == (const Row& lhs, const Row& rhs); + extern bool operator < (const Row& lhs, const Row& rhs); struct ExceptionSample { std::string first_row_traceback; @@ -162,7 +197,7 @@ namespace tuplex { * detect (each col independent) majority for each column and form row type * @param rows sample, if empty unknown is returned * @param threshold normal-case threshold - * @param independent_columns whether to treat each column indepedently or use joint maximization + * @param independent_columns whether to treat each column independently or use joint maximization * @param use_nvo if active Option[T] types are speculated on to be either None, T or Option[T] depending on threshold * @return majority type */ From c954a17c8be28c95f2ce3e3d6e36472fe140e44b Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 9 Aug 2022 18:51:30 +0200 Subject: [PATCH 029/286] reformat --- tuplex/test/utils/TestJSONUtils.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 59b4c973c..796f5b4f1 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -309,7 +309,9 @@ TEST(JSONUtils, SIMDJSONFieldParse) { continue; if(column_names[i] == detected_column_names) { if(unifyTypes(rows[i].getRowType(), majorityRowType, - conf_autoupcast_numbers, conf_treatMissingDictKeysAsNone, conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) + conf_autoupcast_numbers, + conf_treatMissingDictKeysAsNone, + conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) continue; } else { // skip for now, later implement here order-invariant => i.e. reorder columns! @@ -317,7 +319,9 @@ TEST(JSONUtils, SIMDJSONFieldParse) { Row row = rows[i]; reorder_row(row, column_names[i], detected_column_names); if(unifyTypes(row.getRowType(), majorityRowType, - conf_autoupcast_numbers, conf_treatMissingDictKeysAsNone, conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) + conf_autoupcast_numbers, + conf_treatMissingDictKeysAsNone, + conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) continue; } else { continue; From 85d894b8610b43d302a4d1135f013b873968a4e1 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 9 Aug 2022 19:03:35 +0200 Subject: [PATCH 030/286] added more todos --- tuplex/test/utils/TestJSONUtils.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 796f5b4f1..2aa45e5a1 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -329,7 +329,18 @@ TEST(JSONUtils, SIMDJSONFieldParse) { } nc_count++; } - std::cout<<"Of original sample, "< basically create max-struct type for this case! => in physical layer this requires a key-present check + // at each level! => could be done e.g. with tree like struct to save space? => is this always a good idea? + // i.e., sparsity of json tree dictates the physical representation. + + // how many rows require fallback because they do not fit normal nor general case? + // @TODO + } return; From 364c992b4b1159551b20a19763b309914801f180 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 10 Aug 2022 12:49:28 +0200 Subject: [PATCH 031/286] wip, redo policy based type unification --- tuplex/test/resources/ndjson/example1.json | 3 + tuplex/test/utils/TestJSONUtils.cc | 9 +- tuplex/utils/include/TypeHelper.h | 307 ++------------------- tuplex/utils/include/TypeSystem.h | 3 + tuplex/utils/src/TypeHelper.cc | 289 +++++++++++++++++++ tuplex/utils/src/TypeSystem.cc | 11 +- 6 files changed, 336 insertions(+), 286 deletions(-) create mode 100644 tuplex/test/resources/ndjson/example1.json create mode 100644 tuplex/utils/src/TypeHelper.cc diff --git a/tuplex/test/resources/ndjson/example1.json b/tuplex/test/resources/ndjson/example1.json new file mode 100644 index 000000000..d7f327ee7 --- /dev/null +++ b/tuplex/test/resources/ndjson/example1.json @@ -0,0 +1,3 @@ +{"column1": {"a": 10, "b": 20, "c": 30}} +{"column1": {"a": 10, "b": 20, "c": null}} +{"column1": {"a": 10, "c": null}} diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 2aa45e5a1..3af928ec4 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -193,7 +193,8 @@ TEST(JSONUtils, SIMDJSONFieldParse) { using namespace tuplex; // super slow parse into tuplex structure using SIMDJSON - std::string test_path = "../resources/ndjson/github.json"; +// std::string test_path = "../resources/ndjson/github.json"; + std::string test_path = "../resources/ndjson/example1.json"; std::string data = fileToString(test_path); std::vector> column_names; @@ -341,6 +342,12 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // how many rows require fallback because they do not fit normal nor general case? // @TODO + + // a sample query that helps for specializing: + // internal representation when rewriting data (?) => could also use original strings, so this could be stupid. + // however, different when partial data is extracted. => could apply to github. E.g., partially rewrite commit message (?) + + } return; diff --git a/tuplex/utils/include/TypeHelper.h b/tuplex/utils/include/TypeHelper.h index b486af6e9..756537649 100644 --- a/tuplex/utils/include/TypeHelper.h +++ b/tuplex/utils/include/TypeHelper.h @@ -63,298 +63,37 @@ namespace tuplex { // this function checks whether types can be unified or not + struct TypeUnificationPolicy { + bool allowAutoUpcastOfNumbers; ///! whether to upcast numeric types to a unified type when type conflicts, false by default + bool treatMissingDictKeysAsNone; ///! whether to treat missing (key, value) pairs as None when unifying structured dictionaries + bool allowUnifyWithPyObject; ///! when any of a, b is pyobject -> unify to pyobject. + bool unifyMissingDictKeys; ///! when unifying dictionaries, create a maybe pair if possible to unify types or not. + + TypeUnificationPolicy() : allowAutoUpcastOfNumbers(false), + treatMissingDictKeysAsNone(false), + allowUnifyWithPyObject(false), + unifyMissingDictKeys(false) {} + + static TypeUnificationPolicy defaultPolicy() { return TypeUnificationPolicy(); } + }; + + // * @param allowAutoUpcastOfNumbers whether to upcast numeric types to a unified type when type conflicts, false by default + // * @param treatMissingDictKeysAsNone whether to treat missing (key, value) pairs as None when unifying structured dictionaries + // * @param allowUnifyWithPyObject when any of a, b is pyobject -> unify to pyobject. + // * @param unifyMissingDictKeys when unifying dictionaries, create a maybe pair if possible to unify types or not. + /*! * return unified type for both a and b * e.g. a == [Option[[I64]]] and b == [[Option[I64]]] should return [Option[[Option[I64]]]] * return python::Type::UNKNOWN if no compatible type can be found * @param a (optional) primitive or list or tuple type * @param b (optional) primitive or list or tuple type - * @param allowAutoUpcastOfNumbers whether to upcast numeric types to a unified type when type conflicts, false by default - * @param treatMissingDictKeysAsNone whether to treat missing (key, value) pairs as None when unifying structured dictionaries - * @param allowUnifyWithPyObject when any of a, b is pyobject -> unify to pyobject. - * @return (optional) compatible type or UNKNOWN + * @param policy define using various switches how type unification should occur. + * @return (optional) compatible type to which both a and b can be upcasted to given unification policy or UNKNOWN */ - inline python::Type unifyTypes(const python::Type& a, + extern python::Type unifyTypes(const python::Type& a, const python::Type& b, - bool allowAutoUpcastOfNumbers=false, - bool treatMissingDictKeysAsNone=false, - bool allowUnifyWithPyObject=false) { - using namespace std; - - // UNKNOWN types are not compatible - if(a == python::Type::UNKNOWN || b == python::Type::UNKNOWN) { - return python::Type::UNKNOWN; - } - - if(a == b) - return a; - - if((a == python::Type::PYOBJECT || b == python::Type::PYOBJECT)) - return allowUnifyWithPyObject ? python::Type::PYOBJECT : python::Type::UNKNOWN; - - // special case: optimized types! - // -> @TODO: can unify certain types, else just deoptimize. - if(a.isOptimizedType() || b.isOptimizedType()) - return unifyTypes(deoptimizedType(a), deoptimizedType(b), - allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); - - if(a == python::Type::NULLVALUE) - return python::Type::makeOptionType(b); - - if(b == python::Type::NULLVALUE) - return python::Type::makeOptionType(a); - - // check for optional type - bool makeOption = false; - // underlyingType: remove outermost Option if it exists - python::Type aUnderlyingType = a; - python::Type bUnderlyingType = b; - if(a.isOptionType()) { - makeOption = true; - aUnderlyingType = a.getReturnType(); - } - - if(b.isOptionType()) { - makeOption = true; - bUnderlyingType = b.getReturnType(); - } - - // same underlying types? make option - if (aUnderlyingType == bUnderlyingType) { - return python::Type::makeOptionType(aUnderlyingType); - } - - // both numeric types? upcast - if(allowAutoUpcastOfNumbers) { - if(aUnderlyingType.isNumericType() && bUnderlyingType.isNumericType()) { - if(aUnderlyingType == python::Type::F64 || bUnderlyingType == python::Type::F64) { - // upcast to F64 if either is F64 - if (makeOption) { - return python::Type::makeOptionType(python::Type::F64); - } else { - return python::Type::F64; - } - } - // at this point underlyingTypes cannot both be bool. Upcast to I64 - if (makeOption) { - return python::Type::makeOptionType(python::Type::I64); - } else { - return python::Type::I64; - } - } - } - - // list type? check if element type compatible - if(aUnderlyingType.isListType() && bUnderlyingType.isListType() && aUnderlyingType != python::Type::EMPTYLIST && bUnderlyingType != python::Type::EMPTYLIST) { - python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), - allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(newElementType == python::Type::UNKNOWN) { - // incompatible list element type - return python::Type::UNKNOWN; - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeListType(newElementType)); - } - return python::Type::makeListType(newElementType); - } - - // tuple type? check if every parameter type compatible - if(aUnderlyingType.isTupleType() && bUnderlyingType.isTupleType()) { - if (aUnderlyingType.parameters().size() != bUnderlyingType.parameters().size()) { - // tuple length differs - return python::Type::UNKNOWN; - } - std::vector newTuple; - for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { - python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], - bUnderlyingType.parameters()[i], - allowAutoUpcastOfNumbers, - treatMissingDictKeysAsNone, - allowUnifyWithPyObject); - if(newElementType == python::Type::UNKNOWN) { - // incompatible tuple element type - return python::Type::UNKNOWN; - } - newTuple.emplace_back(newElementType); - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeTupleType(newTuple)); - } - return python::Type::makeTupleType(newTuple); - } - - // --- - // structured dicts: - if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isDictionaryType()) { - // are both of them structured dictionaries? - if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isStructuredDictionaryType()) { - // ok, most complex unify setup --> need to check key pairs (independent of order!) - - auto a_pairs = aUnderlyingType.get_struct_pairs(); - auto b_pairs = bUnderlyingType.get_struct_pairs(); - - // same number of elements? if not -> no cast possible! - if(a_pairs.size() != b_pairs.size()) { - // treat missing as null? - if(!treatMissingDictKeysAsNone) - return python::Type::UNKNOWN; - - // treat missing keys as null... - // => a bit more complex now - std::set keys; - std::unordered_map a_lookup; - std::unordered_map b_lookup; - for(const auto& p : a_pairs) { - keys.insert(p.key); - a_lookup[p.key] = p; - } - for(const auto& p : b_pairs) { - keys.insert(p.key); - b_lookup[p.key] = p; - } - - std::vector uni_pairs; - uni_pairs.reserve(keys.size()); - // go through both pair collections... - for(const auto& key : keys) { - python::StructEntry uni; - uni.key = key; - - python::StructEntry a_pair; - a_pair.keyType = python::Type::NULLVALUE; - a_pair.valueType = python::Type::NULLVALUE; - python::StructEntry b_pair; - b_pair.keyType = python::Type::NULLVALUE; - b_pair.valueType = python::Type::NULLVALUE; - if(a_lookup.find(key) != a_lookup.end()) { - a_pair = a_lookup[key]; - } - if(b_lookup.find(key) != b_lookup.end()) { - b_pair = b_lookup[key]; - } - - uni.keyType = unifyTypes(a_pair.keyType, b_pair.keyType, allowAutoUpcastOfNumbers, - treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(uni.keyType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - uni.valueType = unifyTypes(a_pair.valueType, b_pair.valueType, allowAutoUpcastOfNumbers, - treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(uni.valueType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - uni_pairs.push_back(uni); - } - - // create combined struct type - return python::Type::makeStructuredDictType(uni_pairs); - } else { - // go through pairs (note: they may be differently sorted, so sort first!) - std::sort(a_pairs.begin(), a_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { - return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); - }); - std::sort(b_pairs.begin(), b_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { - return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); - }); - - // same size, check if keys are the same and types can be unified for each pair... - std::vector uni_pairs; - for(unsigned i = 0; i < a_pairs.size(); ++i) { - if(a_pairs[i].key != b_pairs[i].key) - return python::Type::UNKNOWN; - - python::StructEntry uni; - uni.key = a_pairs[i].key; - uni.keyType = unifyTypes(a_pairs[i].keyType, b_pairs[i].keyType, allowAutoUpcastOfNumbers, - treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(uni.keyType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - uni.valueType = unifyTypes(a_pairs[i].valueType, b_pairs[i].valueType, allowAutoUpcastOfNumbers, - treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(uni.valueType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - uni_pairs.push_back(uni); - } - return python::Type::makeStructuredDictType(uni_pairs); - } - } else { - // easier: can unify if struct dict is homogenous when it comes to keys/values! - // => do unify with pyobject? - auto uni_key_type = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), - allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, - allowUnifyWithPyObject); - auto uni_value_type = unifyTypes(aUnderlyingType.valueType(), bUnderlyingType.valueType(), - allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, - allowUnifyWithPyObject); - - // if either is unknown -> can not unify - if(uni_key_type == python::Type::UNKNOWN || uni_value_type == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - // else, create new dict structure of this! - return python::Type::makeDictionaryType(uni_key_type, uni_value_type); - } - } - - // dictionary type - if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { - auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); - auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), allowAutoUpcastOfNumbers, treatMissingDictKeysAsNone, allowUnifyWithPyObject); - if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { - return python::Type::UNKNOWN; - } - if(makeOption) { - return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); - } else { - return python::Type::makeDictionaryType(key_t, val_t); - } - } - - // other non-supported types - return python::Type::UNKNOWN; - - // old: - // if(!allowAutoUpcastOfNumbers) { - // // only NULL to any or element and option type allowed - // if (a == python::Type::NULLVALUE) - // return python::Type::makeOptionType(b); - // if (b == python::Type::NULLVALUE) - // return python::Type::makeOptionType(a); - // - // // one is option type, the other not but the elementtype of the option type! - // if (a.isOptionType() && !b.isOptionType() && a.elementType() == b) - // return a; - // if (b.isOptionType() && !a.isOptionType() && b.elementType() == a) - // return b; - // } else { - // auto t = python::Type::superType(a, b); - // if(t != python::Type::UNKNOWN) - // return t; - // } - // - // // tuples, lists, dicts... - // if(a.isTupleType() && b.isTupleType() && a.parameters().size() == b.parameters().size()) { - // vector v; - // for(unsigned i = 0; i < a.parameters().size(); ++i) { - // v.push_back(unifyTypes(a.parameters()[i], b.parameters()[i], allowAutoUpcastOfNumbers)); - // if(v.back() == python::Type::UNKNOWN) - // return python::Type::UNKNOWN; - // } - // return python::Type::makeTupleType(v); - // } - // - // if(a.isListType() && b.isListType()) { - // auto el = unifyTypes(a.elementType(), b.elementType(), allowAutoUpcastOfNumbers); - // if(el == python::Type::UNKNOWN) - // return python::Type::UNKNOWN; - // return python::Type::makeListType(el); - // } - // - // if(a.isDictionaryType() && b.isDictionaryType()) { - // auto key_t = unifyTypes(a.keyType(), b.keyType(), allowAutoUpcastOfNumbers); - // auto val_t = unifyTypes(a.valueType(), b.valueType(), allowAutoUpcastOfNumbers); - // if(key_t != python::Type::UNKNOWN && val_t != python::Type::UNKNOWN) - // return python::Type::makeDictionaryType(key_t, val_t); - // } - // return python::Type::UNKNOWN; - } + const TypeUnificationPolicy& policy=TypeUnificationPolicy::defaultPolicy()); /*! diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index 189084bcc..05351b73d 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -333,10 +333,13 @@ namespace python { std::string key; // the value of the key, represented as string Type keyType; // type required to decode the string key Type valueType; // type what to store under key + bool alwaysPresent; // whether this (key,value) pair is always present or not. if true, use ->, else use => inline bool isUndefined() const { return key.empty() && keyType == Type() && valueType == Type(); } + + StructEntry() : alwaysPresent(true) {} }; extern bool isLiteralType(const Type& type); diff --git a/tuplex/utils/src/TypeHelper.cc b/tuplex/utils/src/TypeHelper.cc new file mode 100644 index 000000000..1c2e76a97 --- /dev/null +++ b/tuplex/utils/src/TypeHelper.cc @@ -0,0 +1,289 @@ +// +// Created by Leonhard Spiegelberg on 8/10/22. +// + +#include + +namespace tuplex { + + // helper function to deal with struct dict types only + static python::Type unifyStructuredDictTypes(const python::Type& aUnderlyingType, const python::Type& bUnderlyingType, + const TypeUnificationPolicy& policy) { + assert(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isDictionaryType()); + + // are both of them structured dictionaries? + if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isStructuredDictionaryType()) { + // ok, most complex unify setup --> need to check key pairs (independent of order!) + + auto a_pairs = aUnderlyingType.get_struct_pairs(); + auto b_pairs = bUnderlyingType.get_struct_pairs(); + + // same number of elements? if not -> no cast possible! + if(a_pairs.size() != b_pairs.size()) { + // treat missing as null or maybe pairs? if neither policy is set, can't unify + if(!policy.treatMissingDictKeysAsNone && !policy.unifyMissingDictKeys) + return python::Type::UNKNOWN; + + // treat missing keys as null... + // => a bit more complex now + std::set keys; + std::unordered_map a_lookup; + std::unordered_map b_lookup; + for(const auto& p : a_pairs) { + keys.insert(p.key); + a_lookup[p.key] = p; + } + for(const auto& p : b_pairs) { + keys.insert(p.key); + b_lookup[p.key] = p; + } + + std::vector uni_pairs; + uni_pairs.reserve(keys.size()); + // go through both pair collections... + for(const auto& key : keys) { + python::StructEntry uni; + uni.key = key; + + assert(policy.treatMissingDictKeysAsNone || policy.unifyMissingDictKeys); // one must be true + // treat missing values as NULL + if(policy.treatMissingDictKeysAsNone) { // this has precendence over unifyMissingDictKeys! + python::StructEntry a_pair; + a_pair.keyType = python::Type::NULLVALUE; + a_pair.valueType = python::Type::NULLVALUE; + python::StructEntry b_pair; + b_pair.keyType = python::Type::NULLVALUE; + b_pair.valueType = python::Type::NULLVALUE; + if(a_lookup.find(key) != a_lookup.end()) { + a_pair = a_lookup[key]; + } + if(b_lookup.find(key) != b_lookup.end()) { + b_pair = b_lookup[key]; + } + + // if either is maybe present -> result is a maybe present + // but dicts can be always unified this way! + uni.alwaysPresent = a_pair.alwaysPresent && b_pair.alwaysPresent; + + uni.keyType = unifyTypes(a_pair.keyType, b_pair.keyType, policy); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pair.valueType, b_pair.valueType, policy); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + } else if(policy.unifyMissingDictKeys) { + // are both present? + // -> unify! + if(a_lookup.find(key) != a_lookup.end() && b_lookup.find(key) != b_lookup.end()) { + auto a_pair = a_lookup[key]; + auto b_pair = b_lookup[key]; + // if either is maybe present -> result is a maybe present + // but dicts can be always unified this way! + uni.alwaysPresent = a_pair.alwaysPresent && b_pair.alwaysPresent; + + uni.keyType = unifyTypes(a_pair.keyType, b_pair.keyType, policy); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pair.valueType, b_pair.valueType, policy); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + } else if(a_lookup.find(key) != a_lookup.end()) { + // only a is present + uni = a_lookup[key]; + uni.alwaysPresent = false; // set to maybe + } else { + // b must be present + assert(b_lookup.find(key) != b_lookup.end()); + // only b is present + uni = b_lookup[key]; + uni.alwaysPresent = false; // set to maybe + } + } + + uni_pairs.push_back(uni); + } + + // create combined struct type + return python::Type::makeStructuredDictType(uni_pairs); + } else { + // go through pairs (note: they may be differently sorted, so sort first!) + std::sort(a_pairs.begin(), a_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + std::sort(b_pairs.begin(), b_pairs.end(), [](const python::StructEntry& a, const python::StructEntry& b) { + return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); + }); + + // same size, check if keys are the same and types can be unified for each pair... + std::vector uni_pairs; + for(unsigned i = 0; i < a_pairs.size(); ++i) { + if(a_pairs[i].key != b_pairs[i].key) + return python::Type::UNKNOWN; + + python::StructEntry uni; + uni.key = a_pairs[i].key; + // if either is maybe present -> result is a maybe present + // but dicts can be always unified this way! + uni.alwaysPresent = a_pairs[i].alwaysPresent && b_pairs[i].alwaysPresent; + + uni.keyType = unifyTypes(a_pairs[i].keyType, b_pairs[i].keyType, policy); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pairs[i].valueType, b_pairs[i].valueType, policy); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni_pairs.push_back(uni); + } + return python::Type::makeStructuredDictType(uni_pairs); + } + } else { + // easier: can unify if struct dict is homogenous when it comes to keys/values! + // => do unify with pyobject? + auto uni_key_type = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), + policy); + auto uni_value_type = unifyTypes(aUnderlyingType.valueType(), bUnderlyingType.valueType(), + policy); + + // if either is unknown -> can not unify + if(uni_key_type == python::Type::UNKNOWN || uni_value_type == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + // else, create new dict structure of this! + return python::Type::makeDictionaryType(uni_key_type, uni_value_type); + } + } + + + python::Type unifyTypes(const python::Type& a, + const python::Type& b, + const TypeUnificationPolicy& policy) { + using namespace std; + + // UNKNOWN types are not compatible + if(a == python::Type::UNKNOWN || b == python::Type::UNKNOWN) { + return python::Type::UNKNOWN; + } + + if(a == b) + return a; + + if((a == python::Type::PYOBJECT || b == python::Type::PYOBJECT)) + return policy.allowUnifyWithPyObject ? python::Type::PYOBJECT : python::Type::UNKNOWN; + + // special case: optimized types! + // -> @TODO: can unify certain types, else just deoptimize. + if(a.isOptimizedType() || b.isOptimizedType()) + return unifyTypes(deoptimizedType(a), deoptimizedType(b), + policy); + + if(a == python::Type::NULLVALUE) + return python::Type::makeOptionType(b); + + if(b == python::Type::NULLVALUE) + return python::Type::makeOptionType(a); + + // check for optional type + bool makeOption = false; + // underlyingType: remove outermost Option if it exists + python::Type aUnderlyingType = a; + python::Type bUnderlyingType = b; + if(a.isOptionType()) { + makeOption = true; + aUnderlyingType = a.getReturnType(); + } + + if(b.isOptionType()) { + makeOption = true; + bUnderlyingType = b.getReturnType(); + } + + // same underlying types? make option + if (aUnderlyingType == bUnderlyingType) { + return python::Type::makeOptionType(aUnderlyingType); + } + + // both numeric types? upcast + if(policy.allowAutoUpcastOfNumbers) { + if(aUnderlyingType.isNumericType() && bUnderlyingType.isNumericType()) { + if(aUnderlyingType == python::Type::F64 || bUnderlyingType == python::Type::F64) { + // upcast to F64 if either is F64 + if (makeOption) { + return python::Type::makeOptionType(python::Type::F64); + } else { + return python::Type::F64; + } + } + // at this point underlyingTypes cannot both be bool. Upcast to I64 + if (makeOption) { + return python::Type::makeOptionType(python::Type::I64); + } else { + return python::Type::I64; + } + } + } + + // list type? check if element type compatible + if(aUnderlyingType.isListType() + && bUnderlyingType.isListType() + && aUnderlyingType != python::Type::EMPTYLIST + && bUnderlyingType != python::Type::EMPTYLIST) { + python::Type newElementType = unifyTypes(aUnderlyingType.elementType(), + bUnderlyingType.elementType(), + policy); + if(newElementType == python::Type::UNKNOWN) { + // incompatible list element type + return python::Type::UNKNOWN; + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeListType(newElementType)); + } + return python::Type::makeListType(newElementType); + } + + // tuple type? check if every parameter type compatible + if(aUnderlyingType.isTupleType() && bUnderlyingType.isTupleType()) { + if (aUnderlyingType.parameters().size() != bUnderlyingType.parameters().size()) { + // tuple length differs + return python::Type::UNKNOWN; + } + std::vector newTuple; + for (size_t i = 0; i < aUnderlyingType.parameters().size(); i++) { + python::Type newElementType = unifyTypes(aUnderlyingType.parameters()[i], + bUnderlyingType.parameters()[i], + policy); + if(newElementType == python::Type::UNKNOWN) { + // incompatible tuple element type + return python::Type::UNKNOWN; + } + newTuple.emplace_back(newElementType); + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeTupleType(newTuple)); + } + return python::Type::makeTupleType(newTuple); + } + + // --- + // structured dicts: + if(aUnderlyingType.isStructuredDictionaryType() && bUnderlyingType.isDictionaryType()) + return unifyStructuredDictTypes(aUnderlyingType, bUnderlyingType, policy); + if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isStructuredDictionaryType()) + return unifyStructuredDictTypes(bUnderlyingType, aUnderlyingType, policy); + + // other dictionary types + if(aUnderlyingType.isDictionaryType() && bUnderlyingType.isDictionaryType()) { + auto key_t = unifyTypes(aUnderlyingType.keyType(), bUnderlyingType.keyType(), policy); + auto val_t = unifyTypes(aUnderlyingType.elementType(), bUnderlyingType.elementType(), policy); + if(key_t == python::Type::UNKNOWN || val_t == python::Type::UNKNOWN) { + return python::Type::UNKNOWN; + } + if(makeOption) { + return python::Type::makeOptionType(python::Type::makeDictionaryType(key_t, val_t)); + } else { + return python::Type::makeDictionaryType(key_t, val_t); + } + } + + // other non-supported types + return python::Type::UNKNOWN; + } +} \ No newline at end of file diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 50a5aeec9..8a5bf0f2d 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -198,6 +198,7 @@ namespace python { kv_pair.keyType = f.getType(); kv_pair.key = f.toPythonString(); kv_pair.valueType = pair.second; + kv_pair.alwaysPresent = true; kv_pairs.push_back(kv_pair); } return createOrGetStructuredDictType(kv_pairs); @@ -219,7 +220,8 @@ namespace python { // add mapping // escape non-string values as string auto py_string = kv_pair.keyType == python::Type::STRING ? kv_pair.key : escape_to_python_str(kv_pair.key); - pair_str += kv_pair.keyType.desc() + "," + py_string + "->" + kv_pair.valueType.desc(); + auto map_str = kv_pair.alwaysPresent ? "->" : "=>"; + pair_str += kv_pair.keyType.desc() + "," + py_string + map_str + kv_pair.valueType.desc(); pair_str += ")"; name += pair_str + ","; @@ -1115,6 +1117,11 @@ namespace python { // must have same key if(from_pairs[i].key != to_pairs[i].key) return false; + // only maybe present -> maybe present, or present -> maybe, or present-> present can be casted. I.e + // disallowed case is maybe present -> present! + if(!from_pairs[i].alwaysPresent && to_pairs[i].alwaysPresent) + return false; + // keytype and valuetype must be compatible if(!canUpcastType(from_pairs[i].keyType, to_pairs[i].keyType)) return false; @@ -1128,6 +1135,8 @@ namespace python { auto dest_value_type = to.valueType(); auto pairs = from.get_struct_pairs(); for(const auto& p : pairs) { + // for a dict[keytype,valuetype] keys are always maybe present, so no issue with upcasting. + if(!canUpcastType(p.keyType, dest_key_type)) return false; if(!canUpcastType(p.valueType, dest_value_type)) From 58da3bf92059a100ba377f1ca7950d29d56bb85e Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 10 Aug 2022 16:36:18 +0200 Subject: [PATCH 032/286] more struct type adventures --- tuplex/adapters/cpython/src/PythonHelpers.cc | 3 +- tuplex/codegen/src/BlockGeneratorVisitor.cc | 3 +- tuplex/test/utils/TestJSONUtils.cc | 18 ++++--- tuplex/utils/src/Field.cc | 6 ++- tuplex/utils/src/JsonStatistic.cc | 57 +++++++++++++++++++- tuplex/utils/src/TypeSystem.cc | 10 +++- 6 files changed, 82 insertions(+), 15 deletions(-) diff --git a/tuplex/adapters/cpython/src/PythonHelpers.cc b/tuplex/adapters/cpython/src/PythonHelpers.cc index d04a0259c..9f206fea5 100644 --- a/tuplex/adapters/cpython/src/PythonHelpers.cc +++ b/tuplex/adapters/cpython/src/PythonHelpers.cc @@ -1420,7 +1420,8 @@ namespace python { python::Type currElementType = mapPythonClassToTuplexType(PyList_GetItem(o, j), autoUpcast); if(elementType != currElementType) { // possible to use nullable type as element type? - auto newElementType = tuplex::unifyTypes(elementType, currElementType, autoUpcast); + TypeUnificationPolicy policy; policy.allowAutoUpcastOfNumbers = autoUpcast; + auto newElementType = tuplex::unifyTypes(elementType, currElementType, policy); if (newElementType == python::Type::UNKNOWN) { Logger::instance().defaultLogger().error("list with variable element type " + elementType.desc() + " and " + currElementType.desc() + " not supported."); return python::Type::PYOBJECT; diff --git a/tuplex/codegen/src/BlockGeneratorVisitor.cc b/tuplex/codegen/src/BlockGeneratorVisitor.cc index 486c08038..1815bb9bf 100644 --- a/tuplex/codegen/src/BlockGeneratorVisitor.cc +++ b/tuplex/codegen/src/BlockGeneratorVisitor.cc @@ -5049,7 +5049,8 @@ namespace tuplex { // if not, error. Type annotation failed then! auto& slot = it->second; - auto uni_type = unifyTypes(slot.type, var.second.type, allowNumericUpcasting); + TypeUnificationPolicy t_policy; t_policy.allowAutoUpcastOfNumbers = allowNumericUpcasting; + auto uni_type = unifyTypes(slot.type, var.second.type, t_policy); if(uni_type == python::Type::UNKNOWN) { error("variable " + name + " declared in " + branch_name + " with type " + var.second.type.desc() + " conflicts with slot type" + diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 3af928ec4..498fecd70 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -236,6 +236,10 @@ TEST(JSONUtils, SIMDJSONFieldParse) { bool conf_autoupcast_numbers = false; bool conf_allowUnifyWithPyObject = false; + TypeUnificationPolicy conf_type_policy; + conf_type_policy.unifyMissingDictKeys = true; + + if(!same_column_order) { throw std::runtime_error("need to resort/reorder column"); } else { @@ -306,23 +310,21 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // this also requires column name checking! size_t nc_count = 0; for(unsigned i = 0; i < column_names.size(); ++i) { + + // row check: + std::cout<<"row: "< i.e. reorder columns! if(vec_set_eq(column_names[i], detected_column_names)) { Row row = rows[i]; reorder_row(row, column_names[i], detected_column_names); - if(unifyTypes(row.getRowType(), majorityRowType, - conf_autoupcast_numbers, - conf_treatMissingDictKeysAsNone, - conf_allowUnifyWithPyObject) == python::Type::UNKNOWN) + if(!python::canUpcastToRowType(row.getRowType(), majorityRowType)) continue; } else { continue; diff --git a/tuplex/utils/src/Field.cc b/tuplex/utils/src/Field.cc index af0983990..3ab6fecca 100644 --- a/tuplex/utils/src/Field.cc +++ b/tuplex/utils/src/Field.cc @@ -267,8 +267,12 @@ namespace tuplex { Tuple *t = (Tuple*) this->_ptrValue; return t->desc(); } else if(type.isDictionaryType() || type == python::Type::GENERICDICT) { + // @TODO: update with concrete/correct typing -> conversion to python! char *dstr = reinterpret_cast(_ptrValue); - return PrintCJSONDict(cJSON_Parse(dstr)); + if(!type.isStructuredDictionaryType()) + return PrintCJSONDict(cJSON_Parse(dstr)); + + return dstr; } else if(type.isListType()) { List *l = (List*)this->_ptrValue; return l->desc(); diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index 3d2e274fa..04415a420 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -202,6 +202,53 @@ namespace tuplex { } + std::string jsonDictFromBuffer(const char* buf, size_t buf_size, int numBraces=0) { + // parse till either buf is exhausted or numStartBraces hits 0 + size_t pos = 0; + auto startBraces = std::max(0, numBraces); + while(pos < buf_size) { + char c = buf[pos]; + + // what field is char? + if(c == '\"') { + // start of escaped field, skip till end of it! + pos++; + while(pos < buf_size && buf[pos] != '\"') { + if(pos + 1 < buf_size && buf[pos] == '\\' && buf[pos + 1] == '\"') + pos += 2; + else + pos++; + } + pos++; + } else if(c == '{') { + numBraces++; + pos++; + } else if(c == '}') { + numBraces--; + pos++; + } else { + pos++; + } + + // braces done? + if(0 == numBraces) { + // return string! + char *rc = new char[startBraces + pos + 1]; + memset(rc, 0, startBraces + pos + 1); + for(unsigned i = 0; i < startBraces; ++i) + rc[i] = '{'; + memcpy(rc + startBraces, buf, pos); + + std::string res(rc); + delete [] rc; + return res; + } + } + // exhausted, no positive result... + + return ""; + } + std::vector parseRowsFromJSON(const char* buf, size_t buf_size, std::vector>* outColumnNames) { using namespace std; @@ -288,8 +335,14 @@ namespace tuplex { // save raw data for more info row_column_names.push_back(key); - auto sv_value = field.value().raw_json_token().value(); - row_json_strings.push_back({sv_value.begin(), sv_value.end()}); + + // fetch data for field (i.e., raw string) + auto sv_value = simdjson::to_json_string(obj[key]).value(); + std::string str_value(sv_value.begin(), sv_value.end()); + + row_json_strings.push_back(str_value); + // cf. https://github.com/simdjson/simdjson/blob/master/doc/basics.md#direct-access-to-the-raw-string + // --> however this works only for non-array/non-object data. row_field_types.push_back(py_type); } diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index 8a5bf0f2d..c6123cfa0 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -1559,15 +1559,21 @@ namespace python { while(pos < s.size() && isspace(s[pos])) pos++; // check if next one is -> - if(s.substr(pos, 2) == "->") + bool alwaysPresent = true; + if(s.substr(pos, 2) == "->") { + alwaysPresent = true; pos += 2; - else { + } else if(s.substr(pos, 2) == "=>") { + alwaysPresent = false; + pos += 2; + } else { throw std::runtime_error("invalid pair found."); } // save onto last pair the string value! assert(!kvStack.empty()); assert(!kvStack.top().empty()); kvStack.top().back().key = decoded_string; + kvStack.top().back().alwaysPresent = alwaysPresent; } else if(s[pos] == ']') { numClosedSqBrackets++; if(numOpenSqBrackets < numClosedSqBrackets) { From 4da39f1c5a6c484f840a7cadd4cd0bfd17239b18 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 11 Aug 2022 16:41:30 +0200 Subject: [PATCH 033/286] wip --- tuplex/test/utils/TestJSONUtils.cc | 9 ++++++++- tuplex/utils/include/Row.h | 5 ++++- tuplex/utils/src/Row.cc | 5 +++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 498fecd70..2f5635751 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -266,7 +266,7 @@ TEST(JSONUtils, SIMDJSONFieldParse) { auto most_frequent_count = 0; std::vector most_frequent_names; - for(auto el : column_count_counts) + for(const auto& el : column_count_counts) if(el.second > most_frequent_count) { most_frequent_count = el.second; most_frequent_names = el.first; @@ -350,6 +350,13 @@ TEST(JSONUtils, SIMDJSONFieldParse) { // however, different when partial data is extracted. => could apply to github. E.g., partially rewrite commit message (?) + // for parser: 1.) check normal-case 2.) check general-case -> NV violation! 3.) badparse input. + + + // next steps: TODO run large-scale analysis over github data, for each file detect how many + // data points would confirm to a) normal-case b) general-case c) fallback + // and how many different cases are detected! + } return; diff --git a/tuplex/utils/include/Row.h b/tuplex/utils/include/Row.h index c401a00e5..b7fe47cee 100644 --- a/tuplex/utils/include/Row.h +++ b/tuplex/utils/include/Row.h @@ -14,6 +14,7 @@ #include #include #include +#include namespace tuplex { /*! @@ -199,12 +200,14 @@ namespace tuplex { * @param threshold normal-case threshold * @param independent_columns whether to treat each column independently or use joint maximization * @param use_nvo if active Option[T] types are speculated on to be either None, T or Option[T] depending on threshold + * @param t_policy to create a bigger majority case, types may be unified. This controls which policy to apply when unifying types. * @return majority type */ extern python::Type detectMajorityRowType(const std::vector& rows, double threshold, bool independent_columns=true, - bool use_nvo=true); + bool use_nvo=true, + const TypeUnificationPolicy& t_policy=TypeUnificationPolicy::defaultPolicy()); } #endif //TUPLEX_ROW_H \ No newline at end of file diff --git a/tuplex/utils/src/Row.cc b/tuplex/utils/src/Row.cc index 258afe062..b486ae045 100644 --- a/tuplex/utils/src/Row.cc +++ b/tuplex/utils/src/Row.cc @@ -317,7 +317,8 @@ namespace tuplex { python::Type detectMajorityRowType(const std::vector& rows, double threshold, bool independent_columns, - bool use_nvo) { + bool use_nvo, + const TypeUnificationPolicy& t_policy) { if(rows.empty()) return python::Type::UNKNOWN; @@ -362,7 +363,7 @@ namespace tuplex { } else if(col_counts[i].size() == 1) { col_types[i] = python::Type::fromHash(col_counts[i].begin()->second); } else { - // more than one count. Now it getting tricky... + // more than one count. Now it's getting tricky... // is the first null and something else present? => use threshold to determine whether option type or not! auto most_common_type = python::Type::fromHash(col_counts[i].begin()->second); auto most_freq = col_counts[i].begin()->first; From 25c03aea432deb792fa3fd802492563196b83c58 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 11 Aug 2022 21:49:16 +0200 Subject: [PATCH 034/286] compile fix --- tuplex/adapters/cpython/src/PythonHelpers.cc | 2 +- tuplex/codegen/include/TypeAnnotatorVisitor.h | 2 ++ tuplex/codegen/src/TypeAnnotatorVisitor.cc | 19 +++++++++++-------- tuplex/core/src/physical/ResolveTask.cc | 6 ++++-- tuplex/test/codegen/TypeSystemTest.cc | 7 +++++-- tuplex/test/io/JsonTypeTest.cc | 2 ++ tuplex/utils/include/TypeHelper.h | 8 ++++++++ tuplex/utils/src/JsonStatistic.cc | 4 ++-- 8 files changed, 35 insertions(+), 15 deletions(-) diff --git a/tuplex/adapters/cpython/src/PythonHelpers.cc b/tuplex/adapters/cpython/src/PythonHelpers.cc index 9f206fea5..e5d71002f 100644 --- a/tuplex/adapters/cpython/src/PythonHelpers.cc +++ b/tuplex/adapters/cpython/src/PythonHelpers.cc @@ -1420,7 +1420,7 @@ namespace python { python::Type currElementType = mapPythonClassToTuplexType(PyList_GetItem(o, j), autoUpcast); if(elementType != currElementType) { // possible to use nullable type as element type? - TypeUnificationPolicy policy; policy.allowAutoUpcastOfNumbers = autoUpcast; + tuplex::TypeUnificationPolicy policy; policy.allowAutoUpcastOfNumbers = autoUpcast; auto newElementType = tuplex::unifyTypes(elementType, currElementType, policy); if (newElementType == python::Type::UNKNOWN) { Logger::instance().defaultLogger().error("list with variable element type " + elementType.desc() + " and " + currElementType.desc() + " not supported."); diff --git a/tuplex/codegen/include/TypeAnnotatorVisitor.h b/tuplex/codegen/include/TypeAnnotatorVisitor.h index 922c5f1e2..468753f1b 100644 --- a/tuplex/codegen/include/TypeAnnotatorVisitor.h +++ b/tuplex/codegen/include/TypeAnnotatorVisitor.h @@ -17,6 +17,7 @@ #include #include #include +#include namespace tuplex { @@ -24,6 +25,7 @@ namespace tuplex { private: SymbolTable& _symbolTable; // global symbol table for everything. const codegen::CompilePolicy& _policy; + TypeUnificationPolicy _typeUnificationPolicy; std::unordered_map _nameTable; // i.e. mini symbol table for assignments. std::unordered_map> _iteratorInfoTable; // i.e. name table for storing iteratorInfo of variables. diff --git a/tuplex/codegen/src/TypeAnnotatorVisitor.cc b/tuplex/codegen/src/TypeAnnotatorVisitor.cc index 7018c914b..f993b9b1b 100644 --- a/tuplex/codegen/src/TypeAnnotatorVisitor.cc +++ b/tuplex/codegen/src/TypeAnnotatorVisitor.cc @@ -95,7 +95,7 @@ namespace tuplex { auto combined_ret_type = _funcReturnTypes.front(); for(int i = 1; i < _funcReturnTypes.size(); ++i) combined_ret_type = unifyTypes(combined_ret_type, _funcReturnTypes[i], - _policy.allowNumericTypeUnification); + _typeUnificationPolicy); if(combined_ret_type == python::Type::UNKNOWN) { @@ -125,7 +125,7 @@ namespace tuplex { for(int i = 1; i < v.size(); ++i) { auto u_type = unifyTypes(best_so_far, std::get<0>(v[i]), - _policy.allowNumericTypeUnification); + _typeUnificationPolicy); if(u_type != python::Type::UNKNOWN) best_so_far = u_type; } @@ -150,19 +150,19 @@ namespace tuplex { // update suite with combined type! func->_suite->setInferredType(combined_ret_type); - bool autoUpcast = _policy.allowNumericTypeUnification; + auto typeUnificationPolicy = _typeUnificationPolicy; // set return type of all return statements to combined type! // ==> they will need to expand the respective value, usually given via their expression. tuplex::ApplyVisitor av([](const ASTNode* n) { return n->type() == ASTNodeType::Return; }, - [combined_ret_type,autoUpcast](ASTNode& n) { + [combined_ret_type,typeUnificationPolicy](ASTNode& n) { // can upcast? => only then set. This allows in Blockgenerator to detect deviating return statements! if(n.getInferredType() == python::Type::UNKNOWN) // i.e. code that is never visited return; auto uni_type = unifyTypes(n.getInferredType(), combined_ret_type, - autoUpcast); + typeUnificationPolicy); if(uni_type != python::Type::UNKNOWN) n.setInferredType(combined_ret_type); }); @@ -252,6 +252,9 @@ namespace tuplex { {"str", python::Type::STRING}, {"bool", python::Type::BOOLEAN}}; assert(0.0 <= _policy.normalCaseThreshold && _policy.normalCaseThreshold <= 1.0); + + // @TODO: add other flags from compile policy! + _typeUnificationPolicy.allowAutoUpcastOfNumbers = _policy.allowNumericTypeUnification; } void TypeAnnotatorVisitor::visit(NIdentifier* id) { @@ -1294,7 +1297,7 @@ namespace tuplex { if(_nameTable.find(name) != _nameTable.end()) { if(_nameTable[name] != type) { // can we unify types? - auto uni_type = unifyTypes(type, _nameTable[name], _policy.allowNumericTypeUnification); + auto uni_type = unifyTypes(type, _nameTable[name], _typeUnificationPolicy); if(uni_type != python::Type::UNKNOWN) _nameTable[name] = uni_type; else { @@ -1331,7 +1334,7 @@ namespace tuplex { if(if_type != else_type) { // check if they can be unified - auto uni_type = unifyTypes(if_type, else_type, _policy.allowNumericTypeUnification); + auto uni_type = unifyTypes(if_type, else_type, _typeUnificationPolicy); if(uni_type != python::Type::UNKNOWN) { if_table[name] = uni_type; else_table[name] = else_type; @@ -1478,7 +1481,7 @@ namespace tuplex { if(ifelse->isExpression()) { // check: if (iftype != elsetype) { - auto combined_type = unifyTypes(iftype, elsetype, _policy.allowNumericTypeUnification); + auto combined_type = unifyTypes(iftype, elsetype, _typeUnificationPolicy); if(combined_type == python::Type::UNKNOWN) error("could not combine type " + iftype.desc() + " of if-branch with type " + elsetype.desc() + " of else-branch in if-else expression"); diff --git a/tuplex/core/src/physical/ResolveTask.cc b/tuplex/core/src/physical/ResolveTask.cc index 7f2946b49..67cbe1828 100644 --- a/tuplex/core/src/physical/ResolveTask.cc +++ b/tuplex/core/src/physical/ResolveTask.cc @@ -621,13 +621,15 @@ namespace tuplex { } else { // there are three options where to store the result now + TypeUnificationPolicy t_policy; t_policy.allowAutoUpcastOfNumbers = _allowNumericTypeUnification; + // 1. fits targetOutputSchema (i.e. row becomes normalcase row) - bool outputAsNormalRow = python::Type::UNKNOWN != unifyTypes(rowType, _targetOutputSchema.getRowType(), _allowNumericTypeUnification) + bool outputAsNormalRow = python::Type::UNKNOWN != unifyTypes(rowType, _targetOutputSchema.getRowType(), t_policy) && canUpcastToRowType(rowType, _targetOutputSchema.getRowType()); // 2. fits generalCaseOutputSchema (i.e. row becomes generalcase row) bool outputAsGeneralRow = python::Type::UNKNOWN != unifyTypes(rowType, - commonCaseOutputSchema().getRowType(), _allowNumericTypeUnification) + commonCaseOutputSchema().getRowType(), t_policy) && canUpcastToRowType(rowType, commonCaseOutputSchema().getRowType()); // 3. doesn't fit, store as python object. => we should use block storage for this as well. Then data can be shared. diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 60c7d1432..7b3126c49 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -207,16 +207,19 @@ TEST(TypeSys, flattenWithPyObject) { TEST(TypeSys, compatibleType) { using namespace tuplex; + TypeUnificationPolicy policy; policy.allowAutoUpcastOfNumbers = true; + + // [Option[[i64]]] and [[Option[i64]]] ==> [Option[[Option[i64]]]] auto a1_type = python::Type::makeListType(python::Type::makeOptionType(python::Type::makeListType(python::Type::I64))); auto b1_type = python::Type::makeListType(python::Type::makeListType(python::Type::makeOptionType(python::Type::I64))); - auto ab1_compatible_type = unifyTypes(a1_type, b1_type, true); + auto ab1_compatible_type = unifyTypes(a1_type, b1_type, policy); EXPECT_EQ(ab1_compatible_type, python::Type::makeListType(python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::I64))))); // Option[[Option[(Option[str], [Option[F64]])]]] and [(str, Option[[F64]])] ==> Option[[Option[(Option[str], Option[[Option[F64]]])]]] auto a2_type = python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::makeTupleType({python::Type::makeOptionType(python::Type::STRING), python::Type::makeListType(python::Type::makeOptionType(python::Type::F64))})))); auto b2_type = python::Type::makeListType(python::Type::makeTupleType({python::Type::STRING, python::Type::makeOptionType(python::Type::makeListType(python::Type::F64))})); - auto ab2_compatible_type = unifyTypes(a2_type, b2_type, true); + auto ab2_compatible_type = unifyTypes(a2_type, b2_type, policy); EXPECT_EQ(ab2_compatible_type, python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::makeTupleType({python::Type::makeOptionType(python::Type::STRING), python::Type::makeOptionType(python::Type::makeListType(python::Type::makeOptionType(python::Type::F64)))}))))); } diff --git a/tuplex/test/io/JsonTypeTest.cc b/tuplex/test/io/JsonTypeTest.cc index 72d7b0ea3..9a3596357 100644 --- a/tuplex/test/io/JsonTypeTest.cc +++ b/tuplex/test/io/JsonTypeTest.cc @@ -42,4 +42,6 @@ TEST(JsonTypes, FlatTypes) { } +// "_bedrooms\":10,\"price\":80.9}\n{\"num_bedrooms\":9,\"price\":20.9}" + // @March: TODO, more tests... \ No newline at end of file diff --git a/tuplex/utils/include/TypeHelper.h b/tuplex/utils/include/TypeHelper.h index 756537649..8ca4924cd 100644 --- a/tuplex/utils/include/TypeHelper.h +++ b/tuplex/utils/include/TypeHelper.h @@ -96,6 +96,14 @@ namespace tuplex { const TypeUnificationPolicy& policy=TypeUnificationPolicy::defaultPolicy()); + inline python::Type unifyTypes(const python::Type& a, + const python::Type& b, + bool allowNumericTypeUnification) { + TypeUnificationPolicy policy; + policy.allowAutoUpcastOfNumbers = allowNumericTypeUnification; + return unifyTypes(a, b, policy); + } + /*! * special function to unify to a super type for two optimized types... * @param A diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index 04415a420..6bd31b0b5 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -160,7 +160,7 @@ namespace tuplex { if(json_obj) { cJSON_free(json_obj); if(*end_ptr == '\n' || *end_ptr == '\r' || *end_ptr == '\0') - return buf - ptr; + return ptr - buf; } return pos; } @@ -447,7 +447,7 @@ namespace tuplex { // find start offset (limited to size) auto start_offset = findNLJsonStart(start, size); if(start_offset < 0) - throw std::runtime_error("Coul not find start of valid JSON document in buffer of size " + std::to_string(size)); + throw std::runtime_error("Could not find start of valid JSON document in buffer of size " + std::to_string(size)); // start parsing at start + offset -> count then types/fields in tree structure const char *end_ptr = nullptr; From bc32f2c4bd05319a015183516584f0e675cc481d Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 12 Aug 2022 13:55:02 +0200 Subject: [PATCH 035/286] branch --- tuplex/test/utils/TestJSONUtils.cc | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 2f5635751..7408e3063 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -71,19 +71,22 @@ namespace tuplex { if(needle.empty()) return true; - // construct relative positioning lookup - size_t needle_pos = 0; - size_t ref_pos = 0; - while(needle_pos < needle.size()) { - // check whether element can be found in reference - while(ref_pos < reference.size() && reference[ref_pos] != needle[needle_pos]) - ref_pos++; - if(ref_pos >= reference.size() || needle_pos > ref_pos) + // slow algorithm, could be improved to be linear -> postponed for time reasons + + int last_idx = -1; + for(unsigned i = 0; i < needle.size(); ++i) { + // needle has to be contained within reference! + auto idx = indexInVector(needle[i], reference); + if(idx < 0) + return false; // needle not contained within reference + + // idx has to be larger than last idx! + if(idx <= last_idx) return false; - needle_pos++; - } - return needle_pos == needle.size() && ref_pos != reference.size() && needle_pos <= ref_pos; // all were found + last_idx = idx; + } + return true; } From 47bd16415b44a8d293453c48a51c47b24facdf02 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sun, 14 Aug 2022 17:58:51 +0200 Subject: [PATCH 036/286] wip --- tuplex/utils/src/Row.cc | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tuplex/utils/src/Row.cc b/tuplex/utils/src/Row.cc index b486ae045..0c16b855a 100644 --- a/tuplex/utils/src/Row.cc +++ b/tuplex/utils/src/Row.cc @@ -314,6 +314,25 @@ namespace tuplex { os.flush(); } + /*! + * maximizeTypeCover computes the most likely type by potentially fusing types together. + * @param counts + * @param threshold + * @param use_nvo + * @param t_policy + * @return + */ + std::pair maximizeTypeCover(const std::vector>& counts, + double threshold, + bool use_nvo, + const TypeUnificationPolicy& t_policy) { + using namespace std; + + // @TODO: implement this here! incl. recursive null checking for structured dict types... + + return make_pair(python::Type::UNKNOWN, 0); + } + python::Type detectMajorityRowType(const std::vector& rows, double threshold, bool independent_columns, From f11a5a7198585bcae1bd0f295f9e0eb9d6cb1449 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Tue, 16 Aug 2022 23:46:25 +0200 Subject: [PATCH 037/286] more maximization stuff --- tuplex/test/utils/TestJSONUtils.cc | 72 ++++++++++++++++++++++++++++++ tuplex/utils/src/Row.cc | 19 -------- 2 files changed, 72 insertions(+), 19 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 7408e3063..339087530 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -192,6 +192,56 @@ TEST(JSONUtils, ReorderRow) { EXPECT_EQ(r.toPythonString(), "(20,30,10)"); } +namespace tuplex { + /*! + * maximizeTypeCover computes the most likely type by potentially fusing types together. + * @param counts + * @param threshold + * @param use_nvo + * @param t_policy + * @return + */ + std::pair maximizeTypeCover(const std::vector>& counts, + double threshold, + bool use_nvo, + const TypeUnificationPolicy& t_policy) { + using namespace std; + + if(counts.empty()) { + return make_pair(python::Type::UNKNOWN, 0); + } + + // @TODO: implement this here! incl. recursive null checking for structured dict types... + + // sort desc after count pairs. Note: goal is to have maximum type cover! + auto t_counts = counts; + std::sort(t_counts.begin(), t_counts.end(), [](const pair& lhs, + const pair& rhs) { return lhs.second > rhs.second; }); + + // for each pair, try to combine it! + auto num_pairs = t_counts.size(); + for(unsigned i = 0; i < num_pairs; ++i) { + for(unsigned j = 0; j < num_pairs; ++j) { + if(i != j) { + auto combined_type = unifyTypes(t_counts[i].first, counts[j].first, t_policy); + if(combined_type != python::Type::UNKNOWN) { + t_counts[i].first = combined_type; + t_counts[i].second += counts[j].second; + } + } + } + } + + // find maximum pair in all of t_counts... + std::pair best_pair = t_counts.front(); + for(auto pair : t_counts) { + if(pair.second > best_pair.second) + best_pair = pair; + } + return best_pair; + } +} + TEST(JSONUtils, SIMDJSONFieldParse) { using namespace tuplex; @@ -309,6 +359,28 @@ TEST(JSONUtils, SIMDJSONFieldParse) { auto majorityRowType = detectMajorityRowType(sample, conf_nc_threshold, conf_independent_columns, conf_use_nvo); std::cout<<"detected majority column type is: "<> type_counts; + for(unsigned i = 0; i < column_names.size(); ++i) { + // row check: + std::cout<<"row: "< maximizeTypeCover(const std::vector>& counts, - double threshold, - bool use_nvo, - const TypeUnificationPolicy& t_policy) { - using namespace std; - - // @TODO: implement this here! incl. recursive null checking for structured dict types... - - return make_pair(python::Type::UNKNOWN, 0); - } - python::Type detectMajorityRowType(const std::vector& rows, double threshold, bool independent_columns, From 685745f740af593d4e15126db19ef69bbf044691 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 17 Aug 2022 01:29:24 +0200 Subject: [PATCH 038/286] wip --- tuplex/core/src/physical/StageBuilder.cc | 2 ++ tuplex/test/core/FullPipelines.cc | 2 +- tuplex/test/utils/TestJSONUtils.cc | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tuplex/core/src/physical/StageBuilder.cc b/tuplex/core/src/physical/StageBuilder.cc index 11ca64ac7..b62dd74ae 100644 --- a/tuplex/core/src/physical/StageBuilder.cc +++ b/tuplex/core/src/physical/StageBuilder.cc @@ -371,12 +371,14 @@ namespace tuplex { auto oldInputType = op->getInputSchema().getRowType(); auto oldOutputType = op->getInputSchema().getRowType(); +#ifdef NDEBUG if(node->type() == LogicalOperatorType::WITHCOLUMN) { auto wop = (WithColumnOperator*)node; if(wop->columnToMap() == "ActualElapsedTime") { std::cout<<"start checking retyping here!!!"< Date: Thu, 18 Aug 2022 14:06:24 +0200 Subject: [PATCH 039/286] gzip wip --- tuplex/.gitignore | 1 + tuplex/test/resources/2011-02-12-0.json.gz | Bin 0 -> 276952 bytes tuplex/test/utils/TestJSONUtils.cc | 38 ++++++ tuplex/utils/CMakeLists.txt | 8 +- tuplex/utils/include/compression.h | 114 ++++++++++++++++++ .../utils/include/third_party/gzip/README.md | 2 + .../include/third_party/gzip/compress.hpp | 113 +++++++++++++++++ .../utils/include/third_party/gzip/config.hpp | 5 + .../include/third_party/gzip/decompress.hpp | 105 ++++++++++++++++ .../utils/include/third_party/gzip/utils.hpp | 22 ++++ .../include/third_party/gzip/version.hpp | 16 +++ 11 files changed, 422 insertions(+), 2 deletions(-) create mode 100644 tuplex/.gitignore create mode 100644 tuplex/test/resources/2011-02-12-0.json.gz create mode 100644 tuplex/utils/include/compression.h create mode 100644 tuplex/utils/include/third_party/gzip/README.md create mode 100644 tuplex/utils/include/third_party/gzip/compress.hpp create mode 100644 tuplex/utils/include/third_party/gzip/config.hpp create mode 100644 tuplex/utils/include/third_party/gzip/decompress.hpp create mode 100644 tuplex/utils/include/third_party/gzip/utils.hpp create mode 100644 tuplex/utils/include/third_party/gzip/version.hpp diff --git a/tuplex/.gitignore b/tuplex/.gitignore new file mode 100644 index 000000000..eb180e585 --- /dev/null +++ b/tuplex/.gitignore @@ -0,0 +1 @@ +test/resources/2021-02-12-0.json.gz diff --git a/tuplex/test/resources/2011-02-12-0.json.gz b/tuplex/test/resources/2011-02-12-0.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..8b26f297b765946592b07c32e94627ee98142754 GIT binary patch literal 276952 zcmV)LK)JskiwFQ(sc}~T1MI!omK?{GAoxCC;RW?H$tq^1?MseS1rl6}5+QL2Q0#6& z2W@MnBO}5??h!~NYij;w&Y5%O%+oy0%e?Bx=3e*M!z0532onFFf*|fR7x^mO<@}`{K&i!RfZ?Euy=4x73 zZ&H}~kqdXD^5%ASwf^zRr%xtsoM4JaNB!%kPi7BO9QNJ3x&88On&6XFeS_fK)b6dD zx%xH2^+W})l@m@f8n}v9IU)^DItZCuwi2Ghag-5B)e-pN1wG)y42u_TKis4+uhZoc zoXb#+ueu+vjsf*g@i#aNOtOCa|IEHB$L=OI@WXP>&7Us-x(mU`<#cibAdRYN3I50^nUc61VHgQ28)2M+$33S`aGj<0F>4~F@hKV?n9-Iv$&;a4 zc%z>-GdIaq9WPUy!*f5T;?})Q#jGme&O>nz+fjshn2&v`i(ePyl9IwrVo^8K6yO5; zw5VpcslG3pR8;f2n5Aac6dsm%cUgQ>%%>68TELj%CXI_a{bgR(X$%s*VIc;pY4A~S zBD`{NnG(R8#6MtTzfa@pZ8^Cq=975?`w{9n?pUZMv$`4;GuPZTm&IqJruwwFPepTE z%|{WppvDJNyMFN4W%vdDZmw>Vi_O*8H8Ys-(&6R-*P=@YyTV@}xG_8qU6 z|l92JCpkfd_Ny$X!JR_b@fgQDchY1C9GV!k~Sa%uIfZ1@Il8Trkd$3GipKn*KT1?C}o;jDYSg@um97(Y)KQ!rKU&OaVJjFPvgp$ z^X96VPvNB#c+8;;WynJHxndmHZj!7sLDX})or@4+7qjEBTclq(8nxs!qn6`olgivrZWc|RXC)ItC zCJlVJmQSbgboNk05QvCWWoilscc$=2ikGh@C=QC`!fngFLFz3>J``nBELLAsbrI7j zEv4+J1Xer&3~J{pQ3#FO*4HqM>6gHsnqbl4LC=WoU*BiqZa05hNl#TPFZYwfu z(`+fti+k6ABBXle0B$#~=95`b<%O!zppb))u_@eg?Ixir zn>yW;&DBk+?voF&t!aZ(Y>gQp;^<1moq$byJSazPLoy!pIpR3=QD$vbV$7NZI7atH z94Ci)(16)m5l1K!Y!DOL-IY^0(J_e5$%(dM-DOA0>`Of+xuSZI)O!IGHYw+0w*G0& zt@>{ME%}${()vWR6N)mgna2K!DFKnzxgSGF}&J1nYM7@}{b8z+9+eYLN`aT_JzHdrB$Sv>3RCHvsyj zZ((oMf1ibjR5`_{)wruvSY<$omr2N&SRjgnL{)!-?OgBTb@5$Y!5)F3lVQ`o0(P0J zch}c&6*c_=aK3b-@+a3a$&F3?uuWs{wP|bC+D{itrn-4;xXp0F_t;~oJTMoPS1EfM zjEFX8MVPd(B9l7z!!ARmhZ(AMj!Ix!N=6YPXC9O&!D!^%Sz)bNFjT2PJvgR4cMNrF zmri7+$DlbUGu>ij+l@Ad<>-55qwJ{4L;5 zQ+y95;iRc1mz%?Wk28%ygMC&_X6fDR*}Sd+bw2*22yQfjd!S5C0ZBn?{;H~9RC#s} zKYmfW`;R~Qbg3Z+*Q8EEZSG3<5$L=w07s1L*MMT)`nsm`%i`rN{5D3DH+5I1ZU!uG zg0p>HyXkEingulci$6@$TZiYs|)y)EgD_qOfcZQXJGoqc`;I-Jz45Rh_=S+thHG6gWwMYVT!cvM1rd~7IIwOn z(En+v7t!Yc=mV%RhBy6Xp5|#2u~5pZ;80QGpdy(}BTGt<0F0AT_=m9=74TJ0kS9<^ zIatji0EZI##sRCH3I?j6sW92NOk7^lg+ z05S;S4LB1C2O&H6N^6sg9_}oXRaPKOEmrlKK7_Y3uj~6rgL_} zrw9uxX;uU~3fIc4J=#aSt)2;^e#V1EqHEmz>_r(w2fXWe4 z(_F#l{th?~{QB-;feMHMzbj|g*PHjQubbQI{yT)~IRN#^;c>TROk3l2U$?y1z4LZ= zrmfr8*X3$YcIO(qus`2(7cR%+N9TkgJ*(NA`M#X&&kVX)-v;fDIkr(fP?`i9o?!G%`HlnF3(`5P`}A&KV5R>tLIA&j<{{>?{YUmeIwM;?Y05DY%%bXL6QeZu<0efzHyJ0z#!i`#}XYffrg;&9Z zH}K=6b8fYd!J=XJzr^3mb}QQNv2Y4~x}NVIB-U-~iE1Cg0kCPVdrN&Y$CIT?5S#a( zZcdJVBoL%2;xW;BGThbzJ`=9Adu!*60`WPyf#oeX-gywQm)m0W>)-!?+5{SBmu`H$ zdF!{Jn!N~hIh~=nyiD(=kKMj`n3j*-e;e>{=4$)uRqvo9IJ>igm;gI(QhoKs;)h*% z|JxVOuCKob({Vh7Ro0t7fAZ+K|9$8{w0IG+k3ZQTw}k5Yx?Vm3`p<7)e6>Id^e_Cd zJYK9&!mcq0i6py_HuSOySeq^)SpcS#{W}5-5AMSmfu{pIyWch# z`R7lDPtx=3N|526v<5%ijVWKAL)&LVwf)_%-Pz4baXcmwAy}}6iHIUcLbCQ?2LqMD z8>|E48lJZ*Qzcv!(R$`dbRnDMQ)1rJlstD%Sr;=s?DP4u2DAA^0yA+0*q7k9jj;!j z@3ZK}#pkY`-EQID?|%6H+eIYJGK>bc)XhgTFrjPE2ivHog$)gSb5c#pfIjv%P6ur7 z;$zS&TK`Rf#~w?T=xfjkL3qCpQW8tH$fIR*Zsp@?1Fu?zv^@n)i!&%*I*nSj{$f5U-whbwq?y)9nuErNA$1dRVkOyZVFkBt`hW|&#whiAO zLVM7?S2kaCkbeh&qdza)rX4MGH5MlV?a|duI)kgv@S(hF=WBIwd`hZFgk>RmsZ%6W zu;e_3JjqC%<5nBOQ+Qv;#7p=n@Qv_%4&~P31g`M&as-QY9W8@V`wl-i{MCt_2&ZXN9uO_K^A2Q_Bt{>ZT0vjug5dXMMs7nv~ z72?4+-#vqWCzI4#A-iO|7;$~Q9)ga;NqpX|Zj){|F1Im0OFznDBVNGmuSO2mvrtG{ zJYU@W=8K|ieM;-;b{}iwSurZ-i?W#_CtJJ=59u%(>PJ_i0|{9Q?C1AsI(pdpPW@}S zho?3l*<8@VE!%z1+q#-m^Je{79kAOp8Vz{Iw43Lf31AmM*t2!dZd16!9a!zwlH2<> za;jY~U|~YPR?Fn?(?=k^@4Gd(nw{JD5*zT=dmHgM0^APz{F}hz7kc!A7r? z7#z=+*l+-h)&1-172^B|B-E-p?YlMs`##O)^<<#|tsY(aK3mdjkJDOjVQwL9`RsvD zy7BVv(p;9gQC*$WSrEQGeIpUOeGLoz*9q1 zjs~WGW@q~Wz6h&BgbfEq5OOohZMYFm@FD2M;p94o|BRi|s z1GC|npVy0ZmlKSh>J;_mshumne)ehWYkymn5q|jyuL4fBXY>ok@S$j^-e3N&gME$! zZ!DvJ-c-#k5G@`**8>87^eXV@1YF+>{Gou|nK^5ca9%4^M>y9K)*O;GS@#6~=)-|O z17>R{l1dy)!s_CFcJ}1d$dP04oHO)i3)J1{A47V=D1~BXST5SU{%P*gRWpt2V4sa^ zX9$|KhhkTPcR5CrGGI{%8lzBD%0W_vK~!FVjtul6kOmm+sU|*H6)eL@9rzz?eGH(= zD$W2E!N@S0J-r#ba^ z`}8Cp38Wh^TRRcVB>5nMT5ZRvq;w3FbCS{m$Q>e5Y(Ip~0JG!A5P@G9kk+CVCKz8K!VqGiCyq;cd!`^wIz?k2y!p9kGE@ zFn2&vaT!>bSAdT$SfC`I>N^lE4~ulUrC%(UqZ$4O`s(bqYR~yl9sH`q^W@JaZuIa| z$4}eEw+a(a7GUxq?Epp(jLAqXZFI?|XoO7wkpf2gA<#WXU-o@f-(ei?3dC)o77%0P zSQyRQtcZEj1?iNnVFI>5ZlA!5i{*jkl*e^>Syt_lM^lZ{BJ^u}jg|z|^90E6q?6+$ z*&G>l!hjsd(4|acmL`438dD95o5z^?+v20;B0oa2c!81VPuxPfE*xMv6m=FbNirbZ ztU)ivtQ&RZaEF?*xtu<1Ty2-x{{4Dmz{avS)Q}wlSaQh4$Q};4glWYi`HDxLu$BAS z8yXbskQ3p`XzHwEpmDRD;72Z<2|YaWkp#s7v$f(Dl=-8$C|2kPwW4LOy7jsbI4eSHb$9tp91HN%40Gc4n2l4dC4-mQLE z)6f2`GfsJps{fJZQR@-NqFoh7nH{RVFdcg9dFt z66I}V26SMqDN7`6Deljz8dDS76sEUjRWJMyZOSib?XBCw)eptAuHKfh3pTnfXCT2x zH=yUwZpSE{zpeiI|AgYjU;po$c{#awcG=45s6ZWxL7Kp6bleaF%u{m(1PmsGWPt}F zlnU<)dUs}yr5a|-k_za^j@8nQau70ZX~^Ed&RG(p2NQ>RODF;MuB?G~qMcyG*&tg2 zmYT;wTQjRZ{9CfBjZ4Q^)mqY@u;l$x1l$5IPE?DSIA%m8P%D)onSeD#d7q>=kCY-f zK3iMk#TaemAXc@xN2k^!I0DQ$S=A=L*k)Dx77+zIo2g^V?|4-+o!4bGZ?3|~O>Qp6 zWnH%kItzZ)fBOtP>tLcxgb&9;h+b)~rBBi-%{1beh;3}N@dU(4rwk6%+rJsdq-1(NXFPd_U0JExY6kCxO2b0owUDPEXs&n zf$q3WGGtOvSqudJt}P9d?m8>SfQ24Iq*8+A28rHy|V6nWj4qZX=7UYSdiCx{a3Fo_m?EQPztIC)KOT zsG8iMG1<=99Cif{{uFxXr+D+=n&z(D%Jw`&XRC4>i~D_ixrL!8+w+94yvLRWH=rMr zoD$4MU=pzTd3LSUB2wyeQrW|7dBALKwx@>eJElV|YIv;o<5aeM44AXl@K}Pm%a(hR z=A|%<9&^!kT=_3m^)6P`^4~Q--o5d+a*GuvQg{ItMFo7Y?9YP_NDY z!Ue@sU=qs@&IHebuygVGi(GV zuVYkN8(;iKH=3vRfN!=c%~fF5V37gBSac--GG;lQcdzvO@0FK~M=H1lgVrX+LIEbG_6nY4;aHHF-zs_r-kCc!B_;-D}Zc)FA{)fCYp)!3M>_$ee}ry zl7A4Y3$6jxzif;7!~)X=+^qEFsGKdz=DjG<$XlP6@stNw)=fk6pzH*doJ@nre4njnj?8RPnb!@@o;kcjpW;{NT|o7Fr=9<`5*I zjB~G}2J=)q<+HJrgYhmTFlKl>6KS?tD^Ia&M&67Rb6hK&Gu}`l6020PI920u(th}2Ml7M)+^9)0xTIU&R`Vm ztD(~7+~bvy{E?W4#Ipi(hk7*ctCYx5TO33^@ZN`u zs~fOqXJu&5vKGX%dt*&I-!#oUHD{roF5Vm$+oY>aExQA-0 zuPCP?WLQzoH&t@=xVd`q<>y~-oO5knJwp*rzFU!Od9Jkm_9arqyZIY;-`tgbh~N57DZ%?f zwYV8r=XDi?G-;yyx^_eYCq9f!Xg7i*>@9&Jc?wA2}%fB^GOoO8ObEK3b)B8H^PJChknr zJ^Yzf_pl#NHe#}R?w)~i4u)po88dSZYz@!A1j8&%8YmiPSf$o`rA78sptmbCP-Hwa z#7Y(g<;-dHE(Xe}Q_>m6ozS2dZ&6N(K{swxbcL4S!pjOU{-@$)cc^GoV%!H*Ujwi^ zYMe6M#}usA@Ft(B1lxzd@7u?2T1?A#V9~a&5iH?aw%>RQ3V77}%vnl~3JZ$00sT<} zg((l3r1xO{7@8xVy#R|Q%%-5T@gZ1mm61VEZSmm40k8rSU%l9d0wbgT34VC-)5Ex$ z6yKGjyQ<~DTQN%Am!GBaw7s+$rqtd#>Fn}^HT6VBV~ussG>OzGFhNsrR!6udG6)3I z!#y53yBshZjuTdqVMmwi?KnLs`f*Us8>Q4ixywFePdqe;9?pivL%)f2*lUSqC_X#wmX7*m_wi_b1 zGE#A#(dc#E&5gHa*rqKO zNz18#D_Eg?F_;pCYSJkj`+b<}aD(_4-nxzG`b-@Jz5+&8-Jb zcPj~w{yYOD31}!Rw{1vI3*wV&1IkYe4^q}OMXFtA-n4e~28KKt&qwX?Mj!5hTBU>} znR7{l)Sw%Hb`We}(%NL?W0-dI(WReUGcoL_dlS$TaqSo|XJx8OFn5v7>c0B$6s*TV zToq`09vfguw^ui5I!&|L#(8(&%|kxF-a5vVdr(RPXn>KDAP88sG!W}m#u&UcV?Ysj z>~pn+jMosomv8oQXwF#1cmvK8ix`Vt??R71wEv?mN$+-4P9i*V(?@%pN(@o4Nn-OJ zg?_Rz}( zC6i)ayC_()KFAz1w=|N(Byork%>?^*-~xVCj@!V}U*EfTSMcBEZCeunetL$nBmeU1 z$!F8)7od>ez@lG0`4pq(XBAkIP4Sxo?*8x%+=tz1E5NPC{p-JOB5|(jyGJm10KlEb zKa4rj(qVYDYd)O@Ybr>*u%+Vb6MaD-tX(L7#|6ZndvoygDi_PVIUZefv z!!}3)wA}glQN6|sC9yXdH%i7RZH86kgc*6*P$ey!rZFj`JjRS#y=DQ^`<&Sv0p*NJ z%@W8{HJUwJWMLuybJeCnHggav^}~`)EYm2CeAMRFp-@Pf3($923|6w7gTcmeiZctA zj28*C^OO})8}e$s)l=Al*9+uWz_Nebcl=AQ?c{D79y{(kBi<|$DE@sR&Y}E?HRfy) zzS-A~C?`Y@OqOi^GIw=?dz07IFCkck_f6EYawk&_<9sSSR2wpQDBy^1*o> zmdqL}S{wtmrSJ}%_i^1F0pyGXzJT#m`W6RIb&`%bbKvEkXGs9|j7=#*GAv>&ugffH z-L{Hkj`J9?^-*TTTSkHTTc5nAG%29!Oa&6UdD_7^pDqqHerQtBvW7+3-LadsF{qz? z_xqIy$Bun%qrn2UrVI&-Vcn;;U|PaNfVQ3wmJ`NkQLF@3PUdaT+2?LHD}DsTsV2pL zE}q?Dag5So3#-wnbmL|##h@1#R|y8~-3xgCNr$f|Y~X&DDr4S6&`y<0hFY2=6NDIH z1M^bzo-9@MSeEMX+1k`Ep|~E{CvB-T|KFO~(HE?#1PleCcuc6{iEpU#TiR<-L)R+9;*1`Kya!177n85@+)K3V}J z$^&;f8-`LgSqqFxSs-MmsTZ0O%fa5p(?4Oj5HxcK8fSmujIoyMr=>m&-6>UA)F3A>Gv4UpfXm!BnUU}{pV+U}Hbw<(&tKQ=l z@M(p&0iF(2;b}OLpcpvkh~_?Pzt1i7BO#dsW^4U^Tyrukr+s5XPURKHfH~`tz!J=D zPNB$7PW!*T!7g`W;Pwr6cEDhNS&cwJzoTrJvCjJN3xrrUJc|%?R+K5nOfo8ambIi& zlPzN%BRy+3YAf6Qs{O0Duge*xf4<&mI(%KYwrgp`%ahvM+fW_;kw^Iy>F3M(8 zPwyJ;J{I749M~3p4I6gGu(^RJhj<==<($~NhI1Ev<-VYk!X9nL+hOt_D`0L?U){Ye z>#)Y^?aLo7zvRI>Cdz3LPoNz*B`D^1V24oQi3c_Y-_VH^FygMQVV*J)asl(W3xd5al`vjQTETg%e9O;>oUZIy=|g;p=i*o2}@ zflFgoPTDqD?Y*0>i{h$RRhOjwqP&@;cv0ni;UBJx-?_5*5gV!0{;&UMxGjDSe9BFp z0#<+>w5m4$KA%wy{fzA!JFPAU?=h)Fff*Dcwm<~k2D{l?8EN84(3HSf{u_M8QRxx# z^35c=GYPOwkkg>M{!M z;X%^VHd#NCNIzh4e=gCrUq|scP>}d>GV=-~m&$I}cB|u#CokHO#n#AIPc}z3i%jb4L-QV*1WOsdn!yZM zQe`!2dHvPwW4wNWpKW;s-m&Np^6JUeY&^Z{-ggQA08H?|)^i4IZ&DS{yU)DII(pG! z6*jcEd6Jjxgs;1A_ZmFD<=CD*8Nz+EDuQ&t>Q`A?(PQ@-^@!bje74T+#mXSV!jsk; zaDYeL)jVG2zxN9R(ZShi}V6-Jx6Qw||gTife);=e0K)4GPqkZ;F4eK<{%8;dXwvNk9F2vLv95yL~itb9;fOUQHhr4PV~Abq`|N zc}9h^S~+e5&>`g>vt*J7s_dbnM~avan5{b{V{(}DXnRvmw!n{ob51(igmjOT&K2|V zzG0>Gn(Q9+911ICU@EpXM2u#J3CpMtS!y1I;>Nc{E&Ibt*IQ9d%W&&P+fk*io|Tj7 zJh)MBT_vk6mU0I6Y684SV;z3%@8hg7#9H=<&*$i)i^x*Lffxox>u&>lBHA4T=)58O z8=&su9q)m*oLty zqcp3q{S3O<=dN|6gCWs6*30j1@u`!%>c51)^@hIzfA2}t9z zuSex%zM&)c-1|@!8OY^e(K;6uo)MFjSdPMGECj2wtGc9ZZU4*5ZjpF0JHpyGlj3)<-Yw0! zccYes+}%9M?mS_&d-P5K^7CR$%Vn6V{g8^I=fn&cmXU0R<}F{ry%fvKkj3asSo{0g4Lf zERh%;Y=h6qI%b2)%mB#F1+Nz0$rxpiRg7x`6k9Of=Mx=)bg)un0Ck;eqMsgE5v^6A}>y{xSZk zCN=}-lNZ)dz35gaqP_^+085NE8HI{Y7d_NwS{1*dT1tthHsjG}u$1EamtS5NtBA#E zokDwr{8=*vb?ssqXtWB5-uCFOPMi)_CB;*rb|>4q%P;@ycYgrvYujWl>n#%@NilFG z*t2?5$o8T8QpV2sfdI(u8p|7vz=nUJeP4ibGVo{xvxFrUtpS^U1g6$;T%gBF#<3)2XjFP4U9+P14Y~N`_wkdC|KwH!6hzYAe)rNZPy?7 z7Odu!CdC-rd)}qV=wVp^8*6UYtnJO#wSM>r#*W=&-i9O1?#mcQiyjd7x8*D~Q!J&8 z2@{DDLSA)u7(iWZ>V09+T^od=pzu#=9o9`ozS9WYy0 zje)|Z4Xo3$+>evhm?N;9w@yn3+1gMMgntub5VwS zx)J7baL5^W(ZOgJa>h~>~u(NGWMw-N?DK>F_Ly^p zbnnLSNE@+zGlx5=S;r;5f{%nt#*4r?$fpG`8GNRzfPv49+Wz)UfpIrDrkw+CwCt&> zfoCK@GMIpL`CABd@nZ+|RuIY~-)`fuaXscFl0V@C?4LA6%%zc{ZTrI#M<6=$vE~M>yX0^CYRpSz^|0PuX?lAVD{Rl2 zHhqGdS3jJ{*}+<~CQ54zv&x$26U`|S2GmPE*vUNboRUnIMXZPuC1P|2j|g!{u}YTJmi*!UiwDS%uht{7LaI7_<4GKK|%W8zcVw z(I=N}AEA$T2NvkfD=;!+2GjhfkFnX!C;!Vyr>+cOB^F4Y0qR7PlLM>6DGAzdcHA$6 zsf1EPkA_wodMXwl1LdqqyB&~wi2QSh8tgS&-bZA;LSz_+))N|A)4Q9d4p$f*c-6ow z(&W0$^O(=Z(|33*54&DttEw+*cT-Ki8f|t-z%G2ZrEBV8RM49s>N6!FMxJ$c$!H0( z8u(|XoLM7u8y~f%g3c%`g!eL9O){m~G6xE!aV9a~=$xs9g$!VStfH?bpUpAH_quq# zfVBADji-01`1KO>r*(S)KFmM9ntTBpd=13$0&Lu`k}oJL(9w^D{tMjk;vWblJ*7Dw ztITnHd7Xklr5zZ#yRqq~Qpz!C&K#AqfOCgfcu(vu~L9(oR=UsK)ozxYx!JqKpxV zfekAoN=vI;LN{kj^vSa3D~!!v2g0~<+6t^7PQVxt$q7R-^TpEaIjCcfK7ywMUe{_Q zln+zqyOo}bpU0p$YnK~K4yaP%FQtU@iSnNV3l3{1n84dDCFpNwX-8vU$eXTIS;lf1I_&24aEBY%pUm+)c`x!gaPh_B$+Go?-9S3cg4+ zZ;kcl7Mu2U!M>m3PQeq;F+MkqikG+5c-mB3r+~X#ydBw)rA16EIkHB(H5?n&LONOea&(tq< z+XjmGf9G}E=(X5A>pElIHkt)L9TmvUiw~U?fA=0Z-b32$Nz{MNF}LJZgKuWGw|~!3M?v>@MkKx4;pI z&f2eO3)US@AZ!mOU`MNCEd1zYGjeaQ?#t2W^%P_BQBz;L(EIM5Aw@tOND(*y%@Pa4 zvItmRy>b1i0>m(5QwWhs7nEi!8{vXflwc0J-Nd;8sRGAmYpYIC!-gH%>@VO{2ksGw z&WUt8!0uq3q&){XL}GP^VYSbzh;3^D&+0O`E6{Q38GMm&x5mE1Lr#d)OTkcTM39>K zV3_tAG#4*`(P7XqTk7l_GrkAa65NLBJ-*>Fh|XCFeH+$OWza5_u61Z_4Jdv=G7CCj z;>rOsT5N&Ly~+fv5RE;sQ77|UM`kjGzd&CkTo}M#E>-4Qr9{AD2_jJEwz?%v=d-RZ zAS?v)gz&iO#mg`L@B`Mq{=N!#55@EJ(^kv1$M9)oS>lspe6U9a4)uHzZt)zuPYoWv z;60uMUl-3iP_?iMq!UX*Q0ILlpgVS+^c^*rKhmstz-(QNtTw~qQ#Lo{WT)a0V9sia zuHf9`MB-=9&D<;BH#?A-M-ohN3nqhS(C+Q7{kWp0wGmWXaxSw9M&E7Xmu0tcv5kn^q zq%<4=>4Os*vf{w=rK1*X4B(rHCR$t4{Js7a$ft&=&S$o>_z1^ytq5pKiqA$haT%AZ|bO-2qMyOO=OBZgS=;+S>^<=yO1Q2U>zyPG$&S=R^-3yQp>(7N9o&glD-FN zo9gT0`$c%%94l;L3`_k`OuD$VUzHgIJqD$9KNYWk`29D}{_w?@#l6FFU5nhwZtx=B zZR*<7nZ*NsRJB^c%gWp}vfb<+Y`52|FkTG%#$}I@_q{MqJ z^7qfb{OlV%O~jR67th-jj@=tjb5MCfC}(Z(&9fJO#34n%G}C@SbM%2F$D@}l0}lj2 z;!^Z1q9MUA!MZ1L9dM+MwB0ZbKW5;1JN)O`4|KA>sEz=@kG;Ou|l` zD$#`fMHx^;RzwpI?@f^rpvw<~va4RZ%ELeiS8x^K*44n8QXhnC<#CU`R@FDV8v|UX z>ylb0ta{&P;;javbUrGkG>4JYdu9|)g8ZvTS9~M@X~1l)_!3z6eONKg)qb4pE;$0r zSxadypxkA`yeD~rabn1@m_s*-4{z?OtFO!0x#E{~6t=H_I2V=&4XBdvgM>>U`oBsjx`l_`g0wF3r= z#^3vb_Q zh{ukZfac}6p;%LwBnkhuK@v1L=CP3^w5;x<>;4D%BGpnyPr=(&VR2QtI2NB{ePXopj=O!g}|}$#^HTXJ?&S@0AoO# zVFwKvv^kjh?rM5Fy=dZwn|JTdfdhvACYOLG6gi7lSu@~kGzX()$jmXK_3~6$VJ7(y z@9q+q_xMJ~KslpdcLn8%9^E}IvnXM#I7PLdTYL}EchvVukuiX)Jm^9XRgQNxL!U6bATljSkn-iP@`Q2fk-Lic7;Dk}z-h#aMG1Gtl} zCRM~j+2fs3zlR2VsL=yRb}+#zDXvX&##6y8m7aMUgHXf?i`_G*qqg;ta4xdY8v(c3Z`Nf?J=#a*MBVy;}~0gS)g! zPhO5V$=W$#q5BfjM^M|61uMpz6e!k9S579U6*rmpSv!w73kS^B#bQ&XhDBIy?#RhP z>alL3$Zh@*CDhg{V(O-7}!fq8BIyrEmKk!`@(za=xLM1eU>Q>IFI$*m_@ zNv>QJo(m2tG3A!Gc+kh5tVy*{v*ZS2h7%aPly~=ZE#~hPL8QR0?T<@A}_$)qsjeN zYX+n-9cZ=OV)k!_J zXHFrS6PC2!jh6$td16U+MmWU@BgzA#w}5GkIod-sk5r=@Fk8pVB_C#f?Ci;@gmVm@ z^Tq^kfVxLKJqIqFS#dNwf6-9<-ZhvDc$G03s@_nR_U`;GX$Mnyd^W_<7&7K0DM7GV zAsBX1n+U90%HS=2W-mgZiBspmocC~*D|FI}#PEnhVs9_dT%+1DJ-#aIW>(D7c#8X2 zlvtGs>!rK^3j|w@;X=21TkmhnD!YDh>m))tVSW4I37ILKU7)}uymmr^?E(tA4A|{P z`u$cTR6df?HDI>R;t=xaA;Tg&e!U?l$0r;C=B)YgOE7mR2o}0WK|&ZJh80C=l6P&u zzE3q^++>38{P|?FI^W?T=deC@8t^ zZd^RYKN~XRmWzm4{w9Fv$XF^)ab=l86X3}*$4e=Dj32ZP+9h14ewSl_oY6hI+NF~S z?Z7eK_Sg7@w0>^V>M4ca_JA7}DgIy5=yvX|J_EaUOg z9VoLr+q9~nEV-mdV;Ne~>fm^f4|5EXGt$-q#t$W~b!k76JOSH0c@0_<=t)il&qM?* zJ34Q`Xu^2BHU-B-A#kFjeu`9u(ZBU&Im!5)yJ*%w zmg8a!mq+C!bzyk;#S1?#N3p$z8snFv@{PMKzDsr8md@W$8nQf6*Iql^OVlPvM;w*hkmO#2>%@v(|v$7fr*sO2z)acf6TRvC|g zbJo(lYe09|jOwWr!xSNWpw?Jo&(ylUdVxPYurD^W#l2f+FuV>{&J4g02norE6r&M} z2SKIAO8ALNMvVe40eg){AqkI6u?oA#qa7bC)j1hQT~ai1uLa8rI1Ak}yk26LXv`0E z@Xw?zoas}ss>6$k0+@zg)t4<1bW7i|#CmpWWr{7wpJa*+U-5nq8|NI05^Od~nDJSI z$q%#%+{H%fl<1+XM$O%*0!;MVaspgt*EcyFvKyw9GUAm+6AY;Ll=VTNP;z@5ZV)&Elz3 z=;wsh?9&g{<5VG2nSBC%A7%#tdo{j z5+~?seux3HEy_uXfr0xAuunbFJOamAn_NzJOY8&g^w!w^A0tz}2eAfbsvl_lvfzEc zWU3#@R98I>9Kr4fU2517_^6skFtM)kXugRmJJ(NeT}7)v(ImcYv8AK&EM@~bjs}9t zge_}O0BIe?>n>_{0m*xOnq#1xGi-MW<%!-adN6g=5vG;S*y~1vG*>BV?o&bwnn%ep z7+tWaw#B3n*=XZ(l00P){vICG%!7$4lUHDffxT)NXHS<wmM+petN^e;Prow-8W9k6RZWXGuFWa^Z8dST zTd>ssxhd1_R)E1Sk}bu{oAGTswnz8zn6eu4ud$*dOuF~pC5tcoLp!LPC2Hs$tIaiBGx5?{ZOsp)F;X^#dP-NF$XL`4@x;(L3ipmItIuY+0lBN zPGUy8zP^nRyWLOo%W2imds?N5I#a&c``YA(+pW+D=9Uv&>zt_bJUGi^;=*L$QHF`E z7$>e((PE~G5n&0#_;CU}#0L?Q(NO_$C2Vs+mX zf5eV$SGxGAs>Vf!TSYUUPOBOh_f^@H+kUR@%GE5T`>Gzr&Gdl9;FID+hcA0SYAjF*EnOW_HGo(i{JreSk1GAnADWu|F5NZH3O>|x3Q^%K9IR<+j<#`>g zthVE1_4o)V=OmQ{kUNxOZI5f1S)~W|q^{qVZjwf$>MFi*lbh-yfC;lErT*JzAg_Zi zFGG`+nFnSlsI*B1Ver(!MI9rE7Ettz&6Z=;7w(%!m-D-M zxhB8Oi<^}p>$~?Nx&wudw_m+FL>#-xPxv`9ye_4syGHhTT?5!Dz{q1_UWKf3#=c!3 zCjtkH&8f$l5*>SV;bO%guwi{HR&bx}VLbxMSx@>pAa`+y?Ylev_7VT@?-gUag+>=| zTfBSa1)I5>Jr`ITw*O09`-ySwmh_ellVYg6e*v$)N%7*prOD>cYfL#bV2v+dq)}Sq zOTSf`vo=|3&=+|G#Yl^oVV^>xf*7xt{bi-p%p8*sty#Ja>dCh05pd3Eo9=AcNz}Ak z?hZV*U)t@eI zQeBtt)8FD4G-u_jD>(P)hX1S;Oc>ZBzf>^!rGm-h=zFMwi6uLc@jnCl?kbPF=u6BR zeV=?YX=ZNZ{`!CY_5THY_{%&M8GfmXNmY!~y!gS-C$o7$K?xvOYSsZFjsN<8{AFHF z9GF{Zaiz)IYV@{5lWa3;)CIU#&D#R;M@gXrX!cHpdn89w^&pH9;K1rXdPub!MlIRn;) z?m9_j3R?zxg=U{9KxG%NGN)wiF0{$`^L$=1~~1TOFc z&gq@Eulxt^Zr=4_HW5_#M0KEGEjhq{q0!A~J(e*bZRFPpPU!)&Ez>H8ws%;-eQFTd z5kSsr;3J5;D5Ul?v0>F($YH??F@N#U7nOu_^O!qAeaWmHtb zBU{e4A6j-*eE;QVUp)V^4J`Zm_dgUb+OD;5`~C!M{DCAo2?735<^SluD0V;+BycxS&NS> zpxh&`o?LCFFhXfqb=*-^jW0%Sa&zV98z-wf*G~xZ2-zD2V0ptLQPLQJF;dwPp=Hu> zWxpzI)Ugok)_z@s@*bb)7&K=zUpL@9(Rw}1WD<~D;My{mFu~iTq=PopQcszYI@%z( zHUz~93qps)lT|)z%%)IIfwDks)R=+bxlh80M4yJ{(x>_^jnczqigWbGcSW?SQ7kZ+ zyD2hgX>IF;tD>3vrFrsz%^F_bmQB~@0P`+J<=cdL?*$;qMdK#XSMSin|NB&qif7g2 z-fb0>*u%C}`4t!+y5T1k-5S0<`|=*o+avH~6SZQVN*M*9h&IM0N}}!IO8gOde|)yi zYoiz$=GEWYl9Q$W5pd2Md$s~}mpS$3UI@eGFo#>ND(`AP|LLbIc){BWTY{`vRPWtW zQYpO=#H!$opw3VbXvtacY;c4trPpVnO!8y!b|r^b0KLZ-I|j`;iw>{hJdsiDH8Wi? zDrSM5Yal=2bdrGv%`%ZOVhv>}6N5#`>?m@7zzh}xww^K88>3ywDGM5{6TvV?Y;r-G z#CPiaVMCc>(Q3RXZzk})o8s9;_!JmbJ#ITpHbpgoONb+%O=6uMia&zpQ@w5O%Db(& zvjd2=c6yoVh*sIY)Gg}Z+*RANA$y+xnV|!r# zvTbEvcZd3}X{u1RmDk!n0IB(;(+1$_%dP3=Ga$~t$7Uk^x5|xIT>ky5Nf(>*{J%W^ zwkKeq4<0mm;1d`3w`o$eyNaQuIKc%rcf?LX<7qX4X`0LB^wT=MEvtF+M>m?MkBe7N zx**lr!|&k}zIsx8vZxP=VE4Qe=J{dKIOQ^r(z|a<|6Mmh>zb_!-~uDih1w9KDLjJc zx$)50P09>v)8)JI2#1%GFq(s^gej@*%HIMh9bWRrOfPme55$wNz;1N2cFV&pC~V#O`+%MTS*F#E z^x0%mbsx6*_>=Y{!so7AtV1^Id^sv-4+j<(nN2_f&I8B9<4Mo64c2pkZjzATT2hHS z`+mEIfl6jDZO!?zwdT^Rle&GaFfDbO)gp^WD&^MbR;%& zH*I|Sx(CYhc6Yx>GnlW-#>;MT+yWH$wCt#T!}jP^d9M|-S-urnQ!g8R@#B|Y zzWlpSmg5|@{=}JYZm{KAOH25k?-QyIMc3;n&g%}|k4XU#Q$olm2e#UHPCVu#2^ARQ z5$xCm>XM*50%x!)dH5Zx0i6Xi524ma9p*)BFI7$ZK;3A{*4|p)*~PRCy=!}5pX#-K zU#EMiwS#K-w(K`n4K5n#NFC;GhkPVWpS>Z|bUyS2Luxt|{0;JKMYSw^Y_#v;^?X637$gO;G4*@W$}C1`LVXLLL$(Bg!UE-4MHF;PaOvm!Vzh33L>uy~x+dE5EBY?s|B zIvA`B(AN)W|6m|c*CG=&o~5aC50n={Mu6VC<#FlRuO+oDZk=S|oUrbm_SrHfmq097 z$~{&o1qS3XI3E9`J`3lO5;6m3YaK3D6En=hS?|ZmXLUzlIVX87q1>aZo+8v5L;r@6 zRoyz}s@X<|j*V+)IHlX`LBB-M%{QN?4faU~b-#4R-tCMHxU?URD~!~V4Z@|LfJ=@> zSIuoX9+!!&5o-6w85s1zBuQ>z)1n7yN4WxP+IR};y9?S76Et(m*rZe2%h7-~A9CAiOYc z6Xr_ZWfpqa_9KPL2h7%$h6J1I7`k=jw%U%9W9yE9a!y)X0J%qK;^%fp?M5N5%coeu zxgnss#0V4+LX0MYgh%`l+&ECN8H3;9aqE-fo=6t7XNnmSy>d<|r<)s5P}x5P z8+_#J>auM^4G$uzwB1+cbz46=!C$=-ddY zdk-%j%02qtubw1~;c8gu zOEoP6unqX3d3Q0rySa$t4ST2e?l}~-{ZQ&fu5T|i>*g~xh{5R`2&Ol~-fGwmm${-Q zC~mYs-vemp&Kg7PvJ31`t!=<;tr$U<`7j%M7yeVju~OF?1HgZXj6ifaq$^^lDDAMTr9j>YxFxd@C>qP7ZF#o$ujGFu%Og%;N?DH1&!4IqLIF$~MfpShdTmZR8fjvPF$O8Bm zXga|0jOW>5XAHnOW7SsaF)R=Jc;&IH5F{`+|E} zfsINC9tpo!=hyi{L%UzpCG!u(-JMIh)s_Bjd%vEr)HC#cwU3-V{?hw(xA&{1J-uHk zhY9Sk+N+pU=-5qLA9G&&QA!&zsC_rjKvW0a+LUoT(Q-6K*g-5~sBH39MnDak6llLR zXRYz{iwc@#2wH15%$yFNr2OkdR&CJ%@|-vBSmVvvuK< zS`NzuTyMw8XNyNbIkRJ-g>sjIOiy_h4))B^u;_(&dRJmpgkm(M^o2YuPb zVkbBS0DF}s^0 z87VdYKYMSwB)N603BC%N_lNEsV^*Ghp;?a=Ra``gCGl33r0yAwrJXes%!okTSSl-N z*6%UzGcPvoKaWw9 zwRf7dPTn&>B3PanPIi{EH7_?sDdXw!>66TQ;8_{8WDw4J6BLM*%Gkh@L%uK<+~a9Y zE?BY7X>$$Z?Gb+=>vd5xB>4_NrFk85sujdX6wQt;XCjr&IG=Szl zndvoD5M^YPHsJ7L=2N1GE|shgp3@92fi=xwkVttj8eC0YpXR~c#yg^=wuxx(0tI)- z+OR)LsOfw|XD8$2t>Rr>^ocnqxY)dEeaPrQhYGN~+^A?%FhGLxcseS5WXdVS4RuLB znT|!daFZ{KTu#dQ9hSD=$$bJS#YPh9l_wsNwZMT@;MX|+ zL*d4+UcD;j)i^buxQvu-DEx0bByPQcV=}hZo~ygN9Ray<1TJ{-w(~4AM@SZu8PVE` z9H|k8h3GudhPF?D894)R*yCwUiHB94z*~(z-Ymz(&T|JTLn`AHk%yYt9yyPr#t71H z{M00+nfp0b3sk??^XV+@jcsUOe6BX;Uy+mAm}^IwU`7UEKp$stW()&yF;*CeES&^# z56)pOUm6!|1P6?OEZO8Nrq^gl*+2**jaP=?IF^0kaxoV3P)$?Ou=&k&R)%ylTGdTq zL-H5cTa0gAye}uWceTvhOp{L`_zZ+m?*&kjDEP!+IHCzU5t68u>8WJZ!y2)Uzt()! zET$PA2iBC%K?#(gEN?+4jLZ4Ft^}*aA0ci&*7qeh3wOvS;TZKYTE~1;76RO?orlmv zGtl#zfkLNPWg9%WtoEtYml^BO%6Z|MjxKzONr7#TX||{@P3p#`QC-{LqHwFQjtYtb$+;36BW_?I+f>orQB^2`bn@PTcVR!|9N z3JkiRR+q8xzI7}I%X4vkK?gm5>zXCiJ16K9qY^ z*7YwOx_!ZGJ%8vnqi2A#UWRVBhi+RY=&uS63KDSw2>b=x_66Iv6Wf-FBZu4IM;g)Z zXl_zYu%C4Ozpr)x03PyAqT%dqr^*kH+Db1Js6t>zqaZq$5W9mDkw{>aN~bo{nwS() zcAb>ewsJ+&6LzqRlmU(9n#c>SB|BA=`G=~GB9GT&c5P}?m?;4G)G%tQ!{k!gni&P+n8vH;4v(JGyxPo8CZULO~<1G5jb(;3M>$oBCc1>V=y^^Ck z2?A89s(8bGUau3+|$YVY2+T$>~ImF}Dm+$hfN(p;)CyJ#6wWv;1gDa$rmf+ALSCUYBI`7?^#Lpee; zo4aavI&$mE0Q&OeG{rznk~%X-n6Xx?NP-v1D+f9Vy_hVVje(%a*T#ZX0yPvIHzqkt zAPS{Yf%}tLVunPgEU2&p%*EB=_zXyYwNW*HuV1fGg)$lw1E>|xxo|#$_hfxEJTdqk zrOJdH9)o02SE?@Y{{Z_$&OMZqXQ17HXFf%Bv}fP2>b}~S|B!=qoC6w zeKIwh9<{3YSk4wpH@d4J?3>>e^cA(oC}M^y!a@!X3|3Crz_VF!QNZsT=U55>%v9Zs z^CXHIqYy?_cr_gX6_OvLB6F3T(#j+sU>V?7k}{y>EeW6z4Pme-k!Jf;D&W84ve_f7 z!uzs5u&*2W9>=3{a^Iq9YYC1>_GTpY_R=wXaBwic1*W>-ZQHHcaHo#ILcp`e)a?k8 zBg~q`@(LQ;Mu43;nD6nl=0RNYe%K59YjUX}=%Q!P(bPMX9vTDPKG9OJO|;*^L^)Z^ z%9z}>TQ2VWa92mDOT#TU8O1`Y}Ny5K$`S6UzjPYJJc) zr6dI7RP(6AZWP;NI7s)?nmx6hLo!y-Rjn7eaBsUP8Wh25pV$Lw|`AaLsM8C3ZF!Iy8G`YLJeOO$L zrysZc)w=S0*T2PGTl~Qw!H*;fLSp4fNTDM}O z=li~S_2LiCCy2QlFV9AofId$lCdnctaN;1kwA_mf!Jh?xTmvTv`%Ds7V{*RsbA&it zG_;~ijMM^;ly#KeNv&4~AsLhB;2j6*2?P(|bxIe5utp@4z}~qe2UyS*_U_~F@yKxY zYEk|BdWrwzIC)$5^a%HDMh>qo_3%x%^;Q?Wb=x-qpNW$wzl(E>l*sh__IVeQ1=0O; zD-2Dc`qe?~z4FC{5FO+U+GMdM^pHbkJ8q<$D5d+sE{!Tsx6xORIL2w=8%WU=iypZ) zfOCIx=$njL1)2o)nm9(i$ysnIgS9NXY%Go5!vECCN$#Xbic{_g_|}1>Kwu?kB$iNy z_^ymfPW|gg2hQfFS2ILN`Fge}!zj(MYU@XMwc_{HW9v!d%|u+1}KnH< z8of4Ijv+v-k-70nqtVT*dHQah(4W&o@%Q?iYF?C~niSX9>wo?Y^r*Ym#V=JgE}ERu zdXfsh%kI+~<2A3#TI=4O8iVaC(kv!u1;p4a=ksN{X%EZ4XGuZ@fyEZSPS zzANWI;4vuxjT4C?QW$3_2{bsOoZ*>S?S(UBHzkJS#Ls5LasYXwz-Ur&58P(7A|^Ue zuh|Lkj9&`JUh zFAR`q6^9|_iksRrY}IwRKME9x7@#T`>sX-DgH265TBTg(oMWTeWhvGkPiq*8ca~(X zmFkM_3)!iQkYN=n(s;m4;z*2Ogp#BmH_gk@$2803$d!}pPfUrMAFtlO{rdeMc9It- zZ+X5uCJxaqwq+KY{$0n-k? zv2;RtET%-%eJUfhd&kvpU6@t*5hqNIabi`OKr_}eb*oRs9B2<%VTGT76>|}bs+&(= z;e0R5DAv&EX@*y(Ziba@_*JZKOD^2uKVGc|_qs_D(Se@aF3Wj+XLzgDidI+5qBxGTK4_4Omb?fu)in7P!mN7z_bE zBU!lUeWE znN`!KUh@6YzfG}p$a`PzzWaXb^^xV;ot?e@&e6W>copEMj|kZ%uinCp$TV^d;b9aW zLNFTzN6*0^R+-a@9}%*1fNR}PYaV2~F)_E}v$v~qsg!lmGxYrIHKm7QW{;%ZV3)M* zhaQnrpvbeyY3hx3YHXhJU8OdBsc=IYuJk4I@{Y(db-u3H;#@g^D0v z)S_}UNkcH^LGN29fju+F!4@V*gXvJ_l!9=8rm!b)e^2SY5XCn7`0@)7weo&m?oTCL zeYU?Yo7SrJH!i{f?f+(NFg8y~Rv{#;7Rv!MtBU6wJ-BmD@FT}*;v5)T_tR=#5)gIt z17q9elqU#O7ePY`)E=oVi8=zy#<{SfUn2XHwbL{UAP?8`X-e_&ioH^=_|BB8lXpB{ zrdk;7+mvC(l$d9Uf(ceGWnuz1fq0xLEj5G%N=BcN^C%%S!LBpSIqXMdQg9&?wLBQ( zoDMyer*4K@SKYVyoya)d(6~rq(dw6)Lr&iDFH<>-w+&aIVPOouL*R`9CuQ3h=p`K9Wdy zBSc<|k_IoZ4>=o=K{JuyJu?vFr{}yd`uOS76!@gX(bEtlz}vq0%b&md;rpAvefQG= zQCk&vhFRBoZs&_fG##dunxT=0Y0V2>yPeR%(beE&SeLyQO2MB-MFLB}4fn^8TI89k z)*er5%KN$KiHxwfCYLI@E^>xcbUTE$)LgqSR6yX+H?!krqq}8v*M2#PqusGDtt-bN zH;$IFMjD9HusBg9u;o!RMo|W+VgX{9wUdV}Yh7g4wXADeo^*_Vo|FM=SvOQ(Sj#F; zWxU#Zv#Bif^(?|K4zNfpJqlpJEy{|@Lt&#w zV1GWxHs{kA{tyHvtz9rKa3aAei8x|Y$E1^#0+Fi0VYdnkjUa@?e*8$KV3E)uq6Kb@ zS#zm8kD3$aW$$ypoRYs>6?#4f6sm5$xH%b1}I%2m{b-}w2 z&=D(NI%4~F#MT!7aDF(bblxw~bUU8GUrnNOD^z=*4j@veVWJ`S07u6|*cou*pMX6x zQaHgN%%a*c)X1UfwB#}?1eH`lB`{vt`w(ezgys}j5IS*{Sk|w{kB`aCd{y1=*KUV2 zpQm{ZNcy3cpyuy8hu&B*zgsTAbWI8f((covuiPv)(_&}KDZcRc?jy+F+gHWARqcy4 zim@z$cA2t7m`WyrKa+&;JPGft<&GxJpGEr{h+roO_PLza*gT5`&{~)Ay9Q~%Ev_>cN1!`=T;qu_*JQ+i(1EjE}3SN-)+MDv(BkP^kj==T;{8ukQ zyf6WpVgzT6YHZpB#^OnF%ve7US?|@WSAV~Ai+>@q-UY8U0J5GmFUWcqA?rzVZ0;5( zsuP*1Q6qQD$s#z2?eMVWYPLk+maRTHdiA+3hWLt{%&-S;DGL#lu{AD7V<7kuEHN8F zFH&oW;ad3`E-R+wOw#b8BwDTwNKybfg3txjhEpt9G~xLebOH)f9RW`r=Gs@NHE*!! zx%k6!Kf8Nkf!0FRT)yc1>VkJ{7hPnR5n@At^Qw4`gu|C}M#y-n9hYs1QfHF7J)Tx4 zbtUgKN{v8mR^#G&iw;VL6s8rC2Z99Z_efn8mpw}@+$g5&zc~kP-Zy{xX)8eopZ_yu zhbx3~mkIbs;ON?cCBYL_6e7Q%yiPU5J@tmc-&tr8eM&WM28qmqT>@dU#KY1j zwLi6PgvUXX^7d}Anp%gmHzv1rnfJRg+@lZv&7)7@et#O|!NP2ZK*r1FKVI;D?cR}K zW5)I|$ME3JaBwJe1OYKZ1yg5t4&~;|B<>zht0Ox}SkKh#YB4S^Zaq)Pu%jPi>zr4y zBkdrJ+rH<#-+nAd@6+_Il_)yA@XwSRX={$MBEW7b3o$LtI7gH*@N_@}d9JhY&qPjZ z4A1*C`v}h5ZCd;tE3^OoKfYXl)DXY=w3t*6AY33xSTzVnX;BsKV^zi?F7bTw7|t3V zl7hMlE`gU|ye9A#G;0wE#hN3W=s*L7tCBqHMX=Vr!S(z5U*7%r&CQR0`TCo0ziAUA zgGU4=?pZQAdm6JRnozE(0AJTK6|A!+(Pt6!$K`xccv!kRsK(Ji#Vp170`4fLqa`rz z{L3O%li%UkkV!0RsG&pPJS#I;V#1=--ciEwFwq&6W#Ha34emGy1N8%JKeFB%FhBQS z7R$-zA9Z45=ijULg;#A-;o;zo6K|DvKx7~Rp&WJ6u+GjnOKPet4$jn03ZH0>f%>SJ z^_npsnYPRri#=;XW+fSa{nmxwSJnO1PqXUPs0ww)dc~}h)w-_5?dwtcgzY}F;t!ae zX*&8}&?H~bB>#12lDL)LQ*8_A@Uv&*6WN>3OUx62L7;5GDv>iMDVj zF(A`GO13yp9``t8Mbv(X@Le-zw1zLb{t=jN2GZJ094hMZLT*%i{pW9X3&sD(U*4gL zhLtRM0e);MJT~%RMckUv#Bt6skAuRfh$;v2I#i!tO=`WTuc4=Wzl*6*KJ4V%48E#5U3_8jd-jD`o*}E zBxv{clzFDkRG0R6T74qTbm#HW3Xo&H8W%_B9h3|T$I%dZC`95&51rOT^lKr#4Y1*p z+iItOboUwBimf)Ti1IKT!g&{lt5#VYKm+!NO?IjHmk!Zk*@ z4OFV=L7gzAz#dD9^>ORHV>q|DYwzlV$}LGx5$z6Y20X0Xq4S~xOYs#wiEap+P9lNu zh*ClsRTe!Q&EYQ*67levOk&ek zFYep~!5~&HUK3D#fGsY*UzRZyd+5*~ma~apVj~_VjezMzA~-N52a~l+h9>E`b7#@f<yZcv>CXan;YD?kvZ}70Df>42){skl9j~ZTLViuA(jl z@1ZZ>RAW5ezyAHK3U~0LS8v^YLM-(ioq6V-=liXvb%Pgzd2sOq<2eRFSr8K3hQyf0 zLPBG-g1FjY6vPd)!YFS!1PFp#nF+Xi;F*JbChHaEeZBVKb(t6bzt#|)c;4E)+O7bd zU6HjAt-p6s&tU)eY3E0>XH11mW%dayw6Q)AfzoJ`apB0Bt3Fd_+~aBWnJf4oosbTV z6m8ezV#lL{mLY{`P355ssi7tVKHcM_hoBUzr;l-{-mc5p7>q-A^NSVNo!)a}jFN#V zFH9mSN@YTfA`(ojBJjdy&v`e}-^%4&-Z}r26T>c22K6-?B3nD&4oSEGrQI(gxlL)j zoL{F;VHXQ$@6!PkK4b47 zWY7SHH!Zg{>RvBUPdt%m_>#}R4> zR_jR-t*0_z5r-vcjL@|cMjAX}Vkv7DOr(m@pupK9iAZc>5YokHL+}uqWV@N((PK7rqP>~?MaWXlrxXJuT z7FnOEw(jw?b=72N$h@vq*{;aN!qh>{umvk?IuGQ@9vOZ?K~G!V??|RbM~yQV?t#ay zaH7kJ8vBfh8KkG@C;|&%i4q9O>^tGoZsQjwjg=gG3ZRE1;jha z5-BwZBFl_AW+gDYibl&Xb|85nDxwg{8b=es^GR<6L1fD82&h-Z1Sm8v2sz_N_4v6u zWo51DSFgBv+e`Vli;_VbVjCh`Oxy;ov9QGb3a{>e21PY`yiQ{m=2s2=-t20x1ncxI z1DJ)=^XZBAO1T6p8ZC{^Xwaj~`efjOuv`X#Gu_erCk0U)qat&cSmN9x@&!!-)FF0t zMPjlGjPCna8+-7lGJ!W=`~lywslcG{TNb!8yQFC}*<-s_NKP1nwNu7pkqGlo{pCJ6 zr*qq~Pw>`+o%_yOs#o`1lyoO?P^@yLfApckYc~4@=)&CF^qVrDevbDj?)5&N%vQyQMi8VCh(8=_cHH5 z#h<+6RIGh8RWB7tg#f+om_jeNf2W?Ek;vA12tkuJ+B*V)giT;NWHvl#O5A4rf&rV|b4VeCsSvY1JjE&O zAZE~9?wZU)u@Y>cJk(QdVr$mNwy@tCWvHORyX=XO#D`#{QaF~@;P_Jl=26su@tHBA zJTt^f79lofPCKql0PWzEbcS&!bd39<(yBRiydXX@2n(nom?OeYocDmqo+nuUb5@%H8+QtO&7d%ICP|+kSZyQX>{Yu ziK~zDS0Z)#mW#{~PlD{5BzQG@S0t8D3Aw$a9H>)+-m#-tu;V<&_8<4NVNl8zauTCHDMVi*q zq=xeCo_@yI9xSpt--nkOJ6p-pn&x}!7qJ{>S|dur^)0Tr97 z_WI*vIa+=!7ef;z$}y7=KwSu;;eRz@o*Jg5&AT~T@FW$8Xz;`;;{pkUgFe+k1{R!R z@TnHUM{!2$^!T|tRY`Q`f$!?5d;PW-Cu=$=8T6>TA##@s8773pU?U{AsGk>c)?sD( zy8mc-ndDW=csW{>R}K6gTz*x2xJ!kb zPJcHqd`gpIk#JlYB8VYo*H3rYGt9q#UuQoM+j0PhCKuN*W+n*>4q@0Czj@BIW9h@>mX&=xvmYBEh#=) zy`ib-SMW5wdz_`Qo78Yl?-H<9jR?OM-h))Yj-@3;*$vny%39Yyk5sNdmP1T8L(bw z-GU84ceTKl>RHnsirN+Rb(5x^EN0aR2MxS;kD$%x(-aCU60Ws>xqy%E(r8o_AItRc zs`xvo@t+YV0yZMzGuIEop3}u0{#D~1j2^$NHF`NO{`{8@SZ}w$(^>p!;N7Jgpf+t2;+qxadwTtLdY>NW*E6tE^9EIIqu85E#}qre+X)CHz8u>!M^xep?ZF$Y`qF2(1}sJ)Md7 zAKpcEJuN?#>D7EOi)y8DS8R6t@&G2~bc3``CghX|gz5MnP;D%8i3qitLj)#4o`nfm zWx^S3FiFNHFFgULPGn<bxxq}5gjO| zTuy3i-EZ8aOrzp|6mP3)wx`xlt=(E2>gyM|>=(RzyR(Z^swslxW#eqfl1L$(A_#09 zh-i1EaB>FGtjE)8ztxz|p&^Zktrz3s9DWBOLrPdf=7z|z$ZuxyVLZqDg zJLK28xicvhval>uNqqK^P;4gP;3g_+S&*Je!v%jbQT6QARe@bDapbCB-WLC+5#CLI zRlHkHewe@pOhTG}1@U+dGE~F(;70{+MsZty#2K*TRSu!i8(;_Lt}b_Oy%S}I1e+`t zgL!VL2pmVJs+6&Y(Mg?D&Nd-zlXL=ShXQ9af-`ZH&ry;94xFVyGsmI}LIm=-S084N#k`(~atpeu8r7&sHzRZw|2yKP;805>?LBC#N%03anWqL(isMj8a7=>M z%3BK}6sb25b~T2PgOPA1x0!f7e;AOP4L1o0$t9q#guqv zbdJCd$ty&QGX}OcD`j|!I$HX40@pd4B7=l9D>%g<0X-S~7x3<1{`%pkzkWc@Ehn#z zQ5lttEV0PJz03{_zlqKRBf@8#z#@WTV3IKPbSnQc8R0sn?JCyxsae_ie_?j;C}lhw zLL8#FCn|05Tm+dDmpI+rfrNv&5l6UtI%U{>S=4hQ%II4>4V0>aY&jCCx zjp&Fn)q_Y34+IA)8iBZ!7)mD4kz7)%5Ovn!+zX#Hd5xVE^QjB#bOkIqcu}Ktvna=@ zS}uzDU9}v=!lyb_JXxgM+WkY2T%c_>E9WcKqPYUq;T)w-a)sm4G8YUx%wTyH_kw#~ z*SbHMwr^_3wrG)3|*F2N8UFm7nMgaX#%gx!8{6rlaS&6(ae+2B6FI_Gc3}ZwThag zhvMtE|M}CdJo`s<^ARimD5nI$VA)K9nB7|ghTCwCkdIziFr-GNB;beZu~NSRbrG?y zTvFb1?KqesE5Kk{A~{gY93HL*D>B0CMKtc%B&U+)K00GEQ2`uxtFs46L8@(Xa=!-j z=L+K=bR;)&2evb&d6<;(hStzm@a5k8T3G-4#E86Z+_Cnn8(h zYA|bM6)2em^adbFf?G#Y!p;t>U8r-sPojB;Q(ZA~zdT;m^q2GbvQ`*t>aRA`e+i6S zf|UwxSx=V%o95spb*=74{5rB67iHu2;I3*J5gg5}OmQEsy*BvXi`1vorWC9Z__?YU2! z@H0n1-A}7ea|uyBhrH~q$;HP&9pnt#^}ZqWFtj{2XPgRUM8D8-(hRv@|L?2xX^|%L z+QdKPZJ>Gnwr$w?eKi^_$7ieiyigKI=iGo79Hq_Ff{RH4qf|PT*4qePv6NjI-@3YQ zMbi_uu#1!di~H6@UR2vB+X&-}axub%{s9jx;xer8Z0F1I7)$)>YOako=-OORANZrm zaae3^xKxou4{?cA+L)vv0uTv20Zyf=P3WehvrcHiFM3xW&`n`M*2i-Pl(h%AC@?D+ z;85>0_#{R$nJnYr8iL)EVmFVwTAXudecexMa2*BfoL;gzKR9@|ix2!dC>r$qV2{=V z)j*H5Bug!5zj2EX$xk1f|8CX5?uXAlCIId}tngUz?f!3Xy5=WwmLBGqo|qg3rt*}g z6h!dgTS*dO(V5UV_((!zZODZu1U;TsuPA)n)oZruaX+O0Qf<{i(4c+pd$hI~t9>v9 zoNal}5!KV`=QO(>SJeUn%=uLqx%vDGbkof3;76Rj>$!POV7u$> z0U`sK2hSjYr4&MMWr%fzqF1a8Qz1!g+$1I@sucs9C2V5gxn~U_7*p0OzUN{7bsC#c z^=(ysz*j5Y;Gw{3R?woF-W5OLt2dbGCNnBo-5gB4vN)1lQ(?U}5GEvIsmz2z(CcTv_! z$|fDL&H^5#bn6UvFxpzLG`IEeiuuMVzF;X@T1rE#g*|l9X>C)M79?6lZ>=Ul`y=P) zoSdnP>hZMZw1Ia5ZZ=wKvl^GGr!Go{R8K1+5B1W)Ip)8*%;lU`0Y@`OkwmmfAsl!J z+|Yy>^boDDYwHpSH+sL;C&fLH43|wYBcfN%DdjX15tbI-)FOku#?jnc({>$3JT%fvmlb^ zz!3GqX~_VVKxx0*qx?8g=NceEH~6c<@1ZU|bcIvf4&Tv%#z`wT{8HU0<@U;639>_IOs)ZJ|Zalkg)iaOs(N z2Tj9bo$gb6z^sh6Qy9!*y;Z+?U!&XG`afH~+m{D3NFlyhSD?gl?xxdORi_DGFREDmZr)_o!2%RN6rnyb$T+0xXV{^}!7C=! z0u!#_NR3zLmGqUtPjGS2{lkPktn$_Trzz>hp3f_4(Ycl0u z6|ZBO!ap#V{@?%4oqxqAtcJLJHFl=>?6C8;VW$3Pf1I5QR<@=2q_#|Y92E=;iohA( zBet!hIFE~{_UIl?&lCamcv>AkTB`cZ*Ih5oh5D|Gj$xZ`8qKq(X4-1J$rd75&Qm~gHvV!oO_Q?@^9x4KF^nAKczvvp6oK0Mm1@tH zi~0Q{yeXF9rx{^ec5h#LzV%=yyM9u}6J+N|qB62Tqo>RU4eAsJaCsJ#w=TQ7L|bNX zc5%d>k}6YfnYV<(JF}d@nMy`5&H^WgCE5kf%)q)I@Q`86$KwX+`fno_%W*j?-qkO> zYeVYn>6s*9kEhl4LrLAQ ze}1zX7rS8{lng0IDe~HOD{Vf>+!VO;t<(4#YHVw6hM?eX0}rcMm6JcsYLaJMbtBCj|^b^Hb0tpnYS zA;wbsNJ7Jfo?hatoR(?g;6=s(Q3b&KeN0#I^B;kNI$@9JvuWoft@k&cAC&Qv<5MCY z97bW2ax8gZIKHg(O|C|53u)wu*#c7Q*7=jsvOuYP#-Q?nv_5nBI+-2`syuUr(n zU9uD{KU)~)XpqhZCBPPd8c|l$OgL63`1X86&d$ts>+!T2fDh-B_KV$i7UW__yMvfP z!?z8chr+4aNs#|drc{9Roty%uH29e|Y9E#H4%`RjIk!46Lk-1Q*R_}>?4EkktcWo- z-o5+w>u=tEi#-KkqiTSYFaA|iAa+~Sd%x-Pr$BIaW+2$h6o_59GHnnapQ3zJL*Xi8jS<(EQN|n0QYCX83(l#z+>Qw zZmW+0u|D%)wbPMMZz)J(q}aO|Ea5UiRGjLu zz&sgXQgF|>Qki<@ELYYu%7h3;T52H%bMc_W^Skm>ZRf|8M{K2kMV%yV) z8L-Hn#qZ{-O@q^P(R}+7Rdm4%w+lIOx|#Dn8Ws_Q0K4;rgV$%)MR>pwRdfajsmIeA z-`f(^uikuTK`yT4>>y^)pmt4WOC7aO%;9s^St7NnGOxztYO=V$e)Hi^Tivtw=>>|$ z6126ToUQS~1mG3x4fiH`=fLc)u}nCS-PvYRYnnA7PjSLJXchPZ)Ar2}z9dKIx-R|~F04xm9evO8#z$aBO>d=*D z@ESal2RBPQIwn@19&giRjjmSsS()-~jXT`;$K)ngo9gjYd{>S}aOLV9=%%JWmQwD3 zrVv~vNfYiIvtAJ!rB4(B0hN-}sje)2BCXB*F8KX26u-;mr>hm=SM`za@38jh|0r6Y zfAx<^Q4I8&JJs_00<)==47ra=WjiXh_o}s2s)2wDNAzR}BsDl)9yweCXD5XS+(%R@ zCugwByPwva{#eopb+xLyY!>5EiR~g}&|*s@@j#W<6A+IklKaI>fBfT{@2}sbP)({( zjv*>rR97)wAz*+ zY2g+-ywvCB=SSn>G};x{E`b-zwM|L6kd&96dPxn0*_nu7lM$jGvz~(X*)qj-qKMDP z!LkYP)2wltc_8Eky1N}-R%S{R|fv_5#0(zxMwURs*MuQer=qJJW7j%I8=!2v|ffc z@85q}G%QjijhpcUO`|chVeB0f2!LqecIyohRLg=7mG$JJ- zSxzPyl9G*7(<2uAOyNq8r_~PvTh=*exzW8xm*!GU+(p)qn)nF8hkBW|t-BNufOiEV zjashe%P^X!>v?dq(JrF@;e|`WC1G+3L`IraB7rEdT||Q;0&GKEUU%g)5H;PEwXVaZ z6)jIoS)V0kz-Vbr7mccM87;CV_uL5Z7L4DolKZX}J472>E@~v2*YFCjQd~l0F-Fv^Jgdep7p#1{6gFF(AxL-Lv5ZKp5bSV4jb}a^ z!;he-@^fvC-A`)(vQ^Jg*v*1mTm;)e$)HK0hRBwtqrdXdEs)j|r}4*zZk?!dam&RW zunbmsm$S4n#4kg*x`uGoEHG4$_cK_aRl9#N3xvBA?r*RS4}Nv=!U7ku02^wW#qca} zSB(c5VFHUOg_D_Bud*Of<-j21ObP6|PI6PR4W4;tF<`Ud<8pQv$|bzvQ?O^c=oxa? zcPVXc{byhR29W-l)C7+Jrl9^`gub89|Jw652i^I}B7Iui+*U7}-*5BzZ)fvgO#LMr zKh&_xr*C{~bk$Qgembi@!TrmeUpBwr=G))S=GWj5FZBmIJv$IBJ+{}oQ_`?O`5qgMxLw>~uu z^8_{PldJLUC^Q6?g)2@iV^gz9X zib2zhv-Y_X|Md?Q{$-j5FHNciW*@5w()pr!`e+{c8Tchbu}E;!1uXUa#!X@!n%uxz z`|`yM^=5|OkY}<=Mlan6wxGPp)k|)&Clh=Ixk)|{6KwEKZ?NGCaq@2(C*mb+?a2(E zfd?@dGgM)UzV6M&N2n_m%G(!S=*J7{*XM=9;pk80h4d+;x|Qe#=Q+-@3+aUm`f-8& zEpfpVUBz(~moJ&j-V9)VI}DKBd=YNTn{pbiX3LiZW8SRzn=H7nEnE1b&;6x2;a+mCUK_M&*K zma}4dH!Z-6Ez0?BDr||9uFl!69>mrqcZT%?s^49}OL@18mLYj}OJ|FHe?xvuE+=kO z{*rEHX%0T^{Kbpuslt9kUd(E8{1t{ZS8&4%3-n`wHVUa>lJS0Bzu1s-w~X%kXE#~y z&Uf7Z{KPTK(e5&wX|HfbdK3xPC2GbflY&#lf+li}`lFTZ#0qJ!I98-QVSBnr84`jfQ4`a&mhU%Xxjc{L%u~mk~aLTBAdRnx`|u$RT9^OQq3eEO4yqnFvYx%>jD2 zh0UH{S9jx7J>0B;=C(|7;`;O9^;&$hK{hfZxsYjanmZa;3WOw|s7*cwoL#K4HH5O*)J+pNZ=V%J5mD#X_kKa5xr7ZqgE0L05JWFqe!-T1256%LZ21(MdA6M#`00!2U&aTYfdx3h2e)_O zYMp}^WZDHwGID8>N-=O_D0SLpZ-XMMx3|Cx@Ix;ga1jUm+F8IsIA9(4 zHA>)x11{o#Upp0e83!Dj{r*wD(gZpAWyAYy_^;jcFwBNiLSD))d+zwJU3oi@h+BI@ z#LJ%d+w)($)OIi_r!PC+YsXo8P?oTo_nVXTb2S+yoX7|66Sk7xl#}UlXI$2a>svPY zuA1Es!X&Fogp&lVD-nKi<>VKa9hMw`?{}ZldhDk;Qb=GGOID~Toj20>pcs!zMd75@ zw8mmSJtDK~tLy2=lCgeCgI&@uWwb78hGeuYoh@GbwUdW~Xcq&@<;9-#)Gohvx@fo^ zzj-k!eK-Aoul&&YO=mBg-fz=CgOtz(7}aMs{UsyNbH_h}6woj`u3mP$-;RFYj{n-_T7&KQOFZ6l$3KJ2+b}!+5|8)X@y{UbHq4H{#N$18{I`;GV=sMIJ$L-K zl5=A(8JM0s{#(hpv6l=?&mI4*#cw0$W?!mld++#f zCFjOpa&A3$oV6+|tu&l=;jcHlKTG4s>q!;UxSDJkVeiu|Pdsr9FR;XkF}w%Az8SxZ zSWuJcGPsdjf4o;OsV${0b46kKxzU1J&ZO1O8bhpI4MgdSh2G<7HSm(*#P(ySL;5eR zqU<1O(2=~mq_$X#w^*wwV(r3&Z+NSmI~V5l{$9<~_+t&gwc@ZN*9Or&Cs5S)X?S+4 zuI7$;CZbEhTdiC+G!aU?c0Azd@Ll!`(@EgD*ejESlp+_uU149u*I{q_zGSl+@)~e=EgJ3 z*n^C^y@5&5iRb722^(3H%j;E-J4nhW;1GJ*?e_bZU z^h6WU>~XynYq9-d2J-nhI;!M@Az;*v;_zD8F)DNbH7K;Q0UUs|r{ueR-X2e@>_4J$=Zr2MP4cpad11sb&?1HrW>9b$jY%pOg!Cq4>J{9_jdaS0gv6c9DHMmv1d0tFK;y z@O!~~w}j3FX@twfaBm||ni^s}19ih?ikOCMA^b{lCTr3Cw3_W0>C)$o$ZZzm;;cmn zAwvq>ipZ9@9mCcBtV2tBVl2yv(DJD$a4(_dmPypH&=LWu`sKD3v-0-#dR$IYGYM(S zBCRU}DBeT%*eYI=9Ky|%oba!XQD$`YwUOf*8!XhbrG z+X#PaFYv7&!Q+OlF6MXDaug?vV!q6|3P9|u;_p>8o&Ptu z=>xv$Smn>7|#4#m%21dQd)9^l6 zN3B^e30kklr2^DN$&don(Abh6+D;8qqGi{6H{vs0Vt6-le*NcFtin!8=EU_=y7p)k zk-U&1Fv@M9Qb9Bo3{%P(EhV*%=GAU7E|}`V3aG<~Em2R{u`X%`3?+8xyfB<#hq?5< z?O5+oH#FTSxp}(5#}h`+mAi5pU`?==#&V`&R8$zJ69s?WGGg^=j|5l!(m_AF@nSh6 z^a&f(MaqyOwITCRst!g)t|A57cPj6FIhs|E^C~Z{-3b2pv7Ar0LUr`&5a~^Jh-kk~ zZ+^F&H0XpUbDSqAZc>|BTf&_biPNa8=f+u^c~V|95D+5Rpp%n3=4Jc5g9PU;DJ?Sr zE{E0NkWdY7E8*67o?Q%C2n&i<(cJ(z#qxao+v8!i-hsG)b?KdktM^{&V!rMmXGp%@ zA#|U!DPe8S7T|J7($8MF<*0=4`tJH}F&@b)UzMXYI~aI#?xq0_8u^J_%X!+?j5!~> zP)-()v!fXp5x9y%Xve5GIa9-&RRP!=(|-^`U6z6A@w7SvqbNkLy*O~6`U^R*i<}`j zaEH(q2imr7Wr7Ia^EA5(_qm$IS>>xm2|?g{Fml!83i)K`bo<<0$0LEG&I|Yk**irs zCJENWq)3*OdK0rONa|pywc=P`UL-fZC~msoP22iN5-OuGl)_s= zi0CYdG*})}P{s(~j+@k(xT(j}@IFN#is`414i@ENjnqNVkQ!-^)I*(g(Ed4|6P z%3EQjpb()_M~pWifoz$SxR$^`1iTV!HPwN;+p;H1S5^ z6Ua{jQA47N;6@|wLY)Q%d4mP0iVt_L+!wmml5ON{edQt{yWs8HLgu|yu-%bM=Pi{+ zDv==K$Wbt1scH+E)@OvQ`)M_M3D)yyeRn}F7O)Ot1{JUkorlt8j^rqmQaw|A_u$k0 z@;JSYSEF*iBU}fc4fyRx!=(MH;wAMN_HtBV&2 z%LT8~5*8h-=8P&ljupyyqT$tabS4oYSUw^whMdWScR#ImuLP0(&i=Q{ad9rZgOowz zvlW#sL1_nP+8V|C4I=${T;5kBcl`s9R8Dr!{|_zD*>vIJZrA`~G`S7WlXq!ceN3^KCA3tj$g8A-8bPg5w}sJMfFjNs7)n7NgeOR>3q{;DW`*nY2=R1XC{6UDiR zpr|MTVl{Y8d&AOMk0S)&!P#wpEINZ=hhMqqa$XIce6 z#3nSOU_UynT%O}gg0d;bRZOsm4mVrdaLNeesF(4B*C~K->U^Wf$W^aM@YwCYr zefszR!04x@xD3T#7v*T)FzQh%gCxQ-X*qVbuQ~jatr^Q`$e1VDLK~S4Lcx0YS${fPFNQFsXDs$q3YU1=D8vDCy zHg*eCaK}k8hUyfuV8MEtvw#H!C(4kZGvPJ}?78rf46~GIBS7g^Xq-`!r^`ic8jg|% zVW|TzAOOp8DNKNc%2tsSw1n_c16jmqkeWdx7*u!B7~pp+qk)!U3E~U(YqghO77ur2 zxGUUpQNfy)79bXv_8wR!pJ&)@&A0ZRgQG-^q_N|uPASj;kn==WUmTz*P% z$2eo*E4WAKDE%IVt$2Uu?#tOPk8Vpe?$QL^FmQ|JsL$qTmciv}oT~#;8R#Y8QEnKwQGg>UIEzFlMj@a| z(Gy3wfp@{2p*Bt%Z6&;pby1QmjY_yN5dt2|KuI&Jo!KMR)vnCV&7yk0KzE?Ao;&Vc zZMSBl;ty#w2EXx_nkoa#1OF!tn5i7Rq{2I5lW-(S=9oozQ&6nrc~rf>1J823c0koi zUp4E5E-kX_`g%Em)txNL+IuN5>Ig?kS7@jdI3tn-&Xfa2)geDN-^_5ou?YJe87j!1kHf?7}qI^=TZFQ4{yHx^ZReVEMgU| z{HO}|z=E?nri#TI9ELeB7wNllv`Dp2@?qvC^IY5h)BC9 zCLNDpt1TF9czYv2VI_(cqi{uXmW58j9!qy*ST0y4Nn;>jWmLdFST5d*xYaS$2&#u<(f?S&K=%QuNI*S#Rhxrbxj#Y?CYWh_#r4a}*CLOQCta^x7V51ka zYIJp23fOVq0O^p!!i!Bh1R^SkT`4$3F$e~Ztj9c{OcJ~+39c;-UuG&*)J! zPp*>`BkYDN9JrhqIxk1?_oBXMT%nqW=dGSy3;tL5+zkQEL$Qr$UR0COf_T-6q5Zi`5vTfLFYOL1$ z_@Nr%5p~^-*WI*7jyCOOa54?gB0xy2DEMp)Vhfc$%Mgghy83q8wAZAnMqmA7QWXDI z|EGAEmGu$AO_Q9gW@Q4k;R-xM!6fL;$JphuC>|mHET(tU!cC{3O}^NvfLYdw$uk8o zJ&0`zkXXM$_uU1&*xq%}G9>$M>1?sD{!O$X$&>kitEh>BvIy}F)u28#b1@4XjQ~+m z77*xQ@&sL-C$}I02alT4nSX7Y(FN}|K%0>N`WZ7k4<&d# zlk2;t`F?$Bc6jCgXYWmvBe#+S!C#40n{7#LV)EUG#%4BkR;fx^B~xaV+Pc-7_D&LF zM1UPfW>RB2-@fh-h!Y3~K!#e=W2z%b1`vQhfA0SL_6x9$I++e76jNL(BXY!HY7s~u zI76|(Nj6kj54yT9PGs~bSw@u%4rnAfOSp1WD!@i&38*qU^pyA6ZU5`qSM%a0dhxEB zwZ+`UABbz6{8$#-xI2~8CNQv-oU}TD8Oe#YTu^iuf%0QPW+!6gQ{kCC05G^44GeuC zIO=`!oGFnl<;Dss9SK2VIkx99X`)jW-ai$D>SkU7hTGT`Zt`TgTIbx05@kRg^pQLC zMUyO)=QeuBGMv;_3X(`P!Rz$AEo#UKwcM6zNsfi0Q6HZ)fCJ-YBU+i593oKM$UpG@CST zEp&M;)^ji^QcJz-#V(+D3|&x|rw*H@t=10E!?LG7Q%hKgMsRDH2dLGPiMTkoKw<$b z_YW94Xn~sKMLnA=0-8DKy19Lu=I^RSJ)bo)ql-t%;AjC=M937R3X%(vL=;I!=7Wox zmIC-E(-uh7mfs51r^(H<_82he111?39nUUj#X0)FsI^+@K$Hy}3?ZephF7yEqpboE z&={2@lr{+qy&?v?<^CIWK|6$Tx0WR5%O!QRoq3L+io3{Enqfdiy;ENb^WQhVh> zaj?V2UH^Sk%CbEMKze?5{Z)FGrWoS~b+n$s!2%}k^|TId+FalLxh#LLmy7oA*~9Wb z_HHVNAiB81-R{HX+Jh0htTu1MZG1%e)jgyf1wor=;a5ZLk>B4?WjR7uM-A? zx<;vxvT-J6P=xc7H+JLhO&?YZH%}!W;DA||7)SqKr@$lH$>b#{5J`AT4IF`lqL9su zNb0Oeo`4npWOi+K_=m4Q|LWD(eebu#(g?>(vcV~W*}B4mmd7zAH3WEvbS6+4p7(xG zG}9u@LqZx0pjoaa%iENC#X|Hch9pt|Bil6Fn>e9f20B0 z0JTvFohen6CMm#9VT9->6U_1f2sbwQOmP8P@YSDyoton=ygQ*bVG@$mR3*>`2pCKt zv?=g;_5_CrlT5+hVNc$-hKAwas>$#w2gtGk>3)&k71a*mZa&(B`V_z-U>_iKjwg68 zoV%7XPC!gr;S{ska0x2llcnS`EUNo*!nC1#416z_@9RYbzya3fZ8;AoC{9=CZf)I~ zhmh`tOS&e^HeRy3G{DluJj2%1H3lS~3UKDLY`IE=zzORZhTCC3rT1`d2+*whOx>uA z*O5}|lEQ=zrm4hI4QHbU85X;yuBDF@d!K(=^B^wyuww5+q>L{4J_FB%>r=Oo9-F@44&Ya>dgsKvme#SFu&nI(ee00JOn=0Hf6 zJfdQwTg3-;joLu-guOZk$^|Q>wos0$kkZ}p!n>sNm;{gTSR3%Lv)c0@G*dJNmEpfs z>KLLZ&SsEJL4oL@8B{uIeH0$f9mg=43wzfZpPkF*<^8Smiz;BQSSyYGn82c{V#$A9 zmQ;st+U(emKWQ_Js^#S8_5AL?f%3Lm)NvhBNk#nuOtO0R#RKRJAAj=Ge0wkO@w((9 zHK}Kqp_=Z|pS+raQHv6mXYNuYCaVA@JXrN0Ttt)_v^)*g2D9*2$Xq^eWv|lWCQX{! z_{kp{QTGR2=guAYSuYptL%Wl*y|->7O}nq07qe_DWk(>QBV`kMBZ3Pg1m;4d#9(B` z6Nwc(BDo$Z%T7z#0Z(gu)$BaiwxOndl#K4ua0Z-<#+r73c4X|OCSQG1Pp9?!@h(H% z?X(RmxxwI0=bYpby$6C@*y2@V+bCo-O0ujJ;htieOthQ^?;o4jaQ3S$ttlY~W=oZRjDpTD)S=xXWe~!;KNf6Tt^aFo$y?mJ6KYX;8^>BD$uW3t3d%}N#9v?l+ zgO4#|K^+0LHgkg|Dq1FxxXv&gH$4Qw7Bpv-uX31gU>v(o=K#6jNxsF_C^qH&O$oZY zvui{E=OrErq1lHo^k9)60 zCKmQaf%PfjUgH>N0xT~B=zEMs&%drz@exf1a_DBYqZ#xJB$sVkP=GwXt`)u01!()I*C~m69qSz41Zvl&pxEX>EnZ=#muzR1J|B z0Rlu1o5Qj#338Dq4yJm_V9e?a>Q}OcMz2(+60CRq(kicw$mUA8#IGV)MprIpeT5@j zgfSQ{LXX+jfwFv?7qECtO8TtisNbN+Fu!ecGOJ~JyH}RAsoX+y8PkIn2~#CfliJ*r zToq@;4}bl9lQ`+%zFW9s`&D@O=4&V3QW70v4ZnH#?h7m-gKfN8zMEfF@w3U6OyA94 zw7c~JWC#AesO#0W&sV$UUBed5@2>A3t{X#tdEIR6OVHQtWFWR;y}of%)_9j30khHx zPsn-fbr_4RuRJ#unlmZL#wO4DNA>W4hXPtd`|x^CyUw zMO#}7Z!bxySkJq}Dw2Bss|j$!M~jr51EE(B*l2@rae(JQZaoKMsH5XK(3&wU@V71z z8)))E1tL85L<~-J{j-8RQo=vrX{Cf;TRp7bMT3gb9)mMrTvAU&2#=LSd#SwCCu@Bt zQ}Uu=)(Y#D)e##I+2E+oCKzg*Z$dCRdXGDW-DlyH6Vj2aG>d`SOdaUDG7+FKDZK&n z%kY=8hpRlT-)}-1SlCnL3QK)%>w3A#6!%y%y~!v=EntZc+`|a4lZXE$Ygtry+R$#oo*<7z zF$O%Xa0!({4$Fnz;bSbToP*_}v!_}pJM7XEz2HK~vx&eB@66rL_42m5URL35x|g$e z^!Ww2>SW93s0hek=OvJubHEl(2Fr({9SAc%HTA{KYVK2O5DQ@Nb&!uFbUy{HRx2+x=A;{E~{Eoma-Q_Q2{VwXchzj z)<=Q$n7lRCJbg)v)Kr0?<~pqlJk#}TUR2s6Up2@`&$!z|)$fR&B|!BXoz4(GjyVuv}6$Y@qDOhD&+f zpUU*~WI2~g2^0oxteNCwMD_|+C+)ci%y_RHwzUgdWb2u> z(Rf&;)e3}gPclQmV)*I?v}P;^T>(>1kO=-#0pA=%{_j?GUSH3DSuI?(KU}eVKI)_# zv9NBupLnWbwjqNsOp05uLSk~pMXoG7sfQcvBk}(8Pb&{1O6g&ds0}toNBYk|a?y@Z z1;!&zV12Dpxm0#wedG;T8|x3(?;lX-+Of#t$G;}KSWx<-W^g!CgW){Pk3p}kVwOZM zG7gRkrlccL;0VC4Oq|hdgjPg=lE9p1a0i^SBsdA0JbO7yEw5m%TGL46^P*G!aavN9 z8|MPhE)OC2qzE-C5|Rv9Zb3!POp1Z?lsUEWNiQA}SU$ipnxkK~{Ues2!CwG(Odnog zpW-g~JN7=_zYTjk{QIW8f6SRT0xexGrx8R1b5V!{QcQA3Nyyq$;!=#!cDbBBVl@tU zS~>G5S7KOm?jxj(X7)1xU6R=kKt1Mp-YsXrIgEl2tY=B{yK24+)wP@BDCTN;73u{} zt6bkydqUvMeIxRHLh_6V5Q?RFp0vU{&S2YO%0$Jq5!jSy!Ok`DYsSQFKzmA@@C-1Q zoD{bOb7ZWL+Een<=g6`GYdfbDfD$mroigkf>@EDOu%Q&;1miQ9?HW~9-U=l_P`T(u z;(_^WK-eaNHA7fO_YxNP;%8XMi+Ra0{9jh?D?CR^ z8+mlQj>~!u+Iux5%W$W3j96~Bo(^m*7cwQFr^Di%Bw&vvj(sbL<+(=%r;jvd81S@G zsA`2I=Q`y#;^+`3qs!{fz;j7yv=8aAFzOrp`@1muKS>y|lO5Xs&lE<>ck|y~5}>6A!vU__Qt;XVBHNTvLM zrQ3Vxz%OBM$0+}pYFKj zt29kd8N&(u(oLqzZ`-GCXPq^~*ochlQn&WVDCCTZ)o>&UW(AK@WeQkV((9;=kDC}J z#lCXGd`e}_Pf-cZKypbUXka`h0n;S`&`+2iRyML3yn4UaZDjAW3&_fo$!pRDPK>c4 zdlO5?M9HwTW^kMm1J6k@Gf7JiWx-+)5>9Z(Beyh2s==D)4#z_%r?|-m@(ZrQ_jEgsO>wHd}9v$VW>aPunMR@XQKWxY4{ujkr+fxzPKN$hgmQDhTJ?*n8* ztlzuUq6&9^bn|&Bfy?mnl$z*KBkFf>ZP+Z3RqQ?4D2aI;YC8inMH_BSWzm85ibjf zyC5Nk@=>=hxd6D$VfhXt6K-)g`Tn*7+xh6 zMl7>yGaHp0cA941ORm8{APxgtky;#`+!Hcn;t`wq{L>nm)q)M{hjoON(MIzbfG#Rw z_CY-qFbw|JJ-pYId_;!*(b@PKyN= z4^$sY?`8UeyrAfj+TFTsMV^UqS<38e(pGsZk(HTNc!ppiGnG0&3z{!6Lm8)&j79s@hpSOG=LhHC>Tglf-op&sl!CZ1oA*};A07g z55wvv10q9aMqLCgLa3MPWz{kma#Nh($bpAd$!Jd>Lb_i~zWK2fQ+)Tui%FYhF!{%; zb|Obx6kn=^up;RptxAVwU4VY{)MuAx@AMLj~p4D+ZO@OH|b&K@zzy0*l9AI1njMtlAeu9>cP&x zBK^m@TBJ{b=h5M_{B+Vh;*+1||MR20CdUl|ADc6O9?U}MM(JU6zD3;V6X^^j7d??0 zAUhP@a~l0x4(4Wv-c!h49A|ZJTfVk0ZbohHyPKO&-nKXX?sgvMc4lDLb_fGh6e@@L z)$YNjT`jKPqz|iCu&-BdZc{Ukt=*3k*LSq?qg#b1sV3rtgY6_l8}WCuNH@ipm`?kI zo3@r%k%(2qf?Y}twV*eGHjM+Mg!KC&sENzPM<{K;(@I+jZR{{YJA!_!ANLG6mn64+ zNIOK=?W}=5PAZ2DRJ{-H-E;+fK1;KD@o+UutNpPe{g-z%_brxXET2Sl#~HQrHIB6} zir$9)PQbPyzs>btMbGmX1K86%9ChcJ6R2miZO7j)*W?22)O;?`-yF%=3Z)6t;e+gNiTBe#h~DFZ3Z zYJTG+|DWbGz0ooxg(<9rtG;&zv2d$gxKG)c4@cMpHzh53GzI|6O zAn8xmT3ZKptCdzcVu(&I1(}0@W0^@1XwJiF?wOUSBA^FEgM#O|SB8-w!4T0p;qVa4 zykwD^AazoQy}!X^%_&ZNU9Xm_g}X2A-|e&nxa0e>%}ud17t!i0a*`}%<&sPx zaLGiDK`VyGC~QU(!@|J2+CXtx`Shg0wqJPHf)RGT6I3DiAbc z#a*4sF$=aQ?3fKC8}0~fpU0uSLW82#oueuEBT1bDo>q8X>VXX;k8m>D&Nu_lMeU4z zP>r!US*iu|n4N5Ix->IpSbo;cU7Er>ZmyU2Zt)+} zD-4j#+}=TY>V^w2)#n=-9r80{%W!I4>%mF2ckX8@+1*%J=N_U1H{&DK*WgkcEpxo*$U8&bLI}jo@7ke zh~ogLc3B70Beou?-5l_=QZc2N9VWH*@G(|uorC3~j_(ba9jVo$`%^>B*)aQd$Y>Rp zb9a}n|5D$&xx4yfUEfU8)hlvt8e;#Y>J~?=>jHI)@{v>R_qxS> zE|UF$T-c>yM;fecd3XKhA>7tiuO6lk^Q#h^-8;rk-SPZ%6Vt8#ZC~04&o=X_-4qV2E%6J6r=U}7$+7RG3`qvzGn0;ErJ&Qs zaLsH{d6G;-DMpM3`-9Wo2ep0kkR* zela$sPj9MlmsXR1l5h_6HJRS@m`2LjbeL}Fr0FXC5<6z{$-uXzSv8II3KYwC%e#Ya z7+uQThFN+Z9EH}9J;$u=(d%w!>+8>N7WH11=l+M!w{F;RRC`xy<~YgB7)%uN zStuzz3)pdAYB(hUhsKI%G>)bqMhP90mWgHWl?QthG%ISs$P5^U5E8Qr%%OGjP4yuy zCuw%SdYJtE_18cA_48L>Pk_T!(^UT zSc-+y=2wdnB;PIjaF%BmPa96!`$i8txvK8rr4h^R@RALnQFspg7kD%x5)A#B%ybq} zh2n!e;wAM+DfED+l?Q>0Qp2VtAK+swL!ATXk_@#6=n+>5+B3lo!{TTCkPTb?Q2Vr4 z)%kky`nE}kZ<*@&!X=yq{5TxGIs7*7K3AL4O8nC_LQDkpRYy+)s;xOl5;db-!2w3B z-I$;fd*BTskqsK2Kp^K}xg>#X!8|4p(d%78AH^W@`17B?{Nwdk>BDN_uD(j|(zL#x zHT&M~$f+Cl>i24#4EiK;Io4uU)oO~5{8KXte!0eI-$Uay+6utaAcF`;I}q$!#}lC)0?AF1gFg@Nu}T_Fzdml7>f2E${5L5CPtM3 zaDcbB%QS^E4fX;D(BZ((4EE6k)Vh?utnVM*z|R+xH#jryy~7c5@cp0H%N0(+spo*` zX&EAiW9Z@n5eFr)~o#ykVSxGcrGGPRk1Y6ig7bBrI zN2@6f%v+|IcZrOfX*mp(`@$;!_D>Ak=l*+Z*0!uweVBaweYuWYhPN>D$xrjL(XVf- z`Eq@iCf_cqH2JuKe?Pe}x2R`ui&30s(CLE#gjiz;O#r@+++&4pN`O*=t&o3BjKbgM z-%%Fbu2k`VZgAZ94KzgXXFn*rS~YFN>1!cfXIJHY>a@&(T4`5LhN4T`GC zUu*1&FwfP^dV!-Vf13aEHXxzd3 zMBv%|8XvLI0?HukC1QJq^w54h!(Cg?E1Y`v0!U-~Mx=%2D`g+PUHxI%?rho18pl^J z%KO5?{qnH9$K!1C5@hMBX`McAQW7t^mv-o0&fPCJ>uEEj+TavY9>8RaG2=E8szmhY zP2<#f*f8o?F&Hkro!$JUtqN+=1SdoyD~~<~?xmKd8f`4ut9?Prr8(iBuB zz}f3tcYl{2mXlitf4yHc)B5T~tmdEt0TE`@%HWi4FCera+8%`W(&8<7=Te~DJSr(b*t3{Hx28l+k16YCS&Jix-dWB zl1olmRe1!CoO2=c^^=m5f#fDOB)UQB%s{WfESw$bfZ((SZt`WwP*JI5UX| zQGgf(OMLKdwi$~>pQ4C}zX7%YLvZ>}{CWjvDrmqcLh3neKtU#|!8k{GQQd>E^J`$> z#iwYvEOC@8FwLtkCO=`h#AJC}FIHi_`st%)$~f%Q7cD*~fBpM+-!=P&e1+d^4V(+^ z1s}Q>Th+lz3A&eq{fJCOA3$3G%^_x*xiN_-Ev@mobU7-$b9}H)aR&Bgjzz}`5$t&B zslbV;I39lJM!f#VUngiTuhQJjL%OiFX9in)H_L_R@zf~l+2QEGVS}hC*(HJxNALwE zQLD#N27aGJjc%Zxs$z zGMzmZ&2Sbeu?*8!Idi4y-w`|MM@Ci;cv|V=L5M8KvS6%oNrhgDL{Y6N*=GM zvxz%any`RU$q7r*NXHEGQUb~d<&=Sr%Hh0>DqEAZ?5V3n7n<|cv|2qhwrF*8gZ7NW zgU2l09`Lj#|3NY~EFia!k-fru)LosK!VE5u$3$5pG@+X4lrYZ?Ii z)x@wS0}gq?oX3>q;EVv%`LMRTIA`RXL#>&wRo}pa=DCA9=E8LpaitBiQ;7nZjD8+ zMIL^r>RDqW{WMP>+^oC~-jxyZ$+vJXItEt@2S!x2n#B4&NXS+B?yN>%PXqDpF&M>g z6A$;^!gpY;Xvf_)uvAkt%f4MrZqghh7HFI|20WPJ*!#G#16ODQzDGFcaOVmh_tQrR z4^UnK4Q%hmbGTfg9rM#ixa{fbwqD=d?pF1-0jGTxIvYz+1#Nu1P}UC*L~vmRn}>ah zt3V$=Tu;7*9|Z}UDZI}cvl&UHEYXE!g7x_{o?R1le#fZ3ns zv08>2R5f^mTOF>yS^H+?1@%oB2oPJ)jx==(v`~NpOL#pkZrodUf1l=`O;S}Hb_M$d z^5z!wBrcGTm({!U=}+@*@X1X;DuTMPoSFM5w8(%Z`RVh1UC#Q9UU^O9dMsDuh{OzYWd&6BL08b)&GDWllN8eXybky zGFVJNb_q=6Y6Xb;X};O#|7-GNnod96!%0i;Ei>(?uJD}O5(qp3@Vj~br|1c3C=wm7 zjf)%`?eE<)`P(pM$kj zSWB{3QW0U3WUj}K){l&!9PqSKPz{Ea7?zK@!^hZD?i?%^ts!cm?C2t@+qzauZiXe< z&+1=*$lWz|&U~Ld$cjBK;mHb9QmMNXEGGf*uo)1crA1soQ@*ik%#T9q6HEjWf`y-@~T?+H}!WP($X zrfg}j-dZ7)lbLXb;dM>3HiEspt){L@8*KznjaW|}>NUo`LFN_O0Lg+r@%h7h_wfI~ zUEfXXhdB9D^UZxR(@#TNmmPj>l&l%C;Et@pt~6jHWllVC9{9t6fnWkEqa<+KCu<&Q z4mjXxP0_fZ!%UwIGDerfodM*cUb_P0k(iM^vwA2eM4#o{b{N=takF;Uv0lBa_J%Va ze*Ao|!f7rFNe}_nA_#1m7`i@fwA4reA_4!jJVqk}CTN9$5c;=g??mm&VZ-2 z6*^iDYm%}>$5=)?2g+p|Bo-h$oOYt|tr%DqeEa_4I#1WYJXf=NezP~JpnK^89Cv!q zoUsJE%|so!c3}An?OetrKAEzM-dRI0|~rbH@1}|M%n`jGwTm?pJ6XwnK4H1)s0cg1QH53AU=q zVK_w6dVU9{bQ72JDROFq0Bs?1M?6)=ND`f-&VkYk$|VDRk7F}Ip)!R#uvZInEL$eP z=ShfT}df}KBZEmHW_Mqs%Z5iA+Z5ZD-WVL6K7ayRfCMt-B`{5 za?#2v1hK>OeaX?<(t)Sz>OC;vJYC=498bnNy6}8{m#14D@k|xyC!YEQ@{}E4@!i}BINA22i!dM-I(O?;~!refx_+YZ(i-i1$W+nN#o|Y zf4E=NKX*W+49Wd6YX<}Il${GO6fKJIQ!!l7YY3Xx7{POibCLaTMpAY}S!Y5dGuo@MugJzyz$ib$-zR(bd&1cZ>7oLPTZZm zW0cpzD$jtCDODkGL87oB^OQVrZxXuQG0OpML!1^{NS@@jcpR1sx-E8Kj&xj{J`liM z)dmhwLnIGCX`I^xn@xB?1J+oaZD(S{qK(qR1C|J;z6mkm1(4X*IYt8k@fnB!Q!|Q} zv-;;c&fSZ7>4bc848jJtdz0M0$2yHK(sX)68(7p)PqtUDwnF7~THQ{*saC(h{WHv* zD2c(AMkQ15lm}4sgdrdUf&gQj;q(qz4$lrW->0t$727rkH>P{cf|_IU;3`CxmKol&Sfda+AQUd7`vZRWk9i2g^ z7sg5&gib}Rd?FxCB@Rx+!y-6FP00LNDoJd(qPtQZZsj*M#)$NKsCJd z84!K3uBNd>VHWE~hv|i7uY2X`qhO;qv~L)oH|VY2Fk+?MrY^(_%Yg+{1pPANIm-ek z#%QWF6Frsk<`L6qz|%^UW0+aA!^P-!Eob1kq}H&3vZFQhWLqey1~!bHRS_)g<^99; z>nhw`eUaQE?u9t|uI{vjZ|cR}MXaQatGpkWEzQo;`qr(Njg#OmrA;G2(K`o6Iju9W z6bM_zDGnHi6ITbIQWCs*q$>IBS6ja}Rf-IxupQ*1gJ@@fxhRQk!0gaiUy(iM=4|$0 zLu78|R?BsC*LPT1;}(0(s=Ak+J@e)?ef7byC9a$G>UL4}*1Q|+^sO!WgFtetoP&?a z#$b5BPUq^QQA2MAJgp#DSjvZWN85*eY<}h$U@l5t8!$WM)eX}A=NmrLDYj=%yIIV? z+dr4Ee~umCn`xK~pEI4lT{KAF?|#u}ibX#}*Yvak6Q*=h-TQ9S0S+uF?8Y3^G&OqB zXUH*4B45exEu%2sHfJJ{1_;Wv1_XXplK<~%I@43so83_AX}x?@K>V)V?1_eMPb~&! zvl^DW{rSR$+j$kQL6OG!P%mbCZG-zRUgGdMF?6^emR;wn537e+>K*wiJTXFMnY9E% z!7IyE)I5u5QedDCj5~e?JgqPgCH!o^zfG5^9qc1X>>Mzc?J?DYc|>DcbsKRugO`RC z-K-Y%{XOQ@JxtRz&PZ7;H$6l4#>G5(*K-38_A`32ottnbaf@Go6E#MoId)0MMxzOI zN}X}ICYt{6b*?P)*$JtobxKFWU5c3y*dc}OZKbnHIiFuvHC7q!bwrGl5|nS!`aZ%@ zOmnxob@R!aX4wbM?8ou7^=$9mHY##IV!_=AUY5*phvWa4F^Un+644?Ai}?<|J3ba} zd?bQ*{%PewhSOoWctHUkzkDILF z(n|;RruIRY!@j!3-==lI)Y>L%x>`>D`nNaOpl7vdnA5h=!Jt?QD@>XF3Zb6-@M7{+ z3;Dq`wVP64eqGoewrP)X+e@Q(b_CYDBS`~La<-BrX+7qes!VA%mT4M+(7WRaC3&Qw z>42vd<%^J^y{iv){|Q`s4x&qP?IElkw(W_-6DzG4=xZvIbeHv5q6gt4wXjjP@crI!V?Lm6Xg}SGn6(@(Cbrv;T_~o=- z$FFMa0^j`pdgY4F*7D$q>%S%k8kwA=8U(YBXbNZ|Ewv%&=nV~#I+wsk@THy%r(}6c zsZ<)BR3T9vBItA?gA!%63{pq<`(;4TH*@#uHTFBf_LiScUO&JYH2cS^^5^7gQmlQf z&ca~SA}w#*MjMz+vnVZ{?%h01+h|p}p_Dq|p}Bwkpgg81d!l*vz!`Swms#zrHO`R&&EaYeFWalf?!9^m z>N?>;I|0px#=Zgsyq>`ldL6VXvXn4*#;u9oX)t($)s9HXC8K#9l?`}WGp}l{dNGH?aB;nSnB{uD7rQyW@ccIIwmbV^6DQif z{9K=Qw6DL%%+e($tGvdeyq-ToFw|-#nF8~GU~oQg!?9hui~%fNEjMi<;4;_4iIST0E}8z_&6#gZm{#|De%8LLCxlXOgwI(CCS3%5 zz$I*}rvX91`bdPZEXZw6DmCZ8EdjnAJWt{5Gq7AR!nX(Ks1Tp+4n5fTdHeV2ca`8b zRS7KViKtPb2X+`+1~+x9h1>qJ7iI5U8pC!3bbS(pQ4(v$GnP4lRcGN~V=k+-VLOiP z+0NMnO=Nus;Anf`3@n!ntncA!6w{p;#MZYz8;%RNZn3CCuYMFkZ%8ItShr$H@koth zO44A61`EWFW4QrOD|Ba-I#;&Wu-rcAV-u*(z;a2R+k$z_bd+2u;PFj8o!0N4qV#l! zjkv{4TJ^}w1PF52q?-oqgG+#|NP!oK!+zZMqsCRS1pO8h@em%^qT*@T)^08y+U*1Ut3{n=sh6_63)FJqQee&+r?ue>6ktb1O4;WyPPPqr zT5(g_L2d1^3x| zFrTnd0E5l2j@#^CuKjwxS{ovEwb?ITp!@etHCrzxuiDie1bvP%u?_WXZXV_J9logU zsK}&qphObmII&y_BLq5-g&--J>tS}VUsP^BO$%&eJ9Y2ppnOz&Uf=%9&*vX;Z0>FO$1@JcH8u_clm=%cST+(% z+fo!NDXXNXDG+q;YekZd4m(~eBYD7y_7c?YBq@`jb`F?}whGyU^q9v~H>P5U z6$7V7R?BcZP2n!hud9E!^>j}I>R!44Z=GzpDM16aMpI|8C%L1{nxH{3mw?*jEeXU* zFESn%-YFc+5)zL#G9|Lk$zxHbh=EH~N;PqUVH@oaFUnL=Y_{>e+q4Xs{Pp$g)dGJ1 z_{+t^{i?<@>rd;O8oOvW3*P6eJ`8PmYIm)Vr9ydn4@ZqyYqu*soNvl<$GK)KGbR$) z4;+N5VOW^oZM`GeBi-}{Jgt2Y)x(ag1C)&AsdM05lBf0n?XVR8&5c+UEBm?C{J1vqHp%nhM#w&A%Jx>W-o<|Ap&*bL{t|^ zauSq6o*qs6Kl9a%2h50pt)ve@9i9FEI5-#W-nav_Lu~ptP8B`fG)-kdQ4pRftwhQO zjx}wR4GfqP%mX;>Sjw7Uy&y0vQK0RBvL(xj&u=%OR zo>tTtioL=TAz68xU)>{!A88aa;Au^^1Y-l^XGcgG?NvMj&_zY@KB&k1p}Uc^(htoH zGrMo5X$~6k`v+8^c8qiQ@dcRZWFIsYgLYCFIP^1M&Vrh#fTZxO*926UWPB#P^aOH% zatGG7cEmexh)y0(LQuJZCgBpnbpi{VTW3{d zpja|ulXWV*jOp&K2KI?ny=*z^`;wUIra>ZN!w&`TU363W)3Okh1m@Js|2D`Ue>o|ak^GkCoM4z|<7KRg^83qP_3JNUUY&nTU zS{5iyJ#awWM=-ulE9{hxCevhscAVFb)pUYsf=jHM!rn0nJJ!I9O^75&p|dqv zQf%0z6UaMsGy)&_r^B+m{vlx{$@03by}h0^=wY;^N*_ZcM0QU51o+5KF>fOfp5qC& zQIP1V1koH-M2|xVktQ7Y06#rp$yrc?bc)%4$pjyGi=*;5JA&u|uv11mC9H(Gf7tGq z=CU-noJZK#@E7;cpokO0K^c+B2Spv@Mw(=>Z~}Qk(CBeK9}!OnsI<)o`k1G-fo2y7 zYXpy=FAGm`h`dZWO6I-g*=tFSaGWGS7}AVUDoBe^Ntu8-Ew#>B?Ee|Tn)6`XWvYZQ zFC#Ydb2!wrK(S#f%RimWsy2%sOL$VOaBf3Ffr6zsUtvf7ui%RfWbkgy8PG4-{RzY@ zkWB<|7+0v=3j#`>S57_yvcqOmz(>nJbihFRv)E(^SU5@}XkdZC_ArCGCDU-WTMokN z5(pAy2I6W}rNv}Xh#O$)K$L?HB7z9aOl1uM&yWPK$~tJ9nLsCA5n zYw#Ap$UX&PasbYMI^4Me&8Ge^;mu@})rJ9?)V7BKMPL#PQ<_08D*;NlmmraX;aPhx zLjps`6Im$id5Cndo6FUr3Qe=9>3TLV$eLEOs+qO2ayQG(WC@(z+d^J)TzVkSR5F?X zvzgV+px1H(qfo2|#t6_wizVezCODb0 zO3?`Ivox581)HWw4y7LVi3-OJN*aJ;J+H9VYLXUMWn<}X zuk{(ajk0mI=|$U^yHalL-3Z35X42`Hyp=lRd2e-eSula80_+J%pw#x+yCA|itUdv) zQ$~UVnG7}!9LS(7Fsr)_W+i`QJl}w)6`!i1=d+I+dv_l(qtidnKyyiRcL(R8wF@R; zPof5fK?Y{(e|=wttM8m&UcXt-{B-epTE+DGwtoNSHtn}pIdk8Lp0i*rMoY0iEdU>Q zVPsT1XgHaL4R9E?nXZ3{Xt7Wd*ToKg-WX^aj&%vlnz@Z@$x2+)XV7EU=3LvZvH`Z58SQ-E@(r(q9* zvgebZm!-(~&-Lwm^7)NBh#a0Jq>U`XZ$G@i zf9%A~;m0GSi?T#zRH*=s|AD1$t&Fut9uveC8)i&_^6G#9Yp85H7i8b3u zAkC1)MY>5J?kCH-43M0>$A3yMm05E0(u*b5yP2FtZ?FA3obrendq2Adqy$mmqP zGr(L@W^KVdmRYh#W`QBbhow?SH=kiAm;3uogRE9+9bb5Uct9SPW^b8P8!v&bKyLvp zG-a*@=$?*R9Lb9&2q-lZnF&W?xsY)3izo1X?q4P_er~7L z{I2EGTz#1Q6WB{;^6@ur3dS$2zCwrAXOoXhE2vKAO;^%7KeqHg8{G{4v2{+2bk*t5PvVVa_% zKddkdTgaq^!Dfdbxpe(>LcS17%B5+t2ZMZW1Vmy`U<-^ z-lxU%VN!;R-7nHr`cO3;A#Yu*>-)*ifT54}`n3LOS*6>3ZK^|LThnHCTkajBPmRD! zR}g7w!2p)Rc!J*$*%|MY&M`2W``SB-M`jiecv|xyBgL>J+Z{eeOQJKdT-2~>q3lSa z9%nGsiVbwetXw@$)pUCOe!t<=!KXVh^er}HUq0!0JLb4eCwOjlZG{g(*|rgGKkg$f z&wLOr;S5%EuuyFb5t0aPqYbGHz$*>pKl)5spjx?ip8PR3`Tm%Le-B=v3JNHkn|G1dAad>2NUrO(F`S8kUK_Wl@6zmgUahKqHS6%>XL@WNQ73k1 z@i8D9dTKuJJBf2OUE%+?XEE7L@k%yi=atC{m0%-E)2HZ?#iR(Eyfg}jPxn!1*3#*a z6XB}VXE{csgKdUiInFfeIg20hG7flJa~>IaHk-Yn+ATuH66`rpE=jO0kjJ!YdK3BK z(lGyquWs(KIqCIRZXV#h-(zyj{Oa|q*E`C6QZj-GddO#y`FUgzh7I1Zn| z&F(|F=coBk^Dpap1{z;2KZCzk4Z&ZBB`^_2IF>Kq*WIf2rgHYP*tV{8@A3fSdNFMF_k8Gr;h=ID4)>|Nh&nuhP3TMOV)i(B!h7?uqQ- zU->oVIOeTdZUOlrP?wUo5oDxK%ySTb+C=NUNu|_BYa~@}Buzp2z@k-|f+ngH@#wF` zjv7WJ{}RKEDOU5=AyyDK$!$u&r)9XpynYW?zFy-P-^t(pTFlWsP8@^I4SR0BGs^EZ zV)@;c>mFovCUEuz0dhJr(9qFSWD}7t+2#x^mt>nQm>st1ni-a$rZLQ=G6(V6{JZB++52!r&j6vlTQ^_yUM-;aD`r*yt44yp&K$vtTw_8Nv2*q->zp^URNsD z;4l2+vO>l72$d15yM$1AtRLC$Lgi7R(o@<5n?ug_;cbM<;^F>&dhP3axw=}u+v|pN zd|`xe0n0U0N~BjQWEWCa9Q#U8ny|H%+~|*t34K=d72#4~dBQfG1LT6jr2+9`!X@hL zDb`bhC?qb+kg%XQGwHb3jyr7(*UXlAzDXvc6e9-hOKy`+MtBh^mi%Z3YO~4N6892* z2C7uNl9uHwA}G1CGP5h3avTzgQ4owEys5%nT21~*Qf<)lcT*JtxT@l3lNMX>=Ziua zD5~(UhEA?w&GWmL%7AQ`418OffsRzK!fkp7B)%`ux|F$XTZ*6EFX}4*ZB}8`@hC%U z3~oE3&C#qC#y3C$XfHU3@2Gf2+XU02dqmqKi8%wF)+9RHp>tPzQ8QY)odN5jp`9+k z#{y3FO^B0%4xGSxvq(2pT3k;nf1li5`t$LHorL>iJ)N#+PjXx6<7A6!HN{8%sVAXpCds%g(BH;7rK&ot2IC19ssBr9@>J0n2haPL6kmRVV{KS zZ)ezH>bnX=eN}$NK-Y`eht(rQAq@@OQ|?J-#Cq=Gf5}>g%^h^0o9=5MW5mGG0WCC7 z(Fe}Ja?u9pEtJPZVS6UoGDVdf78UuqPVe1xo|f0|llRqLZ|2UG3#8beno8IM#V$W* zp6>f(jnhIAp|h~bNlZ2&j(E#CoGT_a!+4Ft*9V*)S@`(W5JTW1?B@__J99U5Xn2{-# zL4YTXZEVnD$QZW=l}!jMV)W5~0*M*JDuCG)f&`|fo?3m-2=mKZH@`vCdGfAWu3hQe z(JXCW(>y@HhK}3YMtSguucqt44~l^dgjJ>(9Rsz?dL_X0wm!jPds@e;$A%4`e_GQ5 zM4v6cXqaP*jnV%5Gmu=8J6a$+?9oj!6Vh@uY#i**Dd)RIN_jO))z6@$&E30q`!)Fe z*Y`7b7k5wMnqyURBYRH)w4vN77-2~08D5;yCZkUEWkMtxIki@LMx_I@QGxst)(|Nr z4q$w&xar(i+qnyr(qRoAHc*dFcQ^ycB?+v7@sPd*Aw4HL=SGQPLDgT@3lG1(OKvZq zy8q#riGqpxK(&$<6r2=|$=*9kyw{lRM9C%_g-S))pw12m$Wu(nGjLqc^HLxj>3HGC zN^#3uhkLPMs4uW1@|)ZAWgYv6ZSibr$e23MJSdh}#3ewwB`;J~(y(!=&48zsJtV{O zgFDcV&1*jc&LtV_5Y}TxqoT(Vz=1tU9o?O8(ag}B+pztmDpS(eco2Iu?f_7z{P>Kd? zGXSZWWXW(%h>gx0g|Y5LJj$P-cvD%sCxF zGjvW!jM`_#Vpf!vK}1i2Z(fD8XgV9V!1Q8C15&gSHp)PQ%fWdOvM`QXk_ec0$yf() zz;`8%b>UoKu54t62bbWb-UYspPk2m?E;p#`sX?ixZ*VqiT5&`&o(ff6jB8%95~YF^Ez_4NA9`fj~965#0b3!JRSw$W}LpAN)l&uuV@ z5SCpCpt8W~tO_b~1B$OAoM6H~a}kaNZCHvfYm+eqj}dR0eGFCxrUmE0$OBOv8jk|X zL(H6C;-rn$EyiZC$??siLd&PD_h7u`F=DpkE!zvD{0t-3*bQJ=hSR*MwkZc3ni`q& zB!w8bVb1gk-$y$240u}8NyHdCY_!H6LPm4Y8DK8z-Q9qB%t1$^_kN3l-_Ah2)ro>% zoB|@SCpFK^BxkKaMJh#0ypAmI4ZS9(=7hbk=Qnrz<-WCF^!m3P6*BrPqtajrCa)>B zZ0C+*bn}R)e=qnB5iHkF5_*J5zi^M%-U2@E-}eTqMyFi15V;-Yl^K>cJtel z0kr?0y?5Jk5(wRcg7%^HAve}EtS2Y#8i{uYma!+S^I9sxu|CPYfTs(Yzeg$Nw%v(LVteUU;L!h;k72qY+j z^_3I{>e0nWc+AwX z#5K23yC~owz&J1teOrn@k?Q1s&o=Fzoa-8lIBnPK666Kx6+BDuV0bQTD z>m9IKBgr+Oco2gfA!YQ9Tn|8(WV8cNj~I@3br&Jlnt}HP&Dq~9nwbd)F{S3izb0En z%LVaF%Se?C+ESTxCc!1=wSkX?4+-3V)YF!eM8Wq@AsEot)H%#?1ILbYA1w{hI-g_6 z2XTzWRRH;a<;&H_#rp4|if;Rl>C(Tgdy4&Wl5UGv({eGZ-X4TB4zRP0XKeUoL^|&9 zowoZ9>y!*J@YsS0p)|I4fEB#AU_(UR#Ytz%mjn|(wN%U;}Wc`OI@0dmnu#x_WL z$UEkjw}y@>a@LJK}spUa)|CD4!4ML6AVSSannVp6R>T+ zp#7)a5>4AkI0M%VNBl&`!Ed%AQ%3{OuC5T;Yd&noL^Ox2jTxzm4jk#w+RbPocOIaN zcKkVj^@tedQ75inLejP7Xnio|{}qWlN&f~YZ0NN&$3Y9gnUWcwvR6h#>}QDsk1Pw8 z44|;D%Ie{#5482O(3WQMm#3}cth7_KMOAdt8^fY^iclt;Co~XElGTCGJ=!{%QsG@S zsb;sc)d%|eS?J5Kj)v))i{2n#Lu>z>Ci5GN9W*ZBr}O!a_&T1Ah&O~3ol{vbNu<|= zx}-&xJUNQa0NM2D5tisdEqV}|C!9|o7#EB*)DVsgGPGE88)Q&GO5U(!xg-RDRhmZ^ zwUqs%c$cAqbkLm%TxwKZI*QbEtM%|D~QG>!FtoAhe|1Wn>EzpWe=Dq zoKYV*7nCylfQ}V5#|au6x43me+Xh_Txz$fy+-4HdUM1md%8FuNT*qlNHYTA7*9Yl5 z{Y7H~R%@brjP#B(TX)IYLO${+`#`y9bF2o)BYv}@D!N2na6R!&R2I+P+ussTO3W{)nTp~Nz-1)Nq; zpaN}TOi=%FyP>@j%4J;}m@vPitnvT#0*AZ5TBUN9(21HWHbM6=GM4Z9pt-0Sx`ngFcpWX^iIA2Kb9e9DkL5JoRm;2bCi!xe_F6`EJi7pM zoxDUQ(K6VPBjBtVL$MK>H(p9YSwR03yj5`GC>CVVAY~)oK#r&ElTr1s)ySjak`m6r z-!uFuMJi3Jw<#81|Nc*};h(>)cUSxtx3|wvofz40(B8vQJTzi&9l9-2r?me!zu1AW0qAc}Jw5|oT?=H~NeaLR|6O9lK^xx!u`xx8)am8aDr zy_x+6Q|ULYH`dd%Kd#4V&wjNk&=M>bSJy_`XDHX35fWdi@XC||tBl297!KL6 zhizMczp&>HKo{#o!atPZ9=NmKXx%pkJfchzh%ZkvxOZUD2t#7T%toqHa0Ja#QV*(n z5&++)ToX7#F-?HiP~b_2W|n{}zHL4W6Su6J$g}{|CZMmvu|<)KU?~SCLFhUO(nsVJ zlcLycoIVx6&+2)IO*@<0#&c~WDJ5mH(A-%CsFKu2?uD?<661qP$Q~B{cq$C9fR+Lv z0Fkst$U7k5q8{qhe6Z|-i>Vl_^D<`mDZ{DB97I%zI%;dFFj0mKEbE^N*PrHd1S!H9 zK1^14aK!{?wc$2vJ4FGb#GFuU~)X z7OO`9Zk}c_%|e+vapaZc+9>!f%cItwIYK#j!I@-dweS|mCn@`6`dPz+!Uy3&^@abw zt*Th8V;L=&BB$O{jgf<(0IH~*(KLZg3>sBAY$a-?iSem0eOWh)+H~CNJSA?kaoPh2 z&a)_Nw9Xj4pM-E~$7p9vXK954O&(TVz!_>JW3VofXm?w1^QcxCN4N#0 z1TZ-^0RBJ$zeW>JX7eLb*^%yJ7c{|34TctBJPBryMnUr`FSwGS{t&o5C1IZm%^zoz z$6_6+Mz8=W#k)JVD!u^{M*C~lOh{}2#=#I`&M-za4I(O;!9>!W2^VY*K)!I40bqD4 zU|*+cE+?JZid!73>OD~ghXJTM5#K460@cC9L`7C2u_tS*&mN|=#CzKm<+niCS)FI> ziH-HSd1Xk{W!Khh#1`ANXkZP2y3C$N;O;=VjmdBu6mYf;LANbXdnQ|dz-qMxN=WZ~ zrp5r>L&#VQv=5d`TA*7n4@^)>iD`SpmNUhM6;I>z7hhHPH}jnH&g?w=c!VpAIr!88 z03f0?10RLvU^Hla=72M|qYji+z1=fvPj~~!6HccOlnZ*pTPVkR#3xN~B0$E1L=XnV z7aS%CSfM-@g7PSJq8g+dND&l;l7i*}pBPNRL>RS>Wp1L*(dQJHj*`m+mLYqY{qAO@ zc$dmWEU;T*IeS}8-tL=JZgKm70{9xF?mM?EZowMG=jbHAnY}_+`481B71!6-HTVbD zD904F>wo|Feq5+`I0{-aC-S72mlC|?%;CMDHM$Qh>Oi!j9rdsF+@vig!Q*f)a}Ik0 zVdo;?+GM4T6O5~k%;Ajlff+juGDatZ^Z;_%miho>VGTHoS z3z}^Q#g)5#aoj%fEx9Jw>`b)wgN`~P8{5t#1#`YPRNWBG{f{6JCXY=X)m4-6v$(q7 zAMtVel?#MPPTsR|=D1KfgL~kGmkJzSqg>2^MFv)R5;&TdS+vYS8U?|?O5!fD#JP7C z&H_wmZ3B435$r)181)BsAI>(fomz0%aAZm`ck^0O{;o_5H!FUNd)^nl=P~#iO=*^9I#rQL#WlTJGUJ+MrR83KypdG z+CbT2tB$Uulu+h1@Y1EZ^ziV1*O1k(C;lmTmNVmJkRct%tQ!La}Hjy$c!7s z1oOf$0uH^Vd~+qMxEVMMzCq0sD5npSi*|`?fIOxfbEz`7ugj-2IfSEU-A8{5>wQuf zFw6;NWW=-#n;C-}ar3&GOx@z1;`2km@yq*z-?q!N#8T!o8=m1HbXJrp2YS&c9D9r1 zuQcA2ENA6>j#&sVZqp3(_vDi|v!eL7^&iE%MOk-R{2`W$RNqXb|+5LpXX7fmGA zv!I2g!Dx#CTOgcG?<=OI<^!i}F9PV6$y0{H_W^U!3W5!oEoN!g5J*M%zzm$=LMXwK zytxC(RsP}2y+*k0N6+ux090}uW81c}C0oa-3#e_O%KBNC*eA*BBnSvFO{4;MjwrCo zqoK}aFY8;7y|xXOjA`32WNnmF!kU3Wr~RFbCA=PBE=qVCFk6JzHctO;q6qBRG~GrK zQt*arXHt}jNFJmKj!2mqlNh(*FX!f!gWk7juX;|hc0kkA$sn_IQcDt~ zKUe=W;OFYXH=*pnVZD1B9-Z9V1I$Hl7q)P=sI#NnJ{8J{VKs`ga)!3u=D*kJ{VL7y z+I)HaZtsHg{A+vu=)uJMPFvjzB^k~xGfKuN>tS$UHG?3g(y6p@rgR z;RO3YxuCti0dl0x&W`=`&BTFkW~)UN9~$!rbjiaMe6>dmJA!MRz!hFj-DI*E?N(q{ zry{+dPh2@`(rU_O(aa#aE9G7vEU%%L;M)c4H=wo=x;5f(3oHALnXiRd(DG{Rc zAhM06Two|X(>)Or-K&v2CWv&jskXFHQ3pwxq~2*CoRLf>%Xrcjn;?pP zw?4(PXYzOdVofkpfc_mMOpdoUTA=hmbV-472m+Q?kADr9Pfh>pgC(Db)%abNstc83F_V)19U zs9pJo*{Yn>6}t096$+p3+}jebyTQY6?zUsy)kR#BYy9aoa+*pW8@&TEsADf>S>; z&pk63_pR4gB7ZoW*#a*kz@%Ol_cF2lS5AgBW8K!!w(Gq$eMVj}87`m|pY{m>8t$iwd7-}j5=-0<$2{aIYgoCa&6*-7pdd-TD9_nJrC92VcMrM&0 z)pY&xua6)W@N;1CDDS9K*u;oy!oZRR924}&C}wpV`DBbXDI)-HISZ4AnD)WKGY1)0 zlq+}&rmBk@YB}845y(o%M5B^4D8nPjTm^XM;89~{aiD;6=_Daf<}Uv*ouBw=rgg;H zGMzGTkqBUPNCTn>2a!i$s5&bl$S42wpOyy*DrdEmP|oHLI0vk5c(W->OV}JBreoYB zWdx0xdWMyqp3s~e3yJH%vm(G6Inq#T#wP*j9)QSz3i0T`h?)W!PT+j&{;Cqx?IQ3d}_A zeDpbos7zE5kk4>@ESa2FXNQJ)>sbD+$UvgoC~-O^ybr9TvTPm<~py^;%)7N zY^!v-UwD30tTmTwZvr*AYMw{~>cKeZNbMAqg=iTMK_rre;YgO;C2)~s>`3ioXKM2Y ztk$GaKL&#XR=>z7HY_kRPm~&X$ zCBn2dBKop!*F`N@akQMm$2YeLtNd1bmwa6hPZhRw_tfE@f`mmiLP-EIR*z1z9we@f zOl+>|LAgje$p6_v^c1_I2bv2yKYMVF@_bmk)$FF|hwT;pbROEaLHVSdMfl2X7dvta zirgxjWDqE4c`^Hhp14=vl^0X2$!yAtU%UpD()7ywLlx7XP|IL8Xf^xCSH*XW3h=P+o&*=G zx@%>B@p1hlZEAET}K{pF!tq>u6Pp<1k#9~aFMzkW0OpRjnjD9T)H-nyPo z+zJP~760ZRie~8_mv3JDdf$!etxq1XpISg0rH2(oY%x5V`gt!i@YgpKzp8-CSDmD+LSWHrjsqwh zQ`|@o=0Kt*aV_;hLVUkFK47&b+#{qNX6Ni6A4^F+pj?uY)sUyI{K#ka8y*++( zKQeYR2i&K95B%`s=XwV~N+)Lqfwe4!wbTOwo%Y6aN<)SZn8=wJCIYwcVJ#wuW{K9& zUxW2={eYb}zDofw~LkZSkf#X48?AFD+?%oaUH$}asJJ|E>BjM-hQ4A~j3 zur@rwfkuKe)U8bloKRs*V6yEUh%?2K16FGc5Jto>uGwH?EYtKsa@oXmgz=bXY*%iV zq_(#jZ|zZ6leoNpy!q!(zul{IKlt?dCGNm8$8r8`iTlozJ%nUCi@Bz>FV{F_ZYa@vftVWG)CWnva%-XmOlJIGQ$f6&7xG^}gV|k3iuW8TqASo;nW)!-l->*o9Q+%~MEU5~wa>n0C4BoWgTOK|<*^sDOaW1S$l zNSNt}FW;v}aQlEh7HPFC{#~)E?$fLujPWfZtk`1gkRQ)te8-^suZ?2V5lCwXRH?V% z#1Wx_CnTs0!U)6=i`HnXSqG!aGb6nRtk(2uf%6(>GPTe$I;`3Q(q&op0N7*J)m_>R z#J?JLE%9|)tsZaY@@lUa_@;iM^=O|-CzJ2fUx2)y6!B?wo7l6d=CJe+i)QWpvVM94#>d$=6~V=$5RFsG5vwJ4)5HYUSo-jS~ph9My%0U2erJre)b_ z$qDc|T{en3Dm2$Drxd{daghcZ&8C6&K+|o&V)fktrMmZgHz^c5(8ubf9$+q;J+TI} zMc!Qz8bT!-M&3Z0ch$q~-RdUXx&7jx;|FI+yYu2e%j|UaAOVuVdCy!p#}$qnXM`EH zx#yAGDmkbd{}!YtoK+t%mmFlj1#{%J!AYiPrA}sByN#?N`z6Q2wV~WmQxCc~6 zG&*13RbUeqp8;+XR&qB3zM}TTSS4HzJ`it2aEc@z!C^7lSdln!T0alARhr@jM{0np zYpK2{-VGy_Y#CsiaH6(Uj5B2ED4Z zB{{370`+ZL+@_+bKrMciff|7=Z?LN6dmKHr0Dk^eGm0-bGrXG3Gxd6M4$ zzVzQU3)H=eDTpJ;^W~&mJ)YQHWH_DAI4~PsJZdM3F1HyxcYCGks3`@;8#c%pb>X^ z8Fl)P0NmpSwi~3%t6jUVMzCy!&fe+#KnQ&^do%mInq^RztK}!~uT`6>@l#*Uju*aO zz6`9r8my=r=sht@_j>q`yBRW zc7i1aa8}p;oCbUxe+#- zUq#W>DMnxY`O7a~|C?WL-g6iw!j*4tCuz+~_&eVx3;`9ZcL~H>d{`G>e?$s^m=Z#M zeFD|Sb1(=PC{z^~PF0X8Nt1Ap6i5cE5~w@SaTlV@Q>4|e(sseK=F#TKF{SNU?T0T8 z37?VOSn1(tY1d^07maizl1#mH!DMfVh|+@Xr9|k8pRqG_8U3r(3sC~V4eLpNjF-`c z89g9fv@!i5u*WVzM-n|qRXH#NWbSZM?>+p&sth+xefJf7?+QU}2C=Tahu$|YkSW4W zWQq)caxYum-FDwuMi1%_R9EIs*knZ(mTE@00JkMeJ90YAfYoY`8->Eq%<>K7BdM_u zlndvU*HE^|uzNNP2*hD^gJ4CztE%`8^v>PQx1W9adPjL3&o1D|o*b^|!8x#kM(`4p zMVW3w3Q-2ZxaQ6nu!D$+0sR{$9rp_FE1d~337hMgY(%ezhU zg|rNd(l?z+6AtP4xYnXL=cDd%0;n&RjY54R)Yr*JlUTOdVrobSS6?qKgKV4`4mw zILSMzr--$DU|Ik;cGwPeb@TfE^H0Cnaof@7&*wDGPmahVaBSG;JqV}4xQL7x9A9mf zN#HLCk2h0bPQlml0#kxbj823l(eY5H1t>6(ZHm!amaSAg9ZuE;Be$7iTBqA$+!5Jp z`Y>6Q;4l|Bvbnyf{2upQe36#Zv~c?j)H+4GEVTvmn44t#o`z|~RTR%Y^Eh)hxj-LpO~K?EDrM0_8h zC!AOxIF~GO--mSMg-xr%eW&B2cL@g{Q%92)RD*lNP2>t&+OiC)Tu>(%281p3BzozI z;2yr=DVSAY_A8+j@k;nixMw+t1IhDw?Ugo_nr|!ccFR!v8DD}KTYOtiCI?#l1o3RA zYfP$HEbr4e9X@=AEm9T%mJ%41xj|<6vaJs zjHTN?P%b)OV*}=~q|sfyA{F>?!)}DDN%=M{X0w~<-j>Vj{n?!DM;GwP#Bp)Unrge? z*ih_GF5FF$>rCQL)L2W12$}{BOvMG}HBiD6IPgC4abDPf)oMj%LBbEBu6@u)C)J#X z<&xC31@nlyR7ay)uvUfcQwt4ofu$K|<^ATrSM$f!T`joQ6n5hI_~e7^ybRRh1b1U_ z`ZRUP6UmtO)C<3@;sKQEKEuA&Xlsa`aBO{`Tu_;9fE=mEL~E2?f8xP+i!>>x<;*P} zF>4?-_mOV}c$?+06au=JM8I1~1oj|_fU~_!q?1Int)8sBPs?|1vb^h(5Zc;oLx_}t zQSU&V85Inu7^-c?;`vdz1OpaplJD%mu@^_ckIi%G0q3F>lY5Z1#6*|#h$DW7^>f)K zn{DoauBH{x&bcJKQ*T}@C+{SejL*qC=?ZOgq6WqW-Y1{J&8HbqKXrA? zaeW-e51!xkpM4@vP0)H>MLdG;rfzKz*KOQXA}Mj2V)o9cESLlXNkj&|up!_IJ1}>Z z(|eMvUh2hR`?mFOw~NTM4p`F|oQ#GOlSBwSp&|q;EG4xs*?I?D4Op!91Q-y|u#nbf zE2C@1dLX$Z*)}j9Q*4)u`C(knzn*b9>|C29sl2t`OJ-S205dRe3Q~u}GG{JPK>>%c zZY1>gJuYX=PM<$6N1tmm_F-JkfdJB^t6d~DbYQQs@UU7YM=81a?3-6rDEDMe`_c1n zsN~760-)le3@&IH3D^M|j8bP@j)@1BoboC-OQXg65(Z|8OVTL9IOYU7?mZWTz-j1^ zbw#~kKD6JCgR9K&!$eKCFI@ssTZPb9(>IkvLRPA9sUG^|CT7CCGbJ4agTR2-B)G=@h z-I9U5F&D7#{UdC1n(+ARA=aA<-qxePCI=C)d%U4w{zza2W?;7>2%5F7TPT2^Cqs}9 zsfunxf z=62v@d!O69J%)cq?5usm5?zoK$6~;aF{2P$X7WgY_YwsO(!oFK%neKbYBm2TIj|Ib zi;dA2EIp81^eVRjvc)*RbT=@0Jjw7wH?R-gzkMpkP<)4|-?UJkG>t&&jW&7VG-$AbQUDJ-aggm+2$14)vzSNF#){%!~&Wz+4uv$~;DJ2`09k4~mXtS>el#8ma2FMowieFT9 z@lVKc^suG6YNl&cR}(?pmKszzUj3f3LCUFKrbSyB*xv9gLeN=JrW_bmMrF^kmNaT| zpqy^gECC)rLA~;C>p$xJS?mM!Lo?m1&Y%4R_r^|TkLuvgpZC19SGG*VN^5o`r?A>h^1$VrXUPFO5Sp; zQYFA%A!MfEOjzXd-&a`P*Wp-?Kup^_0prDD zErz6;=fr)A-l)h~!0D<&b(kk-nq3Z9ttLfShYY(dU!!HTanb|GC7G}W@t6U-+SnM7 z?Zc{j?yw5}{mnbKh-ojI?C|4D2=x>7W5>V0A<|DL>HVwDR((u^9WTJgz$+(a0%w49 zP^ytcLm3?@&j+lA?^(iD8pQ$5Up~8SKStH3=?9p&iFu1^04Ry?3*# ziJPx#W8yaj0K9lC9;Ua+y9bc954mtZy7zBpzbSqMgkovfd{yLs`Ok~yRcstkU^@96 zs2KNJuUNaNA^D_bAQ7OEQiaH@P+oGQqa}f4mpC?)=Fft6n(h{9k&3Sp=;j5^kd5%4 zPiM*D)=`Oo2gnkMmKcDsK06}Y<(OL(a) zQaMZ0;>!~D>2C4$-_<=bidhAksoXwUW>^3)wS4z4|JU8by9FZa3s_|e4)h|n-<&Lq zSq&bh4U}mCUjdu{tNIyW@~2eZ?qPDL*Xj>$R{K_8^UfIedc>);<8wJ0bUhsjA%R-Y zA~_oBfg02+*-<`c&$!nER%=>(DaM8go((oeN5^^~xuo1_U_25#MzotXYYEQ%u!P6? zG;73E!LU!0Ja$oRA*14O`yh&an7(rl8j!OZ7*%kxMhPnu=j zTrlTh4^v~LcB?(=rZ&8FG8@jF&nKNMX0WS4GB}5fIcq2|CeJz{H4rE0IMqI2we{_{ zP{Sh7Yp};MSPvYRWH5yAn7!1cVpmVijsyxhaq+UKs#UDs&8}AKtdnh?WDQ7(4aHs@ zx^F@jS(?}FiTcp`(f==BHD7CdQT1C9=haom|XRX$C*!)Ni}`SwOb!N7w%8D zh4hFBEbWQ_fp;ngwqeF=qsjfvT{TU9k=|XQYxw{c!H!Z+zw&&$kew_SB-qee<>Y

jy06Q8!TnRsrDWlgXbtyQrTz|lQ2Ogqb!&NGAgRPAjgHujW-TP z%DSHxm|0){;ZMaY06EoNcW{^R>NjuQtax25z@9nir+fx=+twJ(JL4|7hwr?dxNf9P zHfxW4(J7dmECm*o1)ZOTr|nUWnw-h88n9ZukQBXR+1C9ww&)n0x84KFMf+{6p=_~Q z=Uw05)Z`!j2|uB;PfY$nnk~Cig#~lk21gX3uzP0(rvb}og2s%i=*B7S0jt%t#F!l> zzV{#>OG`bVT#}YHP_}4Ev}@mu(ZeVS{5&jko!uL8AVfm1srk~D&a?#=54Uoqt&pSpVah$v` zOsG^-7u~zrO*NY?zsF*j`PU0KzuT{MKlR4*MkkA20uLU+L&37PtsQ4B+spO3zKTuGd`(*?K-D|+kru!y^V}@OnP9s zBqeU3Y>{Gnz{H2nE`QgZU4TJP-l~Q`Sjr0gU#=WD#DW=?gUZ$gtCHlxWMxtv!hcd{ zm!`{T+%z6W9RGYxT}Eu~`AuCk(I1++3~cIRMO(=Hb)(Ds_Vb6}@^gdB{P;?6U~u`+ zouE&NHh%~$_k@a za{|!=23xYqz!w93dH*;`xQ**sLO|Dp5sLay%hlt*FRIz(vA{%oco4t>D}tL9i-%d^ zR)s58Wqlv?J6NUo2A0`3;JR_QHQ(^*DBEqs_FFt|>Sh8|NR?Q!8i)gyNDjYitgA;; z9NTX8G=~jXttK=r`|X#t^|r>wXm6tjl8c&dHH^m$*5MqYA|E*Qd^%5yJ2$=gi<{NC zwVPPc!N(Vfql*)9^yA;(P^Y^u7oBy7*?Fw5^pPjwGD}htX1wP%>*$gnnbtO7wb}^) z^LSXia|`#_{P!L}E*kKvVQkS+*8p0|wHg>@aI^IIa9`e_S%39;HCv_kt5?Y_!d}0a zb1&_P>R;E!!9%9m|osZs>-c8Hp5<77(=P5J; zWZt?3>e-@N-C;UmIja_%F-bUd=Ql<3#qZsH!mizQGsEPTkEqM*rruROB+m$8JG zALgLqL-l~IzTt6t4>tAoS9fc=0+C+c&TuZ{sw&`DY|6)7y z<=gN@HFJ}A(Ep*Dg*0Dj`RJy; zy!mtW=PU3)ufBdLW7_isPCUPWusPZKUqkr)j4?f?xWEA?f+g=5-~p3T;>&+Zi}I&xcKwHX494e}BNJ8)JFg|gzeAa_ z0Qv*!sKw5tf(P(4VO31gOfhSAe?5P^E(&If=AVUM;8=4U;J8T3hsg@twfz1eR&UGj zaFB^}64@JG-F<5epN>FSdnQM=o;#XB+$ociQ_^K0oEAWaUWInEBhAi?V;ZnpO`p;l zI*d>EF*24%`=GfbkM7_+=1=tt4KaTrTb}IJk_}B z;R-E#B|P&AtSO(t7;r9usSWf+ONYs}?}; zGf?c!OZ%L3ZlZbpY!m~H*jl?=82F?qawUMIEaNhoL|wuH$fPXKqJx3XbqniXZQZU# z4ZA$qAY-&e+ylrZd8dK#h;JzEsOzN0s@}2A>po#_3YOD!j#KbrwVLAu)CgFAoa`9r z%sbEJBypy?Q&1DMO)>C9lk!X|fism1SXo+Go4k%-R#>d|_JVRAxB_l6*eu6@Ef$DP zMtjMD!<2I@0FrCS zcx=R`+g-ow88F&&>9`IlMgxCS5~Pb4pyN7}6hBkBIbgM>lda*yLKBB58Ov#X;9NG8 zyo2MD(91bKXjPjPJAOyEE6K@T{5mPQ%uRs@QY=H8z%q#zw`I^;g zld|60K0BSo$cCLZ-y6e9Blgo_?|H^l$W&&ZGUEovQVN>j+sU{fJ6P#Vcd-GhHLS#j z7D4auG2Yrc56dO_XanUj52>~<#^FOYZ0wpZt9N9QZ{~{%-Tw5jWY=WJJ>8H0nv4T- zIT{wgqjFhOrBgP75Mmeshl55cv`WO7`hqi?s6DX(JPslO-`e?<43Rz|g$A8HP=S!G z+J=RDhp`g)*EhGIqyE!_zpvizv(YK6Y&dBBd=v+b*jPJG9=uj0bL>7Pg#fQJW+5d> zP6Cxl-@!p=l4S<0R+oSCq4zC2bc~La_keQIN})BBEe7JhXbkimGcaYHjs_4!oY7GV zVi^U~EE}n$$RR6DlHf?1JVqy#c2Q*oJ`j)^i0l}Yz$xp=Bn{G0^);;w!8Xv(16*ko~ z=RG)t+6eAK;5M6-Ro1}EmV+~u@a~0ca1Z&*JwUJ1!wXDRMGC;1hJ$1OxM*^4im%fY zwK7IBU#(Jhv*HW440q|i?k(X|mePQ2WfLaaC+k0t?qCit2D(Fqx5mHteOsP<*IY7ToZ36dLH-2>Gtho|$p&13+feElRsRc(|SP`UPS~5f7++wmy zQSc$SkcJyYpM?qZxmmSnpr0SxC@3nx z7u2u&s2ZhQk88AcjrC}7Q9G^;(iX^U&H-hZu?gmhw=pLfO%513(FB8H*-ODA3rsPk zVt~DKC#VpCc;>VUPQLsp&6e{L6o%&$8Xb;UToX28Mcg`_m!VJq%+f@19fU&gr%jC*UZj-Om^)~77Cti4d z8E*%-Z*t;}Vd<;m-2i#jU(oxZn){G`Oh--cFO%bVc{=KZsgIUEWI;YH3zC|ybP3Ga z9TxOhPRnq&xLH0<=X>2I4nDm=knp${`rdc~moZ_TW-9~Z=z?iQNXQ0MUhs|?V~sKB z4|=AB1FVAY%yEK^37$IwdMhiQxCs`J5tR-HK|*R7{{+0#CVy$QNKLxq6)yPs-2zyNt>IQ~XQjBv!(+DQ^LQBt=ar=sWkea^O97iz)J zFirnzwfY9Deb`K!EiOiLOb;X%<(LM@7Qb}$)%q~c@n6k6$8*vqgTNLx6YyAUlv#l% z6IJpItZc)TbROp&N>PUp{?6w)j@aq5=Q(O|CVS+=JjY`J)E<%z<^$;+q`USU%GKP> zZoVofaPU{Zt@G>m+=i~F&utVX+FhR4G<*V>?M?G)QLXT|4okaPS5+QPK#rMug}wKs z(1r_e^oWff2PdEF6xI9H^~8BlzXSV6ZonR0g4YAdMK6RKAdiTPcli~RW3tk)+aR>10fn5hAxZDx3tXqep;50&5S~+4#8kM+$}J1nohtyXSUlG*Nix)_N*7M-E)kFX37ap1r5p*Z1$0Z zRxyXRu94)-te5`PYEuckhJnLR_c1b79P~kR(UjmVoJSHt@UBa70Oz_rv8Fot?(+tu)rKOc-P}HC*b%64y+D}+)!0qE zC!t(~`J`Iq^8Fd1;*~d1W@(ZVF#r(Q=m!Kjc9l>mZqp;c`|iDbU$+*35 zw88im&SN4`mzt#gRW+GZ@1At{$Bq_k|{=FE!Ny8x({W zjTr<6nnBkd;lbRVPbiKi*q~zFmVA#);G;V?n=in}nN*#P$t`w5;EYi))Oaw=N}n?K zJUQtDW%dls^?r3Tod-{25Y4rq9Z7e65M7e)4q-i_J$ckm<>&7CCfdzVK8(UWUElCw z6z&oEs!PqddouZ+Fv9m*7Md;jzSwgIe{_%2aO>VK(!i#KrqjoB&VUeB!ubrsBw!@p zf-0j*lHARmwz`LBxkvg+NkXwDY9^lorf{LBBjLDoLM4#WF~Y1?m) zV&4&XYnLl>yqk93D;bSQNl2Cx*nuP^8>#LnSJY<;;0LU>jt%I6x3!(98LfwUz`7(S zcL3bt>8=i##_C>?wjL2)P18c%Gz|lbT zJl2JCRsBs^DYzwgd*2iw4IU=7fOs>T)=dwAcbAxB_}}6M?)U$&T)MY#*wvfa7hnGV z^{4+JL{WUiMI%x^E(loYb@ju?Aa~YX8so3u)VIIir?(}}#VFQj#$Jiv{_#tIyP6a= z&*7C)UEB6%1`mGt_M5N2|Mc}YfBeHgNWz;nfHtm{Z)aC!{G?b@@XOmwP1MnY_`hqZzp8zpjz#;tvs} z@$c|K@y`$Y22Ce6HnhEYIL>bzzNxlp1BQ{I|e|Sb0sqU ztJORMEW?K}%^pHVTQ@zxT#|3LU>>uMyi~f(*Emji`V?-U$KK+n61rfx)k|Z+y?m@&T*W1a3et52MTd z{fsBf^Uz$>?B2q8Oqm_kTNoptYM7_`k7@PAqADZ)<#%Z@OOqcwmXqwct*2iZamx$F zCDjo-k24Pf*G3Uta7=jRq-J)LM#6EhK%dcDn^YU9o)U}df#rfm)fUQ;W)(f@+Z*t` zV@yH%92szKro{6QRY)q@4EqsaRV0rHg-ycaoM;NdXr+?3+&LWy=RAZAoyYn*1=ke_WO~-!0r@T8KYai@iZKT@Rn{znxZMK=p!3$FtxGueS}W+oTGa z9CO&P2D_etqm1XoFzs8rM6*hP%9t~F&Q41sF#!}j=&TV%2Lb8`e|;<(E%pKnYp2z$ z_^PTMuRWF3jgyVCT0b4-!;RTkEAGL4&|Yipqlw8!a8Hf5fwByuLXy~_oz4w{?O&}H zb%xey@&g!WhmX;rj~-Yq$vYb;TkO+rkY#o7 zb57Qv6Xyv|7B(s;yj70bC+7%!oI-S3bC9h%f(@L!7hYs7-#o|F|0FUXYIRB~gtqFe++Z+CESZ5z2qwhm|pt&UT?BG0RAN%(> zq)>jsP7Wz_f&`YWqu{+qVn`raWDwMtp^*XEj&Yu(!W6Wp4k>(C6^k@U*jRyG(`%0L ziJx<<;D{|=V6341FjjEPSV2v?67`v(124Un^Sj5{`bYH_CRvcm}moJ zi?7<6N@+_68hZI%n*Ed}^}iO)xo>==<0ltjsgrF+h{=&#Ed!>xL=G04f`1vBg9fKl zlgO+N-lOQ&F?g_=cp%(HDFaya5?c$UsFO~?C2%|f6XfNz`l*~u+?uIA$6N5?HEiI^ z#iGLgKn3om$Yq+u;@w@E70U+?{!=|xd!xs40=E}zgzMt7hucDNqKL-c`(G`9L;qYO z=)l2hV{_|WHIKSDZm+v`7uyX-P1{Zc;*`W`PpD1;m=iRl_LSAb3vE{hkUdlSF<>=( z&uBKV4fPHuqm9HKP%i3Wt)V<-Jkb%L;DVUmnKA3e16Q}HT&`}uqdT74`|SDL#!t3k zv;k{mG;va99x@A-2S6VXmQpk^89{VWukb(<2zMgEZKR;byw!?{z!-H3FM)6t1j&+e zZx0mM>pFn|@jwp0`<+|XMY^jMW_ZK4aLjx)TPIxmiJRRof&Jd&Fq2hr1+Uyb)WopH zLfuwggX_#lw8jbn@a60Yn0QurfyOBbUVthBqvq+Lmb3ffn_s<6Yfx^}3{$Z``t^13 zO|hz<;?(<83yleu7-NzLN)PySF`pIqHoSW0U2{UuNJN#1^l)Cff?q@7v;2=RjZ=F^z7?>T2E&*w=K!y zBGWVqtk&RQ$be8%(FtmD3WRCbPTV%+j6xr^2i$>?X`Tv$L|=0sR$r1ZoCab*LP zr$LG{Whsw!qK6cLJMJ~OmVe=I(KT-||uSyct{ zAi1XE8d>Cb4~x|%K^G*736W;vs7qY(K$!!Z&G_U3UJ{B#Jyydi^<-%9;t&{pR=qLo1vE0|gNuLDKauIIc)qM?D zjSB&|dYJ$FVu}L!b~*W>7FTl?uLDZ13Zyoi9a=b((zn6ol0+9Q2#a6@v4JWkDX5d+ zaQZJEvEYi({V zDFrxSvhGp;B*50Sz;M2`H?{%g--ESS_nKVQkhbBHT7lDTqcRzITZ3ut1;-JEK3SSM z6G>A;lzJ*$(;8bfH~&y`^Y#3(sOu)DRV?B22I#c7UfvZA9khYe4rnf5oEj8?l{|Ye z1dLZKJ4xY;0fUO>`kwh|Y=MB)#|J_Ylt44;?B5&#veR-WWY|XEZ5|I$czUPshVQXG z&_xCe*OC;SRnn*+84a1lY*`9|wi{&vC!87R(!W}h*<*lS1}VHfgp5wQ?E&VJ8gC0` zOXYP8bRj@ey(7(cgRHKqMY@6i?Nr^trz5g=q5%07z%t5&cr3%Qh7fB_0!bp6PMe6h zWQz5vd&H-QBfX*sWE&4j}5s^tnNTrFnDv!(W^Ya@i_ zyO&4BsfQz_9Y|AIMw|rZt)!l(gMwNXrstjSkYE3DwvIA494}c%5;d-FCXgAv} zoJWLZI=Tv2O9lpNmsKd;1V=jU{dMmOr1SCfy*hC`d0-c^1#zuBmK&=7h_LN4g4I>}|ZQx4!6fJhM5ifV3@68y0^8!$S)zgtwfoYWHj>xH{>)8chndPDA{hO*lowB4fyq)4;u4}YFfkp z236dmc$Mn7^b+33H1w1Ea0#On(RoQcHwv5ZFybkix;f#1yp$*$41d->UZV$8$FSZd zP_?rf_}0GAMRG+A{rW7%>}Bs7>jdF%hg=}aZtsNb(!rBz65OuoH{a>t;fQKUO5wnX zR9tu$trb+-gtf$=v8_Q@uHBKvkTYqu16FHt-!vO`nYE9Qv4XM>n2S!(*ur@%C`DTX zGpYI;hweK1!rvyqOg~;#?qRi8BiZrn0y6TX`OA%QQaGL?(@I2-*r*VetfYoY4 zmVq-qjFt|eAA38|1I}efUTy(Bq9@Bbs<5cSB8XAR*}D|mqr~jJtk&lW=aWUXfI`rA zR9Ka>*P39_tl?f``_M>4&e3x(X>9`h3`yC0>Bi4U$R4w)XD4JEdge~=Lqhfu%XAeD z2~PMx|F4WQS1yRX`Tox--G5ci;(oSH_v7cYk0d8;8y(Q4;-FqLtS<+Lpfee{K#FWxPtH1H}Z>eUghNY)omq4 zvG_f#^uR?pu{YcEVlzI>n(4p5X5tOY)Om0w!GPn2c?A|wb~0u3mqT?)bSz3|ZVP(M zR)aPw@Dlo+L3=wgIQOQ5nu{JmTRI!!)Vv}Gwvx7=G~KTzZVs|{^WIH-eG+eO$B#$$ z3hpXZ{#jiqa1mkJ+;ugn*|4sg#>YvxcUW__u2HC&Mj4CQ04<3boPew5bQD=-?+CbW z)Kg4d&q?L@(WcrJ_YypQ@bjGy&N7m;ku-aOcR(@66yQHOF`DQ(^Qimh@Hs71=bNcH zbAQ3ZQ#Z~Nb4kwJ(Rs|7vaR782O;lwljY)k;fwOBuuCT z|35k9h11%GDtUtn7d}JbywgVr*+hA1ki_sF3#ipx8aaUFq*i{q|zf<4wTdFV>k~mGU(K`Z=S~x^( z)SeL@86~j33bNz5BvpB86-~=k75UpE1AmuU9z0Xv-B}Tx;lx=5r1Seey6_ z%Mo}6+Ox-OwVq);F~s&aWbk!D2Qe4bGg~?vdZuYmYR+V5YrtB~gmJk7E6Ls5t@bX= z4?Z1oVQv-Cp7`vrq5**{Bj#Ir4QFyDY?G0XmuS82%Qtj9CEn6O$_4Msw^RH!TN>C%33e8-^02_RrN9UqRBAEKNSYw1qCYzM>0nAm-q7o_a zmm4bAZs|AEQH8}^TLE~3vPpKImdjK@Cl~aZZ9cvJW%^0DOY`|-F&l;Z&E3TM+u#N( z=bhug{7RUll?sFgCpCD)GDuE6f=xwKWUt&D9N?d?i|-$?UDclEI^xBx&RR~|v{hYk ze+4wQ80`Z#umw>zGe#-+WHRfN@G>Av1A=Brh&ngnG7LKtg6uI{Wf}<3{rv*_^?nRC z*E{IAsIpo%0DG)%2J=6tslRbG)mQBQ4b{{I70k(qz<_06Lb;ra2z*d3wQ}LDNIZ=8 zL*ki_(-<7Nn^7Dew_0fqJ--1ch}4NzX8Qy@yG?9TObVN*wlYd$BE_(qV2KBbGPr3I z%eYkieDd{PJcU0xNVz0`Y^Xfs5lLiAJ{RM}bY7>|JQCf*DE@Kfrpwg?6vTY8U&!A! zcma?6WGO|?PR7Jlk}0MfD2qu@CwR8h5`q0fBP?1}Rs2p!DTR~ZUotPj_(4BYC+@i5 zJi+n>IHUBi9O`p~EW(}_z>bS``gm}7S%!=L99LWXxVm)*RgdjEv{ADAqixzY?*C+) z((S+GrVnauFp?SXlcriDx<=xWQmG^7LA6vVu`}6{J!Y$zOTsbHuXoPT-VF9bI|#a@ zbRCd-Bx1DfZi5-ZM8E6h@5}hAhC7>$-4X*Fzs_8^M=F2Cme0S=?#k(&`PcLL0fu1^ zRDok4EfZP8F)y?SVNuZ-g+ZpxtHoM}&W;e3Ww<5r39q$_mz+#eKzzKi}E*wuG4;qRw8?#iJ+GsNIkuYv#PS}i-DlXvE(Bwcx z%}ZF$W0m4vxas0;nir!*RWw;=fV=UhMOeMZ+_YFuKVH_AnXXtmU#zC%GTaw0KF8KP zpHd0v1Pg*Gsu*#^6KY+?gy=U*O1aqAf4$jv+n2PS zqD2{kZ~a)dDZ&1m+JrXI6icM3XM!^XLh*`w*lZ9!TS*-(5fg_?xIQQI$7&5a*M$(N5e|MACv98Jr;K>yLevombe3vwLh z--L}DH0;{vhWlH$Sfu5$jjtpe#u<^_V-z7;a5TVs&5?$P2qAjy1@+Cd=`mXcnWKcI zT^A{v{((g8D-3I>V^%uYUYR6s&pZ*zn>*&|F zDZ2?6ZroZ|o)`sB8Z;f}DtK_HLr94QgF4QDqdknNddyZ`9E(m6qIGKRj_|>k=I1H7 zXkzV}%41fNZ3s+Yt9G^-u372*>U|nN%x-3Ew)(YP{L$_BsX6pqCkS}zWc11E6fBth zDo3MZ)`TkWW8iRbr$EtHP(sqGosxD*cqPG3)>>(rL!310dF zTmHe1{72lf;-4@qw`WSU?eRux)?I5!^A8BL)^(!m|AstPBY9&x4T%3jO;uzr`}&NeQaEzCJ8IUas!nuNCLV z@JzMbgYt;uec5%XtOo`u;sHx++C-LNA_mnqWpD!}i_CeF0_btWoN003__?ct?%C>4 zhcULFp}n^ugUzB2VlLbKa!uxu0I?PXJ!!R6{eUTP+TV@FG*;(yiFTwrH5;oS`gdHP@!rVkF~q|zdJSF&(QqgP@R2F#)dY+Hr-RcDEEY_yj5awN z!8xMQNvF66YXy#M@S~_i%*ZI=ECJ)|(!{dt^$c)ju2=CQC1gs{-d4*;A;6u;mqv-V^B<1N#A}k8mn@3SR%y$^Jc1i6D=~+vM3bIYG)!)Q{fdE__;l+(XuPn2ZBf z*DRrhQ#(dQ!5<;Yc+d@*VJ9p?h@>Hr7Fj>jP@~6eHG&7&wf#Kyy$uqVCQLTEf+Bn z2mVKJ2DVr!mUwp6m5flCI)c|?mN}L&(>^#3o(g3MUE+xHk|)An&R3(lrN#z~apI<< zTmeOtMTPu2E`u8vel#uOeDqL7Qy1m*)1v-D;a4M25Nnh|_)fjJ;>Y?T?WYYMGn}%! z3%~Skw5U>MaQ_bQnp(DcBbL>(Lyq48+tmo*6j&^16f!0CK zMT;o+Nj;V%-kw28J1_5RQCiN+*$nn$`8ZBD)fMLA3YIwo%Wtnb`Rr5A7cX`a>D*LZSS!`=hlF= zH_xpsnd7h-m?nwcs5whSBX}yynfsP(WpO5K(qpz7?UZ+RpyZ?VsrvQ=%SkCqdL4J;T~@EV?wF47=0<`QPGEJ5C|r}QC?_5En}$!{tt`(3q~ z>lwTQWPopB#f#!=ME#8J@$h78-J;#uRu2y|2>Y+I@nLKzmxaGrrGVs@DuGkEtfsf)?^+FlxfSB5k{JRiKuV01LX_4#XB5x`_QsgKl=fG2&bc z?C#mByE6$?^#kJAZpZK>;q#>(_>b5~Nq%Uq#kabYur1 z7tHLgNgR~beNGLj;CSFxduoD@o_NqINoMSYo)`re&IOm5#8;P7R+1)0z?RYiqnX}T zt#_o#Q7UbSz+U#^rMv&*wmTQ*Vq=cgtbWbKa{ZbsG*NV2L%CcQ-(MG>t;XZkq>2Q` ztYXw)-GYNjsftkXwr>)ZZHdBQanXS^&>E99h_oN8zonBHU9r3m6!XH25}yNuDXn z?lD`X#t?SCA1K*wKZYuUE?O>XFs-RPQsII$y?;&>>xoJ2N99{G&Nm>mlLXemYEfU8 ztd)2B@CA&e)3qnWQlbntgp&!}D+w+zxb)l+jyazKJo$_r^YCsco2Wgpfze2$aX~wu zk|EM3(8-u@;1y-!Fp=oI_yEbN9Ab%u*;2U%D9O>L2yr7ufY|QA5~# za|@#QA6NeVut(>q9o%M0*W-iCr2(7JOqU2=D*_5gCv2Gm#t>*#DJyu%AZ1IzoII0i z)MK_P{hG_3eL8pBF*sSGgOrQrU$3cb2wT(JmxNQ@FVePHmhgK^L^#K4$vr>+Xy5`# zpA8Ayc+(9Uwzn!S!&bRzYcwe{&Kz-InHm$6^}=HZVh%ouGfdinnV&sotGJ38+b^1Q zK>JX>>LBK#Hz8X(k2#ArGy9bWe(#sT2ERJSoXA8Ozxf7!Vzggu**f}sC4Q!740SXa zg;@#QYaYSP(+Ydf2lxv@)9VUC619i5kq{rEwn}A_r~(ZbHCPuaSt5dBG0PC5Z)xK- zDd(y99JDt!WlW3Z;?rUSH#td_mzyw$zp8!y2x|hs4k}*Xx%<)l{iB;6s__#$xW$>+ z8*WqO5y+^IiAD^!|6Vkujt~-nBV!~AY)D10QE{*d4g{D^wWPkuGwA?5W~gZG#;P`A0q=ETUJ z#UR@adIBePQFG}G{+iAP8@2U6)1o^du`UQ1KZZ01wR7_t_;iwf{%*%TEo0Bu-{N#G zG9?K;niQQjGH@>x6`B~9m~{k{wDpGPh-R)2o;h&T1NgQ{D-M=m^2#Tltue}geI}R# zd;C~`SE!6Dl1APa7`~XHt@tvFa=r(;AzjeTg#TVDbtL0(FR_ktUwDopykkvh4 z)lJ}SDrBI#zGcLAGl{|?v(+IWu1-sWzdDno*<-dUNGT-i%v`FaYkx-uOIHUqmz1s@ zok!9o+i-#?SGqGzW^H>%JCid@F)DNpLAD6GKVZYYG~TMjyuIQw$SW48 zy7EEjD@hr{Ms-?6u{EE*S$vlki%))oF7PBxJjh;NO_3psPtw%+s{P(W3fHg8`SKG# zn#NE5E{xq`fm`~RVFPT!R=(zxJ-{Ts_)dre>j`Puh7i}|ZTfXJTP$HwldFo5kD3Xx172A}&obsz z)<%m2DgnM4L{{4Bq`fwonwDgEb>{N5$843JWwu{&`QEk+RkB^ATr`xpA+w=lo9VGI z&@;HRtC>w4 zRw1r+&%EL7-aJKHb&zvW4%!iV#6n87^?3yr>RC7KN4GOLpYLuy2R9gg`^WJLe)8(| z_pkSFKu$jMeCx2mKzo<9#w9PLQC6q~i&en~uy?_|wRnyzsx=Fyss@#j8_jd#G0G^c zV?<@^vu7Ecu?*iUSbY5Yi!X{--@X3fV=zxDeTMenk3Znu z_!=y5p2DbHEh=+Mc%uXuPuc|+y~TcT0eFDqY@CmpQ%n$6RcXo7>G~>7@#Yh3s-M1i z_4)T-)TKPLGBPxls>|dS(lVn#DrrTe&RfoG3>o`tQ6h+zQQJsaWR=15bkaUgz=-oy zzyO$ci*`zgw#2$bum`pVJIitFIOky0JFxI^Oj&2Oc@`ygtD_y!sE{ z)yUqPS9*;W;5`Rtq5KMF#wzM7Y-8Qbalw!sT1`I9I}477XJ3YO**XPH|PGf&y( zqzIEta7nBp0!=)XO%Bvi2lkqQm!L%COt`=qm5Or-Zmg6x9A?|r=`R>XD;IY!tLiQ6 z$Wo2&$x-{BYy=2L2ZhlFtg2b-Y-kolfPo6eDd8q?1UMkrDp6(@Tl&}ObG6Rhv(-ou zROx=nwd>6oDmh(*TvBo>5|5>(1;PI>VkkYs);`W_TmNhuMO$lo>24dB8|0dt>xT6~ z;U2P%CQXG4N{4l(d(@mWS~wRLH`Cc3!qwhq7tpRJFQFsoh9I0YOmn4j^pV4ntu-eO zd)#qFVLx@k(iI{Y?5?CNI}T5Q9Z59_nLDRwQciJ`jo^a49KBy$SN7*;<8qM}#aCZn zNui6^voRPgi!?!7XEeopYxvj9p%GiGmLnKNf3IHnzUn>Lo{h#`KQ;_sqW4-GI#+YY zJQL9YV_7gav!RJl;5ssL%d=Vh+}Ws1mMUsNOtixL z^1rwoxQM-<5Ex{SIDPTI|vh4+>d>i`aNLl1#mH z!DMfVh|+p29SU|o5MR#H^sENyFFcvKql-W>5{tSh}ecsX>+cH;XR$} zT$bL={p$Vu8${MEFju}{iw#gAV{h8nQ;=7prw0?`0uVxj_j6qr=1Y2q?xMq94F%^5qr$877mV`KZpMh^F6 z@SS7_J(tvi`;;E5K-+8wA(b?p24$@Q@%*_h!3&&X=JC-#cdGFGW6yPpLGDjF#WG=) z5K3TfO-BGLKuASOqXRNrCGQG!abq$Fj{Zg)X+c8wYx=6VwV#b=vL*dfWw)iZ-yHxeF zFTP64<>SpvUS$`OFU$L#L^X$=FGXk2t}{){a2COT&0ZVfrJ~B>VdXT#2DYHb0<8k~ z!ZWWTWj-h2ol82p$RnW$>f*EVB*EJd;^o|}B3Rdp>niWH#=G7CU9T~&F;8~0LF>(_ zlD;0NF)c=m{pHtDsLjaLR#bj2=L@`J`)U1a`y$!4y&EyC#s&%DfIVtfjKXo4ss`&` zfhQ)TL6ow@FhSSy+$Mx)fTMcMR%LmqZoKGP2sfKCR0O*SxugizG#&|{Ch|g9zfTS1 z>n7UodiJ01>bt70;)FHBoqpZ07qHqOLylmZQ|hCQ61dKSt^-B4iQp?rO;6OzAKsPI z(US^D(LBu$6i2#?gcdXK|rIb#@IwO$WcUt zB5KoKM1yJmKMhikPtj!k!=E1%*_NqU6S#zFY&_VDr|U4ttLP>-%gO59Rd`rjVTSYQ zA?*b$&OUVk^Wr4rofIw+YqYmCD)5VJfGsBA1W}irA(AKt=4@4bZF7V-k+}~vc`$Dy z<-$p!O_G*@wHJ&P*gh5>eO->-e6+x#_SdWF53jL>(R37Qlna#-wJ!O@1Ne=I6GC|g zpW9NE1ennR-0z&Ko-6}?5_W7fS^EI>PwlLYqup(U1aV}LZ#`fMEg0+6NX{KLn(~n+ zLBRD%Dan`#&7#fVI0Kf~W45&xW}T>3`$5L_mJH55=pg6v0mh2ZW0B=8Nb6eCo;^C; zWHc$4<;^V3$5(kYpSa~7s#ojivs24KMvsy5Hr2xI)ND8yJ|5l9N3G#(4gNC`Ttu*i zG1RLm{K2%btU|-j`zJzoUU`q%YEV?uvz6yQ=|eBYI%v5hpKZxJ<}%$@gvqGnJ+sPJ z{_(1uryKa+j=c^(9fDdVD7x9O4TN|`M6zIWSi~62MlhW=2exF2^+K)M5b}h#(?!b# z1J+wA2ZpN~(zbKB74ZSf z$}&o?U>(>$BqeXW3S8t+*<&qz{p^`ExgN8vL%}_>5>dg`DC&-!e}EkqguK3J_*;m$_;PQnk=T zd3xpM<+S(%F8Tm-qkWUMm>bpbAfXzv&IYcl3Dh7UJ4bC{2{0fRaBljnExh_Rp*nNF z(qpzt^>a;Szhsr|b_~}19i&_oXQL+aNSZ8ZX|i3_diBdcosZMlP2h9LRk&wjAoK*9V0VbM?+N5%7&_zX_HK6ITd11G^xkjbpl8~{Fc3C3_bEY zD7h$n%ZAJb`?WyfQUh*NKNU4iY3|;{a)~T=vzX1(9{;rsUf{SthWyzc_ku~Ou)(Sb z%w)l$vseQsvjWYZoS_!DMOm~h5jWAs7ziQSW3w%xgQFp3qY0N_dSQpL91qQ9IEpK# zs@wPAiNA(x`F*v};x&A9kWSIQI~xf&7;QW6U7U=jzos}^{#tkMZaMk~thpg(@I*$) z0U;?^;a-F1YL#a&K>%k~H8B${In(2($875?$9`)4czcG5R~J2(6t6>C8#1Q<;@3}& z-UsX1zjxuT{N22KyQmDyXBTXPlj(%Y*;?Vj7ZoHK83p3Qk{q1c_F2S&?Vbv@?yQB9 z_7t@7E`lzqWcNuuW&(DpexqNN2#EV6COFodn=7QZX$)Idsh8Dcf{iAs*Szys-n&1J z()ecm=Z4gEbBjBNFWyHqq_CHSGz^@3r5NYnJgdwYaoIScc;FQx6m0FrTKu~H+3oR- z%I@g+?!hBZ;EU(K_rn(qwtmZnBZ8Wceix2zHVdHSE9mQ+<=d2&ZhiZ@@t#jSa3bE@ z8kr+B8pphmLPaIC4Owu;!2k&!FShtvJPo6r@O4#SZl9(nyo4@tE*P9Upmbn>j-LvL zpL}Ioz@R&Ke>Y#fZ;gnj#0kp`?~(!u$q1GM70K8L2Um4rKO`dFJzJ%CRj2Q{#`M{v zd}u(tgOrP6`fSK-NMl<+70IOOXV-o)8-=UyoL}7h46e<1{(3x$>GfUt_Gd)h+X-dI za|43rjEHC{buIlJW;gqwS&?E_c znSjhOP$wqtf5o?l{TDgIHcj(#5`6{ zIs{xfua?!f;4VeuE)Z$qG`SXvy zuiy!vVjS`laAIwQ)F6nce%G0ndwhJ6oS;g)KBNS7rvw3?UCOz9YCMLYyngXn$-t$y zHZU(j;DS+xmDxmE7Mab4ThAy~pJnbWgMCZMAqqOYeM?>TEWneX!r)7aX>D~29=aRWp!zlRGJ`1l025I5}Yi*+FW~^GL zUV(~Dgoa=;~z z&=3y*+~B~i$kGs!O<eRUd z_HPh`a}pHINeG4=C@7fvu$CZ+q$*k~Io=owLSZvSB#C0Kpp{uE&83r8gV#f;(3A!r z!pjYn>!Szryy5Iw&5CikT;R?BKdk2EZCQjWC16pZOS}72Ot7M5Q6#qj-Bcj(-29j6 zmsP(Gzq-XD%?wk$O@0ejH(k!*Zvh^F!Pz`LAOPHEUd$>Or+01|=dSnyzF3xV|4cj2 zuiF%Z`F%MZ=xPku)W!jawl`s%s?1~J)+i>u6U=*Wn5V4S%hJ*_@Wnl5t6U8QFR@=S z`))sm%1IY37fmu)Q+cf7S~5)GGb=k2ENT_^<&Uo`ut6N%>9m7SpKm0}lSO5Yb4jY6 zjMijqI^d1-EE>XD6o~|I#RW+j`HGno6;A}LLZYoP(I_ynGqKz!_<)6^D3#j3gck&+ z;PQH!DrM_dOUzT)ENNd}juyWWknN*`+LrfUNz*yX!3$>s9GMZ-4#Hk}t2oUd3RJVE zgs?O9mpx{y+#||aPq>G@4H@hrbr5q&5!sS?EF-c#6Nh%T{HbMRS+2&|KMM|E)U0aMZ?W>eAfq6diz@SC@BZ!76Bm&6lc8*HgbX<` zW=yK#>V>H~ic{+%ssSdXbqO!-h&FKe$)vC&t0YlLMWS}#Zt+M2l>#&dj5b;l6)|PE z8ZV0nHwID*kf-^m?wq?`@j>$H>3!N-mz%E*il6jfXhXEPVpc~lS%R-v&cF(b!5Yi8 z;@;SnNH#kYKj|@B#ax#5ZCbFmAwxy0iSUrAmmW+>OiB<;a0dScp~)0%H;T}aE`vLRnL}uEIxBdN zoQRl&O@SM!gtPD`(>!H_F-S~ubs$y0TixOU|7rBbJr@5^FK@IjMJM-Ui?p+TpiPG0 z?LDOVuh{f)(IQC$7T0vtxZ(ylo6!Vzw9>&dVttG~Vn7e(6Hka;XgO0{HLYOQ)Ajk$R!Z|;`i>ORejM%lSAKh*9PII3eo)*EOU*;$E$vsTx`z zK3HI^5F;|FdT{9$_ZYxgJi^g5`DHqBQ+VZA!%>ve^{4P#cWIuAd08%t*?jZ>vtn3h zQUPvx7)Xodd=y{@ulMMv5;*t9>W&WklSG*1Q?Rpd7FAb)6_7cF(Quc-{V(u0_|>9f z{Q?)C7K@M93#)$S)p${2_W|r0FuI-A(@)Ap)mjkOR&7~-i)CtxQmd>2FpU( zP`_=}ZGutJuSoWd3-^-}D z-Pql?7iGHy{;Cor3PT-_a2QhMd{lwDKs~EE1=MvGLNmhUkUEP#bL0L?*R&Uy}VCL_t) z9B`r)>sMKOm&Ty4pAvlRqUDmWeM9B(JGbgmnct(QpbD8L9_psOGR*g)FpTrc7LREG z6MnR(JtD~dXpXA>kZAnkUK04tc8Z3EA%=TTWlGUg5kQG(s?hkOHv1qV#wgbfL@|0h zA4T{0Y4Po9{8(`EX#p!CzfAv=ghTEHRmG3r|L0;hDd+RiBDygc0IL_pn#5nGvloS^ z|4!HOx3!|Gw&skY>Oo?4&PvjKP}JwF+O+YCFJoaZJJ%9G{?NZQ?r);(sc-8w4! zDYt#n2WOw1r{$vcs~a+p_=S@epB9Updp1yY)7#Zz;zC%B7I!zFeZJRQr#W&%4{HX!Vyr-Yc0NdWg(rnpJJ(z0iB-Gfbd0*`djbJ+;uKCKN#(G5ni zpx{+M>w8vWgXNpmbo9qns$RoHg@WP3k1hbCcu(p9dQUB zk~4RPWEKTsT4fIhJGPQF&Sg@)acmfuD501;Kn!sN%u{Tx!c6AO85+D)K3e}W&B1FP zFW2F**Qxu877KlMF(Q9d|SQl;){B>_Cr0VIb{n?P(Lv!+%w=+H+yGd>ae0& z1TGAt)_{AWi4EAo$`Y5F;U00O4!g%}>-#I+)BW1*$57qUMayNgKx--+ilr^}gDNZg z*(b}1TQ2Wz79mYRA?%Vq4nDp}tmhP{2HmAJ9MQ5(W~e@IV=XBNQJ5_S`;9kw+=PfQ zkt8xA6>+-=Pu1DR?wP`!O=bGbU6mY~o<$hDWeoN5J1Dtm0zyq>gUgx#e1B^V6o3U! z-k5qUrNM(K+MKL0!Fo_^JY}QcTWx2J3Rq!cmmG45&nk zNz~Z1T1T*2d3KcZsFlth%~K*kWQ3$FJ07{EK~hcNU~^8nn9mWTsKlfkOQ`(jvNsK%bdi>C+d@Cib zh36jtsQ%jlpgN~$EJyS@niNN1Y-yU;%F9NCsrx=f7<|5Lst5H04jMV zWcC4o>R16a3*wN9PRy4L@Wr&enY-y8?$qw1AzCGCIDUd85wtH@pkUikLyYsvBw(IR zc9rDtcKcykOrMfi)kVfd@hqn0U{!LmbFoh*VOKA$MbyM27zL-%fjW#xxlh?ftsSyA zwIOH41mVGZL7WAnFjH+5tX07u#HdKQ%P*(pL)zBVzN!>Sb&-n5Nuw#SS%qy~wNj0+ zQ12G$y7<0~qdbB~w;#cmt77Zo`_&i`Zx3K7cHFZ~CY;od4T{M3UwyN&MFK-vDs0Y{ zq96p+l8ijZBoa$pwSZ2jGbQysW~`F$}iLsgH0c^PRwFXuN{ znzLF|xefSoFfU^Q(uu$_SijTu&~=qDu_*4=wNCSLg{c;clq#vMtCl8iJpN_6fc;3* zMU~1iseoX>MR^#7v_RoaJfwSQGwx z^X1q*l=C0Q1b#y1XUxFAsMRfTwe$1L@PY|=c#&VO0XAqoh_bF`>Q)yf1h=7N0 znMG&{c*=v}nnAcp0zTzgsxx^IonPHlx@g`Lk7z^o;0RF%B^SMCs%SiBEztx)*Fcl% zm&BLu%W}GWfAjWkG@tMB)WOHkKL_~97PMRj6@20>M$J^vU_~iV^C4B%f#+Uv#}&hi z4MuJ9PG{*QSC}DfpbUUYf*r) zLNA#KkJ;9!f~*rws21x$PrOBO} zFURTe<_~GHoPfho8xLDFrPlF3r_>`xeMSq#Sd)B|nI@y14%q8X1A7Rg70(r7LS&X? zW6;>9o@yU6%MR2V=-U{xPQ>x-iB&J>Ww=kvJrl6T{BtYdv2wY#0;k33ht~zaez$=H zoVe*@u^soTTddgrY@FP*1{*{-?NfLvrrlHMwM~*6FTm<6tBP^>wV%sL@pZk8hnPqw zHh%|;w0U5Vp*LU$nFN}%bQ90eli-5ucBMr`4ZEKwsL#snM+jd zG^*bXcLA^l)= zH~aJyX6hj3qJIB|%mynpaqa(FbMa0ilV{B&58#ak9;Kr)IcxE{8T?cPp(9z7l;Go! zo|udGr9*5FtZ6`it>xWlQH()%7Rx$~{@*SmZ@@w?kddd)+@^oX$a~X}CEa>Qh-gIp zV)PEI@@Zl>Uw--e*RSYar2c5&5(-!xd*BTW6Z8D|J_JY8|Bc<7zZZZZ-q?8cpxO8cDZq zFIdw${QM3zz+}hw?VG5>34*p=YJf%VR`bbz#nkRQZ5#+Ey0S!z5S?H~CoMC#*+u39 zA<43R4(w`G(_^kG@@%lje82F)0quh?LeG{6}pyi@=)SAj;USch%UR+XeRr&!?q_MkQjo#nD+z)PXwHQrirbX&cl-vX`1_*H1MulR_Nn;0;*TpA=WaO)1-$zQ zyqWy_;){5j3UFnn<=es)m;+Fkh1W&lZ|_FoZau-x?(3kD(|okte82uSjJ>U@yccQw zPi_N!wq|Gye_ngM%Y+d-!fb8$T$t^cVUh@Q|Xp)JF8~_eM z@xE+i+(gMisj}c{3rL?iQ?S%yHhfN4Mn%8;g1ucCevfpXn2TbDY{+bgHT?_2W{Klc zqXuji#S5G@Y}U_+nNVR9{JxCoAE%>b@mV>Ul+$lt7eCHR*oOTy-{4|7M}^xBtVLTB zce#_2Taa!M;H@aBX_SW0AY&9f1hjQ_z*=={8Q3Wh*LnKnKmGF26lh!ljW?UW{PNL% z{Qz>?%bl(g5^$ridpzomMvKRCfkqy>wvCx^7()6>AwoQQQodzUHFtE=RM6u4v5e7yGO_p&2Uy8<>7%Z6NFYn6z!~*QT zvR2UVKo!4t>!R%+-Tcl?idSfOVp3=b14g;c?YKQkqJ z`oHZhZS?-E`i`ru=KdX;1}w4}cV-E^K0=b#GI^<@qRyzCOaNVJD?FoP)qf`Aw8w09 zRv;lgrTbt@21lMd$ho9w?-AON>(aZd14~7t2w&f4qS|#^bwn%c_lQ);@j# z0Y6!wkvY@G(L@xru#p~f26JG_Fd?`EXPE|`j8hfIQKD0la1PqUCFlihx#z?fg%`3W zI}kU{?7>ws{C5JrBp74xkG=I(GMz%;3Jg9^I9_6ErUM8nO$xM8T8qX=1=1;XOD&o` zlQP(2wkqZiTB>K($l;z07XA);F4~5BkJ4l5H*G~D;9!$}@D!8xvzu9oZo_;J*z@4i z3rPA&A1$*S9Gr_F+(e)aokFID2%j?dGC3a;6@sE>S5|r~S4@H#sp0GghlKd3l%pzv zt*t1iLgnRwu>I*@|F=K=>;L(ufBC=v^e_L%pZ?|l`qRJu*FXKs|N8&_KmYsx_h0{) zKmE`DQlJPF|IQ%$!jdcT$AmkszyrzP=H!^8vk{a$1}Z#|5*0X#9-N`4QdA|cU|ef` zkI|rE?=U}nHyc^Tr-sPzfE6{d4#BTeGI3@w!v&6f_zIP13usVrss&lbo~dQ;F*TjhWL{$@sj~N(gc*i*oz`ErJ!<*fhrBg z1qC0+a4HjR5yCUKB0XlSgQGoL$Q*6RP-*NU=c0J~`=lO=rESUQRjjXA&fIDY2KuC& z#+$dv-;b88{_PE-di(gZ^MpVOkFPt|EPaxq4JUh;_TG=it?jblwL~Q)$yO&gCn7p| z*cO2slbOqE|01G0VW`J!bxhlsP8^Jy>kfz?&T?m|xg^W&=se;#X4-JYz;F}&5*3%D z$&69X_01xbvps+9c;NYZo}Se6SV=B}G!|PAN(+XCmyv)?l;MPBAtVzm=77T2Y0Sn@ z?~QO8TxQ}eI7`Y}?}V}raerv^#M778Z?TZRe0S}__3FM>_f?heczc(IcYM?PY5Dd5 zm7}>M+X{@$NDsSdr?LkuuGymp#=*4G&ZbC`^b8i8;h;+tTvzKti^?`<+Ua!9R()}M_QoWm?h@QA-bBB!7{A_gKT8cNa_E+}@^2oWZ0h z3A3(p%tD8#h;`Lb?t%sHpAe$GO%D5+I~r0pns8~nGQ`Uq=^>tO#a`Ih352bN-bD_E2qE!ioKm<8bC>s` z^zFmX*UF9B{;gJ4T*+W_fUhXRIFkvRxN94OB;aUEnkjcORXHmpCyp&2l2<8ZNu|re zGp)ce2^1VHu+S+12kW3`%KLJ8SG=zJ)y?DU>@g55NG4D)?cAmRywz`*adt6y*$qNsH>K0~;KJ(43S*I#@X?<%_DFSAyjY@m1XvQWvPGpu8&xXmEF;9oO z=h87rOIL()T+Uk;&2r2jERRMorocHu@bwfxqh}kz zV{%fqm>6e(2zty`C1+4d`laL^?8x9#ql21Do*H|E9-kY$3F?G+v9e!U7O>V5D;d(w z9f;xF?PGbij17oT60d18B8vdBXsu^lvm`S!h>q?3CV?7W71(9H3Jf;nJSCXiLChs9 z47Owr3|5}TJds=`(0J5j>BBVuF@iv(>|ZPXW({7rc`tw`O0Twxd2 zd0N*C6{E?zOHqYQ{yjc=kTufAIJ-8i>&XX&CxFgp;Yq@JLXz+A$YAE}pyslzST}SY>ltM)RMhu$$AllJa&BtH%jxZb zSMtSZK(ll=#Fq3YRy_b!d+<@71XOBXGdeCr!3kKeg& z>+JnEQJ-y_s5c+#voBkpeNvDATb5>n20jy$`cRtPkmxpCBE-e*7mK<}(<%5Muia{V zvqZWU;m)nD%IVd-ykG6)y5qS^90m>GqD^8-8(G_v0Y)3g!UMe~=U|Au7G7&m1mN&` zE?j{BT57;U_fc<+0V&~#>V?(S0MFaA8xB+L*|6P|<^tm%%$v)eSuzlU2CKnAI(op8n@M{V)CHBspeZVY_1t3+!y29_xK%Bw0PGCx zYmeEgiL5pKOzrJ%3{KeVpyZ;6I5m+CnQFbq{kJu^o}rRYIrYQ^)bhy!Tm;(#i&1b915ZwB zjj($*5TdYuj;5YPNdvy`$T2C<(2%T1Oo|+JumOy9#+ag*pTSwyJRGRyf2@&BKK zhkcV?;gS~VAldWG&TLKO?IVK}@PNfNFK$y+2dD)DGg^9=Szy?Oi`bxTPO(J+pUKqk zFx{IlV!wj?wLO z1dMPsPm3kc^01Ga-{;{AWbij2Og0((y=dK5chAOcEXj>wjwTa?$42gkf&%0jK?>o` zIYB=fl*r#>wpzzwSgKzI_UtL9b{8ENExn#KOl(O{B=75f-rB=x8h}sUmS8x-&+Itv zc;EtB{4_p}j!H)Fec~bW2wsbHDNt}Zt6x08a;hovI!mlmBWDaoP`;k=@X$1F+4gj7W=s2yQB&&HFs_{W(zc8}TCc$2&*F7v^b z3>Bv?axU5idq-$Ps#=Zg5B+`ny~Mx%{=Vn5k@k#AsTCKJ0q+qW@X9I3M060+ONmGq z$(SKmX@8yleTS^{x&3`X3!SMe`q1C^SOK-TYhcM3(J$9)I+~)py!rDwp<9Bd+~WFe z-szw7kL`hM!XdeuoK-+xD2b$V0|#4_Hd8E5BM8(dG2wj^qrnQtu5+YPKx>+w@B+I? zxuE*l5IIo!$m2NUa#6WS!i*W<_S?e z$8I#OvyeuMHLBlr@yQQWR+$_B=A&J@aR*<35`?D+1vTIu2cyI$3fpEiOO{*fJla<* z5lrq1Y)}70Hyx!h5bNt}{uz+B3Dz7fs-a4p0#{s8CaHJY2WMoJ3dobj&NG`!pxQCO zROhpPL66Dm3Pk~@dC#6chf5pEj$IU8wz1DXt;b5`FATbCn@DO6&|QK|RfFzgcJPkD zelBrY_Y}vwVRZ>>W3}2e!hy5oVH6*|V(SAlIm)cCfnG1##}iFAx#;-&Ox9 z-hvP!Eak6pG*3ABsLGHmz=2pIZqnYzAc}5TJeI3@F}s@;ZZ<1Mi+x7!#LVqMY!!1c zJz?PYH*jzSvxAmPvha@1WA^3kARolVpjds*p zgT6D(Iwq&2Hp;NXz(n%rj?u2Ke!98M?OA-gp?dJ?*+IxfTbfif93BP&oCcd1Gc0AP>+0#1}EFk_Dm})R*G4g_(=&0R7&GwRF8XqU&-eHwasDHV3 z-juOiv~gGDL?rEW6dBF}N2D{eHmtg6jQULSEGLpdTq1g+oq=`AE zfbB#Qqlup5$nKx30IY=SSv|JD;K5wkLCj^bbT@P!bEZB4xZE>S$B%Aj^R&3T`5fD2 z&aZwPuizK2UVp!bynN=FXGVnExOA7!%xuOET1p$2jEzJS?G0hzlLX3$72F2GDV7FN z8LN@%XWTHI!IQvUr@9vjzB1 zxoXz?cg0U%y!!n6FN)ewL-6!prib5{t|~-^8lV9`c>T}6|KZ2i-@LvqimK!9r&R^$ z;XD;0*e}yr85!(NoTTEDI(N^F7dUGeuVQ6BrnMu7Ss?hY*I#^5y!!6-4+XGg)fza$ zA-Ep=WeP?oycahve*EEc7zqoc$4#q_!9^{G=mvi79!9bF5zN$4xjM)mIm--Npr-Xh zgQ83W-eoh^t+lh-Yw$LWBQXe;Q!*)dB}nkBr8tD2ft2VmTOA~&eX*Z*`!P7s-9gJm zVF5N|HWWz9VKqQzUa`2qB;{q)7^1gSVC{qA&~^57Gd>nat+p0|@U7Hhf)R z^%<_P_!>0Az8JM_$+j)bW^9o73|L!3d?IEBMQMpj%o8WL7cwvfdeTtFZ3FxX#OF+H zRgc-KAT3d*^PXhg#$|6uhPxc+skvw;mo1$Q32I&xX*icvKTwU=%k+?5yDF=soZj3| z%Wz+=_KI>(J@DMSew3!;804CRPt&yF<9BIJ-n9nu0vx$aTNkYfI%b4X%#s=%9d|Lu zVK@9eW~;Qd>1*(9=^kqAbr5n%POE7==CYQYKgG1}*H>fYreI+#6L`4ce!O@4csy_k zraIBZvq{5NDNfP|KEa}*HkLw|U?&t!B!wW2%g$r@r1RMY#k?KHQall`MUwVhTAz&2 zDN2~$WXXi%af1ycgylW^P#sb~G7rl+dePfPLW?O!f=%a*7`836G#u^auxT(#Bu$rrxt+!gntze z?3!M4cl~}eJHuJPl%6{ZnjtBZFh=1rIJ;WFoA6*;Y?PI>hW5L5_-+-;hf!EPg1?5d`)?DKJtHoIS9YGc+Anqw;!+ zsWElRKe~21c;^Ch{i|evX;CMe7O$)I9%Ka^ZOyi%cKz`%^RoXso91PXDn>Um~C7!5|Xq#?Cb)QU4nrafk>%u9_qcKs@9cN;R;y6hn4q6M`ZGLHmEiKbo_*wCe) z0Kwlzg&FE1VeL3Dq}?#VReHBvy^)nyb27w-Q?>K1tq&onO0oT$cB( z7kQ585J<`ao0?cI42{8Z5{*nok;;)r;_)2g#L7J*0nUNNSsS6x-1WVRQvIR?dkYzQ z@76)fCAn}zU z8jq)L>TZ^!+cclMaG&-(?AFoe8y56r$%+6|42$TJb_5g66bT`LTS>Kx2@VRQ++!cZ^mh;g= zdN;`a7_c2p=%9=c%Y+LrDHYCH5u%VpCODnu3wrFfa=aJ}X(!BfRAa}Z-1u|MV7Zx{l$CFLaVfWbu;tljT&0-U8*#G5i4Q!aU zCe&L-z~lCjCx$(SnHM5kFxaUgQE(BuVhlYv;Ry`z{1@DKnJxJz(5eF5PQ7}M0v$h6VMn$bDQ8S6(n&)7-B94Dk7t( zPlS=y!&xqg%@#N!ct?3M$xCr?5As<##|*cs2}X4XiGYO6Z2(!{h;*w6(a+NdpEU@Tw_WsXK%kHRem-THIll2$6&v~)y-P(VV&Bg*& zP(mGL1l)22wy=siYlAhB*yvj-o`gMv;M6@^D;#2**)a#a<2@6BANO)M%duF$nHPab2K z`qNFXJd9;lk%nLEpg9;vv?}iztskx$iEbhudwaFJ69)Tywgh)`v}=iV;6G}iGK)SL zrX>;57$ZWG7R*pM(B(nT7kjfNUFk+IpeLc(njS;$ znf0Gpm6_ee0~~3L;BPPz*+(mL;GkbZ2wr<0y>m2Zfm%vBs;pE} zTd-)jp%!*%@VG4O)ZRM{YFI@>jep*deSlE2Sj`agvEKM!{q_aymYe*inOiL0SM#{| zv{;X!&O1UQVcjeXla=1NNr`z-uvKq9fZ=X;U#8+E%-Os;h;$!M>qcz07lu2UBPOUN zgxItQEGtS$kXqUd=2ccsn`|@Xyl($|v;oO8kYfYh)@0%^JunYxH$NlAuaA^Vir-EM z4&|;hs~;G2nBe{H%kRFwdHL0=?*t)NUxF5&vAv_mj+;*xLUs%*w%2DOf(w~Aah}A$ zI1z?Bry}^4T5zA85Y!5dp#+sp4zTsRpscalV?%o;T!0-!D$Zq!5f&!6Za9+PRg1gl zbt}5NYO$>E)>z!xWz8eEm|X`JBAD6+5%q}Epi7mB&XPdt)QLxZ|H+QwyIP#>`D*vV zbP>K2_wLVZYh2;(0FmGI8y+zoZJQHue~Ey{!K5bK1kUkcDP)weVRZng$TJ951K!pc z5LERxV_O%vHj^>h;_M;hqQ$L9;<32PHfRdATqMIX4rj1;SH7y=?*F=XfY5pS0up}` z7cSWV{$s*26Evk^<4h!Y8;xdJ@D#zN!9<-J7cM1|qPK}LW&<(YU}35SqaS_>aM)=~ zgfjj-JY*Nr&Upil!mzC`C*|@1H_=6MbIcf?#sb5>i-ho>6ZkiMJcoZ>Sv$qJMSljO zTI0xtNpjO-HER-!;f2Lwxyt$a8XdqN%KPF^n4YsQi>Ib~Yq{1`j@p7pOjcVSH7F&? z3~UU^8=}CAB#0eqvd?I{bjahGv*rPBYw*F89hk|unT^o`*+a=i4d8~zmPmHA0oRP! zVaF@;a#p6PgQ46bmI@}Pze`umdD#`F&DQ8D`?12opZI$UuF^i{s2PZmridR&mGm7)GE$tu9qWHvomIqmZ?EEYi}1Y(87rxM#9XvL_?FIN zVO8ovHQbLDsgqsS5VF~53T9P^(mE=L(#eA(k(r3eTPwg8HWIa@@KhMXY_gF_4Hk0{ zOnMA~aie_Z(J~M<#Sg4c>_32;8ti#*)3lgXv#V7T_kI7cDBnNa7Kjc|%@@TdU(P|% zVZqC14i73<@t`q5b)RmX3E^fdHG49%xjF6>bNJ9(B7=4~D1Gn{XqFt5j0#K1YpMh=AP+nbQFBGX6AB}HaS=CQ;aH8T7eB<5t2A^38TQ!N@7TojCk+3*4iQ45Dq$+z}6!Lv)P9PyALtez#v5yIth3*X&s;6Rm(k@f&Z{X zB~6MK^Jz6XXa=-~^uO8kM%YNet|7q)u;Ae%X`6QaEftOh;9PkBLxY9`_P5HzuY9>$+$>fz_}(de*-tz1=)8M@bA5gsVp+5732HW+d!LqfRa}SsyI74GnER-N zOVk9xv+^KL2D^PaVUkMw(e(auf&p)9GFFFWXSJvwn=;Zv&P72O4rp!hTqk^0LG1&)Yiv%+odY={`%=25ka1fVB>h8;z9)U0IU2 z)d|}{s+@90m?6YUN;*5wMdnt5iz|%KJP-v|PvD$H7Iaejz{c5B3E!ssbt?GhHKb4R zb$VA$57V*E&C*69_8%Ih&_@ikeP%^M6j~d`sKVB7hDqb253G(o#oSit>Wr^G;B9s6 zOvCOtNY0MtWb~0$4?UL@vjb9(q|9>uGaELoW=lK6221a;t7q`A;kldwrH;vviB2}f z;5^vL)Z$SG0kg&>FmK>`WHd_R7t)2K84z~YxZk&FxhU?V{5W3M@o4wwRXIKKv+;XwUb@8s-Z6Kt z(jMVeF-7hCcZ&TW>;B-JQi^Rwe8QH+k!o-eJIdnK z882HAlNICE%1j(bbPg4XF$kk8B#mw(U_z>aU@xs{87pIbBwe#=$tHRy7a*O}^FVRDB z%xIt9Ls6Z<oY=&m7zRX2uN`__|z?m()zD7(i(}n8%%86@119OAOBF>!sFt1vlE7GSDO1BRpNS>#voakCHZkCB zwN7Jn*m>YS6EY{7?{n^Y z;AdEOz}xD@ld$@I8R_fj&UQ4TPpf)pxoBW#O=XL5+v!o#=RRCa2-C8?PeSyQ<({<-DJU?qskbs z6L7AOK`5KrZkaxltT^CpO)(zqox=)b>ZuqV1L`5;qQx;l;jt)o;QmrBjP3;=+3q3b z{Y~AkAusL^wvhenPnS)3G95X9@kp$;+PEk%<5husB)kb$cx7ntB!%d8-NoDlkVVjY z#3ayq+$jrGM8FYvA6S-_oJj_#E{zX zbcuQ?185uWz$l3^!soOX1hIPq5gk%;CU`O6ZMBpj^zksCbTb>HebOFEF1&A*_bpL5 z(Oi_VVdfUOS-rn{4?KRipC)*4^%9|qR@asF7ae^0Hd0ZOhUr8P$I%M3!%p*s&x|_B zycZ617C3Ika7QsT2!?TF8|_I!(%3MIhCG5N`lz@hPmmTr*se-*9PhBA!h1vlTHI9A zJ+Q*PYbW9n-BEIxtfwkTDy_~`JIA8t*h)1BLU-vi#$%$3J%n5`Lf+6g zGCbbuSh0yf?=Qwiap$VK>kiBKC<&fvSs@gMpUh=1bIMM7mtxA}!ZN@!20Y53Bxee> zT+S*hqhW8-Ua>6%j@5MF;qQ*}u?yHk$|WUgP2`bS(VzLim$orucSk7L=svQjv`$tB zmIYXD8mkE{x13o4_C4qIp~C-P4}3>V(FG2C%^4u)4+p-d4}2L_Z5JHueyY?!xZUr; zK)(4beeK@w1&$7`jyUB78;WGYY|J5ADx9!1z^nuw33qvGWeQ`B9JGPeggjz_`Utt; z{?(8;YWq5;npny)^C-LvPT7nwml6D5M-5yTfk@!rO4%cu`DL;eSsY$=GA>cO?`m*U70`~6fdjE%%%Bq zU+)}o$`)C!{zTY(U{sCs@S(OhZX+CJj*9>r9o0z&<-vXMhAH?=9d|fZF=x`y2fVF0 z+SNo4vw~aGGTJ2WA?czpc8A2aR7|_#s`i)oFcotjs_8UMCN~SLvc5 zdr!2Dw7faG-KXKn-jfiXC=rDA6f}$t1`OonNY*S+Nw(e-hpl2*M!;q|9>Fkuv|Kcw zc0=YdtC)@!9gIrWtL+jSa5)JNz9bkS(Hfd1 zwO(suy#*I1rmYbn6zK~C)H~Cbys_)lN67`Zrrk7+5}gySRp;Vt>ucZ50&WWj5Tl%S zCAB98!_QQj8Yos!4bFeC1a@g<7!~I-*!w=ZKK9mB_M&aB3t`t}k4|3iq2!`pQ7N449i)6_x3K`Pu%q8RW+%;t(NJiH2uW=3;1LwAz?CCOa~z{Rt++xor)<% zVR%*v{0DHmJRydn6U`jB9~qmP#Uw2FAx0|UEc|4erwsPEOQ3SpLHPHxRb4jp$MTJP zD1P4zuiQ6qPR_}O$2Sjj897a1>udD&79FO}h{3htT)0Bm8_=T(eRmx^Bi6?#gLc?X zv~B9xb8s&GZ);LV1nGsoZ)9k1TE>b|A2F8{qb->&N&0y!?m#9^)~H4%10~){qQU;d zyle1in1M~6aVb(ndWfI2Lz?~8ZkThU@j;Q`){^hXy-z(9fEbn;U4g|TCk)cz2A7IzpJDBQuZbYn) zf%Ro6buI#uce4z8*+csmN2nI-o#r-}%$YIZ z$te%2Q1T=Ye#OgeQUa%v_2Diy=im(;k64;MQZ9KAz9w?4S~;0e47 zIRQCG6X$(3e_Mmwr0KhIUQMwfI|6twmS_&u2(0&YA6hq`6yKzW!<4H-=Gn%S;Mq6h z60SxJx$Qdm4BCk3h#m$uam*}$Dd2ocK}14Z`h}7+e)fR3H8C4GFyCrB8>5|u9!f46 zt7?dB>6Y${D=LPaAS~zA4BXPi@?ny0+yac}#T5*2R!;Uau+Bd9bWehwJhIa%d#RYU zh(rc1wq#sr%cRxGG9P8+pv(oq^EIyEN_GO_Yn{^3aF=2xM1ar*uefwpDd+R^vdTHl zx2TFZ#8`kRO%^pQetBC|vt_y7#;0z12hRBq%>*3e`JSJ-ZT9cpW25A4#L(MEcv*rk z0&{`6Dn?-yPa;}?!Oak3zYSAN$(ge70dK2cgs3CK(tr==WPD27d3r9I54=z6k?e8O z-q#JKdSG(f;^975(}$}!Zsw-jzhV^@aA_xd=N~&&chb4}d#sAYymD!*aDp?UlA=Vi zD5NgZnl94n|zWzMVSt?X}q{ZD`UkN?Nt{`z14 z_SgUIZ-4zi|Mu7ax%lt@`M>`6|K)%GfBxHl`P*Or+u#2Bzy9q%{$Fqve*frHAx|Ga zG-W-G;^{~Rg@)Qef+c}H*r=u{GLJ|4*zc9Fu&07BusE&eC1QwtbXeQ-+r6;jfdX+R zp#y<1);1x~mdaTq9fK1=rnS;(lJ^j6?`-bgfS1*xV@>a|_Zo-ma6qHEu7{qBf^qGW z+R`8Gy&K$XI8B znZ{A&9pQ?DhaKu_#9s*fW5*0W2?cV*3_KkL67=N<6v&|{knq2blp89P5yRRHOv@?e zuxx%_r=ONsSO)Ic_4~Y&yz`HZ+qH#~NIFP_j8P&;xXg(JMyYgat3H_&QugW3de>gl z^cckW}3cWQPV3Eb?|UroW3i>t7_(tCVx9so1N0hazl~mLLOfpHm(>^#OnFJSrCvCL`u^qJ+ z4|rKE5gPRHu;ASB(8lsqA4Qi`3Wu~FX$HaCM{nAKBRwz|ubNiyPqo+dXLo5#@IULQ zRlr_(UMp`xV%T2FdEhI{<0iTxIqwBgTnFf;k1>+^$hc^9ZaT8{VTYV=tq&6|>?|T% ziAm%^5bvxPAfp^x%jOK4Dg>@koTZc|ScSz=LBqDp!J>x!$TKh+h|w8LX@QM#o=>ZH zX|nA#I9UPR&k(n1lImdGotwr9hU%(Zd@;qM<1c5c7a^ocn%C_SuZwTo+q5YD&C8d6 z1cR{pYz|ydOsi$FEbmiMt(F+T`@Wjw;XNiSH+18u!n>8SJqo1yiW;jw+{2<%u&IBw>2-aLxGeb<^_I^q}cN=iR5f1E(7-_!wDCK2a6|1uIip#Stfy zTQ8k4Q3ex5WVw!&C-BWQ43tF6wP8A7S0YJ`1p!qoSmu?={-~?vx}CKLIVxs#dxeCU zYHnUmFzfi`-Mm~BzlCuhfL?dc($;CNZ;y+R4(vC{) zc)PBL(lZhA0dK1#rAZAJxsQ{HaXW zi{(73HP@}Bsr&W?#EG90Cl_<_G=N?T(PNL85VMO~)9ke5TBa0$3p4s>oEfD^GB$bX z3C}@fV~A4<+Yk_CayHyVVh+UV3+&7Xdl@z*Sp+PJTVoVW9?-?c%VnO!=szvyb**$! zN61%obImvZ<0{pe{%f$}e^-1{AwuJx+?|@xjo{VyN6FoY8EGRFbBdkkfF-kWHe@`< z5l#`26$wOi$=#WxwgGRemANqkJIZb*W31Tq5pqefYiK-{I^C7WW{uXv^4Pv{VR2uE zbOVC|5m|!0j;7XL9`(s5o{UmQ+pSI3ynFDS2+O^n!wmnvEhh-*xJaFjoCl#}K4vhf z@dTA;n-eyl#F``H*#Tfue?|0ww>7X6V6_j+^J)!Xbadc6MHfAnIiU5J`8pCVn6Y5= z4&ptB^;)UAX-)%o9Cvj60!sd52o)QDd2qS3Ny^~C8Zq1(?AI4;l$fBOjfkT5{hb!v zkvcyMeKtokp#rQ`0uCa!e%Fpg#l`bA`Rn{inAf7J)wg$xyLl*Tb}p7xRcr5eWh`Da zAJ|vkt*O~C|N6!#y**}-?e!HtSPY#EVa}k=Q{JC1wvq}T}|IEZ&uSXRP()X$nlL!DC%Q4vQ3BW z77ZIlou>EE&EIzMlrjR5Qj}*T=;R5pK~e8@%HW28IX_N64|v-;)2cUBqv5GN%Eu>Ll+q@w z7*u=0{vquC%MZKDqiEOTi^P5dLS4Oo%r?T0OWI*Dw}|N5QVIwfAhD{W_GK*BjvJyu zv9hQsYy4Iq5$tX(*hP9^vFcXTo5|St5PRHm0oUP!pYRAjLGretBL!t_n4vQ(!(E!D zW6kc{Pxl&H%(??OK@UG+PjdnD2xG)BzOqSalfnB5iDniQ$Edon z(SU^w4ud2PG3*6#Ji06_&nh?us=*_?z(Hu}+w{Jep{Z8;y?f)Ud(JcCDN%xIP{%Pb zYn9DdIwwSc7jx%zj7IbD*l+&^+hx?pDaE2%%>#HV)eH|q-1*4nPAY;i|t-aM6LSbXyB%DsJi z3q$(sn<1Ecbj)X+qp`|>UeBDyBp8pLB}%o7rpE0zmb1tO_F{rP zR#BW|=7Z;kS?&YzOc4(z&4I3cSygXSEUt?0e*4|}6kt)jFDH}2r=lr%bG}5Jt42Hi zem(Gg&3iOO8-=^MJStQ)V!Z9*6B;Qui8-DnQz-?D!61+AXk&7$-GmT!o-@TK{co$y z2uq9@21L0xA!7xpkC;me(w5AYBz2uu|H3h>#0do8ZVamvy^7Y{`T@ggD2A0(T}bK( z4?V09^4sbye8arFiPds*`m$b&_N|Ms$#Ga?6Up3t|C5=7Iq6`2A}6pi(IC=Jpdw>q z)l4Yc#Ga{CdLU}dW-cDVC4IzPl1sK^wz#C@=#XmkY6c(Q+}th0)!Q@&F1%X0Wpk>r zcZ}0<|LNOxi(7WbIe`ZixraR}W=A9gMa^Z}Zf!1IAam z|)N_vO50!HNN&$c{@$=DwKRhe` z=oaOqd?9(q>>5lq;`f>UqfUQwK{*9ZzEk2u9@2ADD{T!Yv)AI@& zchvsg_4{g)7uEE>4D)LJ*`x3Kx^(x&m*qUZuc}!5dNRL#zL=Ev$Z`QbalLx`PcU6C zFvIR;wF2K^euxTkl6UscxyBuG4PW}UpUA!P;7Jmm2z-F)m=m`ld7U+Q%^kUR>JoM0E6 zVqRzpZ|gv*@Eiyb)WJT_45AUo#F+uXv>DW3;E@NWxqBo*0k-+uJ{qJj3B!~kSi%J! zYGg3>f>%NN?6agqW@dGIBn?ejeUVqw`iN|CiVSB7liWl>Nc0wdqY6D2*Wmwq(Rn_atZmJObk80}}`<>lKJTshd|k zYH6xDW>O+t(0MM|>DiV5?K*G3jR9&_?l8)R53Y?-W-?{oM3TAkEHKzTVvso-BMk|z zjZp?~I@isk_iYVEnG(ZXp3P*8jzsnla@k%UNaL}7?SOT*1dRM)VaQoETP)|8=JMxt z;_c?}>FCA<6zs`lHH4)IA}Es$HDFzVeTxTrj7ZRAR9T)tOq!B(0Vc21LNEmSOU`MS za~?%vOu7{7mPCPrb#j#8pKCr^i_LNlZU_u+6_&89b+eDA|5$OKmUmTL)Q-qki^VEE zE2#K!`gv+1n4pNB6+hsor&TejKuONmpIj8^?O-1f_-$EKQ*bs4_}Y0|++kWXjP%DT zh~~7o2VD&hSIc5i*Z<71aOdlCx>^+9%`1Nd?7v=xH_>B%l0D)58kVJuC_`z) zOt&ixXkaoY4?5lnLIvWtDd2sntrtqSF}}bgJ`>vNe_L%TC_(tJK zqI4l@=My)a+Xxf6O%JeI^c|cvm>?VC9Di z{o+>WgrFTP(V?7mLoWZC9a@12`2VVS^8K|cl)#9vmENr{Pgzs1O5n%85mu{U72 zlg;}+#XWP9VACqfj9WD9$|Y>1#e4UFZ(1y?8SL8b9WWn!%H?HUG?a?h(}azemaow= zZ@%bPxSxJgf)A4>#h)Bv;MImX2g5WanT!V~4io*DLBoOiM8K0W(HVj0&HSLow)D}ZaPGe> z7t6;em{T21F*5(Gzn()((N9AUH9#$Z>sW4ZwDqx)HFoc zO9{0Swg9kMlnEwD;%ES`AaaAD7shC^u-WnuFe^1Va2m9$(H{);)QFrdR#+V!w_(Nk zG*-oRn7GAa=9YH_{8djN9xuTJ&5M_A{?1MA4(g{)P1Wvr2|s#24sB}0aNGNWqTo{I zx}hYAUK^fNHUzs;X3kY??+fBg{p*0Y)uP2sKfvJTh-o_^qc?^gVlI2kv?lXdv{=Vc z6V+14VGXfiboXg`Q^w?c_0yhA9bO*+FC&3B5TY{Iy%l1vQHvP-3RY1RZj){xnG(YQ zpc_&iu|9p2T+rED(>T)8lP4oyJW4B^b6iX9lMaeW#4Na*dNG#5TmJB#B;@9xx&2y=99+Fb!jwGj3A6s9gD-z_%2Z!Z z`;Ge{u+#h?-XM?QiashX$rYr<4_vlOR~V%OOWYUHR}X1^)4*M#(!AYo7Sw(F0w&wZ zI7k!%9N3%{foa7F)y#lF9KeW?V2qh4r2}IbZR`*%m6UtIxNiDp6BTk2(g$$tWwL=u zZ&iN2K&Kmqv95Uk#!b;k`>MFZvx3@t03M9uK>VPu2A7Oc(a7odlgN1P5#1Yh{U(!ZJZ3 z3xZ~4GIx?vOh;r2CRHaGb6smIB77zU7vY-D(%DF9gsqnyIOjNkf?m^W_N;jC=F=tu z9n*YX9~IX*u&GG*vnAqL%~s1g&a_;@#c3I8t@8s;Me$8}n2B*XYrFmqcy*MCJz@sh zEq)c1z@9On3Il_P;n;RZNS@Ve_fg0e1uJBhxKfXPCW0S%5-&U0_HLUE5hDq2ZqAUXVv?I)+vXVFCbValguS!#5tif|NN0k6OcDnW!? zm{*HMaqsFj87OQo{GxvF0R2D$zjKGdus@*!D}IBMurExwZ(l&ZPUc-Z2kuoe)M5Az)Hlqi7b!(2DB{F& z6?3q`qtY~zTdj;lOkwU^u!e$_Ww}#estd=hx!t!+ned)b<;?FCqjpp zN5qh^Cnk1__K6t~Xeq#k@s7BlX-wGFWRoRt_^=*=>E64=qipdWN-l{~z9w>15c!-w ziQaQbKsW151=e7btOZY&QfaItmZ|yy_zLrmCFq?Xw6Vle>mq`-QlF`^F?xhxSKg~1r{AY{ zWqOa*UejmAdRgc7wd?ibV5H|pNDdGG07G6^mA#mh?(HHy6u*a2&fRj6rf*&GYheGX z{u}QK}5#|xudR_CkKkYsksRew4!KPbT6KA9i zj0BfR1e;J&0z#zRm}%F)m}%F78LJfbyv@pMt0+vgW?=nTL3|{_XXl7;kDB&*TCV0( zgg}T9*m?m!-@rQ5Ws$(=s5ud&rY<_fY5x;=mavn;lGI_uKf#7wy@symRx?)w@eoELO8wEl=P{mQ^f6u~-5*C`h**8jO1I^Fk5{tTAshhy?XEhT!pd zHDTuxFR_Kg*&#+S&RsT9!$-B^-UR|G5Zp(Z9QgjhB-nvdJx}9@7^~^Wh@QTvN4O3` ztw&Rb-|g7LB)HS-7L+YdE=kx=oD4dq@VLzp z7WZmW1vmK*#l3r*5W=Krszn!Pm1GXaAndBk(Ne9!mX+LjMMw_90KMF)5KO(b|QOB9EV@X5nW_p?d$P`pnbSZ|(?3mV^R ze@K~m7Zuoj-UeV|iw#q#$Fe4kZDc6N5<2*+#|!~|K#2geH)!SwaSAL0*s_hIEQ6%L zjEU^ylZS-W0udx7fJxih%RFoxnR_stu)U`yF%l&-1uNHUTo_`(rWNA+P#i3d(UDuQ zz_?11P?k6hC2Gulj8^HaZB|bo%A}mGeyY#@T{*>=_Ij7@FhRh8RStN=6OhZSgSJF+ z5lG#g8^*;G?Ba~-vjZd8q60L#0@Ih85VQsx#%PSnt7ts4Wo|M4Rn?hkh*&H%n;QJ-aiW2U$S;RacYigUt^)5e1B?l7AIOVD8@6BzXV`n=o8 zt%bo6#jx@Ki|7S7*Ptv}WFb-keuKiW<)g;^zMMTPs_DO-rk`eY5&6IS?e|~QxIT40 za^1D|(xxDM*UlC+yWaG}$9V}`kbkfRdu+iD3_gwkz{9e^z(H{V7JIhW*lO?E(+^cB zJ(&#v`cr|EW3(WMOcRU(wGOVP;|61EyR@8VvzER}TZ4dv*6vEhjgxU>99Y+`L>q{1Jm>d*0N^CoUjT zClhQUk=kR#Fj?@)HDwX3c9OFa65A&-A~9;>kk_mO6Gdh)5N)8GfMB^C61W{w7{je$ z(FW|K)=^UG`~u^hlf`6*^0LXB+`m}Fvi|Any60v>4%)$;p2TfOxaLEnN@9l3K|47T zL^TI+C=@m>%o@yA>UG4xA9xg2bjaJ8oPYsutNmg$9EX)kZl_~(a%2xF7i|jH5ZRJA z_OljBc8E=@P_k~~&=g93w8w-I(Xke8x-4A{2i{*Q$vW}Mh@!mCWlM+<1eSjiK7eP( zNzB4nbQN}`k~JjP)vNWlF0Niy_p=pn{4=!QCTUsJ5Bv{B0JFE4fz1n-n(+43RdMxQ z@vfXNS8n2~pMIQv_3dx|P!w;%q*_I|U+kK!6rVhUWfO0TXN$$%uRhwVrEKQ%OjhQA z(KO(tRQ1;8Z~B@X&huy{@1f|jeNFahZSi_LpG+!3Oka9x!}l;1FMs>xyo{(0cQSBz zd4C(3OuladCXW(}7SQeL-h*aEl{$l0zg`Dp_FMZPQM;!aKdNbU5)&|D4g2*>G?SvK z!Q9jmL3v&`_}C4Co{O-qtwo%nr=*+RexK9Ix}VTvEO^R33{LZ)bQJ&4nIzn)AN@#n8ykGU zr^l$75rb~287XbH9;8r#|LJVt31%eK2RbSW-=${G6cG=2TOBMDFulX}@y%?EE_d&t zx~(Yc}a(L2h7$Xfi=~4ohV)3x;FS5pMoY(0xm?zY*+!w>7!(RH%Xd zxn_@X|NH2;XkV^b+xPEi>%hS)7{-0?(k=K|3Cy8IdB4~9l1X-S9s&54O;KKm=LD-k{=EXG5t1|xfhabLsb(H0D>Vc>G8|=99c2_R*_YmRtjZ~OFyNB4*rTbSEJ$|bpUL*)^lf~nGpeM1MP zIxf=k4*LPUujb3Un{Ph*;)fja@FVxOE4jC3YMa2B%h1i|PS4MY+jz@FDEisv|la!%Lt=Rf;c5QigUF* zb5zm)wkD>@?Z9q)$Fnl}sG^6Wised_2K0);dwB^gg4l}Cq^)ovZNM_Gh@A_(r%08!A?}YZN2OG{FbuO z5&9lVE*PQTP16{;=chBKw3L)Ngdz>#bF+Y*>ZO(%%aARXpe2d)9L;X<*t}IqQYASL z9&_*m7{pp@ma?spOc{9S=J{cL^9uaY`}D)t zdvW>py{9`n{B$uB&k`NSgxyYs^$z_2LA;?F97yckPCZMtj?&WRXq^J{S8)-j_E>fR z?gFy`SV(9ov=-7ociGMFuRocBJA>kaEhR9?kX_5-JxoRMayg$|%?gkG-fD4L9Ewrr z^lX9aHaABJ(}-cVO-m{yj5c`1!OfE?Bnl2(wi=rlWZiMtWzNL52E45nCLx&^wqNhh z$Y^u3hnkDx+g&gPkpmBh-^?n%Sl;};oUNvB_F8fuUB5umfjIUd)@DVE zf^DBC#6rC5jw=PqJy<%9L<07=hpjzJ%=-yaIpVn+mu4{FZB0TQ)^!Z)$+SoNSc&f; z=AuoRHe?<%Rrj%hRA!i~K3gv5H+fRMzgninp09p%{pl9;>F#hg+hj9k*;;Q5LYzbb z29zKoSiyx3%o83g8g|)(n_>hFHGVU5hDzZvpVJ5rK50nCGZUOWDCPO*gxm6W3A?=) z-&S*9Q(dG18=(b7z7b+vh54MG`5p);~ka!=s zvMz!B2`ZbLXwm8G3TR?D~U`yXEI1uYLQUqC+}hf{Xe7Eckw z;XF%BF0n~F23s954lAy*Nl`PJ>V#d-MCQV!3_ep(gb7N8P!c3N(dZ>;KQweBeSTLh z4@;+umvs`+YVPXl=(>MkW8cin;t!};@7-a<@@QJN!AiJ3N;{7jUQ0fxL^Rq=jP#O< z1dL`w5?XQiiP#1m+F6|znE`LBwKD-rY?!OEo{X^~(?`ffLzGBjOJuq*(j`@PSfcBj za(eqvPH(_0xSF^ch;ifk9^ZMY;P7YUq+!ESlz|6M9AlaX4Z2QhF1*8rlni*wWucA2 zJUkHtNR2{RT!g;ONnyH8W-#RhI50UhvN8E0e@L8$e zhyRqy;?-TbFD@NZvh6L9%EetdN@hlktOG~Da7_c4Z_;D|qYU0jrG?BcWKUg7W*9kB z$THw<>%3Jfhvltqr(^UnSq~`}?Jdv{c`P^fR77@QRKG^OyO{|;aR-t7!|P9v-hL-@Stw_YeXO-G{Z2=f0$AWQIwliSV0wG0-Vc_Mfb;rA=T>n||szhb_X@Mbg%uiS! zsA666=kNg7BwtmlaJK}%a{Bh5mGRL;ZImn-=P?c+ZcD!o=mL4HU(etoeds9(qSL8W znG(a!x%|9D9KreGuA1JwEAOu`g$hq7_m4_XJ+kjy&fh*ps9GRnn>zY4WNk}a7vXO1 zd=oBto6=@GkzKxG77lZolS?#!kuQ0$K{}gbB00r#G5X$*u21ExVgu3Ywsep77JEp! z?4eIXWsBe1r#>GLjQc9J+4E<&jb4_mCsxnW@BcO8ZTi#k+8-B_84xI6`;O?vXAQ* z@k@sN1r|^=P#0jLNU$+F8(7epD!3x73`F2T!=uLiv%~)GT0o2#=hI<-89j48`T_R0 zHlS#iuPcn^10g-;sl2~g+=JBQ#UA$W(e0M|$CU%E z19k)R0%PlS>Y*_~X=>0-N!ZQOdLe>TF?%XaR4O2tDf9Wj-`#aobg_=Md^u0I#rH72 z!+xZ#sn~|u@x~~hcEpfcQUZz+v}Q0?b7zu?F?tiU7X*|9R(y6y$(d8o0dH%P0JS#5 zz;8CQF;-CeD7k2$y{7S4R0RK-&p!DxcI=>@I{S1oMIpR4!VB&xvnIQ26HTyBFd6qs z98aEo-masj9}YhM{s*5zwb9qn^XW~^Sw|dyid@7@NW7V(6z;;@<-K&X?%Pk-$t`Z& zAtRfcm$sc9od-cC&m!t!VY zV`$GKP(E1Unq(VENMP4@Y$|5}tp~iV7JD#i2gXVFXJmAOS`RfB4Vdl-J=Ora16r*P zAP(yt|L5{Av7D9D?Jqm=Z{NDasZ>k&kG|~^$5K4Oejkm=*yPp|q7wXvz2$*jJ$D=A zNK6kKh_tgu-B>>9Bj%EPvcFP?T+)qW!Un=xP12Ibk(P@q7~`y*>_^SdK6L?O(c{L_zqS54jW&P|ISnxXG+;yrV=MGe_|Y}~Qu@IiMRdrIc8pENPd7{v%@ ziD(gmW!Pk`-42GaGcMwQx79B)oDP$>qd6IW0D7LDi(-`QliHHHE}LFUA%~?AzzFZt z^rno-`Rb>goE=>saXcj{!P9VT0UK3};PA+Z=l@YK@D|;sBmj?VduvUlpPo@_}!P^eSh=vt5@F%Lax4?SF71x+Gp3z zr|;hUWT?OiOQR*pWDd$YCY7xQeJ!1~j)tTo9tF$#>|AA&19j8|*ypVFN<_{;TX05U zF*vqGm(m7zrcSJ3^^XzdXotJBgL?8rSGK8DJxg~gBEThb<&WSlzHD}Ve2E46SHI}O0 zeg%!PSx?63O|plOOKO^$#A7wXfBt|sKlU0=1-wB*ByOg|M3vOuw(x(?!;Q!Yu^&>8gxoKpguIhZLVvS3nx-<=Oq)rAL- zA`Uhk%+F}Dx8kQoL+k-@GBB?N^IK-~Dy{-B z7D#P5K`2OU`0}ny?-%Ps6mT|chu#zwY_;Jh%uPrn8LP#Gv6jVb!zKBGiqn zo=j#9-2W+}Ip2a5{9~~Io3{7|1oQ;PYzhe{?g6P@%X1^?57^hZPIYqAE{+v33S~4& zo?|%{3n~OK<&)J;av6xtkpRo4$8!KE@ggi1#eEgaTmoIW&P6LX^md6+qSOh;fTS#w zPBcd+8F5~5pjSI3ZBEWUT8!#%Z=CYA?&%;RXM+BH6qIJoV1XGz4iFQ0_FmHvKp&bY z`J+|JybRm#FPb)rD7LWQ&(kzKd|I<&xrB8DiNAC2QV~Ip-Mm?PSWX1UNb{+iluNf! zmawrdO5Z6|B6&$c2}%x1o#aRZ&rEO^a-xYNbaI3_7U8i2Dv?d+X)~fvTnKP!x&(!_ z8w`+GbMmk10pwNLv_nCC+j<{A@A7ONo0x(ByB*?&)OskWR8l=1z+#OIE$hc%(6I4rr!3tqtFDFgK%tMoLso;!DxDCH z0-t&3IAcVE|EhGPai_ zFN#m=ku2(!Sns8u*7slI{SDi8a&6aGVXu-@1Dk?I^_)tpWWs{648|Q?rwnwjWsf&{ zf!K)pK22(dh5x_4$GvoaoXz&M9YZrV*e%i&bw+bHf=ZZI4{KYnYolN}fWXO|6%{PU z09rX28xp3NN#eARHnQ|+>$%P_E~;65l9|@H+Ca*uyTyU!npD%ie6vQ~ zLIPShk;FvMlyhJ?uw$6UT6|9(B?353)Zl!N+*Rst-pu>qwAXW7w^)w@DGjUaecSEpR5&6(?$q~itM}&Xm7r92HL1uwWCAojbsehlGrdg*ysfSz z;zF2#IINrb7=47@L&`-HFB>9Tk%EqsG%iSgX7;+7*VSzT9=-XF?t%n+*DeqrI0*=n zr~yU-pGZ)Vt<*v24FA|ju*fz>6Ej#+b%AwCiVbs6kw#2HJDoW)O{0*}2u>}y#!5veD7YAbFkPnr9g7t|lg`}#wgxstT0Kmx zcJnbhp}B{ai#G3CQ+X^{vLpLnX{v{vBfa_aD$O6(KX#&Zc=-fmX6FI5vS8zJs-3{I zVZpTpQ!s!5#cTq1YSUmx6FLlWc1zjl*k}(S7d)TdP16{SBaWK{Zm>&^mShVe>gM+@ zynR!43K`J?kJ&&(6N zBlK9*R2!#9D#Ck#R2xwX=naGX+}wdjSAP4&9=cWg)=uQUS}ay+@t7@597FXq5r&VR z+3o(&MbnPontPqxmOS>SG92s*sggi*l-Ovfa~X`)nm>?kJY!=V8OY< zEw-7cxtcDqjO6M#LKTB}G6Y=D}1BdQ~H)<~;{ zDUxq0@O0D7@6$ur_@ry)(YkX1g>f=f)CXp5UbVmHoQqhy z*A$OXV`e&|&L-HZHDC)*>S^$MZWmb&FAG&v!aff*a%K@Ym_5D zWFLV4cluDr>PJGDGDzBslV+FKD24C6+lZXgjYc5Up zRG@Ce>jEK!cnSgx8kvc=20kLZO9+(YiT2uu=Ve~{KhL(A2k+9PNXsIYITx6JpYCU9 zdlk!hoi>B#sk6xn%rzHawD-;E)|0WXgU`(1Mi*~BHL7Xc@EK^k;Mp^#LZ&kNlo>aO z86#-o*(T#cM?J4NlQBEsZB3ab8(MO=n~%{xcMmO>6u1qQ#}e1of3fyDhsApCD_G(A z6bZbo_D(DgE?+_sw{Xn20o?nmhN_P)(58w=58@ZSwk{FP6!=QiP~|yrZ_0LaltmF; zbC@<>&%|T6qlcD@#@yFb9&?B2(8tsmL5At$X-aeVCRR(F|C_~Zp7vC6*UbxP;gc3_ zP7H*K8-a;If>Ou4;b5&sj|EQLGUp^_Qo_f<%S5=RKnQ4Co17IoV1Y*lYZp|NR|Zr3 zBR$Runl{Nv@W;3H;EGq}^!9Fzv! z>1IvBVV!aHdYxX;qGzY?yH{wV>JRRADSQ|2%jxSB%jN4PQ?$c>9WnB@AeMOI2XL`4@di9iAciP&^zmz3My z%H8_7?bSY=V;8QEnhPGey*ik%;hIo9BmBgvh}ug3sdd}Pf6S>9Vnq>SVsONRYfW?% zA#f09Y_IK|b&T$xitxHu{Pt7?l+*O=smPFbqqHlg$gpl1n^BCeIXO?rC8e__@mMHj zXEQJ+2RcJv%*t@}weyRcA7J4p^H&qtpESph~?`e=7KW1BlD>ux(ml4F1k^$H*%tM)Gm_{l5mb{ zmWhVl-@_eRXLm^&qtij>EQwb%x#S2Uz-gKVVyVM(NfP=z0htq^@}OdSS+9BVX3 zS9jCm#qD8Bo?b@U7E;2e>kp5L(~THuOAm1-G$)C9rnz#kUm4A*1MgXB!RuP@WAorl zczeLxYWzTH)v&%2d-E|``Sj3o(R#`ana2v~2kAG7TOh(<*~& zt7))U@=p?J`ZUxvmGl&d;C=ZvIgpU1oAQUU%D;bErRr)|{~@RA7oXDwa(N=n;X_W> zFEpo1i!NL(aF^JyL7P{tzmTw9eJl7+>-t&Ai=!RFwUFm9txQNpgWeou)c>a2;U#Bkxk zY0n(a6o(aNTWo{R1Rdz7{~v@3I7YDR~h z45mM?%2@)o0AsV9-Z>Z3t=q9__wA=GPy+592KQ;p1+JqEOVbkckyCkm$AH z39AWoKs+?AI^a>%8MwFqm%TS(j@(GnME?p*GiKerE0S>^nw@8*E*-6Il}4*lPtWdZ ztt?IwVlu(bqpGO2_urp8kOwk>OaQFxmF8LXQ6vFmq({Kr!`;LE^AV#pl_`detW0Sw z$mF2W05KOu&)<@HEMu}~7x--^tB7ugt3711q6pDvKq$aR^1&sWBPisgEijfgibvS* z>QMf(l2z)m-6E!k3X9*cRl;G;%BTN%^JQ-Dt{z>}Kj=76|9>}QMx8-W`Jo^r#Zhn2GMa(U8Jd17MHELpBnB!&gOcf*-E@WWNh5f4>-T2@apgmGwj;)^m= ze%8l*QuCM)#KAaFvfi=4v_&`rrU+$-KzABJYv`j}Rufc=GsgC0PGq$qQZC7A8zMWb zcA}f;ZymC^heHP-o1dE@@DZ}P6UEWG%QcD$qQ_OdF4q3(Ha+Zr+4D>H)`Zgtp9P_U zbCH$wPKxX~jf_U8snsU$-V_+wYRCt!qd6`5roN{kS}qvRX)o0j0b(cp7!8z1iLPyy zDl)AcP@jl)Ip-L(Wl~7ac->}?FoD@j5IxP!n7Fmcyl<_?RBj%k z<)VrAJ35cFj$xNNop`Q)!cKMtl^lF|r*sn9`INC6Lm(tLD*`iFCL*bb%Ay^sDGi!u zB^)qR!sO1x!REHk0>3ead1lEv6<&lpZ~&I@RrBj|o^i8ipx(dv5`KM&H;dPJw=EF+ z&)fiQx9$LRVt;dzNKBYpM>o7zviPjlK6c~mcvq3`uBO~<}MS5mC>FiRcXDHKTFZQxljx+!1YgASnKZ@ z;F-m@44NtiAt{2GMQ&-pkVgQ|0({X_cbdweTLgPi{<6HTvp!(^DL`yojgho#IN8jw zEkC{Mv6Y|A<5PrZ!lb$z5O>U@bfti(H7+CKCM8}w9uhcBJ;HOwCL1wYZIg`+F7Fm& z^4>E*$R*`wLu5y2d3*VAQjbM$y=U;ldwf=9fA&AIwE;W4lcBUREN1D?HJYj z_wCr!L$!Fit>(YDS^A}q@mz3V+EH$-;ygP~6`0CAMJ{+IhU7C5hry3-%p9Vm8i@mR zMC?Rv8zShkg$XTEJ3Oa;Z4cmN{k_jLB*}f!+>?-WuwG|kEtnz7dNA>G%+WDy5fHVf zOwo`ft|jb$K_{>V>Nb>$Yi?7_G0i?YT<21R^-UHo+kSAR&iU%r1t zlw`lC-od&SF|8Ufzv3OZ)~Rsut(&jlbyVx+b@6RlEsLjWT`bn~;`7<;>H49_>jtcJ zSybC=*TrA(+%^_f&UmS;A@=?Q?$vb%^XeVe_y72WwPt^F%R9eb95^F5%8ykwyDwKa z_B9E@G8b=1IE8MYT9d)mI3b8TOSN2^UK zYWT=Va%WklXAzz!>7wnW4v9UM)t*WsV~kScIz}$<=)*%=+{F2^Y3hFcb1O{Pd-p`% z*A(&QCxEL?P_yOczbvY1Uj9cf$0^OhqX)NMS<9K!;KIwCVx-YBYd2gvHqmLsXiY4Z zYc}qftVQ}%RvVz@lB~9+vcqFN*@RjQZi<^q#uCv5!G9^|>-SgeTJ8C(d+QR+bsRm~ zA{qA3@iB|;w~<9BiR=OU_|I`b#yjOe&pIH}*YB_B_4|(}WD`!vBO9xj!+#}-h zlt%K3rfS zDN3dGFW?eKbSZdtN=SFXTGcvHFc3KiFOYHcUvXc4x|y?boH+QT|+PjFPsUK z)X7zXU>_aur)joSQ_Z@rhdl!oJYuxQ_29$Fw2i#97G$y|I6%xLrDaFvv8KPn0M9D=nXB#3r{B)^M)APfd9VR#x-Za4)r=@aM zDlepsAdEp#<)X+WD*%5i=lKSi1-`i* zE;+hBA*D(x>qNFp8E0V=4xr=>;jl19X@uY0?lW4lL9FOHr3y)T#v2-<ShuY>b4J#=Y1;XiBn!+MVO4fi+3Yoj?r4Tx z+`$S{!CY<Xz`?I>n^_&!+j|l9qf^YR z32WAcNd_yOTg#(1#Onesd#It2EmRvcC_ zQ{og$7He)9vQ_q;c`5`AHW?auM2_@^$q=IU9Q+g&q_Fz1+ezJ#^3FXHw(WERS2y!( z%gXUeY(-`J=oDF*Fsbg@xJkl#P6>s5mKrRo0rB!qcoVaZqDNNFfGLa^t==k>p?X|m z$$mX1ACC{va!F~~QrQugZs1UZ14+i6e=IP+;%2s9t`;rdokeNX;hV4Y+t&%!>7x6 zanlTeA4u=RY#mcEugYaA5Xf?aSdLx0Hs9pe-!C*Ffi6CZR%hQ08i>2BwicxZ|lG3$BZ)~o6^&99et^?>CqaA-|&nd?t) zzYaFj6ql{Xmz$oK4fSRHfn|k*%&O|XCZX!KcbpeaC>G1LkL3bC^01jm4G!v- zSRh)j+2JH&go$jX+bqTne9ePf)yr0o^R^xy_W#=*;Yh`1E$iVoebV61WwH7C=B2F` zPk6JQ_2va_j*aJ6@$vo^YPF3^1dt7@^~#pW`?^2{?%`K$6hzWQo`9r%EyZqxfm>|MEnm$zI$01N;0 zN%h#A&i}XO!~ah+=<=seisq&LG%x3{M>ssKM~e@rXnm?p2z=)Hr}^izWmSMm!}h?b zZukc;E4^PWK)n|~uaQ-;&t0o6WitkR^tigpNxBzc9 z(^vu*H&glDfBju?JF9&0u3FqLuMc0fP=~KN3UKtT&n$x7Pgw+OCu8$ForBMyRzeb7 zrMg(_-)8By_+nArmj?#vkpkV7l;PzOJM6wlastEFfp74$;NC2 z0V9t~!Hx4N+N?!*F@x`U=N7xIbv?T;){nK=uADFMybqTYXLyk5e6S9?6zBS}Ng0~s zr__-VuoE(TJ_xWFT+AM2Ewd27fMSk{u8eR(PRq!M(P|mdalrZlJUqo#IO+J#1*GNpRB~^LYDc^Peqt_ymJN(Q2Km=peA;re)N2HKq#E5G5Dw8r2YaEJ>XG z>SqD+IKp`9EWk-F6s4BBK)fR$1+h5=fPa}JYJV1>4^y4xei@c7I`Dql#{oZ))KyOK8GHJTW5ps4NyQNY1qqziTCEMV}Xo2Y?QWMnzY0i~0b_IYY9$!mK$kJ-)i z9Q!jWnHdR^=k7|F3f9yv)B9GW?eO}CEA7+$FEmw(a1Y+Uv{+}NbTA?&$4piVwjk|n z6j`Dkqr@j3L2+wJiDh17m?>c*IjTZnOgIOBbMoSGR?Y9PV}o(>P`ypDc=>PNef8#V zpa1ysPoKa3AK$%v^ZKu^UVZ+jSKrGiz2}k5J34C0X2toD;KKA1GfA|c1q1AdZFTVThx8I^;zu8`ja#>&M zBQWY5Gs^_*KgGdjfDHi1HA+wkUQuAqk;H6f&m?dTObk?AmGcsu%#6gyBD)f^z2RPg zXntiAg!%Cf$Sl!?1fOtL-Y0NwGyvq+^s9;pJG#Xxck$*4qYrUnzE`B z+H02*KGwt<(2qr1H=x==INmMK=C#=#w2(Vq@?K@&H-Q>A1yX3q&EX`;Aoc*T_$aXi;v}b7ca&eef9-hPRlo& zVH+Dm?7Pd2UxjWGOB6119zj+Vg@+B8C7eoE1K9VW^K)_zes_4Z8Woiou-3;#j5jMX zIfG?@l8eTRYZ{MrzU@u*GS-Z9Xq(pbH($UXtIzAA?``Jb(T#tk*7pVzJi%pUiMfDH z%B>SzpxOfW)hWh^hnE@rg9@j zYoP6f7+HO|TaL*owgaSGQd~Af9?1*q>l?-x<#JrQ*Zso%{f@_*_r6B<+X9=muU zPL}CX@aa5LDT`p8=L!DiU}?hCG-4=f;*yEZVB!v#?p$I;G!NQyoe|-l3K5MF+F+e- z$55Zhe%3TXlF`7a54f9ke;%hX-F@*N`f+nXC6lAQbtE*Tpv7GG+Bh|spuHvG6i#+KoU(sq#o5;P6B!TCbBT>od zsHBWsGs&4DMtH&DS_ZQnJ}1G3vl3LfOf)O2GM1Es7WbJGPo?rMq&a?u#YUQ4vAj#O zS+NX@@^No_U=HECBF<*b(Nn;~9hlATu*}z|Z8(?f=BO*r()$uC5Aksf;@8JF2{Ul7 z+jI03+;vS!)JlV^o-)WK%ni6GTVqMaY<$U>`oKBfE*76|@>i6T!Y(A{nL=2~5<5f}nPy)|@*6>LoF4gw612=fGQ01gHW{@4O6cI@XW1 z(F`j4%GJ%2KA$g_W$`CBpRYG! z2#P?3$dy!}XCvYbk)Q;JIT#m-Lm)}-XssNcLwDT;;Eq+9gpZ<$jtsNC3BNxq)9mf`IW%}5@dy-#sg2%)ue!lg z!-QMj({=xH$N<(rMCf?J9ZyP&03x5I56Wpn!7q<0J4_RZI(ZL!G;9x`S81%-W<`QTr`ZH>->(*pI@gH7#R52 zRZ**kShVr0@O9(7@k|Z{tC}NYRP*fxH215y121M?yn>DJ&TY>qQOD+#k@qd=`-ELR zQmzFfEAXaWLfjDjL9^YdhwrL-mbFfJ`SoAFX_|T0EAYonC2`#g`)w-zZT{!VzXaWl zO}}8$s99dtPkz%(DJ_1tEH-D5*C*#ELE2%@O3t9_MgRv9Oca5Fw1PFI0%|~6V>x{A z+x+W%xBPjt{IQIvy+IPeL%OTkc2+K7tGqo;vKAI>JWQhzM1uD4EKuexm>bqa9yO>t zZn8%Pl;9B?7Z4^XgBcdUf+Ya?KnA~B2p?F;%5y;!IQ1^jo^A2RGTf(C@lTXeZeV@? zy^N{)e&(KFYA?Y${d^vOsAkyKyt=O&yuFQ!>^9J}gn5&U^f^-uWN@x{!e)11I&eye zb6IlG6R0tqang8=xUN75x9|f1v3 zk_~p53>zwH!(&kgL6*o2FBeb9Jm1$V9C*^OF)P9uk3!oNz%>I~jS-jOjb~;81+%0! zjS$5v8t$|-TwCmZsuhV5-h%-4NQk=*R;+EW@L|V#JdNCt3uu5aGPxM@2`uEp>tjQ4Q$5(jEl#{ znp@B3DWv7nEuLVl>s@epUHk|Vb-x4#zxv~s-|gPT{)pvpp~36L>N!wzOa}pGCHx&Y z?0F%WtfNmtWL@ir4>2B=@cv)@bCKq6+ZKa~iCYVf9q3xH&V7nt_GyqP4klXE5p%J< z<>Ujuyy?TVX;iRmLRnyWHOA&@_5?x&|I}#`u%yVbpqK0Niyfs*WZ2syi(qYw0EW6U zLLiaUn1pQ#5*Xi3ix1=mbeziDc~v7wV1y1Su3zD-^sdf0ICy(jVM8hgs?V?#1Gg&a z?0rf?YA2YE0u-i|X!pP?&B;&!deP88FxL{~hJzl3s}g2sJs31vx5>h{hAB(gt!Jy^ zpI?3cmoIUD!q_0({c4`p8U9~WB2;2nrK=n`Ctw9}1rowxrcr@)l)b_DLDF-M;EHWahDJSG;S_OVOhxiz5rWCJv;ENf+Z{m-`i&8jcyF<&xo; zEtQ>kOkcAZ#0njEX0=L7V6nx+&1P$Plh(5~jM|C&9~z^PpOMqeJS-Tccnt3i3l^+0 znI-J=V7YopG5isUBA(!z⩔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

yhph7oHwM*<-af1Oz1C`>6dU{Yz7ElCHpl4 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 m^)w(?%(kVb4em(ZuOZp>_ #include +// other util files +#include +#include + static std::string fileToString(const std::string& path) { std::ifstream t(path); std::stringstream buffer; @@ -242,6 +246,40 @@ namespace tuplex { } } +TEST(JSONUtils, CheckFiles) { + using namespace tuplex; + using namespace std; + + // for each file, run sampling stats + string root_path = "/hot/data/flights_all/"; + string pattern = root_path + "flights_on_time_performance_*.csv"; + + + // test + pattern = "../resources/*.json.gz"; + + size_t num_files_found = 0; + auto paths = glob(pattern); + num_files_found = paths.size(); + cout<<"Found "< "< +#include +#include +#include +#include + +#include + + +// include third_party gzip +#include "third_party/gzip/decompress.hpp" +#include "third_party/gzip/decompress.hpp" +#include "third_party/gzip/utils.hpp" + +// from https://gist.github.com/gomons/9d446024fbb7ccb6536ab984e29e154a +namespace tuplex { + + /** Compress a STL string using zlib with given compression level and return + * the binary data. */ + inline std::string compress_string(const std::string& str, + int compressionlevel = Z_BEST_COMPRESSION) + { + z_stream zs; // z_stream is zlib's control structure + memset(&zs, 0, sizeof(zs)); + + if (deflateInit(&zs, compressionlevel) != Z_OK) + throw(std::runtime_error("deflateInit failed while compressing.")); + + zs.next_in = (Bytef*)str.data(); + zs.avail_in = str.size(); // set the z_stream's input + + int ret; + char outbuffer[32768]; + std::string outstring; + + // retrieve the compressed bytes blockwise + do { + zs.next_out = reinterpret_cast(outbuffer); + zs.avail_out = sizeof(outbuffer); + + ret = deflate(&zs, Z_FINISH); + + if (outstring.size() < zs.total_out) { + // append the block to the output string + outstring.append(outbuffer, + zs.total_out - outstring.size()); + } + } while (ret == Z_OK); + + deflateEnd(&zs); + + if (ret != Z_STREAM_END) { // an error occurred that was not EOF + std::ostringstream oss; + oss << "Exception during zlib compression: (" << ret << ") " << zs.msg; + throw(std::runtime_error(oss.str())); + } + + return outstring; + } + + /** Decompress an STL string using zlib and return the original data. */ + inline std::string decompress_string(const std::string& str) + { + z_stream zs; // z_stream is zlib's control structure + memset(&zs, 0, sizeof(zs)); + + if (inflateInit(&zs) != Z_OK) + throw(std::runtime_error("inflateInit failed while decompressing.")); + + zs.next_in = (Bytef*)str.data(); + zs.avail_in = str.size(); + + int ret; + char outbuffer[32768]; + std::string outstring; + + // get the decompressed bytes blockwise using repeated calls to inflate + do { + zs.next_out = reinterpret_cast(outbuffer); + zs.avail_out = sizeof(outbuffer); + + ret = inflate(&zs, 0); + + if (outstring.size() < zs.total_out) { + outstring.append(outbuffer, + zs.total_out - outstring.size()); + } + + } while (ret == Z_OK); + + inflateEnd(&zs); + + if (ret != Z_STREAM_END) { // an error occurred that was not EOF + std::ostringstream oss; + oss << "Exception during zlib decompression: (" << ret << ") " + << zs.msg; + throw(std::runtime_error(oss.str())); + } + + return outstring; + } +} + + +#endif //TUPLEX_COMPRESSION_H diff --git a/tuplex/utils/include/third_party/gzip/README.md b/tuplex/utils/include/third_party/gzip/README.md new file mode 100644 index 000000000..7b8fabe79 --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/README.md @@ -0,0 +1,2 @@ +extracted from https://github.com/mapbox/gzip-hpp + diff --git a/tuplex/utils/include/third_party/gzip/compress.hpp b/tuplex/utils/include/third_party/gzip/compress.hpp new file mode 100644 index 000000000..2ec56c267 --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/compress.hpp @@ -0,0 +1,113 @@ +#include + +// zlib +#include + +// std +#include +#include +#include + +namespace gzip { + +class Compressor +{ + std::size_t max_; + int level_; + + public: + Compressor(int level = Z_DEFAULT_COMPRESSION, + std::size_t max_bytes = 2000000000) // by default refuse operation if uncompressed data is > 2GB + : max_(max_bytes), + level_(level) + { + } + + template + void compress(InputType& output, + const char* data, + std::size_t size) const + { + +#ifdef DEBUG + // Verify if size input will fit into unsigned int, type used for zlib's avail_in + if (size > std::numeric_limits::max()) + { + throw std::runtime_error("size arg is too large to fit into unsigned int type"); + } +#endif + if (size > max_) + { + throw std::runtime_error("size may use more memory than intended when decompressing"); + } + + z_stream deflate_s; + deflate_s.zalloc = Z_NULL; + deflate_s.zfree = Z_NULL; + deflate_s.opaque = Z_NULL; + deflate_s.avail_in = 0; + deflate_s.next_in = Z_NULL; + + // The windowBits parameter is the base two logarithm of the window size (the size of the history buffer). + // It should be in the range 8..15 for this version of the library. + // Larger values of this parameter result in better compression at the expense of memory usage. + // This range of values also changes the decoding type: + // -8 to -15 for raw deflate + // 8 to 15 for zlib + // (8 to 15) + 16 for gzip + // (8 to 15) + 32 to automatically detect gzip/zlib header (decompression/inflate only) + constexpr int window_bits = 15 + 16; // gzip with windowbits of 15 + + constexpr int mem_level = 8; + // The memory requirements for deflate are (in bytes): + // (1 << (window_bits+2)) + (1 << (mem_level+9)) + // with a default value of 8 for mem_level and our window_bits of 15 + // this is 128Kb + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wold-style-cast" + if (deflateInit2(&deflate_s, level_, Z_DEFLATED, window_bits, mem_level, Z_DEFAULT_STRATEGY) != Z_OK) + { + throw std::runtime_error("deflate init failed"); + } +#pragma GCC diagnostic pop + + deflate_s.next_in = reinterpret_cast(data); + deflate_s.avail_in = static_cast(size); + + std::size_t size_compressed = 0; + do + { + size_t increase = size / 2 + 1024; + if (output.size() < (size_compressed + increase)) + { + output.resize(size_compressed + increase); + } + // There is no way we see that "increase" would not fit in an unsigned int, + // hence we use static cast here to avoid -Wshorten-64-to-32 error + deflate_s.avail_out = static_cast(increase); + deflate_s.next_out = reinterpret_cast((&output[0] + size_compressed)); + // From http://www.zlib.net/zlib_how.html + // "deflate() has a return value that can indicate errors, yet we do not check it here. + // Why not? Well, it turns out that deflate() can do no wrong here." + // Basically only possible error is from deflateInit not working properly + deflate(&deflate_s, Z_FINISH); + size_compressed += (increase - deflate_s.avail_out); + } while (deflate_s.avail_out == 0); + + deflateEnd(&deflate_s); + output.resize(size_compressed); + } +}; + +inline std::string compress(const char* data, + std::size_t size, + int level = Z_DEFAULT_COMPRESSION) +{ + Compressor comp(level); + std::string output; + comp.compress(output, data, size); + return output; +} + +} // namespace gzip diff --git a/tuplex/utils/include/third_party/gzip/config.hpp b/tuplex/utils/include/third_party/gzip/config.hpp new file mode 100644 index 000000000..21f34a0b6 --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/config.hpp @@ -0,0 +1,5 @@ +#pragma once + +#ifndef ZLIB_CONST +#define ZLIB_CONST +#endif \ No newline at end of file diff --git a/tuplex/utils/include/third_party/gzip/decompress.hpp b/tuplex/utils/include/third_party/gzip/decompress.hpp new file mode 100644 index 000000000..b70670f3d --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/decompress.hpp @@ -0,0 +1,105 @@ +#include + +// zlib +#include + +// std +#include +#include +#include + +namespace gzip { + +class Decompressor +{ + std::size_t max_; + + public: + Decompressor(std::size_t max_bytes = 1000000000) // by default refuse operation if compressed data is > 1GB + : max_(max_bytes) + { + } + + template + void decompress(OutputType& output, + const char* data, + std::size_t size) const + { + z_stream inflate_s; + + inflate_s.zalloc = Z_NULL; + inflate_s.zfree = Z_NULL; + inflate_s.opaque = Z_NULL; + inflate_s.avail_in = 0; + inflate_s.next_in = Z_NULL; + + // The windowBits parameter is the base two logarithm of the window size (the size of the history buffer). + // It should be in the range 8..15 for this version of the library. + // Larger values of this parameter result in better compression at the expense of memory usage. + // This range of values also changes the decoding type: + // -8 to -15 for raw deflate + // 8 to 15 for zlib + // (8 to 15) + 16 for gzip + // (8 to 15) + 32 to automatically detect gzip/zlib header + constexpr int window_bits = 15 + 32; // auto with windowbits of 15 + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wold-style-cast" + if (inflateInit2(&inflate_s, window_bits) != Z_OK) + { + throw std::runtime_error("inflate init failed"); + } +#pragma GCC diagnostic pop + inflate_s.next_in = reinterpret_cast(data); + +#ifdef DEBUG + // Verify if size (long type) input will fit into unsigned int, type used for zlib's avail_in + std::uint64_t size_64 = size * 2; + if (size_64 > std::numeric_limits::max()) + { + inflateEnd(&inflate_s); + throw std::runtime_error("size arg is too large to fit into unsigned int type x2"); + } +#endif + if (size > max_ || (size * 2) > max_) + { + inflateEnd(&inflate_s); + throw std::runtime_error("size may use more memory than intended when decompressing"); + } + inflate_s.avail_in = static_cast(size); + std::size_t size_uncompressed = 0; + do + { + std::size_t resize_to = size_uncompressed + 2 * size; + if (resize_to > max_) + { + inflateEnd(&inflate_s); + throw std::runtime_error("size of output string will use more memory then intended when decompressing"); + } + output.resize(resize_to); + inflate_s.avail_out = static_cast(2 * size); + inflate_s.next_out = reinterpret_cast(&output[0] + size_uncompressed); + int ret = inflate(&inflate_s, Z_FINISH); + if (ret != Z_STREAM_END && ret != Z_OK && ret != Z_BUF_ERROR) + { + std::string error_msg = inflate_s.msg; + inflateEnd(&inflate_s); + throw std::runtime_error(error_msg); + } + + size_uncompressed += (2 * size - inflate_s.avail_out); + } while (inflate_s.avail_out == 0); + inflateEnd(&inflate_s); + output.resize(size_uncompressed); + } +}; + +inline std::string decompress(const char* data, std::size_t size) +{ + Decompressor decomp; + std::string output; + decomp.decompress(output, data, size); + return output; +} + +} // namespace gzip diff --git a/tuplex/utils/include/third_party/gzip/utils.hpp b/tuplex/utils/include/third_party/gzip/utils.hpp new file mode 100644 index 000000000..db123d102 --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/utils.hpp @@ -0,0 +1,22 @@ +#include + +namespace gzip { + +// These live in gzip.hpp because it doesnt need to use deps. +// Otherwise, they would need to live in impl files if these methods used +// zlib structures or functions like inflate/deflate) +inline bool is_compressed(const char* data, std::size_t size) +{ + return size > 2 && + ( + // zlib + ( + static_cast(data[0]) == 0x78 && + (static_cast(data[1]) == 0x9C || + static_cast(data[1]) == 0x01 || + static_cast(data[1]) == 0xDA || + static_cast(data[1]) == 0x5E)) || + // gzip + (static_cast(data[0]) == 0x1F && static_cast(data[1]) == 0x8B)); +} +} // namespace gzip diff --git a/tuplex/utils/include/third_party/gzip/version.hpp b/tuplex/utils/include/third_party/gzip/version.hpp new file mode 100644 index 000000000..47af692e6 --- /dev/null +++ b/tuplex/utils/include/third_party/gzip/version.hpp @@ -0,0 +1,16 @@ +#pragma once + +/// The major version number +#define GZIP_VERSION_MAJOR 1 + +/// The minor version number +#define GZIP_VERSION_MINOR 0 + +/// The patch number +#define GZIP_VERSION_PATCH 0 + +/// The complete version number +#define GZIP_VERSION_CODE (GZIP_VERSION_MAJOR * 10000 + GZIP_VERSION_MINOR * 100 + GZIP_VERSION_PATCH) + +/// Version number as string +#define GZIP_VERSION_STRING "1.0.0" \ No newline at end of file From 4d2674469b1c3efb00816d158265f572bfd473ee Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 18 Aug 2022 17:25:08 +0200 Subject: [PATCH 040/286] typesys fixes --- tuplex/test/utils/TestJSONUtils.cc | 197 +++++++++++++++++- tuplex/utils/include/TypeSystem.h | 1 - .../include/third_party/gzip/compress.hpp | 4 +- .../include/third_party/gzip/decompress.hpp | 5 +- tuplex/utils/src/TypeSystem.cc | 65 ++++-- 5 files changed, 244 insertions(+), 28 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index af0a0900e..c4505df83 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -268,16 +268,207 @@ TEST(JSONUtils, CheckFiles) { // step 1: decode file Timer timer; + cout<<"start processing "< "< "<> column_names; + timer.reset(); + auto rows = parseRowsFromJSON(decompressed_data, &column_names); + cout<<" "< per row stat? + // ==> replacing missing values with nulls or not? + std::set unique_column_names; + size_t min_column_name_count = std::numeric_limits::max(); + size_t max_column_name_count = std::numeric_limits::min(); + + for(auto names: column_names) { + for(auto name : names) + unique_column_names.insert(name); + min_column_name_count = std::min(min_column_name_count, names.size()); + max_column_name_count = std::max(max_column_name_count, names.size()); + } + + cout<<" "< column_names_ordered; + cout<<" "< need to resort rows!!! + bool same_column_order = columnsAdheringAllToSameOrder(column_names, &column_names_ordered); + + // the detection results + size_t detected_column_count = 0; + std::vector detected_column_names; + + // detection conf variables + double conf_nc_threshold = 0.9; + bool conf_independent_columns=true; + bool conf_use_nvo=true; + bool conf_treatMissingDictKeysAsNone = false; + bool conf_autoupcast_numbers = false; + bool conf_allowUnifyWithPyObject = false; + auto conf_general_case_type_policy = TypeUnificationPolicy::defaultPolicy(); + conf_general_case_type_policy.unifyMissingDictKeys = true; + conf_general_case_type_policy.allowUnifyWithPyObject = true; + + + TypeUnificationPolicy conf_type_policy; + conf_type_policy.unifyMissingDictKeys = true; + std::vector sample; + + // if fill-in with missing null-values is ok, then can use maximum order of columns, if not need to first detect maximum order + if(conf_treatMissingDictKeysAsNone) { + // detect majority type of rows (individual columns (?) ) + detected_column_count = column_names_ordered.size(); + detected_column_names = column_names_ordered; + + // fix up columns and add them to sample + throw std::runtime_error("nyimpl"); + } else { + std::cout<<" -- detecting majority case column count and names"<, size_t> column_count_counts; + for(auto names : column_names) { + column_count_counts[names]++; + } + + // majority case + std::cout<<" -- found "< most_frequent_names; + for(const auto& el : column_count_counts) + if(el.second > most_frequent_count) { + most_frequent_count = el.second; + most_frequent_names = el.first; + } + std::cout<<" -- most common column names are: "< i.e. reorder columns! + if(vec_set_eq(column_names[i], detected_column_names)) { + Row row = rows[i]; + reorder_row(row, column_names[i], detected_column_names); + sample.push_back(row); + } else { + continue; + } + } + } + } + + std::unordered_map type_counts; + timer.reset(); + + // step 5: detect over ALL rows by forming corresponding type + vector row_types; + row_types.reserve(rows.size()); + for(unsigned i = 0; i < rows.size(); ++i) { + auto num_columns = rows[i].getNumColumns(); + assert(num_columns == column_names[i].size()); + + vector kv_pairs; kv_pairs.reserve(num_columns); + for(unsigned j = 0; j < num_columns; ++j) { + python::StructEntry entry; + entry.alwaysPresent = true; + entry.key = column_names[i][j]; + entry.keyType = python::Type::STRING; + entry.valueType = rows[i].getType(j); + kv_pairs.push_back(entry); + } + + // create struct type + auto s_type = python::Type::makeStructuredDictType(kv_pairs); + row_types.push_back(s_type); + + // hash type + type_counts[s_type]++; + } + + cout<<" "<> type_count_pairs(type_counts.begin(), type_counts.end()); + std::sort(type_count_pairs.begin(), type_count_pairs.end(), + [](const std::pair& lhs, + const std::pair& rhs) { + return lhs.second > rhs.second; + }); + + double most_likely_pct = 100.0 * (type_count_pairs.front().second / (1.0 * rows.size())); + double least_likely_pct = 100.0 * (type_count_pairs.back().second / (1.0 * rows.size())); + cout<<" -- most likely type is ("< get_struct_pairs() const; - static Type makeTupleType(std::initializer_list L); static Type makeTupleType(std::vector v); diff --git a/tuplex/utils/include/third_party/gzip/compress.hpp b/tuplex/utils/include/third_party/gzip/compress.hpp index 2ec56c267..5b10f0ac4 100644 --- a/tuplex/utils/include/third_party/gzip/compress.hpp +++ b/tuplex/utils/include/third_party/gzip/compress.hpp @@ -1,4 +1,6 @@ -#include +#pragma once + +#include "config.hpp" // zlib #include diff --git a/tuplex/utils/include/third_party/gzip/decompress.hpp b/tuplex/utils/include/third_party/gzip/decompress.hpp index b70670f3d..422965d35 100644 --- a/tuplex/utils/include/third_party/gzip/decompress.hpp +++ b/tuplex/utils/include/third_party/gzip/decompress.hpp @@ -1,4 +1,5 @@ -#include +#pragma once +#include "config.hpp" // zlib #include @@ -50,7 +51,7 @@ class Decompressor throw std::runtime_error("inflate init failed"); } #pragma GCC diagnostic pop - inflate_s.next_in = reinterpret_cast(data); + inflate_s.next_in = const_cast(reinterpret_cast(data)); #ifdef DEBUG // Verify if size (long type) input will fit into unsigned int, type used for zlib's avail_in diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index c6123cfa0..af15d0723 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -1077,8 +1077,17 @@ namespace python { return true; } - if(from.isListType() && to.isListType()) + if(from.isListType() && to.isListType()) { + // empty list can be upcasted to anything, but only empty list can be casted to emptylist + if(python::Type::EMPTYLIST == from) + return true; + if(python::Type::EMPTYLIST == to) { + assert(python::Type::EMPTYLIST != from); + return false; + } return canUpcastType(from.elementType(), to.elementType()); + } + // primitive types @@ -1100,34 +1109,48 @@ namespace python { auto from_pairs = from.get_struct_pairs(); auto to_pairs = to.get_struct_pairs(); - // same number of elements? if not -> no cast possible! - if(from_pairs.size() != to_pairs.size()) + // to pairs must have at least as many pairs as from! + if(from_pairs.size() > to_pairs.size()) return false; - // go through pairs (note: they may be differently sorted...) - std::sort(from_pairs.begin(), from_pairs.end(), [](const StructEntry& a, const StructEntry& b) { - return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); - }); - std::sort(to_pairs.begin(), to_pairs.end(), [](const StructEntry& a, const StructEntry& b) { - return lexicographical_compare(a.key.begin(), a.key.end(), b.key.begin(), b.key.end()); - }); - - assert(from_pairs.size() == to_pairs.size()); - for(unsigned i = 0; i < from_pairs.size(); ++i) { - // must have same key - if(from_pairs[i].key != to_pairs[i].key) + std::unordered_map from_key_type_map; + std::unordered_map to_key_type_map; + for(const auto& p : from_pairs) + from_key_type_map[p.key] = p; + for(const auto& p :to_pairs) + to_key_type_map[p.key] = p; + + // now go through from entries and check whether maybe upcast is possible + for(const auto& kv_from : from_pairs) { + // need to put it into from + if(to_key_type_map.find(kv_from.key) == to_key_type_map.end()) return false; - // only maybe present -> maybe present, or present -> maybe, or present-> present can be casted. I.e - // disallowed case is maybe present -> present! - if(!from_pairs[i].alwaysPresent && to_pairs[i].alwaysPresent) + + // check "maybe" compatibility. I.e., can upcast a present to maybe but not the other way round + auto kv_to = to_key_type_map.at(kv_from.key); + if(!kv_from.alwaysPresent && kv_to.alwaysPresent) return false; - // keytype and valuetype must be compatible - if(!canUpcastType(from_pairs[i].keyType, to_pairs[i].keyType)) + // can we upcast both key/value? + if(!canUpcastType(kv_from.keyType, kv_to.keyType)) return false; - if(!canUpcastType(from_pairs[i].valueType, to_pairs[i].valueType)) + if(!canUpcastType(kv_from.valueType, kv_to.valueType)) return false; } + + // each key in "to" that is required must be present in "from" as well + // => if this fails, can early determine upcast not possible. + for(const auto& kv : to_key_type_map) { + if(kv.second.alwaysPresent) { + // must be present and castable + if(from_key_type_map.find(kv.first) == from_key_type_map.end()) + return false; + if(!canUpcastType(from_key_type_map[kv.first].keyType, kv.second.keyType)) + return false; + if(!canUpcastType(from_key_type_map[kv.first].valueType, kv.second.valueType)) + return false; + } + } return true; } else { // check whether ALL from key types and value types can be upcasted to generic type From 39876f3279438e63814031cb81630bb7c500e71b Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 18 Aug 2022 18:08:42 +0200 Subject: [PATCH 041/286] fix --- tuplex/test/utils/TestJSONUtils.cc | 12 +----------- tuplex/utils/src/TypeHelper.cc | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index c4505df83..7f0bfddb3 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -263,7 +263,7 @@ TEST(JSONUtils, CheckFiles) { num_files_found = paths.size(); cout<<"Found "< Date: Thu, 18 Aug 2022 12:21:14 -0400 Subject: [PATCH 042/286] gcc fix --- tuplex/utils/CMakeLists.txt | 2 +- tuplex/utils/src/TypeHelper.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tuplex/utils/CMakeLists.txt b/tuplex/utils/CMakeLists.txt index 1d18f3f42..3d9e3068f 100644 --- a/tuplex/utils/CMakeLists.txt +++ b/tuplex/utils/CMakeLists.txt @@ -52,7 +52,7 @@ if(NOT BUILD_WITH_AWS) set(FETCHCONTENT_BASE_DIR ${CMAKE_BINARY_DIR}/third_party/src) FetchContent_Declare(cJSON GIT_REPOSITORY https://github.com/DaveGamble/cJSON.git - GIT_TAG v1.7.14 + GIT_TAG v1.7.15 GIT_CONFIG advice.detachedHead=false ) FetchContent_GetProperties(cJSON) diff --git a/tuplex/utils/src/TypeHelper.cc b/tuplex/utils/src/TypeHelper.cc index d1382ce91..3a232d241 100644 --- a/tuplex/utils/src/TypeHelper.cc +++ b/tuplex/utils/src/TypeHelper.cc @@ -3,6 +3,7 @@ // #include +#include namespace tuplex { @@ -286,4 +287,4 @@ namespace tuplex { // other non-supported types return python::Type::UNKNOWN; } -} \ No newline at end of file +} From 7c3122de4e755df2c3b9500c26c3993fbe578073 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 19 Aug 2022 10:04:58 -0400 Subject: [PATCH 043/286] bbsn00 change --- tuplex/test/utils/TestJSONUtils.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 7f0bfddb3..7b369c992 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -258,6 +258,8 @@ TEST(JSONUtils, CheckFiles) { // test pattern = "../resources/*.json.gz"; + pattern = "/disk/download/data/*2021*.json.gz"; + size_t num_files_found = 0; auto paths = glob(pattern); num_files_found = paths.size(); @@ -838,4 +840,4 @@ TEST(JSONUtils, mapArbitraryTypes) { EXPECT_EQ(m["number"], "42"); EXPECT_EQ(m["boolean"], "true"); EXPECT_EQ(m["None"], "null"); -} \ No newline at end of file +} From 491db981335be3ccee2126a35a791d3b5fb35a9f Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 19 Aug 2022 19:52:43 +0200 Subject: [PATCH 044/286] typing evolution --- tuplex/test/utils/TestJSONUtils.cc | 438 ++++++++++++++++------------- 1 file changed, 237 insertions(+), 201 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 7f0bfddb3..fb491204d 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -222,243 +222,279 @@ namespace tuplex { std::sort(t_counts.begin(), t_counts.end(), [](const pair& lhs, const pair& rhs) { return lhs.second > rhs.second; }); - // for each pair, try to combine it! - auto num_pairs = t_counts.size(); - for(unsigned i = 0; i < num_pairs; ++i) { - for(unsigned j = 0; j < num_pairs; ++j) { - if(i != j) { - auto combined_type = unifyTypes(t_counts[i].first, counts[j].first, t_policy); - if(combined_type != python::Type::UNKNOWN) { - t_counts[i].first = combined_type; - t_counts[i].second += counts[j].second; - } - } - } - } + // this is a dynamic programming problem and should be solved alike... + + // Malte: thresholding for gc? i.e. get rid off super rare formats? - // find maximum pair in all of t_counts... + + // for now, use a super simple solution. I.e., combine till combination doesn't work anymore. std::pair best_pair = t_counts.front(); - for(auto pair : t_counts) { - if(pair.second > best_pair.second) - best_pair = pair; + for(unsigned i = 1; i < t_counts.size(); ++i) { + auto combined_type = unifyTypes(best_pair.first, t_counts[i].first, t_policy); + if(combined_type != python::Type::UNKNOWN) { + best_pair.first = combined_type; + best_pair.second += t_counts[i].second; + } else { + // std::cout<<"can't unify:\n"< "<> column_names; + timer.reset(); + auto rows = parseRowsFromJSON(decompressed_data, &column_names); + cout<<" "< per row stat? + // ==> replacing missing values with nulls or not? + std::set unique_column_names; + size_t min_column_name_count = std::numeric_limits::max(); + size_t max_column_name_count = std::numeric_limits::min(); + + for(auto names: column_names) { + for(auto name : names) + unique_column_names.insert(name); + min_column_name_count = std::min(min_column_name_count, names.size()); + max_column_name_count = std::max(max_column_name_count, names.size()); + } - size_t num_files_found = 0; - auto paths = glob(pattern); - num_files_found = paths.size(); - cout<<"Found "< column_names_ordered; + cout<<" "< need to resort rows!!! + bool same_column_order = columnsAdheringAllToSameOrder(column_names, &column_names_ordered); + + // the detection results + size_t detected_column_count = 0; + std::vector detected_column_names; + + // detection conf variables + double conf_nc_threshold = 0.9; + bool conf_independent_columns=true; + bool conf_use_nvo=true; + bool conf_treatMissingDictKeysAsNone = false; + bool conf_autoupcast_numbers = false; + bool conf_allowUnifyWithPyObject = false; + auto conf_general_case_type_policy = TypeUnificationPolicy::defaultPolicy(); + conf_general_case_type_policy.unifyMissingDictKeys = true; + conf_general_case_type_policy.allowUnifyWithPyObject = true; - auto path = paths[1]; - // step 1: decode file - Timer timer; + TypeUnificationPolicy conf_type_policy; + conf_type_policy.unifyMissingDictKeys = true; + std::vector sample; - cout<<"start processing "<, size_t> column_count_counts; + for(auto names : column_names) { + column_count_counts[names]++; + } - // gzip::is_compressed(pointer, size); // can use this to check for gzip file... - std::string decompressed_data = gzip::decompress(pointer, size); - cout<<" "< "<> column_names; - timer.reset(); - auto rows = parseRowsFromJSON(decompressed_data, &column_names); - cout<<" "< most_frequent_names; + for(const auto& el : column_count_counts) + if(el.second > most_frequent_count) { + most_frequent_count = el.second; + most_frequent_names = el.first; + } + std::cout<<" -- most common column names are: "< per row stat? - // ==> replacing missing values with nulls or not? - std::set unique_column_names; - size_t min_column_name_count = std::numeric_limits::max(); - size_t max_column_name_count = std::numeric_limits::min(); + // now compute majority row type by first filtering on the columns adhering to that column count + detected_column_count = most_frequent_names.size(); + detected_column_names = most_frequent_names; - for(auto names: column_names) { - for(auto name : names) - unique_column_names.insert(name); - min_column_name_count = std::min(min_column_name_count, names.size()); - max_column_name_count = std::max(max_column_name_count, names.size()); - } + // create sample by scanning + assert(column_names.size() == rows.size()); + for(unsigned i = 0; i < column_names.size(); ++i) { + if(rows[i].getNumColumns() != detected_column_count) + continue; + if(column_names[i] == detected_column_names) { + // add to sample + sample.push_back(rows[i]); + } else { + // skip for now, later implement here order-invariant => i.e. reorder columns! + if(vec_set_eq(column_names[i], detected_column_names)) { + Row row = rows[i]; + reorder_row(row, column_names[i], detected_column_names); + sample.push_back(row); + } else { + continue; + } + } + } + } - cout<<" "< type_counts; + timer.reset(); + + // step 5: detect over ALL rows by forming corresponding type + vector row_types; + row_types.reserve(rows.size()); + for(unsigned i = 0; i < rows.size(); ++i) { + auto num_columns = rows[i].getNumColumns(); + assert(num_columns == column_names[i].size()); + + vector kv_pairs; kv_pairs.reserve(num_columns); + for(unsigned j = 0; j < num_columns; ++j) { + python::StructEntry entry; + entry.alwaysPresent = true; + entry.key = column_names[i][j]; + entry.keyType = python::Type::STRING; + entry.valueType = rows[i].getType(j); + kv_pairs.push_back(entry); + } - // step 4: determine type counts & majority types - std::vector column_names_ordered; - cout<<" "< need to resort rows!!! - bool same_column_order = columnsAdheringAllToSameOrder(column_names, &column_names_ordered); + // create struct type + auto s_type = python::Type::makeStructuredDictType(kv_pairs); + row_types.push_back(s_type); - // the detection results - size_t detected_column_count = 0; - std::vector detected_column_names; + // hash type + type_counts[s_type]++; + } - // detection conf variables - double conf_nc_threshold = 0.9; - bool conf_independent_columns=true; - bool conf_use_nvo=true; - bool conf_treatMissingDictKeysAsNone = false; - bool conf_autoupcast_numbers = false; - bool conf_allowUnifyWithPyObject = false; - auto conf_general_case_type_policy = TypeUnificationPolicy::defaultPolicy(); - conf_general_case_type_policy.unifyMissingDictKeys = true; - conf_general_case_type_policy.allowUnifyWithPyObject = true; + cout<<" "<> type_count_pairs(type_counts.begin(), type_counts.end()); + std::sort(type_count_pairs.begin(), type_count_pairs.end(), + [](const std::pair& lhs, + const std::pair& rhs) { + return lhs.second > rhs.second; + }); - TypeUnificationPolicy conf_type_policy; - conf_type_policy.unifyMissingDictKeys = true; - std::vector sample; + double most_likely_pct = 100.0 * (type_count_pairs.front().second / (1.0 * rows.size())); + double least_likely_pct = 100.0 * (type_count_pairs.back().second / (1.0 * rows.size())); + cout<<" -- most likely type is ("<, size_t> column_count_counts; - for(auto names : column_names) { - column_count_counts[names]++; - } + double num_rows_d = column_names.size() * 1.0; + double normal_pct = normal_case_max_type.second / num_rows_d * 100.0; + double general_pct = general_case_max_type.second / num_rows_d * 100.0; + cout<<" "< most_frequent_names; - for(const auto& el : column_count_counts) - if(el.second > most_frequent_count) { - most_frequent_count = el.second; - most_frequent_names = el.first; + } + cout<<" "< i.e. reorder columns! - if(vec_set_eq(column_names[i], detected_column_names)) { - Row row = rows[i]; - reorder_row(row, column_names[i], detected_column_names); - sample.push_back(row); - } else { - continue; - } - } + // to string + json_string = j.dump(); } + + return json_string; } - std::unordered_map type_counts; - timer.reset(); - - // step 5: detect over ALL rows by forming corresponding type - vector row_types; - row_types.reserve(rows.size()); - for(unsigned i = 0; i < rows.size(); ++i) { - auto num_columns = rows[i].getNumColumns(); - assert(num_columns == column_names[i].size()); - - vector kv_pairs; kv_pairs.reserve(num_columns); - for(unsigned j = 0; j < num_columns; ++j) { - python::StructEntry entry; - entry.alwaysPresent = true; - entry.key = column_names[i][j]; - entry.keyType = python::Type::STRING; - entry.valueType = rows[i].getType(j); - kv_pairs.push_back(entry); - } +} - // create struct type - auto s_type = python::Type::makeStructuredDictType(kv_pairs); - row_types.push_back(s_type); +TEST(JSONUtils, CheckFiles) { + using namespace tuplex; + using namespace std; - // hash type - type_counts[s_type]++; - } + // for each file, run sampling stats + string root_path = "/hot/data/flights_all/"; + string pattern = root_path + "flights_on_time_performance_*.csv"; - cout<<" "<> type_count_pairs(type_counts.begin(), type_counts.end()); - std::sort(type_count_pairs.begin(), type_count_pairs.end(), - [](const std::pair& lhs, - const std::pair& rhs) { - return lhs.second > rhs.second; - }); - - double most_likely_pct = 100.0 * (type_count_pairs.front().second / (1.0 * rows.size())); - double least_likely_pct = 100.0 * (type_count_pairs.back().second / (1.0 * rows.size())); - cout<<" -- most likely type is ("< Date: Sat, 20 Aug 2022 13:06:22 +0200 Subject: [PATCH 045/286] fixing unification --- tuplex/test/codegen/TypeSystemTest.cc | 21 ++++++++ tuplex/utils/src/TypeHelper.cc | 73 +++++++++++++++++++-------- 2 files changed, 72 insertions(+), 22 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 7b3126c49..4f771482a 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -204,6 +204,27 @@ TEST(TypeSys, flattenWithPyObject) { EXPECT_EQ(num_params, 3); } +TEST(TypeSys, StructTypeStringKeyDecodingEncoding) { + using namespace tuplex; + using namespace std; + + // create string key + auto t1 = python::Type::makeStructuredDictType(std::vector>{make_pair(10, python::Type::STRING), + make_pair("key", python::Type::STRING)}); + EXPECT_EQ(t1.desc(), "Struct[(i64,'10'->str),(str,'key'->str)]"); + + auto t2 = python::Type::makeStructuredDictType(std::vector>{make_pair("42", python::Type::STRING), + make_pair("key", python::Type::NULLVALUE)}); + + std::cout<<"t1: "< unique_keys; + std::unordered_map a_map; + std::unordered_map b_map; + for(auto a_pair : a_pairs) { + unique_keys.insert(a_pair.key); + a_map[a_pair.key] = a_pair; + } + for(auto b_pair : b_pairs) { + unique_keys.insert(b_pair.key); + a_map[b_pair.key] = b_pair; + } + + // go through keys & unify -> check for policy std::vector uni_pairs; - for(unsigned i = 0; i < a_pairs.size(); ++i) { - if(a_pairs[i].key != b_pairs[i].key) - return python::Type::UNKNOWN; + for(const auto& key : unique_keys) { python::StructEntry uni; - uni.key = a_pairs[i].key; - // if either is maybe present -> result is a maybe present - // but dicts can be always unified this way! - uni.alwaysPresent = a_pairs[i].alwaysPresent && b_pairs[i].alwaysPresent; - - uni.keyType = unifyTypes(a_pairs[i].keyType, b_pairs[i].keyType, policy); - if(uni.keyType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; - uni.valueType = unifyTypes(a_pairs[i].valueType, b_pairs[i].valueType, policy); - if(uni.valueType == python::Type::UNKNOWN) - return python::Type::UNKNOWN; + uni.key = key; + + // both pairs present? + auto a_it = a_map.find(key); + auto b_it = b_map.find(key); + + if(a_it != a_map.end() && b_it != b_map.end()) { + auto a_pair = a_it->second; + auto b_pair = b_it->second; + // if either is maybe present -> result is a maybe present + // but dicts can be always unified this way! + uni.alwaysPresent = a_pair.alwaysPresent && b_pair.alwaysPresent; + + uni.keyType = unifyTypes(a_pair.keyType, b_pair.keyType, policy); + if(uni.keyType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + uni.valueType = unifyTypes(a_pair.valueType, b_pair.valueType, policy); + if(uni.valueType == python::Type::UNKNOWN) + return python::Type::UNKNOWN; + } else if(a_it != a_map.end()) { + // only a is present + if(!policy.unifyMissingDictKeys) + return python::Type::UNKNOWN; + uni.alwaysPresent = false; + uni.keyType = a_it->second.keyType; + uni.valueType = a_it->second.valueType; + } else { + assert(b_it != b_map.end()); + // only b is present + if(!policy.unifyMissingDictKeys) + return python::Type::UNKNOWN; + uni.alwaysPresent = false; + uni.keyType = b_it->second.keyType; + uni.valueType = b_it->second.valueType; + } + uni_pairs.push_back(uni); } return python::Type::makeStructuredDictType(uni_pairs); From 4dfdd6b104f5990134da8a1d09d07f6ffb0bb0ef Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sat, 20 Aug 2022 13:09:30 +0200 Subject: [PATCH 046/286] fix --- tuplex/test/codegen/TypeSystemTest.cc | 2 +- tuplex/utils/src/TypeHelper.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 4f771482a..8d0f6d839 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -222,7 +222,7 @@ TEST(TypeSys, StructTypeStringKeyDecodingEncoding) { TypeUnificationPolicy t_policy; t_policy.unifyMissingDictKeys = true; auto combo_type = unifyTypes(t1, t2, t_policy); std::cout<<"unified: "<str),(str,'key'->Option[str]),(i64,'10'=>str)]"); } TEST(TypeSys, compatibleType) { diff --git a/tuplex/utils/src/TypeHelper.cc b/tuplex/utils/src/TypeHelper.cc index 64372d236..4054afab0 100644 --- a/tuplex/utils/src/TypeHelper.cc +++ b/tuplex/utils/src/TypeHelper.cc @@ -118,7 +118,7 @@ namespace tuplex { } for(auto b_pair : b_pairs) { unique_keys.insert(b_pair.key); - a_map[b_pair.key] = b_pair; + b_map[b_pair.key] = b_pair; } // go through keys & unify -> check for policy From 4ca58d8d99b97344e2a0eda16881614959679505 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sat, 20 Aug 2022 13:16:17 +0200 Subject: [PATCH 047/286] escape fix --- tuplex/test/utils/TestJSONUtils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index fb491204d..367658d56 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -378,7 +378,7 @@ namespace tuplex { for(unsigned j = 0; j < num_columns; ++j) { python::StructEntry entry; entry.alwaysPresent = true; - entry.key = column_names[i][j]; + entry.key = escape_to_python_str(column_names[i][j]); entry.keyType = python::Type::STRING; entry.valueType = rows[i].getType(j); kv_pairs.push_back(entry); From 11548a4365766e494d867c637e97cce3852ac552 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Sat, 20 Aug 2022 13:35:36 +0200 Subject: [PATCH 048/286] test --- tuplex/test/utils/TestJSONUtils.cc | 35 +++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 367658d56..6a6da0958 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -20,12 +20,35 @@ #include #include +#include +#include +#include + +bool create_dir(const std::string& path) { + struct stat st = {0}; + + if (stat(path.c_str(), &st) == -1) { + mkdir(path.c_str(), 0700); + return true; + } + return false; +} + + + + static std::string fileToString(const std::string& path) { std::ifstream t(path); std::stringstream buffer; buffer << t.rdbuf(); return buffer.str(); } +static bool stringToFile(const std::string& data, const std::string& path) { + std::ofstream ofs(path); + ofs << data; + ofs.close(); + return true; +} TEST(JSONUtils, Chunker) { using namespace std; @@ -487,14 +510,24 @@ TEST(JSONUtils, CheckFiles) { // test pattern = "../resources/*.json.gz"; + // where to output stats... + string output_path = "stats"; + cout<<"Saving detailed stats in "<<"./"< Date: Sat, 20 Aug 2022 13:36:50 +0200 Subject: [PATCH 049/286] types --- tuplex/test/utils/TestJSONUtils.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 6a6da0958..f545039b5 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -516,10 +516,10 @@ TEST(JSONUtils, CheckFiles) { size_t num_files_found = 0; auto paths = glob(pattern); + std::sort(paths.begin(), paths.end()); num_files_found = paths.size(); cout<<"Found "< Date: Fri, 2 Sep 2022 10:31:22 -0400 Subject: [PATCH 050/286] analysis --- experimental/data/.gitignore | 1 + experimental/notebooks/JSON analysis.ipynb | 268 +++++++++++++++++++++ tuplex/test/utils/TestJSONUtils.cc | 2 + 3 files changed, 271 insertions(+) create mode 100644 experimental/data/.gitignore create mode 100644 experimental/notebooks/JSON analysis.ipynb diff --git a/experimental/data/.gitignore b/experimental/data/.gitignore new file mode 100644 index 000000000..de311355a --- /dev/null +++ b/experimental/data/.gitignore @@ -0,0 +1 @@ +json_stats/ diff --git a/experimental/notebooks/JSON analysis.ipynb b/experimental/notebooks/JSON analysis.ipynb new file mode 100644 index 000000000..f5b4e3170 --- /dev/null +++ b/experimental/notebooks/JSON analysis.ipynb @@ -0,0 +1,268 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "700d9636", + "metadata": {}, + "source": [ + "## instructions\n", + "\n", + "to download files, use `scp /home/lspiegel/tuplex-public/tuplex/build/stats/*.json `" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "0a26eb71", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import json\n", + "import glob" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "d68aa2c9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 100\r\n" + ] + } + ], + "source": [ + "!ls -l ../data/json_stats/ | wc -l" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e427fac2", + "metadata": {}, + "outputs": [], + "source": [ + "rows = []\n", + "for path in glob.glob('../data/json_stats/*.json'):\n", + " with open(path, 'r') as fp:\n", + " rows.append(json.load(fp))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b252ac68", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(rows)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "11906731", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10\tunique general case types\n", + "1\tunique normal case types\n", + "99\tfiles\n" + ] + } + ], + "source": [ + "# print some global stats\n", + "n_unique_general_case = len(df['general_case_type'].unique())\n", + "n_unique_normal_case = len(df['normal_case_type'].unique())\n", + "\n", + "print('{}\\tunique general case types\\n{}\\t'\n", + "'unique normal case types\\n{}\\tfiles'.format(n_unique_general_case, n_unique_normal_case, len(df)))" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "ed070738", + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "6142c947", + "metadata": {}, + "outputs": [], + "source": [ + "# plot out normal/general/fallback case distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "58d50f20", + "metadata": {}, + "outputs": [], + "source": [ + "df= df.sort_values(by='nrows')" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "a01648ec", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "

" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10, 5))\n", + "xq = np.arange(len(df)) + .5\n", + "plt.bar(xq, df['normal_case_path_count'], width=1, linewidth=0, label='normal case')\n", + "plt.bar(xq, df['general_case_path_count'], width=1, linewidth=0,\n", + " bottom=df['normal_case_path_count'], label='general case')\n", + "plt.bar(xq, df['fallback_case_path_count'], width=1, linewidth=0,\n", + " bottom=df['normal_case_path_count'] + df['general_case_path_count'],\n", + " label='fallback')\n", + "plt.ylabel('num rows')\n", + "plt.xlabel('file index')\n", + "plt.xlim(0, len(df))\n", + "plt.legend()\n", + "sns.despine()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "2b6b8154", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# same figure, but this time with percent\n", + "plt.figure(figsize=(10, 5))\n", + "xq = np.arange(len(df)) + .5\n", + "nrows = df['nrows'] * 0.01\n", + "plt.bar(xq, df['normal_case_path_count'] / nrows,\n", + " width=1, linewidth=0, label='% normal case')\n", + "plt.bar(xq, df['general_case_path_count'] / nrows, label='% general case',\n", + " width=1, linewidth=0, bottom=df['normal_case_path_count'] / nrows)\n", + "plt.bar(xq, df['fallback_case_path_count'] / nrows,\n", + " width=1, linewidth=0, label='% fallback',\n", + " bottom=df['normal_case_path_count'] / nrows + df['general_case_path_count'] / nrows)\n", + "plt.ylabel('%')\n", + "plt.xlabel('file index')\n", + "plt.axhline(50, color='k', linestyle='--')\n", + "plt.yticks(np.arange(0, 110, 10))\n", + "plt.xlim(0, len(df))\n", + "plt.legend()\n", + "sns.despine()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "264be2a9", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAFBCAYAAADZmLOkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtMUlEQVR4nO3deZhU9Zn3//fNEkGiIOgQBH3ExFG2xlZQUUxwNwQFCW6og4mBuEXMaIiK/nQ0JOoYg/ookZ86kIxBDS6IjjFKIGo0KmoLIhpciDYiouKCLIp+nz+66KGhG+imu05V9/t1XVxdZ627zjl16sP3bJFSQpIkSdlplnUBkiRJTZ2BTJIkKWMGMkmSpIwZyCRJkjJmIJMkScqYgUySJCljDRbIIuK2iHgvIl5ap1/7iHgkIhbk/m6X6x8RcX1EvBYRcyJir4aqS5IkqdA0ZAvZJODI9fpdAMxIKe0GzMh1A3wX2C33bxQwoQHrkiRJKigNFshSSo8BH67XezAwOfd6MjBknf6/SxX+DrSLiE4NVZskSVIhyfc5ZB1TSotzr98FOuZedwbeXme88lw/SZKkRq9FVm+cUkoRUevnNkXEKCoOa9K9e/e9582bV++1SZIkNYCoaUC+W8iWrD0Umfv7Xq7/ImCndcbrkuu3gZTSxJRSn5RSn9atWzdosZIkSfmQ70B2PzAi93oEMG2d/v+Wu9pyP+DjdQ5tSpIkNWoNdsgyIqYAA4DtI6IcuBS4ErgrIk4D/gkclxv9f4CBwGvACuAHDVWXJElSoWmwQJZSOrGGQYdUM24CzmqoWiRJkgpZZif1S5Kk6n3xxReUl5ezatWqrEtRHbRq1YouXbrQsmXLzZ7GQCZJUoEpLy9nm222YZdddiGixgvzVIBSSnzwwQeUl5fTtWvXzZ7OZ1lKklRgVq1aRYcOHQxjRSgi6NChQ61bNw1kkiQVIMNY8arLujOQSZKkKpYuXUr//v3p2bMn9913X2X/wYMH884772RX2EZMmjSJs88+O+sy6sxzyCRJKnAX3jO3Xuf3q6G9Njp8ypQpnH766QwdOpSBAwcyZMgQpk+fTmlpKTvuuGO91gKwZs0aWrRo2pHEFjJJklRFy5YtWbFiBatXr6Z58+asWbOG8ePHM2bMmBqnOfXUUznnnHPYf//92XXXXZk6dSpQcZL7z372M3r27EmvXr248847AZg1axYHHnggRx99NN27d2fWrFl85zvfYfDgwey6665ccMEF3H777eyzzz706tWL119/HYDp06ez7777UlpayqGHHsqSJUs2+lmWL1/OD37wA3r16kVJSQl33303AGeccQZ9+vShR48eXHrppZXjX3DBBXTv3p2SkhLOP/98oKLF8Pvf/z59+/alb9++/O1vf6v7wq1B046jkiRpA8OHD2f48OFMnDiRq666iptuuolTTjmFrbfeeqPTLV68mCeeeIJXXnmFo48+mmHDhnHPPfdQVlbGiy++yPvvv0/fvn359re/DcDzzz/PSy+9RNeuXZk1axYvvvgi8+fPp3379uy666786Ec/4plnnuG6667jhhtuYPz48fTv35+///3vRAS33HILV199Nb/+9a9rrOmKK66gbdu2zJ1b0cq4bNkyAMaNG0f79u358ssvOeSQQ5gzZw6dO3fm3nvv5ZVXXiEi+OijjwAYPXo0P/3pT+nfvz9vvfUWRxxxBPPnz6+HJf2/DGSSJKmKtm3b8uCDDwIVAebKK6/k3nvvZeTIkSxbtozzzjuPfv36bTDdkCFDaNasGd27d69suXriiSc48cQTad68OR07duQ73/kOzz77LNtuuy377LNPlVtD9O3bl06dOgHwzW9+k8MPPxyAXr16MXPmTKDiliDHH388ixcv5vPPP9/krSUeffRR7rjjjsru7bbbDoC77rqLiRMnsmbNGhYvXszLL79M9+7dadWqFaeddhqDBg1i0KBBlfN4+eWXK+fxySefsHz5cr7+9a/XbsFuhIcsJUlSja644grGjh3LlClT6N+/P5MnT+ayyy6rdtytttqq8nXFQ3g2rk2bNjVO36xZs8ruZs2asWbNGgB+8pOfcPbZZzN37lxuvvnmOt0898033+Saa65hxowZzJkzh+9973usWrWKFi1a8MwzzzBs2DAeeOABjjzySAC++uor/v73v1NWVkZZWRmLFi2q1zAGBjJJklSDBQsWUF5ezoABA1ixYgXNmjUjIli5cuVmz+PAAw/kzjvv5Msvv2Tp0qU89thj7LPPPnWu6eOPP6Zz584ATJ48eZPjH3bYYdx4442V3cuWLeOTTz6hTZs2tG3bliVLlvDQQw8BFeebffzxxwwcOJDf/OY3vPjiiwAcfvjh3HDDDZXzKCsrq3P9NTGQSZKkao0dO5Zx48YBcOKJJzJhwgT69u3L6NGjN3sexxxzDCUlJfTu3ZuDDz6Yq6++mm984xt1rumyyy7j2GOPZe+992b77bff5PgXX3wxy5Yto2fPnvTu3ZuZM2fSu3dvSktL2WOPPRg+fDgHHHAAAJ9++imDBg2ipKSE/v37c+211wJw/fXXM3v2bEpKSujevTu//e1v61x/TWJzmhQLVZ8+fdLs2bOzLkOSpHo1f/58unXrlnUZ2gI1rMMa7xhrC5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxjIJZBExOiJeioh5EXFurl/7iHgkIhbk/m6XRW2SJEn5lvdAFhE9gZHAPkBvYFBEfAu4AJiRUtoNmJHrliRJebZ06VL69+9Pz549ue+++yr7Dx48mHfeeSe7wjbTrFmzKh97VCyyeJZlN+DplNIKgIj4KzAUGAwMyI0zGZgF/DyD+iRJKizTN/9GrJvlqOs2OnjKlCmcfvrpDB06lIEDBzJkyBCmT59OaWkpO+64Y/3WUkdr1qyhRYvG80juLA5ZvgQcGBEdImJrYCCwE9AxpbQ4N867QMcMapMkqclr2bIlK1asYPXq1TRv3pw1a9Ywfvx4xowZU+M0r7/+Ovvttx+9evXi4osvrvKsx//8z/+kb9++lJSUcOmllwKwcOFCunXrxsiRI+nRoweHH3545SOZXn/9dY488kj23ntvDjzwQF555RUATj31VE4//XT23XdfxowZwzPPPEO/fv0oLS1l//3359VXX93o5/ryyy85//zz6dmzJyUlJZWPQ7r88svp27cvPXv2ZNSoUZXP4bz++uvp3r07JSUlnHDCCQB89tln/PCHP2SfffahtLSUadOm1XEpV5X3QJZSmg9cBfwZ+BNQBny53jgJqPYRAhExKiJmR8TspUuXNnC1kiQ1PcOHD2fatGkcdthhXHTRRdx0002ccsopbL311jVOM3r0aEaPHs3cuXPp0qVLZf8///nPLFiwgGeeeYaysjKee+45HnvsMaDiWZlnnXUW8+bNo127dtx9990AjBo1ihtuuIHnnnuOa665hjPPPLNyfuXl5Tz55JNce+217LHHHjz++OO88MILXH755Vx00UUb/VwTJ05k4cKFlJWVMWfOHE466SQAzj77bJ599lleeuklVq5cyQMPPADAlVdeyQsvvMCcOXMqH5c0btw4Dj74YJ555hlmzpzJz372Mz777LM6LOWqMmnrSyndCtwKEBG/BMqBJRHRKaW0OCI6Ae/VMO1EYCJUPDopTyVLktRktG3blgcffBCoeBj3lVdeyb333svIkSNZtmwZ5513Hv369asyzVNPPVV5vtnw4cM5//zzgYpA9uc//5nS0lKg4gHeCxYsYOedd6Zr167sueeeAOy9994sXLiQ5cuX8+STT3LsscdWznv16tWVr4899liaN28OVDxofMSIESxYsICI4Isvvtjo53r00Uc5/fTTKw91tm/fHoCZM2dy9dVXs2LFCj788EN69OjBUUcdRUlJCSeddBJDhgxhyJAhlZ/n/vvv55prrgFg1apVvPXWW1v8qKtMAllE/EtK6b2I2JmK88f2A7oCI4Arc3/rpw1QkiTV2RVXXMHYsWOZMmUK/fv3Z9iwYQwdOpSHH354s6ZPKXHhhRfy4x//uEr/hQsXstVWW1V2N2/enJUrV/LVV1/Rrl07ysrKqp1fmzZtKl9fcsklHHTQQdx7770sXLiQAQMG1PrzrVq1ijPPPJPZs2ez0047cdlll7Fq1SoAHnzwQR577DGmT5/OuHHjmDt3Likl7r77bnbfffdav9fGZHUfsrsj4mVgOnBWSukjKoLYYRGxADg01y1JkjKyYMECysvLGTBgACtWrKBZs2ZEROW5Xuvab7/9Kg853nHHHZX9jzjiCG677TaWL18OwKJFi3jvvWoPggGw7bbb0rVrV/74xz8CFYHuxRdfrHbcjz/+mM6dOwMwadKkTX6eww47jJtvvpk1a9YA8OGHH1aGr+23357ly5czdepUAL766ivefvttDjroIK666io+/vhjli9fzhFHHMENN9xQeZ7ZCy+8sMn33RyZBLKU0oEppe4ppd4ppRm5fh+klA5JKe2WUjo0pfRhFrVJkqQKY8eOZdy4cQCceOKJTJgwgb59+zJ69IZXfY4fP55rr72WkpISXnvtNdq2bQvA4YcfzvDhw+nXrx+9evVi2LBhfPrppxt939tvv51bb72V3r1706NHjxpPnB8zZgwXXnghpaWllSFrY370ox+x8847U1JSQu/evfnDH/5Au3btGDlyJD179uSII46gb9++QMUFACeffDK9evWitLSUc845h3bt2nHJJZfwxRdfUFJSQo8ePbjkkks2+b6bI9YmvGLUp0+fNHv27KzL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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# same figure, but this time with percent\n", + "plt.figure(figsize=(10, 5))\n", + "xq = np.arange(len(df)) + .5\n", + "nrows = df['nrows'] * 0.01\n", + "alpha=.6\n", + "plt.bar(xq, df['normal_case_path_count'] / nrows,\n", + " width=1, linewidth=0, label='% normal case', alpha=alpha)\n", + "plt.bar(xq, df['general_case_path_count'] / nrows, label='% general case',\n", + " width=1, linewidth=0, alpha=alpha)\n", + "plt.bar(xq, df['fallback_case_path_count'] / nrows,\n", + " width=1, linewidth=0, label='% fallback', alpha=alpha)\n", + "plt.ylabel('%')\n", + "plt.xlabel('file index')\n", + "plt.axhline(50, color='k', linestyle='--')\n", + "plt.yticks(np.arange(0, 110, 10))\n", + "plt.xlim(0, len(df))\n", + "plt.legend()\n", + "sns.despine()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba7e2e1a", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 092ed5a51..cc64cd63f 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -513,6 +513,8 @@ TEST(JSONUtils, CheckFiles) { // bbsn00 test pattern = "/disk/download/data/*2021*.json.gz"; + // test file /disk/download/data/2021-01-05-11.json.gz + // where to output stats... string output_path = "stats"; cout<<"Saving detailed stats in "<<"./"< Date: Fri, 2 Sep 2022 10:46:49 -0400 Subject: [PATCH 051/286] bump max uncompress size --- tuplex/test/utils/TestJSONUtils.cc | 1 + tuplex/utils/include/third_party/gzip/decompress.hpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index cc64cd63f..04370293e 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -514,6 +514,7 @@ TEST(JSONUtils, CheckFiles) { pattern = "/disk/download/data/*2021*.json.gz"; // test file /disk/download/data/2021-01-05-11.json.gz + pattern = "/Users/leonhards/Downloads/2021-01-05-11.json.gz"; // where to output stats... string output_path = "stats"; diff --git a/tuplex/utils/include/third_party/gzip/decompress.hpp b/tuplex/utils/include/third_party/gzip/decompress.hpp index 422965d35..296494f2a 100644 --- a/tuplex/utils/include/third_party/gzip/decompress.hpp +++ b/tuplex/utils/include/third_party/gzip/decompress.hpp @@ -16,7 +16,7 @@ class Decompressor std::size_t max_; public: - Decompressor(std::size_t max_bytes = 1000000000) // by default refuse operation if compressed data is > 1GB + Decompressor(std::size_t max_bytes = 10000000000) // by default refuse operation if compressed data is > 10GB : max_(max_bytes) { } From bb2fef9cafc948042495a33e5428e40e1cb905b9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 2 Sep 2022 10:47:27 -0400 Subject: [PATCH 052/286] bbsn00 settings --- tuplex/test/utils/TestJSONUtils.cc | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 092ed5a51..ee15bd1b1 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -44,9 +44,20 @@ static std::string fileToString(const std::string& path) { return buffer.str(); } static bool stringToFile(const std::string& data, const std::string& path) { - std::ofstream ofs(path); - ofs << data; - ofs.close(); + //std::ofstream ofs(path); + //ofs << data; + //ofs.flush(); + //ofs.close(); + // + FILE *f = fopen(path.c_str(), "w"); + if(!f) { + std::cerr<<"failed to open file "< Date: Fri, 2 Sep 2022 10:48:35 -0400 Subject: [PATCH 053/286] settings --- tuplex/test/utils/TestJSONUtils.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 48788e58c..91092ee7d 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -525,7 +525,7 @@ TEST(JSONUtils, CheckFiles) { pattern = "/disk/download/data/*2021*.json.gz"; // test file /disk/download/data/2021-01-05-11.json.gz - pattern = "/Users/leonhards/Downloads/2021-01-05-11.json.gz"; + // pattern = "/Users/leonhards/Downloads/2021-01-05-11.json.gz"; // where to output stats... string output_path = "./stats"; @@ -537,6 +537,7 @@ TEST(JSONUtils, CheckFiles) { size_t num_files_found = 0; auto paths = glob(pattern); std::sort(paths.begin(), paths.end()); + std::reverse(paths.begin(), paths.end()); num_files_found = paths.size(); cout<<"Found "< Date: Sun, 4 Sep 2022 12:03:18 -0400 Subject: [PATCH 054/286] pretty print --- experimental/notebooks/JSON analysis.ipynb | 181 +++++++++++++++++---- tuplex/test/utils/TestJSONUtils.cc | 58 ++++++- tuplex/utils/include/Base.h | 8 + tuplex/utils/src/Base.cc | 14 ++ 4 files changed, 227 insertions(+), 34 deletions(-) diff --git a/experimental/notebooks/JSON analysis.ipynb b/experimental/notebooks/JSON analysis.ipynb index f5b4e3170..66979de4f 100644 --- a/experimental/notebooks/JSON analysis.ipynb +++ b/experimental/notebooks/JSON analysis.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "700d9636", + "id": "74f775f7", "metadata": {}, "source": [ "## instructions\n", @@ -12,8 +12,8 @@ }, { "cell_type": "code", - "execution_count": 1, - "id": "0a26eb71", + "execution_count": 67, + "id": "408dc524", "metadata": {}, "outputs": [], "source": [ @@ -24,15 +24,15 @@ }, { "cell_type": "code", - "execution_count": 4, - "id": "d68aa2c9", + "execution_count": 68, + "id": "27f1dec4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - " 100\r\n" + " 121\r\n" ] } ], @@ -42,8 +42,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "e427fac2", + "execution_count": 69, + "id": "84860fcc", "metadata": {}, "outputs": [], "source": [ @@ -55,8 +55,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "id": "b252ac68", + "execution_count": 70, + "id": "eba1ec29", "metadata": {}, "outputs": [], "source": [ @@ -65,17 +65,17 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "11906731", + "execution_count": 71, + "id": "77c690ec", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "10\tunique general case types\n", - "1\tunique normal case types\n", - "99\tfiles\n" + "14\tunique general case types\n", + "2\tunique normal case types\n", + "120\tfiles\n" ] } ], @@ -90,8 +90,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "ed070738", + "execution_count": 72, + "id": "f63429f8", "metadata": {}, "outputs": [], "source": [ @@ -102,8 +102,8 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "6142c947", + "execution_count": 73, + "id": "879d2ca5", "metadata": {}, "outputs": [], "source": [ @@ -112,8 +112,8 @@ }, { "cell_type": "code", - "execution_count": 44, - "id": "58d50f20", + "execution_count": 74, + "id": "1c4ff734", "metadata": {}, "outputs": [], "source": [ @@ -122,13 +122,13 @@ }, { "cell_type": "code", - "execution_count": 61, - "id": "a01648ec", + "execution_count": 75, + "id": "e1fd9e99", "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAE9CAYAAACbcdMVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAuE0lEQVR4nO3de7xVdZ3/8dcHvOBlUiTlwYAMOJGhAoJHRU0HczR0HHDKa/4SzCRT08oZE62xi87oIydHp9LhVwSYec/RKW9gmqahHBNFRQMVA3+k5gUzr8Dn98de4OF4gM05Z1/O2a/n43EeZ+/v/q61vmud9WC/+X7Xd63ITCRJktQ4etS6AZIkSaouA6AkSVKDMQBKkiQ1GAOgJElSgzEASpIkNRgDoCRJUoPZqNYNqBdjx47N2267rdbNkCRJKkd0ZGF7AAt/+tOfat0ESZKkqjAASpIkNRgDoCRJUoMxAEqSJDUYJ4Gsw3vvvceSJUt4++23a92UhterVy8GDBjAxhtvXOumSJLU5RkA12HJkiX81V/9FYMGDSKiQ5Nt1AGZycsvv8ySJUsYPHhwrZsjSVKX5xDwOrz99tv06dPH8FdjEUGfPn3siZUkqZMYANfD8Fcf/DtIktR5DIBap0GDBnmPREmSuhmvAdwAg876Zaeub9EF/9Cp62tt+fLlbLSRf2JJkrQmewDr2KJFixg6dCgnnngiO++8MwcddBBvvfUWAHPnzmX06NEMHz6cf/qnf+LVV18FYMyYMXz5y1+mqamJSy65hDFjxvCVr3yFpqYmhg4dypw5c/jUpz7FkCFD+PrXv756W4cddhi77bYbO++8M1OmTFlv22677TZGjRrFiBEjOOCAAwB48MEH2WuvvRg5ciR77703Tz31FACPP/44e+yxB7vuuivDhw9nwYIFAPz0pz9dXf6FL3yBFStWdOrxkyRJbTMA1rkFCxZwyimn8Pjjj7P11ltzww03AHDcccdx4YUX8uijjzJs2DC+9a1vrV7m3Xffpbm5mTPOOAOATTbZhObmZk466STGjx/PD37wAx577DGmTZvGyy+/DMDUqVN56KGHaG5u5tJLL11d3paXXnqJE088kRtuuIFHHnmE6667DoCPfexj3HvvvTz88MN8+9vf5uyzzwbg8ssv5/TTT2fu3Lk0NzczYMAA5s+fzzXXXMN9993H3Llz6dmzJ1deeWVFjqEkSVqT44N1bvDgwey6664A7LbbbixatIhly5bx2muv8Xd/93cATJgwgSOOOGL1MkcdddQa6xg3bhwAw4YNY+edd6Zfv34A7LDDDixevJg+ffpw6aWXcuONNwKwePFiFixYQJ8+fdps0+zZs9lvv/1W35Jlm222AWDZsmVMmDCBBQsWEBG89957AOy1116cf/75LFmyZHXv45133slDDz3E7rvvDsBbb73Fdttt1+HjJUlSdzNs+rAPlM2bMK9D6zQA1rlNN9109euePXuuHgJely222KLNdfTo0WON9fXo0YPly5dz9913M2vWLH7729+y+eabM2bMmHbdcuUb3/gG+++/PzfeeCOLFi1izJgxAHzmM59hzz335Je//CWHHHII//3f/01mMmHCBP793/99g7cjSVJ31lbg62wOAXdBW221Fb179+bee+8F4IorrljdG9gey5Yto3fv3my++eY8+eSTzJ49e531R48ezT333MOzzz4LwCuvvLJ6Pf379wdg2rRpq+s/88wz7LDDDpx22mmMHz+eRx99lAMOOIDrr7+eF198cfU6nnvuuXbvgyRJKp8BsIuaPn06//Iv/8Lw4cOZO3cu//qv/9rudY0dO5bly5czdOhQzjrrLEaPHr3O+ttuuy1TpkzhU5/6FCNGjFg95HzmmWcyefJkRo4cyfLly1fXv/baa9lll13YddddeeyxxzjuuOPYaaedOO+88zjooIMYPnw4Bx54IEuXLm33PkiSpPJFZta6DXWhqakpm5ub1yibP38+Q4cOrVGL1Jp/D0lSIyhnCHjehHkdekKCPYCSJEkNxgAoSZLUYJwFLEmSVCPVmPHbFnsAJUmSGowBUJIkqcFULABGxNSIeDEiHmvjszMiIiPiw8X7iIhLI2JhRDwaEaNa1J0QEQuKnwktyneLiHnFMpdGRBTl20TEzKL+zIjoXal9lCRJ6ooq2QM4DRjbujAitgcOAv7QovhgYEjxMwm4rKi7DXAusCewB3Bui0B3GXBii+VWbess4M7MHALcWbxXJxgzZgytb5UjSZK6nopNAsnMeyJiUBsfXQycCdzUomw8MCNLNyWcHRFbR0Q/YAwwMzNfAYiImcDYiLgb+FBmzi7KZwCHAbcW6xpTrHc6cDfwtU7ZqW9u1SmreX99yzp3fR2UmWQmPXp4ZYAkSd1ZVb/pI2I88HxmPtLqo/7A4hbvlxRl6ypf0kY5QN/MXPVIiT8CfTun9bXxne98hx133JGPf/zjHHPMMVx00UUAPP3004wdO5bddtuNfffdlyeffBKAiRMnctppp7H33nuzww47cP31169e13e/+1123313hg8fzrnnngvAokWL2HHHHTnuuOPYZZddWLx4MV/84hdpampi5513Xl1vXebMmcPee+/NiBEj2GOPPfjzn//MokWL2HfffRk1ahSjRo3i/vvvB2Dp0qXst99+7Lrrruyyyy6rH2d3xx13sNdeezFq1CiOOOII3njjjU49jpIk6X1Vuw1MRGwOnE1p+LcqMjMjYq2POomISZSGnBk4cGC1mlW2OXPmcMMNN/DII4/w3nvvMWrUKHbbbTcAJk2axOWXX86QIUN44IEHOPnkk/nVr34FlELWb37zG5588knGjRvH4Ycfzh133MGCBQt48MEHyUzGjRvHPffcw8CBA1mwYAHTp09f/Qi4888/n2222YYVK1ZwwAEH8OijjzJ8+PA22/juu+9y1FFHcc0117D77rvz+uuvs9lmm7Hddtsxc+ZMevXqxYIFCzjmmGNobm7mZz/7GZ/85Cc555xzWLFiBW+++SZ/+tOfOO+885g1axZbbLEFF154Id/73vc69Hg7SZK0dtW8D+DfAoOBR4r5GgOA30XEHsDzwPYt6g4oyp7n/eHcVeV3F+UD2qgP8EJE9MvMpcUw8otra1BmTgGmQOlRcO3dsUq57777GD9+PL169aJXr1784z/+IwBvvPEG999/P0ccccTquu+8887q14cddhg9evRgp5124oUXXgBKPWx33HEHI0eOXL2OBQsWMHDgQP7mb/5mjef/XnvttUyZMoXly5ezdOlSnnjiibUGwKeeeop+/fqx++67A/ChD30IgL/85S+ceuqpzJ07l549e/L73/8egN13353Pfe5zvPfeexx22GHsuuuu/PrXv+aJJ55gn332AUqhcq+99uqUYyhJkj6oagEwM+cB2616HxGLgKbM/FNE3AycGhFXU5rwsawIcLcD/9Zi4sdBwOTMfCUiXo+I0cADwHHAfxV1bgYmABcUv1tea9gtrFy5kq233pq5c+e2+fmmm266+vWqZz1nJpMnT+YLX/jCGnUXLVrEFltssfr9s88+y0UXXcScOXPo3bs3EydO5O23397gNl588cX07duXRx55hJUrV9KrVy8A9ttvP+655x5++ctfMnHiRL761a/Su3dvDjzwQK666qoN3o4kSdpwlbwNzFXAb4EdI2JJRJywjuq3AM8AC4H/C5wMUEz++A4wp/j59qoJIUWdHxXLPE1pAgiUgt+BEbEA+PvifZe0zz778L//+7+8/fbbvPHGG/ziF78ASr1sgwcP5rrrrgNK4e6RR1pfVrmmT37yk0ydOnX1tXXPP/88L774wc7R119/nS222IKtttqKF154gVtvvfUDdVracccdWbp0KXPmzAHgz3/+M8uXL2fZsmX069ePHj16cMUVV7BixQoAnnvuOfr27cuJJ57I5z//eX73u98xevRo7rvvPhYuXAiUeg9X9RhKktRdDJs+7AM/tVLJWcDHrOfzQS1eJ3DKWupNBaa2Ud4M7NJG+cvAARvY3Lq0++67M27cOIYPH07fvn0ZNmwYW21Vmol85ZVX8sUvfpHzzjuP9957j6OPPpoRI0asdV0HHXQQ8+fPXz20uuWWW/LTn/6Unj17rlFvxIgRjBw5ko997GNsv/32q4dl12aTTTbhmmuu4Utf+hJvvfUWm222GbNmzeLkk0/m05/+NDNmzGDs2LGrexnvvvtuvvvd77Lxxhuz5ZZbMmPGDLbddlumTZvGMcccs3oo+7zzzuOjH/1ou4+dJEm1VsuAtz6xaoiw0TU1NWXre9zNnz+foUOH1qhFJW+88QZbbrklb775Jvvttx9Tpkxh1KhR61+wG6qHv4ckSeWqZACcN2FedGT5ak4CUTtMmjSJJ554grfffpsJEyY0bPiTJEmdxwBY5372s5/VugmSJKmb8ZEPkiRJDcYAKEmS1GAMgJIkSQ3GAChJktRgDIB17tJLL2Xo0KEce+yxbX5+9913c+ihhwIwbdo0Tj31VAAmTpzI9ddf3+Htjxkzhta3x5EkSV2bs4A3QGffz2fehHnrrfPDH/6QWbNmMWDAgPXWlSRJtVHPN31uiz2Adeykk07imWee4eCDD+bCCy9kr732YuTIkey999489dRT611+1qxZNDU18dGPfnT1Y+QWLVrEvvvuy6hRoxg1ahT333//6voXXnghw4YNY8SIEZx11llrrGvlypVMnDiRr3/96527k5IkqersAaxjl19+Obfddht33XUXm2yyCWeccQYbbbQRs2bN4uyzz+aGG25Y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\n", "text/plain": [ "
" ] @@ -157,13 +157,121 @@ }, { "cell_type": "code", - "execution_count": 63, - "id": "2b6b8154", + "execution_count": 79, + "id": "4ace84d3", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAE9CAYAAACleH4eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsUklEQVR4nO3deZgU5bn38e8NAwIKKC5IMDliNK5EIIq7ouASFEFE4nrQqBz1oOJyBM15o8YlakwkuEWiBjQKbuCSEAghYoxGDSqKCEbFiCCLqGwOAw487x/TchiYYZ3pmp75fq6La7qeWvrurqruH09VdUVKCUmSJGWnXtYFSJIk1XUGMkmSpIwZyCRJkjJmIJMkScqYgUySJCljBjJJkqSMFWVdwOY47rjj0pgxY7IuQ5IkaUNEZSMKuods/vz5WZcgSZK02Qo6kEmSJNUGBjJJkqSMGcgkSZIyVtAn9UuSVBt9/fXXzJw5k5KSkqxL0SZo1KgRO+20Ew0aNNjgeQxkkiTVMDNnzqRp06bsvPPORFR6YZ5qoJQSn3/+OTNnzqRNmzYbPJ+HLCVJqmFKSkrYdtttDWMFKCLYdtttN7p300AmSVINZBgrXJuy7qotkEXEgxExLyLeWa2tRUSMi4j3c3+3ybVHRAyOiA8i4u2I6FBddUmSpHX77LPPOPTQQ9lnn314+umnV7V3796dTz/9NLvC1mHo0KH069cv6zI2WXWeQzYUuAt4aLW2gcD4lNItETEwNzwA+CGwW+7fAcC9ub+SJNV5Ow/8Y5Uu79+3HL/O8cOHD+eCCy6gZ8+edO3alR49evDcc8/Rvn17vvWtb1VpLQClpaUUFdXt09qrrYcspfQ34Is1mrsDw3KPhwE9Vmt/KJV5Bdg6IlpVV22SJKlyDRo0oLi4mGXLllG/fn1KS0sZNGgQV111VaXznH322VxyySUcfPDB7LLLLjz55JNA2Unu//M//8M+++xD27ZteeyxxwCYMGEChx12GCeeeCJ77bUXEyZM4IgjjqB79+7ssssuDBw4kEceeYSOHTvStm1bPvzwQwCee+45DjjgANq3b0+XLl2YO3fuOl/LkiVLOOecc2jbti3f//73eeqppwC48MIL2W+//dh777259tprV00/cOBA9tprL77//e9z5ZVXAmU9hieffDL7778/+++/Py+99NKmv7mVyHccbZlSmp17PAdomXvcGvhktelm5tpmI0mS8ur000/n9NNPZ8iQIdx6663cc889nHXWWTRp0mSd882ePZu///3vTJs2jRNPPJFevXoxcuRIJk2axFtvvcX8+fPZf//9OfzwwwF44403eOedd2jTpg0TJkzgrbfeYurUqbRo0YJddtmF8847j9dee41f//rX3HnnnQwaNIhDDz2UV155hYjg/vvv57bbbuOXv/xlpTXdcMMNNG/enMmTJwPw5ZdfAnDTTTfRokULVqxYQefOnXn77bdp3bo1o0aNYtq0aUQECxYsAODSSy/lsssu49BDD2XGjBkce+yxTJ06tQre6f+TWf9gSilFRNrY+SKiL9AXoMG2DWg7rG2V1yZJUpYG7TWIlfNXVtvyp8yfst5pbht2GwALFyxk+A3DGTx0ML3O6sWiBYvoc1Ef2u3frtz0C0oWcFDng5j6xVTYAWbPmc2U+VN4ZtwzHH7C4Uz7chrUh30P3Jenxj/Flk23ZO/2e1PctJgp86fw0cKP2LPdnnzR4Au+WPwFrb7Til077sqU+VNo+p2mTB47mSnzp/Cvd//FL679BfPnzufr5V/T+jutmTJ/CrMWz+KLpV+s9dr+MOYP/GLIL8q1fzr/Ux4b+hhPPvQkpStKmT93PmNfHcsx3Y6BBtDzjJ4cccwRdDqmEw1KGzB23FjeePuNVfN/ueBL/vnvf9Jkq8oD6pwlc+g9rHe5tsl9Jlc6fb4D2dyIaJVSmp07JDkv1z4L+PZq0+2Ua1tLSmkIMASgcZvGGx3oJEnShrvvl/fR97K+jB41mg4HdODobkfT/+z+DHliyFrTNmzYcNXjlNb/Fd24SeNK5496QcMtGq56XFpaCsDNV99Mnwv7cORxR/LaS69xz233bPRrmvnxTIbePZQR40bQfOvm/KTfT1hespyioiJGjB3BK397hT8/92eGPzCcB0c9yMqVK3l0zKNs0WiLjX6uDZXvn714FuiTe9wHeGa19v/MXW15ILBwtUObkiQpAx9/+DFzP51Lx0M6srR4KVEviAiWlSzb4GV0OLADY54ew4oVK/hi/he8/o/Xadt+049uLVm0hB1a7QDAsyOeXe/0Bx1xEMMfHL5qeOGChSxZvITGWzamabOmzJ83nxf/+iIAxUuKWbxoMYcffTgDbhzAe1PeA+DgTgfzyP2PrFrGtMnTNrn+ylRbD1lEDAc6AdtFxEzgWuAW4PGIOBf4GPimL2800BX4ACgGzqmuuiRJ0oYZfPNgLrnmEgC69uzKJX0u4YHBD9BvwIb/vESX47vw1sS3OLnTyUQEl//0crZruR3TP5i+STVddNVFXHHuFTRr3oyOh3Vk5oyZ65z+vy7/L24ccCM9DutBvfr1uPDKCzn6hKPZc5896XZQN3ZsvSPtO7YH4KslX3Hxf17MsmXLIMFVPyu7iOHqm6/mxgE3ctIRJ7GidAU/OOgHXHv7tet62o0WG9KlWFM1btM47XrdrlmXIUlSlRq01yB2bLNj1mVoM8z5aA793+1frm1yn8mV/mKsv9QvSZKUMQOZJElSxgxkkiRJGTOQSZIkZcxAJkmSlDEDmSRJUsYMZJIkqZwv5n/BWcefRY/DejB+9PhV7RefdTHz5sxbx5w1w2svvcZFp1+UdRkbJbN7WUqSpA2z910HV+nypvR7eZ3jR48cTe+ze9Pl+C5ceNqFdO7amQljJ7BH2z3YYccdqrSWTVVaWkpRUe2JMbXnlUiSpCpR1KCIkqUlLF++nPr161NaWsrD9z3MXb+/q9J5Znw0g4EXDmRp8VKOPO5IHr7vYf758T8BePCuBxn7zFiWL19O566d6TegH7NmzOKCUy+gwwEdmPTPSezQagfufOhOGjVuxIyPZnDTgJv48vMvadS4EdfdcR277LYLP+n3Exo2asi0ydNo37E9Pzzph9zyk1tYVrKMLRpvwY2Db6TNrm0qrXHFihX86me/4qW/vkTUC3qd2Yszzj+De2+/lwljJ7CsZBnt9m/Htb+8lojg90N+z+PDHqd+UX2++73vcvtvb6f4q2JuvvpmPpj2AaVfl3LRVRdx1A+P2vz3fLOXIEmSapXjTz6eq/7rKp546Aku/+nljHhwBN1O6bbWzcBXd8tPbuHMvmfStWdXHhv62Kr2l55/iRnTZzDizyNIKdHvzH5MfHkirXZqxYzpM/jFfb/g+juu54pzr2DcH8bR7ZRuXH/F9fz0Fz/lP777H7z9+tvceNWNPDjqQQDmfjqX34/+PfXr12fJ4iUMe24YRUVF/OOFf/DrG3/NoKGDKq3xiYee4NMZn/Lk809SVFTEwi8XAnD6uadz4ZUXAjDwooG88OcX6HRsJx4Y/ABjXx9Lwy0asmjhIgCG3DGEAw47gBsH38iihYs47ZjTOPDwA2myZZPNes8NZJIkqZymzZpy7/B7gbKbcd8/+H4GDx3MtZddy6IFi+hzUR/a7d+u3DxvTXyLwQ8NBsoC3e3X3g7AyxNe5uUJL9PryF4AFH9VzMfTP6bVTq1o/Z3W7NF2DwD22ncvPp3xKcVLipn0z0lcfu7lq5a9fPnyVY+PPfFY6tevD8DiRYu5pt81zJg+g4ig9OvSdb6uV154hd5n9151qLP5Ns0BeO3vr/HgXQ9SsrSEhV8uZNfdd6XTsZ343l7fY8AFAziq61F0/mHnVa9nwtgJDL17KADLli1j9qzZfPd73924N3kNBjJJklSp+355H30v68voUaPpcEAHju52NP3P7s+QJ4Zs2AISnHfpefTu07tc86wZs2i4RcNVw/Xq16O0pJSVaSVNmzXlqQlPVbi41Xvp7vr5XXQ8pCODhw1m1oxZnNPjnI1+fctKlnHDgBt4bNxjtGrdirtvu7vs5uLAPcPv4fV/vM6EsRMYcscQRv1tFCS443d3rPPQ6KbwKktJklShjz/8mLmfzqXjIR1ZWryUqBdEBMtKlq017fd/8H3GPTcOgD+N+tOq9oOPPJhRj46ieEkxAHNnz+Xzzz6v9Dm3aroVrf+jNWOfGQtASolp70yrcNrFixfTslVLAJ4e8fR6X89BnQ7iiWFPUFpa1pO28MuFq8LXNi22oXhJ8arXsHLlSubMmkPHQzty2U8vY8miJRR/VczBRx7Mo799lJQSAFPfnrre590QBjJJklShwTcP5pJrLgFYdW7Yqcecypl9z1xr2oE3DuSh3zzESUecxIyPZtC0WVMADjnyELr27MoZXc/gpMNP4vIfX85XS75a5/Peeu+tjHxkJD079aT7od15fszzFU73434/ZtCNg+h1ZC9WlK5Y7+s5+cyTabVTK3oe0ZOenXryx6f+SLPmzeh1Zi96HN6Dvr37sk+7fYCyCwAGXjiQkw4/iVOOOoUzzj+DZs2bccEVF1BaWkrPI8pqu/OWO9f7vBsivkl4hahxm8Zp1+t2zboMSZKq1KC9BrFjmx2zLmOjLC1eSqPGjYgIRo8azZ9G/ok7H66asFKI5nw0h/7v9i/XNrnP5Khses8hkyRJm+3dt97lpqtvIqVEs2bNuOHXN2RdUkExkEmSpM32g4N+wMgJI7Muo2Blcg5ZRFwaEe9ExJSI6J9raxER4yLi/dzfbbKoTZIkKd/yHsgiYh/gfKAjsC9wQkTsCgwExqeUdgPG54YlSZJqvSx6yPYEXk0pFaeUSoEXgJ5Ad2BYbpphQI8MapMkScq7LALZO8BhEbFtRDQBugLfBlqmlGbnppkDtMygNkmSpLzLeyBLKU0FbgX+DIwBJgEr1pgmARX+HkdE9I2IiRExccXi9f/miCRJ2jhfzP+Cs44/ix6H9WD86PGr2i8+62LmzZlX6TynHXsavY7sxev/eL3SZZ/d/WzemfQOAMd0OIYvP/+SWTNm0eOwHptd92svvcZFp1+02cvJQiZXWaaUHgAeAIiIm4GZwNyIaJVSmh0RrYAK13hKaQgwBMp+hyxPJUuSlJlT/3hqlS5vxPEj1jl+9MjR9D67N12O78KFp11I566dmTB2Anu03YMddtyhwnleefEVdttzN3426GdVWmtdkdVVljvk/n6HsvPHHgWeBfrkJukDPJNFbZIk1XVFDYooWVrC8uXLqV+/PqWlpTx838P8uN+PK5x+2uRp/Or6X/H8mOc5udPJlCwt4Wf/8zN6d+lN90O7c9etd633OVeUrmDABQPodnA3LjvnMpYWLwXg3tvv5UdH/4geh/XgusuvW3XLohnTZ3DeyefRs1NPTjnqFGZ8NKPc8ia/OZleR/Zaq72myurWSU9FxLvAc8B/p5QWALcAR0fE+0CX3LAkScqz408+nr/+6a+c3+t8zu9/PiMeHEG3U7qVu7H36vZouwf9BvTjuO7H8dSEp2jUuBGXXnMpj//lcUa+MJKJL0/kvSnvrfM5P/rgI350zo947uXn2LLploz4XVkv3unnns5j4x7j6RefpqSkhBf+/AIAAy4cwKk/PpWRE0by+9G/Z/uW269a1puvvckNV97AnQ/fyXfafKeK3pXqldUhy8MqaPsc6JxBOZIkaTVNmzXl3uH3ArBwwULuH3w/g4cO5trLrmXRgkX0uagP7fZvt85ljHlmDE8+9CSlK0qZP3c+H/7rQ3bfe/dKp9+x9Y50OKADAN1O6cYjv32Ec/77HF77+2s8eNeDlCwtYeGXC9l1913Z/5D9mTd7Hl2O7wLAFo22WLWc6e9P5/orrmfIE0MqPbxaE/lL/ZIkqVL3/fI++l7Wl9GjRtPhgA4c3e1o+p/dnyFPDKl0npkfz2To3UMZMW4Ezbduzk/6/YTlJcvX+TwRa9zmMWBZyTJuGHADj417jFatW3H3bXezbNmydS5n+x22Z9myZUx9e2pBBbKsDllKkqQa7uMPP2bup3PpeEhHlhYvJeoFEcGyknWHoiWLl9B4y8Y0bdaU+fPm8+JfX1zvc82eOZtJ/5wEwB+f+iMdDuiwKnxt02IbipcUM+65cQBsudWWtPxWy1VXgC5ftnzVOWdNmzflnkfvYdBNg3jtpdc29aXnnYFMkiRVaPDNg7nkmksA6NqzK48NfYxTjzmVM/ueuc759thnD/bcZ0+6HdSNARcMoH3H9ut9rja7tmH4g8PpdnA3Fi1YxI/O/hHNmjej15m96HF4D/r27ss+7fZZNf3P7/45j/z2EU464iTO7Hom8+fNXzVuux22455H7uGmATfx9utvb+Krz6/45mqFQtS4TeO063W7Zl2GJElVatBeg9ixzY5Zl6HNMOejOfR/t3+5tsl9JkfFU9tDJkmSlDkDmSRJUsYMZJIkSRkzkEmSVMMkEoV8jnddl1IiVXxL7koZyCRJqmE+WfoJyxcvN5QVoJQSyxcv55Oln2zUfP4wrCRJNcxvZ/yW8zmfbzf+NkGlF+apBkokPln6Cb+d8duNms9AphpnciU3gm2b5/uR1ZQ6JNU9i1cs5lcf/SrrMpRHBjLVSoYpSVIhMZDlmUGhbnF9S5I2hIGshqjoi7sufGlXFlgKUW16LZKk/DKQVYFC7AUpxJq1fq7XbPn+S9pUBrICVIgf+tXZe2TPVNWqzu2runqCC3GfqE18/6XNZyCr5bIIKwakTeOXWu1VV09JqIjbuVSxTAJZRFwGnAckYDJwDtAKGAFsC7wOnJVSWp5FfXXZxoSpuvoBauBUXZbv7d8wq7oi74EsIloDlwB7pZSWRsTjwKlAV+COlNKIiPgNcC5wb77rU81lECrP90P2NpVXnf+hzHcwrIr9u65uB4Uqq0OWRUDjiPgaaALMBo4CTs+NHwZch4Fso9SE/7mq6vk+C6pvO6iroa6uvm7VXHkPZCmlWRFxOzADWAr8mbJDlAtSSqW5yWYCrfNRz8bslH4x1l61fd1WxZePh7PLq+3bTFXYmPeouqbdWP7HVlnJ4pDlNkB3oA2wAHgCOG4j5u8L9AVosG2DaqhQUj5t7BdSVYTImhAYa3JtkvIvi0OWXYCPUkqfAUTESOAQYOuIKMr1ku0EzKpo5pTSEGAIQOM2jVN+Spaqlv8rVmVqyrZRU+qQ6oosAtkM4MCIaELZIcvOwETgeaAXZVda9gGeyaA2qU7xS3f9atN7VJteizaNPbPl1aT3I4tzyF6NiCeBN4BS4E3Kerz+CIyIiBtzbQ+sb1l7L1vOxFp8SbQfnipUNX3bre0/pVDT339Ja8vkKsuU0rXAtWs0Twc6ZlCOJElSpvylfkkFJd8//yDVBTXp0F1dVSsDmR+skiQpK5uSQ2plIKsKhrrayfUqSaqJDGTVyC9/SZJqt6r6rq9XJUuRJEnSJrOHTJKkTeCJ8FWvtv8kzboYyCRJ0marrjBVV4KvgUySJGk1WfTUGcgkSapmXuSl9fGkfkmSpIwZyCRJkjLmIUtJklRwatvJ/gYySZK0warifLh8n1NXCDUbyCRJqkI15QT+mlBHFjXUhNe9KQxkkiSpQoUabgqRJ/VLkiRlzEAmSZKUsbwHsojYPSImrfZvUUT0j4gWETEuIt7P/d0m37VJkiRlIe+BLKX0XkqpXUqpHfADoBgYBQwExqeUdgPG54YlSZJqvawPWXYGPkwpfQx0B4bl2ocBPbIqSpIkKZ+yDmSnAsNzj1umlGbnHs8BWmZTkiRJUn5lFsgioiFwIvDEmuNSSglIlczXNyImRsTEz4ornESSJKmgZNlD9kPgjZTS3Nzw3IhoBZD7O6+imVJKQ1JK+6WU9tu+SeSpVEmSpOqTZSA7jf87XAnwLNAn97gP8EzeK5IkScpAJoEsIrYEjgZGrtZ8C3B0RLwPdMkNS5Ik1XqZ3DoppfQVsO0abZ9TdtWlJElSnZL1VZaSJEl1noFMkiQpYwYySZKkjBnIJEmSMmYgkyRJypiBTJIkKWMGMkmSpIwZyCRJkjJmIJMkScqYgUySJCljBjJJkqSMGcgkSZIyZiCTJEnKmIFMkiQpYwYySZKkjBnIJEmSMmYgkyRJylgmgSwito6IJyNiWkRMjYiDIqJFRIyLiPdzf7fJojZJkqR8y6qH7NfAmJTSHsC+wFRgIDA+pbQbMD43LEmSVOvlPZBFRHPgcOABgJTS8pTSAqA7MCw32TCgR75rkyRJykIWPWRtgM+A30XEmxFxf0RsCbRMKc3OTTMHaFnRzBHRNyImRsTEz4pTnkqWJEmqPlkEsiKgA3BvSqk98BVrHJ5MKSWgwrSVUhqSUtovpbTf9k2i2ouVJEmqblkEspnAzJTSq7nhJykLaHMjohVA7u+8DGqTJEnKu7wHspTSHOCTiNg919QZeBd4FuiTa+sDPJPv2iRJkrJQlNHzXgw8EhENgenAOZSFw8cj4lzgY6B3RrVJkiTlVSaBLKU0CdivglGd81yKJElS5vylfkmSpIwZyCRJkjJmIJMkScqYgUySJCljBjJJkqSMGcgkSZIyZiCTJEnKWFY/DFur7FzyaIXt/250ep4rkSRJhcgeMkmSpIwZyCRJkjLmIUtJBc/TBiQVuo0KZBFxIHAd0AgYlFJ6uhpqqpMq+kLxyyRbfslLkvJlnYEsInZMKc1Zrely4CQggFeBp6uvNFWFQgwVldVcmZr8WvKtENe3JGn9PWS/iYg3gNtSSiXAAqAXsBJYVM21qRKF+KVbiDVXZmMDY0UK8XVLVaE2fRZIVWmdgSyl1CMiugF/iIiHgP7A6UAToEe1V1eFasqHQFV8mVeFjamjpn9QerhXNUW+P2ey+FyryZ8d/mdJhWy955CllJ6LiNHARcAo4KaU0t+qvTIVrJoQOmtKAFd5hudNVxP2qyy4zaiuWN85ZCcClwGlwM3Aw8D/i4iLgJ+klD6s/hIlVaS6vqANs1XPUCFpfdbXQ3Yj0BFoDIxNKXUEroiI3YCbgFM35Ukj4t/AYmAFUJpS2i8iWgCPATsD/wZ6p5S+3JTlSyqvOkPW5oaNfNdWVctW3VITQrXbc+22vkC2EOhJ2Tlj875pTCm9zyaGsdUcmVKav9rwQGB8SumWiBiYGx6wKQuuq137Khw14cO9sjpqynL98skP3+eaye+xumd9gewk4DTga8pO5q9O3YFOucfDgAmsJ5C99/lKOg39qlxb770bQFtY+XUJ8564bq15tmrbha3admFF8UI+e/rndKpXfv4L92vIj/ZpwCcLV3LWqKVrzX/FQQ3ptnsD3pu/gv/6QwkAc1YOXDW++cGn0njndiyfO51Oz3+11vwlh06l0U57UjJzKgv+Nmyt8S0696Vhy11Y+u9JdHpl7fnvO6ERbAXFH7zKotdGlRvXqd5XPHxSY77dvB6PvfM1905cXq42gO17XE39Js1ZMvkvLJn8l7WWv8Mp11GvQSMWv/FHvpr2IgCN+M6q8TuefgsAC18dydIPXys3bxRtQcve1wOw4KXhlHz8Vrnx9Rs3Y/uTrgHgyxeGsmzWtHLLLmq6Hdt1uxKAL/4yhOXzppebv0GL1mx73MUAfD7mTr7+Yla58Q132IUWXfoCMP+52yldPL/c+C1a7wHHlj0++fFiPi9O5cZ3blPE/ztiCwB++MhXzFlW/r1r/N2OND+gJwBzHi0/DmDLPQ6jaYfjN3jbW9NjHb/eqG1vzXW7+rb3xfgha82/9eF9NnjbW/jyiLXGtz72Nhpsu1MF215ZHdudcAVFzbbnq6l/Y/Gbo9eaf1O2vdV9s+3d/vIy/vCv0nLj5ta7dqO2vU6zy+9bOzWrx+97Ngag/5gSJs1ZUW7897atx5BuZeP7PreUf32+kldW7rlq/IZse9sccTYAn426mRVLF5X77Flz21v6dfnXfsL3iqBD2eMN2fbW/Fw7u10Dzm7XkPnFK+n1ePlta87KgTRt35Ut9zyc0kWfMf8PvwQot4zVt705z679/JVte98s4+bOW3Dwt4t4+ZNS5oxbe/4WnfvCf8Bfppdy49+WrVXftsf2K7ftrfn6vvncq4ptr9O/1v7cnXD2lsDan3ud6n1F4wbwpzPKxt/wwjLGf1R+29y2SfBU7yYAXP2XEv4xs/y2Vdm2983+vSGfe5xQ9vjMkUuZuWhlufEH7VSfn3dpBGzY515F296VB5eNX/P7Fsq+cy/avyHFXye6PlK81vh1bXuwad+5q/vfw7egyy5FTJqzgv5j1h6/+rZ3zfhla40fdFwj2u1Yv8JtD8q+c3ffrj7Pvfc1v/zH8rXGr/mdu6Ynezdmuyb1GDppOUMnfc2E69aaZJX1XWU5H7hzXdNsogT8OSIScF9KaQjQMqU0Ozd+DtCyohkjoi/QF2CL+tVQmSSt5pWVe/L6itb8uST3pbjiTr5eOWs9c23Ycr8xqXRfHig5DYC5K64lrSz/xfDW1x1pvtnPCO1L7uOzlWv/Z6DQrP7eARy07AqKSrYHNv96szWXDbBzyS2bvVxpfSKltP6pqvpJI1qnlGZFxA7AOOBi4NmU0tarTfNlSmmbdS1nv2/VTxP7brVWe74vy96YLv+qqK26nq8uqIpzm6rLxq7vuqoqtvOavB1UharYltwe16+u/ryINsN1C6OyUZncyzKlNCv3d15EjKLswoG5EdEqpTQ7Ilqx2jlr2jB+UEqqKn6eFA7PA6wd8h7IImJLoF5KaXHu8THAz4BngT7ALbm/z+Sjnprc2+QHoiRJdUMWPWQtgVER8c3zP5pSGhMR/wQej4hzgY+B3hnUVqUMVJIkaUPkPZCllKYD+1bQ/jnQOd/1SGB4liRlK5NzyAqBX9CSJClf6mVdgCRJUl1nIJMkScqYhywlFZTqui2TPxEgKUsGMtUpnhsoSaqJPGQpSZKUMQOZJElSxgr6kOXktAs7lwzKugxJtUBtOpxdm16LVFfYQyZJkpQxA5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxgr6Zy8kScpKZT8v4m24qlZdeZ/tIZMkScpYZj1kEVEfmAjMSimdEBFtgBHAtsDrwFkppeVZ1SdJkrQpKu3VW8c8WR6yvBSYCjTLDd8K3JFSGhERvwHOBe7NqjhJkjbFxtwpobYddqstKlqH1b2uMglkEbETcDxwE3B5RARwFPDNqx0GXIeBTJKkglUXzv+qqluVZdVDNgi4CmiaG94WWJBSKs0NzwRaZ1CXJEmqZnUhqG2svAeyiDgBmJdSej0iOm3C/H2BvgD1m21ftcVJGfKG0FLdU9P3+ywO3VWHqgiA1b2usughOwQ4MSK6Ao0oO4fs18DWEVGU6yXbCZhV0cwppSHAEIAtWu2W8lOyJEkCe7eqS94DWUrpauBqgFwP2ZUppTMi4gmgF2VXWvYBnsl3bZIk1Ra1pXerrqhJv0M2gLIT/D+g7JyyBzKuR5IkKS8y/aX+lNIEYELu8XSgY5b1SJKkTVNTzoerKXVsLG+dJEmSCk6hBq/K1KRDlpIkSXWSPWSSJNURXiFZcxnIJElSjVDbDkNuDAOZJEl1XF0NQjXpdXsOmSRJUsYMZJIkSRkzkEmSJGXMQCZJkpQxA5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxgxkkiRJGTOQSZIkZcxAJkmSlLG8B7KIaBQRr0XEWxExJSKuz7W3iYhXI+KDiHgsIhrmuzZJkqQsZNFDtgw4KqW0L9AOOC4iDgRuBe5IKe0KfAmcm0FtkiRJeZf3QJbKLMkNNsj9S8BRwJO59mFAj3zXJkmSlIVMziGLiPoRMQmYB4wDPgQWpJRKc5PMBFpnUZskSVK+ZRLIUkorUkrtgJ2AjsAeGzpvRPSNiIkRMXFF8cLqKlGSJClvMr3KMqW0AHgeOAjYOiKKcqN2AmZVMs+QlNJ+KaX96jdpnp9CJUmSqlEWV1luHxFb5x43Bo4GplIWzHrlJusDPJPv2iRJkrJQtP5JqlwrYFhE1KcsED6eUvpDRLwLjIiIG4E3gQcyqE2SJCnv8h7IUkpvA+0raJ9O2flkkiRJdYq/1C9JkpQxA5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxgxkkiRJGTOQSZIkZcxAJkmSlDEDmSRJUsYMZJIkSRkzkEmSJGXMQCZJkpQxA5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUsbwHsoj4dkQ8HxHvRsSUiLg0194iIsZFxPu5v9vkuzZJkqQsZNFDVgpckVLaCzgQ+O+I2AsYCIxPKe0GjM8NS5Ik1Xp5D2QppdkppTdyjxcDU4HWQHdgWG6yYUCPfNcmSZKUhUzPIYuInYH2wKtAy5TS7NyoOUDLrOqSJEnKp8wCWURsBTwF9E8pLVp9XEopAamS+fpGxMSImLiieGEeKpUkSapemQSyiGhAWRh7JKU0Mtc8NyJa5ca3AuZVNG9KaUhKab+U0n71mzTPT8GSJEnVKIurLAN4AJiaUvrVaqOeBfrkHvcBnsl3bZIkSVkoyuA5DwHOAiZHxKRc2zXALcDjEXEu8DHQO4PaJEmS8i7vgSyl9HcgKhndOZ+1SJIk1QT+Ur8kSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxgxkkiRJGTOQSZIkZcxAJkmSlDEDmSRJUsYMZJIkSRkzkEmSJGXMQCZJkpQxA5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxjIJZBHxYETMi4h3VmtrERHjIuL93N9tsqhNkiQp37LqIRsKHLdG20BgfEppN2B8bliSJKnWyySQpZT+BnyxRnN3YFju8TCgRz5rkiRJykpNOoesZUppdu7xHKBllsVIkiTlS00KZKuklBKQKhoXEX0jYmJETFxRvDDPlUmSJFW9mhTI5kZEK4Dc33kVTZRSGpJS2i+ltF/9Js3zWqAkSVJ1qEmB7FmgT+5xH+CZDGuRJEnKm6x+9mI48A9g94iYGRHnArcAR0fE+0CX3LAkSVKtV5TFk6aUTqtkVOe8FiJJklQD1KRDlpIkSXWSgUySJCljBjJJkqSMGcgkSZIyZiCTJEnKmIFMkiQpYwYySZKkjBnIJEmSMmYgkyRJypiBTJIkKWMGMkmSpIwZyCRJkjJmIJMkScqYgUySJCljBjJJkqSMGcgkSZIyZiCTJEnKWI0KZBFxXES8FxEfRMTArOuRJEnKhxoTyCKiPnA38ENgL+C0iNgr26okSZKqX40JZEBH4IOU0vSU0nJgBNA945okSZKqXU0KZK2BT1YbnplrkyRJqtWKsi5gY0VEX6BvbnDZx7ee8E6W9WizbQfMz7oIbRbXYWFz/RU+12GBiFsZk1I6rqJxNSmQzQK+vdrwTrm2clJKQ4AhABExMaW0X37KU3VwHRY+12Fhc/0VPtdh7VCTDln+E9gtItpEREPgVODZjGuSJEmqdjWmhyylVBoR/YCxQH3gwZTSlIzLkiRJqnY1JpABpJRGA6M3YpYh1VWL8sZ1WPhch4XN9Vf4XIe1QKSUsq5BkiSpTqtJ55BJkiTVSQUbyLzNUmGJiG9HxPMR8W5ETImIS3PtLSJiXES8n/u7Tda1at0ion5EvBkRf8gNt4mIV3P74mO5i3JUQ0XE1hHxZERMi4ipEXGQ+2HhiIjLcp+h70TE8Iho5D5YOxRkIPM2SwWpFLgipbQXcCDw37l1NhAYn1LaDRifG1bNdikwdbXhW4E7Ukq7Al8C52ZSlTbUr4ExKaU9gH0pW5fuhwUgIloDlwD7pZT2oewCuFNxH6wVCjKQ4W2WCk5KaXZK6Y3c48WUfQm0pmy9DctNNgzokUmB2iARsRNwPHB/bjiAo4Anc5O4DmuwiGgOHA48AJBSWp5SWoD7YSEpAhpHRBHQBJiN+2CtUKiBzNssFbCI2BloD7wKtEwpzc6NmgO0zKoubZBBwFXAytzwtsCClFJpbth9sWZrA3wG/C532Pn+iNgS98OCkFKaBdwOzKAsiC0EXsd9sFYo1ECmAhURWwFPAf1TSotWH5fKLvn1st8aKiJOAOallF7PuhZtsiKgA3BvSqk98BVrHJ50P6y5cuf2dacsWH8L2BKo8DY8KjyFGsg26DZLqlkiogFlYeyRlNLIXPPciGiVG98KmJdVfVqvQ4ATI+LflJ0mcBRl5yNtnTt8Au6LNd1MYGZK6dXc8JOUBTT3w8LQBfgopfRZSulrYCRl+6X7YC1QqIHM2ywVmNy5Rg8AU1NKv1pt1LNAn9zjPsAz+a5NGyaldHVKaaeU0s6U7XN/TSmdATwP9MpN5jqswVJKc4BPImL3XFNn4F3cDwvFDODAiGiS+0z9Zv25D9YCBfvDsBHRlbLzWb65zdJN2VakdYmIQ4EXgcn83/lH11B2HtnjwHeAj4HeKaUvMilSGywiOgFXppROiIhdKOsxawG8CZyZUlqWYXlah4hoR9lFGQ2B6cA5lP3n3P2wAETE9cCPKLty/U3gPMrOGXMfLHAFG8gkSZJqi0I9ZClJklRrGMgkSZIyZiCTJEnKmIFMkiQpYwYySZKkjBnIJBWsiLgkIqZGxCMRcWJEDMy1XxcRV27EclbNuxHzDI2IXuufUpLWr2j9k0hSjXUR0CWlNDM3vEk/EJ1SenZT55WkqmAPmaSCFBG/AXYB/hQRl0XE2RFxVwXTfTcixkTE6xHxYkTsUcE0q+bN9XwNjoiXI2L6N71gUeauiHgvIv4C7LDa/D+IiBdyzzE2IlpFRPPctLvnphkeEedX09shqcAZyCQVpJTSBcCnwJEppTvWMekQ4OKU0g+AK4F7NmDxrYBDgROAW3JtJwG7A3sB/wkcDKvu0Xon0Cv3HA8CN6WUFgL9gKERcSqwTUrptxv3KiXVFR6ylFRrRcRWlAWnJ8pu/QfAFhsw69MppZXAuxHRMtd2ODA8pbQC+DQi/ppr3x3YBxiXe476wGyAlNK4iDgFuBvYtwpekqRaykAmqTarByxIKbXbyPlWvw9gVDrV/42fklI6aK0REfWAPYFiYBtg5prTSBJ4yFJSLZZSWgR8lOul+uY8sE3tqfob8KOIqB8RrYAjc+3vAdtHxEG552gQEXvnxl0GTAVOB36XO7wpSWsxkEmq7c4Azo2It4ApQPdNXM4o4H3gXeAh4B8AKaXlQC/g1txzTAIOzp3Mfx5wRUrpRcoC3f9uxuuQVItFSinrGiRJkuo0e8gkSZIyZiCTJEnKmIFMkiQpYwYySZKkjBnIJEmSMmYgkyRJypiBTJIkKWMGMkmSpIz9f+sbw0nyg7XCAAAAAElFTkSuQmCC\n", + "text/plain": [ + "\"Struct[(str,'id'->str),(str,'type'->str),(str,'actor'->Struct[(str,'id'->i64),(str,'login'->str),(str,'display_login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'repo'->Struct[(str,'id'->i64),(str,'name'->str),(str,'url'->str)]),(str,'payload'->Struct[(str,'push_id'->i64),(str,'size'->i64),(str,'distinct_size'->i64),(str,'ref'->str),(str,'head'->str),(str,'before'->str),(str,'commits'->List[Struct[(str,'sha'->str),(str,'author'->Struct[(str,'name'->str),(str,'email'->str)]),(str,'message'->str),(str,'distinct'->boolean),(str,'url'->str)]])]),(str,'public'->boolean),(str,'created_at'->str)]\"" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head().iloc[0]['normal_case_type']" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "cb3df19d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Struct[(str,'actor'->Struct[(str,'id'->i64),(str,'login'->str),(str,'display_login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'created_at'->str),(str,'id'->str),(str,'org'=>Struct[(str,'id'->i64),(str,'login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'payload'->Struct[(str,'action'=>str),(str,'before'=>str),(str,'commits'=>List[Struct[(str,'sha'->str),(str,'author'->Struct[(str,'name'->str),(str,'email'->str)]),(str,'message'->str),(str,'distinct'->boolean),(str,'url'->str)]]),(str,'description'=>Option[str]),(str,'distinct_size'=>i64),(str,'head'=>str),(str,'master_branch'=>str),(str,'push_id'=>i64),(str,'pusher_type'=>str),(str,'ref'=>Option[str]),(str,'ref_type'=>str),(str,'size'=>i64)]),(str,'public'->boolean),(str,'repo'->Struct[(str,'id'->i64),(str,'name'->str),(str,'url'->str)]),(str,'type'->str)]\"" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head().iloc[0]['general_case_type']" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "380f70e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Struct[(str,'actor'->Struct[(str,'id'->i64),(str,'login'->str),(str,'display_login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'created_at'->str),(str,'id'->str),(str,'org'=>Struct[(str,'id'->i64),(str,'login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'payload'->Struct[(str,'push_id'->i64),(str,'size'->i64),(str,'distinct_size'->i64),(str,'ref'->str),(str,'head'->str),(str,'before'->str),(str,'commits'->List[Struct[(str,'sha'->str),(str,'author'->Struct[(str,'email'->str),(str,'name'->str)]),(str,'message'->str),(str,'distinct'->boolean),(str,'url'->str)]])]),(str,'public'->boolean),(str,'repo'->Struct[(str,'id'->i64),(str,'name'->str),(str,'url'->str)]),(str,'type'->str)]\"" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(list(df['general_case_type'].unique()), key=lambda x: len(x))[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "6e193658", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"Struct[(str,'actor'->Struct[(str,'id'->i64),(str,'login'->str),(str,'display_login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'created_at'->str),(str,'id'->str),(str,'org'=>Struct[(str,'id'->i64),(str,'login'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'avatar_url'->str)]),(str,'payload'->Struct[(str,'action'=>str),(str,'before'=>str),(str,'comment'=>Struct[(str,'url'->str),(str,'html_url'->str),(str,'issue_url'->str),(str,'id'->i64),(str,'node_id'->str),(str,'user'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)]),(str,'created_at'->str),(str,'updated_at'->str),(str,'author_association'->str),(str,'body'->str),(str,'performed_via_github_app'->null)]),(str,'commits'=>List[Struct[(str,'sha'->str),(str,'author'->Struct[(str,'name'->str),(str,'email'->str)]),(str,'message'->str),(str,'distinct'->boolean),(str,'url'->str)]]),(str,'description'=>Option[str]),(str,'distinct_size'=>i64),(str,'head'=>str),(str,'issue'=>Struct[(str,'url'->str),(str,'repository_url'->str),(str,'labels_url'->str),(str,'comments_url'->str),(str,'events_url'->str),(str,'html_url'->str),(str,'id'->i64),(str,'node_id'->str),(str,'number'->i64),(str,'title'->str),(str,'user'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)]),(str,'labels'->List[Struct[(str,'id'->i64),(str,'node_id'->str),(str,'url'->str),(str,'name'->str),(str,'color'->str),(str,'default'->boolean),(str,'description'->str)]]),(str,'state'->str),(str,'locked'->boolean),(str,'assignee'->null),(str,'assignees'->[]),(str,'milestone'->null),(str,'comments'->i64),(str,'created_at'->str),(str,'updated_at'->str),(str,'closed_at'->null),(str,'author_association'->str),(str,'active_lock_reason'->null),(str,'pull_request'->Struct[(str,'url'->str),(str,'html_url'->str),(str,'diff_url'->str),(str,'patch_url'->str)]),(str,'body'->str),(str,'performed_via_github_app'->null)]),(str,'master_branch'=>str),(str,'number'=>i64),(str,'pull_request'=>Struct[(str,'_links'->Struct[(str,'self'->Struct[(str,'href'->str)]),(str,'html'->Struct[(str,'href'->str)]),(str,'issue'->Struct[(str,'href'->str)]),(str,'comments'->Struct[(str,'href'->str)]),(str,'review_comments'->Struct[(str,'href'->str)]),(str,'review_comment'->Struct[(str,'href'->str)]),(str,'commits'->Struct[(str,'href'->str)]),(str,'statuses'->Struct[(str,'href'->str)])]),(str,'active_lock_reason'->null),(str,'additions'->i64),(str,'assignee'->null),(str,'assignees'->[]),(str,'author_association'->str),(str,'base'->Struct[(str,'label'->str),(str,'ref'->str),(str,'repo'->Struct[(str,'archive_url'->str),(str,'archived'->boolean),(str,'assignees_url'->str),(str,'blobs_url'->str),(str,'branches_url'->str),(str,'clone_url'->str),(str,'collaborators_url'->str),(str,'comments_url'->str),(str,'commits_url'->str),(str,'compare_url'->str),(str,'contents_url'->str),(str,'contributors_url'->str),(str,'created_at'->str),(str,'default_branch'->str),(str,'deployments_url'->str),(str,'description'->Option[str]),(str,'disabled'->boolean),(str,'downloads_url'->str),(str,'events_url'->str),(str,'fork'->boolean),(str,'forks'->i64),(str,'forks_count'->i64),(str,'forks_url'->str),(str,'full_name'->str),(str,'git_commits_url'->str),(str,'git_refs_url'->str),(str,'git_tags_url'->str),(str,'git_url'->str),(str,'has_downloads'->boolean),(str,'has_issues'->boolean),(str,'has_pages'->boolean),(str,'has_projects'->boolean),(str,'has_wiki'->boolean),(str,'homepage'->Option[str]),(str,'hooks_url'->str),(str,'html_url'->str),(str,'id'->i64),(str,'issue_comment_url'->str),(str,'issue_events_url'->str),(str,'issues_url'->str),(str,'keys_url'->str),(str,'labels_url'->str),(str,'language'->str),(str,'languages_url'->str),(str,'license'->Option[Struct[(str,'key'->str),(str,'name'->str),(str,'spdx_id'->str),(str,'url'->str),(str,'node_id'->str)]]),(str,'merges_url'->str),(str,'milestones_url'->str),(str,'mirror_url'->null),(str,'name'->str),(str,'node_id'->str),(str,'notifications_url'->str),(str,'open_issues'->i64),(str,'open_issues_count'->i64),(str,'owner'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)]),(str,'private'->boolean),(str,'pulls_url'->str),(str,'pushed_at'->str),(str,'releases_url'->str),(str,'size'->i64),(str,'ssh_url'->str),(str,'stargazers_count'->i64),(str,'stargazers_url'->str),(str,'statuses_url'->str),(str,'subscribers_url'->str),(str,'subscription_url'->str),(str,'svn_url'->str),(str,'tags_url'->str),(str,'teams_url'->str),(str,'trees_url'->str),(str,'updated_at'->str),(str,'url'->str),(str,'watchers'->i64),(str,'watchers_count'->i64)]),(str,'sha'->str),(str,'user'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)])]),(str,'body'->str),(str,'changed_files'->i64),(str,'closed_at'->null),(str,'comments'->i64),(str,'comments_url'->str),(str,'commits'->i64),(str,'commits_url'->str),(str,'created_at'->str),(str,'deletions'->i64),(str,'diff_url'->str),(str,'draft'->boolean),(str,'head'->Struct[(str,'label'->str),(str,'ref'->str),(str,'repo'->Struct[(str,'archive_url'->str),(str,'archived'->boolean),(str,'assignees_url'->str),(str,'blobs_url'->str),(str,'branches_url'->str),(str,'clone_url'->str),(str,'collaborators_url'->str),(str,'comments_url'->str),(str,'commits_url'->str),(str,'compare_url'->str),(str,'contents_url'->str),(str,'contributors_url'->str),(str,'created_at'->str),(str,'default_branch'->str),(str,'deployments_url'->str),(str,'description'->Option[str]),(str,'disabled'->boolean),(str,'downloads_url'->str),(str,'events_url'->str),(str,'fork'->boolean),(str,'forks'->i64),(str,'forks_count'->i64),(str,'forks_url'->str),(str,'full_name'->str),(str,'git_commits_url'->str),(str,'git_refs_url'->str),(str,'git_tags_url'->str),(str,'git_url'->str),(str,'has_downloads'->boolean),(str,'has_issues'->boolean),(str,'has_pages'->boolean),(str,'has_projects'->boolean),(str,'has_wiki'->boolean),(str,'homepage'->Option[str]),(str,'hooks_url'->str),(str,'html_url'->str),(str,'id'->i64),(str,'issue_comment_url'->str),(str,'issue_events_url'->str),(str,'issues_url'->str),(str,'keys_url'->str),(str,'labels_url'->str),(str,'language'->str),(str,'languages_url'->str),(str,'license'->Option[Struct[(str,'key'->str),(str,'name'->str),(str,'spdx_id'->str),(str,'url'->str),(str,'node_id'->str)]]),(str,'merges_url'->str),(str,'milestones_url'->str),(str,'mirror_url'->null),(str,'name'->str),(str,'node_id'->str),(str,'notifications_url'->str),(str,'open_issues'->i64),(str,'open_issues_count'->i64),(str,'owner'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)]),(str,'private'->boolean),(str,'pulls_url'->str),(str,'pushed_at'->str),(str,'releases_url'->str),(str,'size'->i64),(str,'ssh_url'->str),(str,'stargazers_count'->i64),(str,'stargazers_url'->str),(str,'statuses_url'->str),(str,'subscribers_url'->str),(str,'subscription_url'->str),(str,'svn_url'->str),(str,'tags_url'->str),(str,'teams_url'->str),(str,'trees_url'->str),(str,'updated_at'->str),(str,'url'->str),(str,'watchers'->i64),(str,'watchers_count'->i64)]),(str,'sha'->str),(str,'user'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)])]),(str,'html_url'->str),(str,'id'->i64),(str,'issue_url'->str),(str,'labels'->[]),(str,'locked'->boolean),(str,'maintainer_can_modify'->boolean),(str,'merge_commit_sha'->null),(str,'mergeable'->null),(str,'mergeable_state'->str),(str,'merged'->boolean),(str,'merged_at'->null),(str,'merged_by'->null),(str,'milestone'->null),(str,'node_id'->str),(str,'number'->i64),(str,'patch_url'->str),(str,'rebaseable'->null),(str,'requested_reviewers'->[]),(str,'requested_teams'->[]),(str,'review_comment_url'->str),(str,'review_comments'->i64),(str,'review_comments_url'->str),(str,'state'->str),(str,'statuses_url'->str),(str,'title'->str),(str,'updated_at'->str),(str,'url'->str),(str,'user'->Struct[(str,'login'->str),(str,'id'->i64),(str,'node_id'->str),(str,'avatar_url'->str),(str,'gravatar_id'->str),(str,'url'->str),(str,'html_url'->str),(str,'followers_url'->str),(str,'following_url'->str),(str,'gists_url'->str),(str,'starred_url'->str),(str,'subscriptions_url'->str),(str,'organizations_url'->str),(str,'repos_url'->str),(str,'events_url'->str),(str,'received_events_url'->str),(str,'type'->str),(str,'site_admin'->boolean)])]),(str,'push_id'=>i64),(str,'pusher_type'=>str),(str,'ref'=>Option[str]),(str,'ref_type'=>str),(str,'size'=>i64)]),(str,'public'->boolean),(str,'repo'->Struct[(str,'id'->i64),(str,'name'->str),(str,'url'->str)]),(str,'type'->str)]\"" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(list(df['general_case_type'].unique()), key=lambda x: len(x))[::-1][0]" + ] + }, + { + "cell_type": "markdown", + "id": "9c77f832", + "metadata": {}, + "source": [ + "TODO: If we computed a global general case, this would mean either everything was optional or highly likely optional, but also often we can't create this global general case becuase of the type mismatch since Tuplex has only Optional[ ] types as polymoprhic types." + ] + }, + { + "cell_type": "markdown", + "id": "4a117663", + "metadata": {}, + "source": [ + "TODO: add to stats sample rows (100x ?) that match normal/general case/fallback case." + ] + }, + { + "cell_type": "markdown", + "id": "cb6b30ba", + "metadata": {}, + "source": [ + "TODO: add pretty print for nested struct type." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "bacbd343", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAE9CAYAAABZbVXUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAupklEQVR4nO3de5yUdd3/8deHBQQM8IyEmZjmudAUz4qCZSiCSOTxRrNIvc3zLaj371bzkJYloWmSGlgKnsBDkUQkHTQlVBQRzFMiyEFUTi67uPD9/TEjLbCwsOzOzLX7ej4ePGbmex3mM9d8d+bN97quuSKlhCRJkkpbs2IXIEmSpNoZ2iRJkjLA0CZJkpQBhjZJkqQMMLRJkiRlgKFNkiQpA5oXu4BNceyxx6annnqq2GVIkiRtiNiUhTM90rZgwYJilyBJklQQmQ5tkiRJTYWhTZIkKQMMbZIkSRmQ6RMRJElqjD799FNmzZpFRUVFsUtRHbRq1YoddtiBFi1a1Ot6DW2SJJWYWbNm0bZtW3baaSciNumEQxVYSokPP/yQWbNm0blz53pdt7tHJUkqMRUVFWy99dYGtgyKCLbeeusGGSU1tEmSVIIMbNnVUO9dg4W2iLg3IuZHxKvV2raKiPER8Ub+dst8e0TE0Ih4MyJeiYj9GqouSZK0fh988AGHHXYYe++9N4899tiq9t69e/P+++8Xr7D1GD58OOeff36xy2hQDXlM23DgduC+am2DgQkppZsiYnD+8SDgm8Cu+X8HAnfmbyVJavJ2Gvz7el3fv286br3TR44cyTnnnEPfvn3p2bMnffr04cknn2Tffffl85//fL3WAlBVVUXz5h5mX5sGG2lLKf0V+GiN5t7AiPz9EUCfau33pZzngC0iomND1SZJktatRYsWlJeXU1lZSVlZGVVVVQwZMoTLL798ncuceeaZXHDBBRxyyCHsvPPOPPLII0DuwPz/+Z//Ye+992afffbhwQcfBGDixIkcfvjhnHDCCey5555MnDiRI488kt69e7PzzjszePBg7r//frp27co+++zDW2+9BcCTTz7JgQceyL777kuPHj2YN2/eel/L0qVLOeuss9hnn334yle+wqOPPgrAueeey/77789ee+3F1VdfvWr+wYMHs+eee/KVr3yFyy67DMiNPJ500kkccMABHHDAATzzzDN137iboNCx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3oHyN59n8aQxa03f5vhLad5uWz6Z/leWvDQWgFbsuGr6tn2uoKxNe5ZO/RNLp/5pjaUHs923rqFZi1YsefH3fDLjb2utf6dTcx9Oi54fzbK3Jq1aDiCab0aH/tcCsPCZkVS8+/Jqy5a1bse2J14JwMd/GU7l7BmrTT99i2X8tm9rAC56qoIpc1esNv3LWzdjWK/c9A+fuo1PP5q92vSW2+3MVj0GArDgyVuoWrJgtembddqdLY88E4APxtzIimWrnwDd6otfZYtDTwFg3kNXk6py789n7/HxX27OZYdslmtbo9/NXTmYzXc/vNa+97l9erCifBEfPPajtaa33bcnm+9xBFWLP2DB73661vQ1+95qtbMj7Q85eY2+N3i1eT7rexWzprPwryPWWn/1vrfo2VFrTd/6G+ev6nvdJq/dN6t6frBW36tu2z5XQCsYPmU5w6d8uqr9s75fve91+9fa65945uYA3PJsJb/7VxXPrdxj1bRc38vdr63vXfGnCv4xa/W+tUO7Zqv1vbnvr77tWmzVia2P/QFQe987ffQyZi1eudr0g3co40c9WgE1973rvlTJ/zsy17e+ef8nLPv0P9sFoPWXutL+wL657fXAf9o/65v992rBeQe0pPzTRM/7y1db99yVg9fqe2t+btX0uVf9+T/re68vWMH3f1ex2rqBGvre6jak7/FF+NPbVVz/18q1pt91fCt226asxs+9bs0+4TcntuYL7Zvx4Kufcufk5avVDrDg5JVs06bZWn3vM2NPa0ObFsEd/1zOQ9PWnr5m36uudQvgpNz9z/pe9e27dZvg0f5tgJo/95q33YZtel0G1P65N/DJZcz9YPXX1nK7neH43P269L01P/e6rVy9byzqPHqtvlf99a2v7wGc2aUFZ3ZpWafvXIBLD25Jr91arNX3PvO/R2xGj52bM2XuCi56au3pN3bfjEO+0Hyt79zPDDm2FV22L6u17z35+qf89B/L15q+Zt9b0yP9W6/W9yZes9YsG6W2s0cXALdt2lPUvGrgjxGRgLtSSsOADimlOfnpc4EONS0YEQOBgQCblTVAZZJKznMr92CnipsAWPTpaJatnFTLEut2x4oTqFy5xhfnim3YqSL3xflR1TDg7Tqvf03PrdyDl1bszsiKM/MtN9bbugvt6Mqf8uHK22ufsQ52qniAZcunsGjlf/7DcFCz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\n", "text/plain": [ "
" ] @@ -197,13 +305,13 @@ }, { "cell_type": "code", - "execution_count": 66, - "id": "264be2a9", + "execution_count": 77, + "id": "025520ba", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAFBCAYAAADZmLOkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtMUlEQVR4nO3deZhU9Zn3//fNEkGiIOgQBH3ExFG2xlZQUUxwNwQFCW6og4mBuEXMaIiK/nQ0JOoYg/ookZ86kIxBDS6IjjFKIGo0KmoLIhpciDYiouKCLIp+nz+66KGhG+imu05V9/t1XVxdZ627zjl16sP3bJFSQpIkSdlplnUBkiRJTZ2BTJIkKWMGMkmSpIwZyCRJkjJmIJMkScqYgUySJCljDRbIIuK2iHgvIl5ap1/7iHgkIhbk/m6X6x8RcX1EvBYRcyJir4aqS5IkqdA0ZAvZJODI9fpdAMxIKe0GzMh1A3wX2C33bxQwoQHrkiRJKigNFshSSo8BH67XezAwOfd6MjBknf6/SxX+DrSLiE4NVZskSVIhyfc5ZB1TSotzr98FOuZedwbeXme88lw/SZKkRq9FVm+cUkoRUevnNkXEKCoOa9K9e/e9582bV++1SZIkNYCoaUC+W8iWrD0Umfv7Xq7/ImCndcbrkuu3gZTSxJRSn5RSn9atWzdosZIkSfmQ70B2PzAi93oEMG2d/v+Wu9pyP+DjdQ5tSpIkNWoNdsgyIqYAA4DtI6IcuBS4ErgrIk4D/gkclxv9f4CBwGvACuAHDVWXJElSoWmwQJZSOrGGQYdUM24CzmqoWiRJkgpZZif1S5Kk6n3xxReUl5ezatWqrEtRHbRq1YouXbrQsmXLzZ7GQCZJUoEpLy9nm222YZdddiGixgvzVIBSSnzwwQeUl5fTtWvXzZ7OZ1lKklRgVq1aRYcOHQxjRSgi6NChQ61bNw1kkiQVIMNY8arLujOQSZKkKpYuXUr//v3p2bMn9913X2X/wYMH884772RX2EZMmjSJs88+O+sy6sxzyCRJKnAX3jO3Xuf3q6G9Njp8ypQpnH766QwdOpSBAwcyZMgQpk+fTmlpKTvuuGO91gKwZs0aWrRo2pHEFjJJklRFy5YtWbFiBatXr6Z58+asWbOG8ePHM2bMmBqnOfXUUznnnHPYf//92XXXXZk6dSpQcZL7z372M3r27EmvXr248847AZg1axYHHnggRx99NN27d2fWrFl85zvfYfDgwey6665ccMEF3H777eyzzz706tWL119/HYDp06ez7777UlpayqGHHsqSJUs2+lmWL1/OD37wA3r16kVJSQl33303AGeccQZ9+vShR48eXHrppZXjX3DBBXTv3p2SkhLOP/98oKLF8Pvf/z59+/alb9++/O1vf6v7wq1B046jkiRpA8OHD2f48OFMnDiRq666iptuuolTTjmFrbfeeqPTLV68mCeeeIJXXnmFo48+mmHDhnHPPfdQVlbGiy++yPvvv0/fvn359re/DcDzzz/PSy+9RNeuXZk1axYvvvgi8+fPp3379uy666786Ec/4plnnuG6667jhhtuYPz48fTv35+///3vRAS33HILV199Nb/+9a9rrOmKK66gbdu2zJ1b0cq4bNkyAMaNG0f79u358ssvOeSQQ5gzZw6dO3fm3nvv5ZVXXiEi+OijjwAYPXo0P/3pT+nfvz9vvfUWRxxxBPPnz6+HJf2/DGSSJKmKtm3b8uCDDwIVAebKK6/k3nvvZeTIkSxbtozzzjuPfv36bTDdkCFDaNasGd27d69suXriiSc48cQTad68OR07duQ73/kOzz77LNtuuy377LNPlVtD9O3bl06dOgHwzW9+k8MPPxyAXr16MXPmTKDiliDHH388ixcv5vPPP9/krSUeffRR7rjjjsru7bbbDoC77rqLiRMnsmbNGhYvXszLL79M9+7dadWqFaeddhqDBg1i0KBBlfN4+eWXK+fxySefsHz5cr7+9a/XbsFuhIcsJUlSja644grGjh3LlClT6N+/P5MnT+ayyy6rdtytttqq8nXFQ3g2rk2bNjVO36xZs8ruZs2asWbNGgB+8pOfcPbZZzN37lxuvvnmOt0898033+Saa65hxowZzJkzh+9973usWrWKFi1a8MwzzzBs2DAeeOABjjzySAC++uor/v73v1NWVkZZWRmLFi2q1zAGBjJJklSDBQsWUF5ezoABA1ixYgXNmjUjIli5cuVmz+PAAw/kzjvv5Msvv2Tp0qU89thj7LPPPnWu6eOPP6Zz584ATJ48eZPjH3bYYdx4442V3cuWLeOTTz6hTZs2tG3bliVLlvDQQw8BFeebffzxxwwcOJDf/OY3vPjiiwAcfvjh3HDDDZXzKCsrq3P9NTGQSZKkao0dO5Zx48YBcOKJJzJhwgT69u3L6NGjN3sexxxzDCUlJfTu3ZuDDz6Yq6++mm984xt1rumyyy7j2GOPZe+992b77bff5PgXX3wxy5Yto2fPnvTu3ZuZM2fSu3dvSktL2WOPPRg+fDgHHHAAAJ9++imDBg2ipKSE/v37c+211wJw/fXXM3v2bEpKSujevTu//e1v61x/TWJzmhQLVZ8+fdLs2bOzLkOSpHo1f/58unXrlnUZ2gI1rMMa7xhrC5kkSVLGDGSSJEkZM5BJkiRlzEAmSZKUMQOZJElSxjIJZBExOiJeioh5EXFurl/7iHgkIhbk/m6XRW2SJEn5lvdAFhE9gZHAPkBvYFBEfAu4AJiRUtoNmJHrliRJebZ06VL69+9Pz549ue+++yr7Dx48mHfeeSe7wjbTrFmzKh97VCyyeJZlN+DplNIKgIj4KzAUGAwMyI0zGZgF/DyD+iRJKizTN/9GrJvlqOs2OnjKlCmcfvrpDB06lIEDBzJkyBCmT59OaWkpO+64Y/3WUkdr1qyhRYvG80juLA5ZvgQcGBEdImJrYCCwE9AxpbQ4N867QMcMapMkqclr2bIlK1asYPXq1TRv3pw1a9Ywfvx4xowZU+M0r7/+Ovvttx+9evXi4osvrvKsx//8z/+kb9++lJSUcOmllwKwcOFCunXrxsiRI+nRoweHH3545SOZXn/9dY488kj23ntvDjzwQF555RUATj31VE4//XT23XdfxowZwzPPPEO/fv0oLS1l//3359VXX93o5/ryyy85//zz6dmzJyUlJZWPQ7r88svp27cvPXv2ZNSoUZXP4bz++uvp3r07JSUlnHDCCQB89tln/PCHP2SfffahtLSUadOm1XEpV5X3QJZSmg9cBfwZ+BNQBny53jgJqPYRAhExKiJmR8TspUuXNnC1kiQ1PcOHD2fatGkcdthhXHTRRdx0002ccsopbL311jVOM3r0aEaPHs3cuXPp0qVLZf8///nPLFiwgGeeeYaysjKee+45HnvsMaDiWZlnnXUW8+bNo127dtx9990AjBo1ihtuuIHnnnuOa665hjPPPLNyfuXl5Tz55JNce+217LHHHjz++OO88MILXH755Vx00UUb/VwTJ05k4cKFlJWVMWfOHE466SQAzj77bJ599lleeuklVq5cyQMPPADAlVdeyQsvvMCcOXMqH5c0btw4Dj74YJ555hlmzpzJz372Mz777LM6LOWqMmnrSyndCtwKEBG/BMqBJRHRKaW0OCI6Ae/VMO1EYCJUPDopTyVLktRktG3blgcffBCoeBj3lVdeyb333svIkSNZtmwZ5513Hv369asyzVNPPVV5vtnw4cM5//zzgYpA9uc//5nS0lKg4gHeCxYsYOedd6Zr167sueeeAOy9994sXLiQ5cuX8+STT3LsscdWznv16tWVr4899liaN28OVDxofMSIESxYsICI4Isvvtjo53r00Uc5/fTTKw91tm/fHoCZM2dy9dVXs2LFCj788EN69OjBUUcdRUlJCSeddBJDhgxhyJAhlZ/n/vvv55prrgFg1apVvPXWW1v8qKtMAllE/EtK6b2I2JmK88f2A7oCI4Arc3/rpw1QkiTV2RVXXMHYsWOZMmUK/fv3Z9iwYQwdOpSHH354s6ZPKXHhhRfy4x//uEr/hQsXstVWW1V2N2/enJUrV/LVV1/Rrl07ysrKqp1fmzZtKl9fcsklHHTQQdx7770sXLiQAQMG1PrzrVq1ijPPPJPZs2ez0047cdlll7Fq1SoAHnzwQR577DGmT5/OuHHjmDt3Likl7r77bnbfffdav9fGZHUfsrsj4mVgOnBWSukjKoLYYRGxADg01y1JkjKyYMECysvLGTBgACtWrKBZs2ZEROW5Xuvab7/9Kg853nHHHZX9jzjiCG677TaWL18OwKJFi3jvvWoPggGw7bbb0rVrV/74xz8CFYHuxRdfrHbcjz/+mM6dOwMwadKkTX6eww47jJtvvpk1a9YA8OGHH1aGr+23357ly5czdepUAL766ivefvttDjroIK666io+/vhjli9fzhFHHMENN9xQeZ7ZCy+8sMn33RyZBLKU0oEppe4ppd4ppRm5fh+klA5JKe2WUjo0pfRhFrVJkqQKY8eOZdy4cQCceOKJTJgwgb59+zJ69IZXfY4fP55rr72WkpISXnvtNdq2bQvA4YcfzvDhw+nXrx+9evVi2LBhfPrppxt939tvv51bb72V3r1706NHjxpPnB8zZgwXXnghpaWllSFrY370ox+x8847U1JSQu/evfnDH/5Au3btGDlyJD179uSII46gb9++QMUFACeffDK9evWitLSUc845h3bt2nHJJZfwxRdfUFJSQo8ePbjkkks2+b6bI9YmvGLUp0+fNHv27KzL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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAFBCAYAAAAljZhuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAv4klEQVR4nO3deZzd893//8crkQopieBKQ7hEq8gyMSQI0ab2akiaxhaUVpPaKnrRVIQfF02LSzW4KpUfLmkvDWqLULWkUlVrkAXhiiVlIiKIJbIQ3t8/5phmMjPJZJbzOZ+Zx/12m9ucz3pe53Pec85z3p8tUkpIkiSptLXJugBJkiStm6FNkiQpBwxtkiRJOWBokyRJygFDmyRJUg4Y2iRJknKg2UJbRFwfEW9HxHOrjescEQ9ExLzC780K4yMiroyIlyNidkTs2lx1SZIk5VFz9rTdABy8xrizgWkppR2AaYVhgG8DOxR+RgITmrEuSZKk3Gm20JZSehh4b43Rg4FJhceTgCGrjf99qvQ40CkiujZXbZIkSXlT7GPauqSUFhYevwV0KTzeGnhjtfkqCuMkSZIEbJDVE6eUUkSs9z20ImIklbtQ6dGjx27PP/98k9cmSZLUDKIxCxe7p23RF7s9C7/fLoxfAGyz2nzdCuNqSClNTCn1TSn13WijjZq1WEmSpFJR7NB2F3B84fHxwJTVxn+/cBbpnsAHq+1GlSRJavWabfdoREwGBgJbREQFcD5wMXBLRJwI/BM4ojD7n4FDgJeBZcAPmqsuSZKkPGq20JZSOrqOSfvVMm8CTm2uWiRJkvIusxMRJElS7T799FMqKipYsWJF1qWoAdq3b0+3bt1o165dk67X0CZJUompqKhgk002YbvttiOiUSccqshSSrz77rtUVFTQvXv3Jl239x6VJKnErFixgs0339zAlkMRweabb94svaSGNkmSSpCBLb+a670ztEmSpGoWL17MgAED6NWrF3feeWfV+MGDB/Pmm29mV9ha3HDDDZx22mlZl9GsPKZNkqQSN+b2OU26vl8N7b3W6ZMnT+akk05i6NChHHLIIQwZMoSpU6dSXl7OVltt1aS1AKxatYoNNjCSrIs9bZIkqZp27dqxbNkyVq5cSdu2bVm1ahXjx49n9OjRdS5zwgkncPrpp7PXXnux/fbbc+uttwKVB+b/7Gc/o1evXvTu3Zubb74ZgOnTp7PPPvtw2GGH0aNHD6ZPn843v/lNBg8ezPbbb8/ZZ5/NjTfeyO67707v3r155ZVXAJg6dSp77LEH5eXl7L///ixatGitr2Xp0qX84Ac/oHfv3pSVlXHbbbcBcPLJJ9O3b1969uzJ+eefXzX/2WefTY8ePSgrK+Oss84CKnsev/e979GvXz/69evHP/7xj4Zv3EYw1kqSpGqGDx/O8OHDmThxIpdccglXX301xx13HBtvvPFal1u4cCGPPPIIL774IocddhjDhg3j9ttvZ+bMmcyaNYt33nmHfv368Y1vfAOAZ555hueee47u3bszffp0Zs2axdy5c+ncuTPbb789P/rRj3jyySe54ooruOqqqxg/fjwDBgzg8ccfJyK49tprufTSS/n1r39dZ00XXXQRHTt2ZM6cyt7KJUuWADBu3Dg6d+7MZ599xn777cfs2bPZeuutueOOO3jxxReJCN5//30ARo0axU9/+lMGDBjA66+/zkEHHcTcuXObYEuvH0ObJEmqpmPHjtxzzz1AZci5+OKLueOOOxgxYgRLlizhzDPPpH///jWWGzJkCG3atKFHjx5VPWCPPPIIRx99NG3btqVLly5885vf5KmnnmLTTTdl9913r3ZZjH79+tG1a1cAvvrVr3LggQcC0Lt3bx566CGg8nIoRx55JAsXLuSTTz5Z52U1HnzwQW666aaq4c022wyAW265hYkTJ7Jq1SoWLlzICy+8QI8ePWjfvj0nnngigwYNYtCgQVXreOGFF6rW8eGHH7J06VK+/OUvr9+GbSR3j0qSpDpddNFFjB07lsmTJzNgwAAmTZrEBRdcUOu8G264YdXjypsdrV2HDh3qXL5NmzZVw23atGHVqlUA/OQnP+G0005jzpw5XHPNNQ26tMZrr73GZZddxrRp05g9ezbf+c53WLFiBRtssAFPPvkkw4YN4+677+bggw8G4PPPP+fxxx9n5syZzJw5kwULFhQ9sIGhTZIk1WHevHlUVFQwcOBAli1bRps2bYgIli9fXu917LPPPtx888189tlnLF68mIcffpjdd9+9wTV98MEHbL311gBMmjRpnfMfcMAB/Pa3v60aXrJkCR9++CEdOnSgY8eOLFq0iHvvvReoPP7tgw8+4JBDDuE3v/kNs2bNAuDAAw/kqquuqlrHzJkzG1x/YxjaJElSrcaOHcu4ceMAOProo5kwYQL9+vVj1KhR9V7Hd7/7XcrKyujTpw/77rsvl156KV/5ylcaXNMFF1zA4Ycfzm677cYWW2yxzvnPPfdclixZQq9evejTpw8PPfQQffr0oby8nJ122onhw4ez9957A/DRRx8xaNAgysrKGDBgAJdffjkAV155JTNmzKCsrIwePXrwu9/9rsH1N0bUp/uyVPXt2zfNmDEj6zIkSWpSc+fOZeedd866DDVCHe9ho666a0+bJElSDhjaJEmScsDQJkmSlAOGNkmSpBwwtEmSJOVAJqEtIkZFxHMR8XxEnFEY1zkiHoiIeYXfm2VRmyRJUikqemiLiF7ACGB3oA8wKCK+BpwNTEsp7QBMKwxLkqQiW7x4MQMGDKBXr17ceeedVeMHDx7Mm2++mV1h9TR9+vSqW1C1JFnce3Rn4ImU0jKAiPgbMBQYDAwszDMJmA78PIP6JEkqLVPrfzHbejn0irVOnjx5MieddBJDhw7lkEMOYciQIUydOpXy8nK22mqrpq2lgVatWsUGG7SuW6hnsXv0OWCfiNg8IjYGDgG2AbqklBYW5nkL6JJBbZIktXrt2rVj2bJlrFy5krZt27Jq1SrGjx/P6NGj61zmlVdeYc8996R3796ce+651e7N+V//9V/069ePsrIyzj//fADmz5/PzjvvzIgRI+jZsycHHnhg1e2xXnnlFQ4++GB222039tlnH1588UUATjjhBE466ST22GMPRo8ezZNPPkn//v0pLy9nr7324qWXXlrr6/rss88466yz6NWrF2VlZVW3prrwwgvp168fvXr1YuTIkVX3Tb3yyivp0aMHZWVlHHXUUQB8/PHH/PCHP2T33XenvLycKVOmNHArr7+ih7aU0lzgEuB+4C/ATOCzNeZJQK23aoiIkRExIyJmLF68uJmrlSSp9Rk+fDhTpkzhgAMO4JxzzuHqq6/muOOOY+ONN65zmVGjRjFq1CjmzJlDt27dqsbff//9zJs3jyeffJKZM2fy9NNP8/DDDwOV9zY99dRTef755+nUqRO33XYbACNHjuSqq67i6aef5rLLLuOUU06pWl9FRQWPPvool19+OTvttBN///vfefbZZ7nwwgs555xz1vq6Jk6cyPz585k5cyazZ8/mmGOOAeC0007jqaee4rnnnmP58uXcfffdAFx88cU8++yzzJ49u+rWVePGjWPfffflySef5KGHHuJnP/sZH3/8cQO28vrLpF8xpXQdcB1ARPwSqAAWRUTXlNLCiOgKvF3HshOBiVB5G6silSxJUqvRsWNH7rnnHqDyBusXX3wxd9xxByNGjGDJkiWceeaZ9O/fv9oyjz32WNXxb8OHD+ess84CKkPb/fffT3l5OVB5U/Z58+ax7bbb0r17d3bZZRcAdtttN+bPn8/SpUt59NFHOfzww6vWvXLlyqrHhx9+OG3btgUqbx5//PHHM2/ePCKCTz/9dK2v68EHH+Skk06q2q3auXNnAB566CEuvfRSli1bxnvvvUfPnj059NBDKSsr45hjjmHIkCEMGTKk6vXcddddXHbZZQCsWLGC119/vSi3HcsktEXEv6WU3o6Ibak8nm1PoDtwPHBx4Xfx+hslSVKtLrroIsaOHcvkyZMZMGAAw4YNY+jQodx33331Wj6lxJgxY/jxj39cbfz8+fPZcMMNq4bbtm3L8uXL+fzzz+nUqRMzZ86sdX0dOnSoenzeeefxrW99izvuuIP58+czcODA9X59K1as4JRTTmHGjBlss802XHDBBaxYsQKAe+65h4cffpipU6cybtw45syZQ0qJ2267jR133HG9n6uxsrpO220R8QIwFTg1pfQ+lWHtgIiYB+xfGJYkSRmZN28eFRUVDBw4kGXLltGmTRsiourYs9XtueeeVbs3b7rppqrxBx10ENdffz1Lly4FYMGCBbz9dq070wDYdNNN6d69O3/605+AytA3a9asWuf94IMP2HrrrQG44YYb1vl6DjjgAK655hpWrVoFwHvvvVcV0LbYYguWLl3KrbfeCsDnn3/OG2+8wbe+9S0uueQSPvjgA5YuXcpBBx3EVVddVXXc27PPPrvO520qmYS2lNI+KaUeKaU+KaVphXHvppT2SyntkFLaP6X0Xha1SZKkSmPHjmXcuHEAHH300UyYMIF+/foxalTNs1nHjx/P5ZdfTllZGS+//DIdO3YE4MADD2T48OH079+f3r17M2zYMD766KO1Pu+NN97IddddR58+fejZs2edB/uPHj2aMWPGUF5eXhXE1uZHP/oR2267LWVlZfTp04c//vGPdOrUiREjRtCrVy8OOugg+vXrB1SetHDsscfSu3dvysvLOf300+nUqRPnnXcen376KWVlZfTs2ZPzzjtvnc/bVOKLpJhHffv2TTNmzMi6DEmSmtTcuXOLcoxUU1q2bBkbbbQREcFNN93E5MmTi3pmZamp4z2MxqyzdV3gRJIkNYunn36a0047jZQSnTp14vrrr8+6pBbH0CZJkhptn332qfPYMzUNbxgvSZKUA4Y2SZKkHDC0SZIk5YChTZIkKQcMbZIkqZrFixczYMAAevXqVXVrKoDBgwfz5ptv1rnMHnvsQXl5OX//+9/rXPfAgQP54nJd2223He+88w7z58+nV69eja57+vTpDBo0qNHrKVWePSpJUon7z8f+s0nXd37/89c6ffLkyZx00kkMHTqUQw45hCFDhjB16lTKy8vZaqutal1m2rRp9O7dm2uvvbZJa9W/2NMmSZKqadeuHcuWLWPlypW0bduWVatWMX78eEaPHl3r/DNnzmT06NFMmTKFXXbZheXLl3PyySfTt29fevbsyfnnrz0kAqxatYpjjjmGnXfemWHDhrFs2TIALrzwQvr160evXr0YOXJk1e2jXn75Zfbff3/69OnDrrvuyiuvvFJtfU899RTl5eU1xueZoU2SJFUzfPhwpkyZwgEHHMA555zD1VdfzXHHHcfGG29c6/y77LILF154IUceeSQzZ85ko402Yty4ccyYMYPZs2fzt7/9jdmzZ6/1OV966SVOOeUU5s6dy6abbsrVV18NwGmnncZTTz3Fc889x/Lly7n77rsBOOaYYzj11FOZNWsWjz76KF27dq1a16OPPspJJ53ElClT+OpXv9pEWyV7hjZJklRNx44dueeee5gxYwa77rorU6dOZdiwYYwYMYJhw4bx2GOPrXMdt9xyC7vuuivl5eU8//zzvPDCC2udf5tttmHvvfcG4Nhjj+WRRx4B4KGHHmKPPfagd+/e/PWvf+X555/no48+YsGCBXz3u98FoH379lWBcu7cuYwcOZKpU6ey7bbbNmYzlByPaZMkSXW66KKLGDt2LJMnT2bAgAEMGzaMoUOHct9999W5zGuvvcZll13GU089xWabbcYJJ5zAihUr1vo8EVFjeMWKFZxyyinMmDGDbbbZhgsuuGCd6+natSsrVqzg2WefrfP4u7yyp02SJNVq3rx5VFRUMHDgQJYtW0abNm2ICJYvX77W5T788EM6dOhAx44dWbRoEffee+86n+v111+v6sH74x//yIABA6oC2hZbbMHSpUu59dZbAdhkk03o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\n", "text/plain": [ "
" ] @@ -235,10 +343,21 @@ "sns.despine()" ] }, + { + "cell_type": "markdown", + "id": "a49e91d9", + "metadata": {}, + "source": [ + "Next steps:\n", + "--> make pushdown work. Also the idea with the filter (i.e., filter after event type (PushEvent?))\n", + "\n", + "--> UDF should actually then check on the type (i.e. list or int). => requires adding `isinstance`" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "ba7e2e1a", + "id": "74f25903", "metadata": {}, "outputs": [], "source": [] diff --git a/tuplex/test/utils/TestJSONUtils.cc b/tuplex/test/utils/TestJSONUtils.cc index 04370293e..189b4687e 100644 --- a/tuplex/test/utils/TestJSONUtils.cc +++ b/tuplex/test/utils/TestJSONUtils.cc @@ -265,6 +265,52 @@ namespace tuplex { return best_pair; } + /*! + * prints json struct type neatly out + * @param type + * @param spaces_per_level + * @return string + */ + std::string prettyPrintStructType(const python::Type& type, const size_t spaces_per_level=2) { + std::stringstream ss; + + std::string indent; + for(unsigned i = 0; i < spaces_per_level; ++i) { + indent += " "; + } + + // is it struct type? + if(!type.isStructuredDictionaryType()) + return type.desc(); + else { + // go through pairs, and create JSON structure + ss<<"{\n"; + for(unsigned i = 0; i < type.get_struct_pairs().size(); ++i) { + auto kv = type.get_struct_pairs()[i]; + if(kv.keyType == python::Type::STRING) { + auto unescaped_key = str_value_from_python_raw_value(kv.key); + auto json_key = simdjson::internal::escape_json_string(unescaped_key); + + ss< Date: Sun, 4 Sep 2022 21:08:03 -0400 Subject: [PATCH 055/286] fixing toPythonString for nested dicts --- tuplex/test/core/RowTest.cc | 10 ++ tuplex/test/utils/TestJSONUtils.cc | 54 ++++++++- tuplex/utils/include/Field.h | 6 + tuplex/utils/src/Field.cc | 173 ++++++++++++++++++++++++++++- tuplex/utils/src/Row.cc | 2 +- 5 files changed, 238 insertions(+), 7 deletions(-) diff --git a/tuplex/test/core/RowTest.cc b/tuplex/test/core/RowTest.cc index a736e8511..03a3f10bd 100644 --- a/tuplex/test/core/RowTest.cc +++ b/tuplex/test/core/RowTest.cc @@ -152,4 +152,14 @@ TEST(Row, NullValue) { Row r3(12, Tuple(Field::null()), Field::null(), Tuple(1, Field::null()), Tuple(Field::null(), 2)); EXPECT_EQ(r3.toPythonString(), "(12,(None,),None,(1,None),(None,2))"); +} + +TEST(Row, StructTypeToPythonString) { + auto stype_sub = python::Type::makeStructuredDictType({std::make_pair("a", python::Type::I64), + std::make_pair("b", python::Type::I64), + std::make_pair("c", python::Type::NULLVALUE)}); + auto stype = python::Type::makeStructuredDictType({std::make_pair("column1", stype_sub)}); + Row r({Field::from_str_data("{\"column1\": {\"a\": 10, \"b\": 20, \"c\": null}}", stype)}); + + std::cout<& rows) { + nlohmann::json j = nlohmann::json::array(); - std::string process_path(const std::string& path) { + for(auto row : rows) { + nlohmann::json jrow; + jrow = row.toPythonString(); + j.push_back(jrow); + } + + return j; + } + + + std::string process_path(const std::string& path, size_t max_samples_per_path=100) { using namespace std; // step 1: decode file @@ -499,13 +511,36 @@ namespace tuplex { size_t nc_count = 0; size_t gc_count = 0; size_t fb_count = 0; + + std::vector normal_case_sample; + std::vector general_case_sample; + std::vector fallback_case_sample; for(unsigned i = 0; i < row_types.size(); ++i) { - if(python::canUpcastType(row_types[i], normal_case_max_type.first)) + if(python::canUpcastType(row_types[i], normal_case_max_type.first)) { nc_count++; - else if(python::canUpcastType(row_types[i], general_case_max_type.first)) + + if(normal_case_sample.size() < max_samples_per_path) { + assert(rows.size() >= max_samples_per_path); + normal_case_sample.push_back(rows[i]); + } + + } else if(python::canUpcastType(row_types[i], general_case_max_type.first)) { + + if(general_case_sample.size() < max_samples_per_path) { + assert(rows.size() >= max_samples_per_path); + general_case_sample.push_back(rows[i]); + } + gc_count++; - else + } else { + if(fallback_case_sample.size() < max_samples_per_path) { + assert(rows.size() >= max_samples_per_path); + fallback_case_sample.push_back(rows[i]); + } + fb_count++; + } + } cout<<" "<& elements); + + // parses JSON and converts it into python syntax (together with type) + std::string internalJSONToPythonString() const; public: Field(): _ptrValue(nullptr), _type(python::Type::UNKNOWN), _size(0), _isNull(false) {} @@ -164,6 +167,9 @@ namespace tuplex { std::string desc() const; std::string toPythonString() const { + // special case: struct type and dict -> they're stored as JSON string/dictionaries + if(getType().isDictionaryType()) + return internalJSONToPythonString(); return desc(); } diff --git a/tuplex/utils/src/Field.cc b/tuplex/utils/src/Field.cc index 3ab6fecca..0234b86f8 100644 --- a/tuplex/utils/src/Field.cc +++ b/tuplex/utils/src/Field.cc @@ -12,6 +12,8 @@ #include #include +#include + // gcc fixes, needed for memcpy. Clang does not need those includes #ifdef __GNUC__ #include @@ -20,7 +22,6 @@ #include #include #include - #endif namespace tuplex { @@ -409,4 +410,174 @@ namespace tuplex { return f; } + + std::string jsonToPython(const std::string& s, const python::Type& t) { + if(t == python::Type::STRING) { + return escape_to_python_str(s); + } + if(t == python::Type::BOOLEAN) { + auto b = parseBoolString(s); + return b ? "True" : "False"; + } +// if(t == python::Type::I64) { +// auto i = +// } + + throw std::runtime_error("unknown type encountered for decoding."); + return s; + } + + std::string jsonToPython(const nlohmann::json& j, const python::Type& t) { + + // special case: option + if(t.isOptionType()) { + if(j.is_null()) + return "None"; + else + return jsonToPython(j, t.elementType()); + } + + // decode other json objects... + if(j.is_array()) { + // is type list type? + assert(t == python::Type::PYOBJECT || t .isListType() + || t.isTupleType() || t == python::Type::EMPTYTUPLE || t == python::Type::EMPTYLIST); + if(t == python::Type::EMPTYTUPLE) + return "()"; + if(t == python::Type::EMPTYLIST) + return "[]"; + if(t.isListType()) { + std::stringstream ss; + auto num_elements = j.size(); + for(unsigned i = 0; i < num_elements; ++i) { + ss< kv_lookup; + for(auto kv_pair : kv_pairs) + kv_lookup[kv_pair.key] = kv_pair; + auto pos = 0; + ss<<"{"; + for(const auto& el : j.items()) { + + // the key in json is always a string, yet struct type uses pystring storage or raw value. -> check for that reason + auto key = el.key(); + auto skey = escape_to_python_str(key); + auto it = kv_lookup.find(key); + if(it == kv_lookup.end()) + it = kv_lookup.find(skey); + if(it == kv_lookup.end()) + throw std::runtime_error("type decode error, could not find key " + key); + + auto key_t = it->second.keyType; + auto val_t = it->second.valueType; + ss<()); + return j.get(); + } else if(j.is_number()) { + if(t != python::Type::I64 && t != python::Type::F64) + throw std::runtime_error("encoding mismatch, not number (float or int)"); + if(j.is_number_float()) { + auto val = j.get(); + return t == python::Type::I64 ? std::to_string((int64_t)val) : std::to_string(val); + } else { + auto val = j.get(); + return t == python::Type::I64 ? std::to_string(val) : std::to_string(val) + ".0"; + } + } else if(j.is_null()) { + if(!t.isOptionType() && t != python::Type::NULLVALUE) + throw std::runtime_error("encoding mismatch, not null"); + return "None"; + } else if(j.is_boolean()) { + if(t != python::Type::BOOLEAN) + throw std::runtime_error("encoding mismatch, not boolean"); + return j.get() ? "True" : "False"; + } else { + throw std::runtime_error("unknown json encountered."); + } + } + + std::string Field::internalJSONToPythonString() const { + // decode internal json string according to spec. + assert(_type.isDictionaryType()); + if(_type == python::Type::EMPTYDICT) + return "{}"; + + // is it a structured key type? + if(_type.isStructuredDictionaryType() || _type.isDictionaryType()) { + // special case: parse JSON dict + nlohmann::json j; + if(!_ptrValue) { + std::cerr<<"INTERNAL ERROR: no value stored for dict"<(_ptrValue)); + try { + j = nlohmann::json::parse(str); + return jsonToPython(j, _type); + } catch (nlohmann::json::parse_error& ex) { + std::cerr << "JSON parse error at byte " << ex.byte << std::endl; + return "json.loads(" + escape_to_python_str(str) + ")"; + } + } else { + throw std::runtime_error("internal error, what other struct is stored as JSON?"); + } + return "None"; + } + } \ No newline at end of file diff --git a/tuplex/utils/src/Row.cc b/tuplex/utils/src/Row.cc index b486ae045..38ab87a88 100644 --- a/tuplex/utils/src/Row.cc +++ b/tuplex/utils/src/Row.cc @@ -89,7 +89,7 @@ namespace tuplex { std::string Row::toPythonString() const { std::string s = "("; for(int i = 0; i < getNumColumns(); ++i) { - s += _values[i].desc(); + s += _values[i].toPythonString(); if(i != getNumColumns() - 1) s += ","; From 3f191df45573bf9cfb9dc669a0c22f6c1d30af3c Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Mon, 5 Sep 2022 11:37:38 -0400 Subject: [PATCH 056/286] test update --- tuplex/test/core/RowTest.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tuplex/test/core/RowTest.cc b/tuplex/test/core/RowTest.cc index 03a3f10bd..76fb71400 100644 --- a/tuplex/test/core/RowTest.cc +++ b/tuplex/test/core/RowTest.cc @@ -13,6 +13,7 @@ #include #include #include +#include using namespace tuplex; @@ -161,5 +162,9 @@ TEST(Row, StructTypeToPythonString) { auto stype = python::Type::makeStructuredDictType({std::make_pair("column1", stype_sub)}); Row r({Field::from_str_data("{\"column1\": {\"a\": 10, \"b\": 20, \"c\": null}}", stype)}); - std::cout< Date: Mon, 5 Sep 2022 13:57:59 -0400 Subject: [PATCH 057/286] adding typing based on structured type --- tuplex/codegen/include/TypeAnnotatorVisitor.h | 2 + tuplex/codegen/src/TypeAnnotatorVisitor.cc | 85 ++++++++++++++++++- tuplex/test/core/JSONPathSelection.cc | 81 ++++++++++++++++++ tuplex/test/utils/TestJSONUtils.cc | 1 + tuplex/utils/include/JsonStatistic.h | 19 +++-- tuplex/utils/src/JsonStatistic.cc | 44 +++++++--- 6 files changed, 216 insertions(+), 16 deletions(-) create mode 100644 tuplex/test/core/JSONPathSelection.cc diff --git a/tuplex/codegen/include/TypeAnnotatorVisitor.h b/tuplex/codegen/include/TypeAnnotatorVisitor.h index 468753f1b..8fe3bcfbf 100644 --- a/tuplex/codegen/include/TypeAnnotatorVisitor.h +++ b/tuplex/codegen/include/TypeAnnotatorVisitor.h @@ -73,6 +73,8 @@ namespace tuplex { size_t _ongoingLoopCount; + void typeStructuredDictSubscription(NSubscription* sub, const python::Type& type); + public: void reset() { diff --git a/tuplex/codegen/src/TypeAnnotatorVisitor.cc b/tuplex/codegen/src/TypeAnnotatorVisitor.cc index f993b9b1b..623661f4a 100644 --- a/tuplex/codegen/src/TypeAnnotatorVisitor.cc +++ b/tuplex/codegen/src/TypeAnnotatorVisitor.cc @@ -989,6 +989,84 @@ namespace tuplex { } } + void TypeAnnotatorVisitor::typeStructuredDictSubscription(tuplex::NSubscription *sub, const python::Type &type) { + assert(type.isStructuredDictionaryType()); + + // index by literal (or future: constant value?) +#ifndef NDEBUG + Logger::instance().defaultLogger().info("add support for constant-valued types here as well..."); + // maybe also normal-case speculation on struct type?? + // --> could be done as well... +#endif + + sub->setInferredType(python::Type::UNKNOWN); + + // is it homogenous in value type? -> simple decision, what to use as return type. + if(type.valueType() != python::Type::PYOBJECT) + sub->setInferredType(type.valueType()); + else { + // check whether there's a literal used for indexing and look up type + // (future: constant valued type should work as well!) + if(isLiteral(sub->_expression) || type.valueType().isConstantValued()) { + // check lookup in keys... + + auto keyerror_sym = _symbolTable.findSymbol("KeyError"); + assert(keyerror_sym); // must exist... + if(!keyerror_sym) + fatal_error("could not find KeyError symbol."); + auto keyError_type = keyerror_sym->type(); + + std::string lookup_key; + if(isLiteral(sub->_expression)) { + switch(sub->_expression->type()) { + case ASTNodeType::String: { + lookup_key = escape_to_python_str(static_cast(sub->_expression)->value()); + break; + } + case ASTNodeType::Number: { + lookup_key = static_cast(sub->_expression)->_value; + break; + } + case ASTNodeType::None: { + lookup_key = "None"; + break; + } + case ASTNodeType::Boolean: { + lookup_key = static_cast(sub->_expression)->_value; + break; + } + // could also type empty tuple, empty list, empty dict, ... @TODO. + default: { + // key error + sub->setInferredType(keyError_type); + return; + break; + } + } + } else if(type.valueType().isConstantValued()) { + lookup_key = type.valueType().constant(); + } + + // lookup in kv pairs... + auto kv_pairs = type.get_struct_pairs(); + auto it = std::find_if(kv_pairs.begin(), kv_pairs.end(), [&lookup_key](const python::StructEntry& entry) { + return entry.key == lookup_key; + }); + if(it != kv_pairs.end()) { + sub->setInferredType(it->valueType); + } else { + // -> if fails, set to key error! + + // warn? + Logger::instance().defaultLogger().warn("could not find key '" + lookup_key + + "' in structured dict type, code will always produce KeyError."); + sub->setInferredType(keyError_type); + } + } + } + } + + void TypeAnnotatorVisitor::visit(NSubscription *sub) { ApatheticVisitor::visit(sub); @@ -1083,7 +1161,12 @@ namespace tuplex { error("subscripting an empty dictionary will always yield a KeyError. Please fix code"); sub->setInferredType(python::Type::UNKNOWN); } else if(type.isDictionaryType()) { - sub->setInferredType(type.valueType()); + // special case: structured dict + if(type.isStructuredDictionaryType()) { + typeStructuredDictSubscription(sub, type); + } else { + sub->setInferredType(type.valueType()); + } } else if(python::Type::EMPTYLIST == type) { error("subscripting an empty list will always yield an IndexError. Please fix code"); sub->setInferredType(python::Type::UNKNOWN); diff --git a/tuplex/test/core/JSONPathSelection.cc b/tuplex/test/core/JSONPathSelection.cc new file mode 100644 index 000000000..1a014e87c --- /dev/null +++ b/tuplex/test/core/JSONPathSelection.cc @@ -0,0 +1,81 @@ +// +// Created by Leonhard Spiegelberg on 9/5/22. +// + +#include "TestUtils.h" +#include "JsonStatistic.h" + +namespace tuplex { + class SelectionPathAtom { + public: + SelectionPathAtom() : _index(-1), _is_wildcard(true) {} + + SelectionPathAtom(int index) : _index(index), _is_wildcard(false) {} + SelectionPathAtom(const std::string& key) : _index(-1), _is_wildcard(false), _key(key) {} + + static SelectionPathAtom wildcard() { + SelectionPathAtom a; a._is_wildcard = true; + return a; + } + + std::string desc() const { + if(_is_wildcard) + return "*"; + if(_index < 0) { + return std::to_string(_index); + } + return escape_to_python_str(_key); + } + private: + // only int and string keys supported for now + int _index; + std::string _key; + bool _is_wildcard; + }; + + // new projection pushdown mechanism. I.e., subselect "paths" into JSON/dict structure + struct SelectionPath { + // each path maps a single item to a target? + // 0.*.'test' + // maybe use https://datatracker.ietf.org/doc/id/draft-goessner-dispatch-jsonpath-00.html ? + + // so if we have something like row['repo']['name'] -> this should return only the name field + // and the selection path 'repo'.'name'. + // for arrays, use wildcard syntax for now, i.e. [*] to return everything. Yet, we can subselect within them + // by appending to the path + std::vector atoms; + + std::string desc() const { + std::stringstream ss; + for(unsigned i = 0; i < atoms.size(); ++i) { + ss<> column_names; + auto rows = parseRowsFromJSON(data, &column_names, false); + ASSERT_FALSE(rows.empty()); + + cout<<"type of first row: \n"< parseRowsFromJSON(const char* buf, size_t buf_size, std::vector>* outColumnNames=nullptr); - - inline std::vector parseRowsFromJSON(const std::string& s, std::vector>* outColumnNames=nullptr) { - return parseRowsFromJSON(s.c_str(), s.size() + 1, outColumnNames); + extern std::vector parseRowsFromJSON(const char* buf, + size_t buf_size, + std::vector>* outColumnNames=nullptr, + bool unwrap_rows=true); + + inline std::vector parseRowsFromJSON(const std::string& s, + std::vector>* outColumnNames=nullptr, + bool unwrap_rows=true) { + return parseRowsFromJSON(s.c_str(), s.size() + 1, outColumnNames, unwrap_rows); } // --> put implementation of this into JsonStatistic.cc file in utils/src/JsonStatistic.cc diff --git a/tuplex/utils/src/JsonStatistic.cc b/tuplex/utils/src/JsonStatistic.cc index 6bd31b0b5..c2c481ab0 100644 --- a/tuplex/utils/src/JsonStatistic.cc +++ b/tuplex/utils/src/JsonStatistic.cc @@ -249,7 +249,10 @@ namespace tuplex { return ""; } - std::vector parseRowsFromJSON(const char* buf, size_t buf_size, std::vector>* outColumnNames) { + std::vector parseRowsFromJSON(const char* buf, + size_t buf_size, + std::vector>* outColumnNames, + bool unwrap_rows) { using namespace std; assert(buf[buf_size - 1] == '\0'); @@ -290,6 +293,16 @@ namespace tuplex { for(auto it = stream.begin(); it != stream.end(); ++it) { auto doc = (*it); + // the full json string of a row can be obtained via + // std::cout << it.source() << std::endl; + string full_row; + { + stringstream ss; + ss< kv_pairs; + assert(fields.size() == row_column_names.size()); + for(unsigned i = 0; i < fields.size(); ++i) { + python::StructEntry entry; + entry.key = escape_to_python_str(row_column_names[i]); + entry.keyType = python::Type::STRING; + entry.valueType = fields[i].getType(); + kv_pairs.push_back(entry); + } + python::Type struct_type = python::Type::makeStructuredDictType(kv_pairs); + Row struct_row({Field::from_str_data(json_line, struct_type)}); + rows.push_back(struct_row); + } break; } @@ -377,6 +408,7 @@ namespace tuplex { // header? -> first line? // @TODO: not yet fully implemented!!! + throw std::runtime_error("not yet fully implemented..."); if(first_row) { bool all_elements_strings = true; @@ -407,14 +439,6 @@ namespace tuplex { } } first_row = true; - - // the full json string of a row can be obtained via - // std::cout << it.source() << std::endl; - // { - // stringstream ss; - // ss< Date: Tue, 6 Sep 2022 18:04:15 -0400 Subject: [PATCH 058/286] access path redo --- tuplex/core/include/AccessPathVisitor.h | 114 +++++++++++++ tuplex/core/src/AccessPathVisitor.cc | 215 ++++++++++++++++++++++++ tuplex/test/core/JSONPathSelection.cc | 85 ++++------ 3 files changed, 363 insertions(+), 51 deletions(-) create mode 100644 tuplex/core/include/AccessPathVisitor.h create mode 100644 tuplex/core/src/AccessPathVisitor.cc diff --git a/tuplex/core/include/AccessPathVisitor.h b/tuplex/core/include/AccessPathVisitor.h new file mode 100644 index 000000000..cd644459c --- /dev/null +++ b/tuplex/core/include/AccessPathVisitor.h @@ -0,0 +1,114 @@ +// +// Created by Leonhard Spiegelberg on 9/6/22. +// + +#ifndef TUPLEX_ACCESSPATHVISITOR_H +#define TUPLEX_ACCESSPATHVISITOR_H + +#include +#include +#include +#include +#include +#include +#include + +namespace tuplex { + + // for access path detection - no support for . syntax, i.e. something like x.hello.test won't be supported. + // basically the algorithm is for each identifier, fetch longest id[key1][key2]... chain. + // => then sort out unique ones! + class SelectionPathAtom { + public: + SelectionPathAtom() : _index(-1), _is_wildcard(true) {} + + SelectionPathAtom(int index) : _index(index), _is_wildcard(false) {} + SelectionPathAtom(const std::string& key) : _index(-1), _is_wildcard(false), _key(key) {} + + static SelectionPathAtom wildcard() { + SelectionPathAtom a; a._is_wildcard = true; + return a; + } + + std::string desc() const { + if(_is_wildcard) + return "*"; + if(_index >= 0) { + return std::to_string(_index); + } + return escape_to_python_str(_key); + } + private: + // only int and string keys supported for now + int _index; // raw value + std::string _key; // raw value + bool _is_wildcard; + }; + + // new projection pushdown mechanism. I.e., subselect "paths" into JSON/dict structure + struct SelectionPath { + // each path maps a single item to a target? + // 0.*.'test' + // maybe use https://datatracker.ietf.org/doc/id/draft-goessner-dispatch-jsonpath-00.html ? + + // so if we have something like row['repo']['name'] -> this should return only the name field + // and the selection path 'repo'.'name'. + // for arrays, use wildcard syntax for now, i.e. [*] to return everything. Yet, we can subselect within them + // by appending to the path + std::vector atoms; + std::string name; // identifier name + + std::string desc() const { + std::stringstream ss; + ss< _argNames; + std::unordered_map _argFullyUsed; + std::unordered_map> _argSubscriptIndices; + + // holds map from identifier -> accessPath + std::unordered_map> _accessPaths; + + // has subscript been already visited? + std::unordered_map _subscriptVisited; + + SelectionPath longestAccessPath(NSubscription* sub); + private: + bool subscript_visited(NSubscription* sub) { + assert(sub); + auto it = _subscriptVisited.find(sub); + if(it == _subscriptVisited.end()) + return false; + return it->second; + } + void mark_visited(NSubscription* sub) { _subscriptVisited[sub] = true; } + public: + AccessPathVisitor() : _tupleArgument(false), + _numColumns(0), _singleLambda(false) {} + + + std::vector getAccessedIndices() const; + }; +} +#endif //TUPLEX_ACCESSPATHVISITOR_H diff --git a/tuplex/core/src/AccessPathVisitor.cc b/tuplex/core/src/AccessPathVisitor.cc new file mode 100644 index 000000000..a658b2413 --- /dev/null +++ b/tuplex/core/src/AccessPathVisitor.cc @@ -0,0 +1,215 @@ +// +// Created by Leonhard Spiegelberg on 9/6/22. +// + +#include + +namespace tuplex { + std::vector AccessPathVisitor::getAccessedIndices() const { + + std::vector idxs; + + // first check what type it is + if(_tupleArgument) { + assert(_argNames.size() == 1); + std::string argName = _argNames.front(); + if(_argFullyUsed.at(argName)) { + for(unsigned i = 0; i < _numColumns; ++i) + idxs.push_back(i); + } else { + return _argSubscriptIndices.at(argName); + } + } else { + // simple, see which params are fully used. + for(unsigned i = 0; i < _argNames.size(); ++i) { + if(_argFullyUsed.at(_argNames[i])) + idxs.push_back(i); + } + } + + return idxs; + } + + void AccessPathVisitor::preOrder(ASTNode *node) { + switch(node->type()) { + case ASTNodeType::Lambda: { + assert(!_singleLambda); + _singleLambda = true; + + NLambda* lambda = (NLambda*)node; + auto itype = lambda->_arguments->getInferredType(); + assert(itype.isTupleType()); + + // how many elements? + _tupleArgument = itype.parameters().size() == 1 && + itype.parameters().front().isTupleType() && + itype.parameters().front() != python::Type::EMPTYTUPLE; + _numColumns = _tupleArgument ? itype.parameters().front().parameters().size() : itype.parameters().size(); + + // fetch identifiers for args + for(auto argNode : lambda->_arguments->_args) { + assert(argNode->type() == ASTNodeType::Parameter); + NIdentifier* id = ((NParameter*)argNode)->_identifier; + _argNames.push_back(id->_name); + _argFullyUsed[id->_name] = false; + _argSubscriptIndices[id->_name] = std::vector(); + } + + break; + } + + case ASTNodeType::Function: { + assert(!_singleLambda); + _singleLambda = true; + + NFunction* func = (NFunction*)node; + auto itype = func->_parameters->getInferredType(); + assert(itype.isTupleType()); + + // how many elements? + _tupleArgument = itype.parameters().size() == 1 && + itype.parameters().front().isTupleType() && + itype.parameters().front() != python::Type::EMPTYTUPLE; + _numColumns = _tupleArgument ? itype.parameters().front().parameters().size() : itype.parameters().size(); + + // fetch identifiers for args + for(auto argNode : func->_parameters->_args) { + assert(argNode->type() == ASTNodeType::Parameter); + NIdentifier* id = ((NParameter*)argNode)->_identifier; + _argNames.push_back(id->_name); + _argFullyUsed[id->_name] = false; + _argSubscriptIndices[id->_name] = std::vector(); + } + + break; + } + + case ASTNodeType::Identifier: { + NIdentifier* id = (NIdentifier*)node; + if(parent()->type() != ASTNodeType::Parameter && + parent()->type() != ASTNodeType::Subscription) { + // the actual identifier is fully used, mark as such! + _argFullyUsed[id->_name] = true; + } + + break; + } + + // check whether function with single parameter which is a tuple is accessed. + case ASTNodeType::Subscription: { + NSubscription* sub = (NSubscription*)node; + + assert(sub->_value->getInferredType() != python::Type::UNKNOWN); // type annotation/tracing must have run for this... + + auto val_type = sub->_value->getInferredType(); + // access/rewrite makes only sense for dict/tuple types! + // just simple stuff yet. + if (sub->_value->type() == ASTNodeType::Identifier && + (val_type.isTupleType() || val_type.isDictionaryType())) { + NIdentifier* id = (NIdentifier*)sub->_value; + + // first check whether this identifier is in args, + // if not ignore. + if(std::find(_argNames.begin(), _argNames.end(), id->_name) != _argNames.end()) { + // no nested paths yet, i.e. x[0][2] + if(sub->_expression->type() == ASTNodeType::Number) { + NNumber* num = (NNumber*)sub->_expression; + + // should be I64 or bool + assert(num->getInferredType() == python::Type::BOOLEAN || + num->getInferredType() == python::Type::I64); + + + // can save this one! + auto idx = num->getI64(); + + // negative indices should be converted to positive ones + if(idx < 0) + idx += _numColumns; + assert(idx >= 0 && idx < _numColumns); + + _argSubscriptIndices[id->_name].push_back(idx); + } else { + // dynamic access into identifier, so need to push completely back. + _argFullyUsed[id->_name] = true; + } + } + + } + + + // path: + auto path = longestAccessPath(sub); + if(!path.empty()) + std::cout<<"found path: "<type() == ASTNodeType::Subscription) { + + // has this node been already visited? + // yes, abort. + if(subscript_visited(sub)) + return {}; + // mark visited + mark_visited(sub); + + auto expr = sub->_expression; + auto value = sub->_value; + + // update name + if(value->type() == ASTNodeType::Identifier) { + p.name = ((NIdentifier*)value)->_name; + } + + // constant valued? + if(isLiteral(expr)) { + if(expr->type() == ASTNodeType::String) { + auto index = static_cast(expr)->value(); + p.atoms.push_back(SelectionPathAtom(index)); + } else if(expr->type() == ASTNodeType::Number + && deoptimizedType(expr->getInferredType()) == python::Type::I64) { + auto num = ((NNumber*)expr); + auto index = num->getI64(); + p.atoms.push_back(SelectionPathAtom(index)); + } else { + return p; // abort, can't decide for longest. + } + } else if(expr->getInferredType().isConstantValued()) { + // string? + auto t = expr->getInferredType().underlying(); + if(t == python::Type::STRING) { + p.atoms.push_back(expr->getInferredType().constant()); + } else if(t == python::Type::I64) { + p.atoms.push_back(std::stoi(expr->getInferredType().constant())); + } else { + return p; // abort, can't decide for longest. + } + } + + sub = dynamic_cast(value); + } + + return p; + } + + void AccessPathVisitor::postOrder(tuplex::ASTNode *node) { + if(!node) + return; + switch(node->type()) { + default: + break; + } + } +} \ No newline at end of file diff --git a/tuplex/test/core/JSONPathSelection.cc b/tuplex/test/core/JSONPathSelection.cc index 1a014e87c..45e8e8a4a 100644 --- a/tuplex/test/core/JSONPathSelection.cc +++ b/tuplex/test/core/JSONPathSelection.cc @@ -5,57 +5,7 @@ #include "TestUtils.h" #include "JsonStatistic.h" -namespace tuplex { - class SelectionPathAtom { - public: - SelectionPathAtom() : _index(-1), _is_wildcard(true) {} - - SelectionPathAtom(int index) : _index(index), _is_wildcard(false) {} - SelectionPathAtom(const std::string& key) : _index(-1), _is_wildcard(false), _key(key) {} - - static SelectionPathAtom wildcard() { - SelectionPathAtom a; a._is_wildcard = true; - return a; - } - - std::string desc() const { - if(_is_wildcard) - return "*"; - if(_index < 0) { - return std::to_string(_index); - } - return escape_to_python_str(_key); - } - private: - // only int and string keys supported for now - int _index; - std::string _key; - bool _is_wildcard; - }; - - // new projection pushdown mechanism. I.e., subselect "paths" into JSON/dict structure - struct SelectionPath { - // each path maps a single item to a target? - // 0.*.'test' - // maybe use https://datatracker.ietf.org/doc/id/draft-goessner-dispatch-jsonpath-00.html ? - - // so if we have something like row['repo']['name'] -> this should return only the name field - // and the selection path 'repo'.'name'. - // for arrays, use wildcard syntax for now, i.e. [*] to return everything. Yet, we can subselect within them - // by appending to the path - std::vector atoms; - - std::string desc() const { - std::stringstream ss; - for(unsigned i = 0; i < atoms.size(); ++i) { - ss< class JSONPathSelection : public PyTest {}; @@ -78,4 +28,37 @@ TEST_F(JSONPathSelection, BasicPathSelection) { udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, input_row_type)); auto output_row_type = udf.getOutputSchema().getRowType(); cout<<"output type of UDF: "<accept(apv); + auto indices = apv.getAccessedIndices(); + cout<<"visited indices: "< i.e., can this be restricted? + // what about redefinitions?d + // not really needed, use simple method for now... + // --> maybe track through assignments? + // if/else control flow is critical. Yet, that can be solved by simply following + // only valid control flow. + // also specialize according to normal case! + // i.e., maintain nametable pointing to access paths (?) + // def f(x): + // y = x['repo'] + // return y['url'] + // => this should make clear that only path 'repo'.'url' is needed. + // for literals/constants from global enclosure allow tracking as well! + // KEY = 'repo' + // def f(x): + // return x[KEY] + // should work as well. + } \ No newline at end of file From 610c057eec50720fee92278c0ba26e7d2150523d Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Wed, 7 Sep 2022 10:29:02 -0400 Subject: [PATCH 059/286] renaming csv.selectionPushdown -> optimizer.selectionPushdown --- benchmarks/311-demo/runtuplex.py | 2 +- benchmarks/311-demo/tuplex_config.json | 2 +- benchmarks/311/create_conf.py | 2 +- benchmarks/311/runtuplex.py | 2 +- benchmarks/311/tuplex_config_mt.json | 2 +- benchmarks/311/tuplex_config_st.json | 2 +- benchmarks/README.md | 2 +- benchmarks/dirty_zillow/create_conf.py | 2 +- benchmarks/dirty_zillow/runtuplex.py | 2 +- benchmarks/dirty_zillow/tuplex_config.json | 2 +- benchmarks/distributed/tuplex/run_tuplex.py | 2 +- benchmarks/flights/create_conf.py | 2 +- benchmarks/flights/run_on_aws.py | 2 +- benchmarks/flights/runtuplex.py | 4 +- benchmarks/flights/tuplex_config.json | 2 +- .../flights/tuplex_config_template.json | 2 +- benchmarks/logs/create_conf.py | 2 +- .../logs/manual_reorder/runtuplex-io.py | 2 +- benchmarks/logs/manual_reorder/runtuplex.py | 2 +- .../logs/manual_reorder/tuplex_config.json | 2 +- .../microbenchmarks/single_regex/runtuplex.py | 2 +- .../single_regex/tuplex_config.json | 2 +- benchmarks/logs/runtuplex-io.py | 2 +- benchmarks/logs/runtuplex.py | 2 +- benchmarks/logs/tuplex_config.json | 2 +- benchmarks/orc/runcsv-read-single.py | 2 +- benchmarks/orc/runcsv-write.py | 2 +- benchmarks/orc/runorc-read-single.py | 2 +- benchmarks/orc/runorc-write.py | 2 +- .../plot_scripts/figure10.py | 2 +- benchmarks/tpch/Q06/create_conf.py | 2 +- benchmarks/tpch/Q06/runtuplex.py | 2 +- benchmarks/tpch/Q19/create_conf.py | 2 +- benchmarks/tpch/Q19/runtuplex.py | 2 +- .../zillow/Z1/baseline/tuplex_config.json | 2 +- benchmarks/zillow/Z1/runtuplex-io.py | 2 +- benchmarks/zillow/Z1/runtuplex.py | 2 +- benchmarks/zillow/Z1/tuplex_config.json | 2 +- .../zillow/Z2/baseline/tuplex_config.json | 2 +- benchmarks/zillow/Z2/runtuplex.py | 2 +- benchmarks/zillow/Z2/tuplex_config.json | 2 +- tuplex/core/include/AccessPathVisitor.h | 46 +++++++++++++-- tuplex/core/include/ContextOptions.h | 2 +- tuplex/core/src/AccessPathVisitor.cc | 30 +++++++++- tuplex/core/src/ContextOptions.cc | 8 +-- tuplex/core/src/logical/LogicalPlan.cc | 4 +- tuplex/python/src/PythonContext.cc | 4 +- tuplex/python/tests/helper.py | 2 +- tuplex/python/tuplex/context.py | 2 +- tuplex/test/core/AggregateTest.cc | 2 +- tuplex/test/core/CacheTest.cc | 4 +- tuplex/test/core/DataFrameOperations.cc | 2 +- tuplex/test/core/FlightDataTest.cc | 18 +++--- tuplex/test/core/FullPipelines.cc | 58 +++++++++---------- tuplex/test/core/JSONPathSelection.cc | 49 ++++++++++++---- tuplex/test/core/JoinTest.cc | 2 +- tuplex/test/core/ResolveTests.cc | 6 +- tuplex/test/core/SelectionPushdownTest.cc | 8 +-- tuplex/test/core/SignalTest.cc | 2 +- tuplex/test/core/TPCH.cc | 8 +-- tuplex/test/core/TestUtils.h | 2 +- tuplex/test/core/UseCaseFunctionsTest.cc | 2 +- tuplex/test/wrappers/WrapperTest.cc | 8 +-- 63 files changed, 220 insertions(+), 133 deletions(-) diff --git a/benchmarks/311-demo/runtuplex.py b/benchmarks/311-demo/runtuplex.py index a3730c352..27275f16d 100644 --- a/benchmarks/311-demo/runtuplex.py +++ b/benchmarks/311-demo/runtuplex.py @@ -69,7 +69,7 @@ def fix_zip_codes(zips): "runTimeMemory": "128MB", "useLLVMOptimizer": True, "optimizer.nullValueOptimization": True, - "csv.selectionPushdown": True, + "optimizer.selectionPushdown": True, "optimizer.generateParser": True, "tuplex.optimizer.mergeExceptionsInOrder": False, "csv.filterPushdown": True, diff --git a/benchmarks/311-demo/tuplex_config.json b/benchmarks/311-demo/tuplex_config.json index 21fc1f982..1034acd46 100644 --- a/benchmarks/311-demo/tuplex_config.json +++ b/benchmarks/311-demo/tuplex_config.json @@ -1 +1 @@ -{"webui.enable": false, "executorMemory": "4G", "executorCount": 63, "driverMemory": "4G", "partitionSize": "32MB", "runTimeMemory": "4MB", "inputSplitSize": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "csv.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} +{"webui.enable": false, "executorMemory": "4G", "executorCount": 63, "driverMemory": "4G", "partitionSize": "32MB", "runTimeMemory": "4MB", "inputSplitSize": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/311/create_conf.py b/benchmarks/311/create_conf.py index c5e2cfaed..476467a09 100644 --- a/benchmarks/311/create_conf.py +++ b/benchmarks/311/create_conf.py @@ -29,7 +29,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter} diff --git a/benchmarks/311/runtuplex.py b/benchmarks/311/runtuplex.py index a3730c352..27275f16d 100644 --- a/benchmarks/311/runtuplex.py +++ b/benchmarks/311/runtuplex.py @@ -69,7 +69,7 @@ def fix_zip_codes(zips): "runTimeMemory": "128MB", "useLLVMOptimizer": True, "optimizer.nullValueOptimization": True, - "csv.selectionPushdown": True, + "optimizer.selectionPushdown": True, "optimizer.generateParser": True, "tuplex.optimizer.mergeExceptionsInOrder": False, "csv.filterPushdown": True, diff --git a/benchmarks/311/tuplex_config_mt.json b/benchmarks/311/tuplex_config_mt.json index 131bd1e58..b1041c01c 100644 --- a/benchmarks/311/tuplex_config_mt.json +++ b/benchmarks/311/tuplex_config_mt.json @@ -1 +1 @@ -{"webui.enable": false, "executorMemory": "6G", "executorCount": 15, "driverMemory": "10G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "csv.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} +{"webui.enable": false, "executorMemory": "6G", "executorCount": 15, "driverMemory": "10G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/311/tuplex_config_st.json b/benchmarks/311/tuplex_config_st.json index f9655db6d..f0b0ccbb5 100644 --- a/benchmarks/311/tuplex_config_st.json +++ b/benchmarks/311/tuplex_config_st.json @@ -1 +1 @@ -{"webui.enable": false, "executorMemory": "6G", "executorCount": 0, "driverMemory": "100G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "csv.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} +{"webui.enable": false, "executorMemory": "6G", "executorCount": 0, "driverMemory": "100G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/README.md b/benchmarks/README.md index 5d2a19f8a..c0c54544f 100644 --- a/benchmarks/README.md +++ b/benchmarks/README.md @@ -262,7 +262,7 @@ Use following config for flights, to get it fast... "autoUpcast":true, "optimizer.generateParser":true, "optimizer.nullValueOptimization": true, -"csv.selectionPushdown": true, +"optimizer.selectionPushdown": true, "resolveWithInterpreterOnly":false} ``` diff --git a/benchmarks/dirty_zillow/create_conf.py b/benchmarks/dirty_zillow/create_conf.py index 39bd486d1..2a20f36a7 100644 --- a/benchmarks/dirty_zillow/create_conf.py +++ b/benchmarks/dirty_zillow/create_conf.py @@ -29,7 +29,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter} diff --git a/benchmarks/dirty_zillow/runtuplex.py b/benchmarks/dirty_zillow/runtuplex.py index ce1e4cd93..b1a476fb6 100644 --- a/benchmarks/dirty_zillow/runtuplex.py +++ b/benchmarks/dirty_zillow/runtuplex.py @@ -471,7 +471,7 @@ def extractZipcode(x): "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True, + "optimizer.selectionPushdown" : True, "optimizer.generateParser" : False} # bug when using generated parser. Need to fix that. if os.path.exists('tuplex_config.json'): diff --git a/benchmarks/dirty_zillow/tuplex_config.json b/benchmarks/dirty_zillow/tuplex_config.json index 131bd1e58..b1041c01c 100644 --- a/benchmarks/dirty_zillow/tuplex_config.json +++ b/benchmarks/dirty_zillow/tuplex_config.json @@ -1 +1 @@ -{"webui.enable": false, "executorMemory": "6G", "executorCount": 15, "driverMemory": "10G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "csv.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} +{"webui.enable": false, "executorMemory": "6G", "executorCount": 15, "driverMemory": "10G", "partitionSize": "32MB", "runTimeMemory": "64MB", "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/distributed/tuplex/run_tuplex.py b/benchmarks/distributed/tuplex/run_tuplex.py index 2d9acc8da..31d5d625b 100644 --- a/benchmarks/distributed/tuplex/run_tuplex.py +++ b/benchmarks/distributed/tuplex/run_tuplex.py @@ -180,7 +180,7 @@ def filterBd(x): "runTimeMemory": "128MB", "useLLVMOptimizer": True, "optimizer.nullValueOptimization": False, - "csv.selectionPushdown": True, + "optimizer.selectionPushdown": True, } # Begin pipeline diff --git a/benchmarks/flights/create_conf.py b/benchmarks/flights/create_conf.py index aa9b5ff2d..7fa60b1cf 100644 --- a/benchmarks/flights/create_conf.py +++ b/benchmarks/flights/create_conf.py @@ -29,7 +29,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter, diff --git a/benchmarks/flights/run_on_aws.py b/benchmarks/flights/run_on_aws.py index f904c50a0..50ebc94dd 100644 --- a/benchmarks/flights/run_on_aws.py +++ b/benchmarks/flights/run_on_aws.py @@ -289,7 +289,7 @@ def run_tuplex(instances, branch, enableLLVMOpt, enablePushdown, num_runs=5, num "partitionSize": "32MB", "runTimeMemory": "256MB", "useLLVMOptimizer": enableLLVMOpt, - "csv.selectionPushdown": enablePushdown} + "optimizer.selectionPushdown": enablePushdown} with open(config_file, 'w') as fp: json.dump(conf, fp) diff --git a/benchmarks/flights/runtuplex.py b/benchmarks/flights/runtuplex.py index ca1d79e5d..4c43c31d9 100644 --- a/benchmarks/flights/runtuplex.py +++ b/benchmarks/flights/runtuplex.py @@ -77,7 +77,7 @@ "runTimeMemory" : "128MB", "useLLVMOptimizer" : False, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True, + "optimizer.selectionPushdown" : True, "tuplex.optimizer.generateParser": True} @@ -105,7 +105,7 @@ df = df.renameColumn(c, renamed_cols[i]) # if cache/nosf mode is active, prefilter -if args.simulate_spark and conf["csv.selectionPushdown"]: +if args.simulate_spark and conf["optimizer.selectionPushdown"]: df = df.selectColumns(time_req_cols) if args.simulate_spark: df = df.cache() diff --git a/benchmarks/flights/tuplex_config.json b/benchmarks/flights/tuplex_config.json index 5b260bbf4..2f56cec09 100644 --- a/benchmarks/flights/tuplex_config.json +++ b/benchmarks/flights/tuplex_config.json @@ -6,6 +6,6 @@ "runTimeMemory": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, -"csv.selectionPushdown": true, +"optimizer.selectionPushdown": true, "resolveWithInterpreterOnly":false, "mergeRowsInOrder":false} diff --git a/benchmarks/flights/tuplex_config_template.json b/benchmarks/flights/tuplex_config_template.json index 5b260bbf4..2f56cec09 100644 --- a/benchmarks/flights/tuplex_config_template.json +++ b/benchmarks/flights/tuplex_config_template.json @@ -6,6 +6,6 @@ "runTimeMemory": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, -"csv.selectionPushdown": true, +"optimizer.selectionPushdown": true, "resolveWithInterpreterOnly":false, "mergeRowsInOrder":false} diff --git a/benchmarks/logs/create_conf.py b/benchmarks/logs/create_conf.py index c5e2cfaed..476467a09 100644 --- a/benchmarks/logs/create_conf.py +++ b/benchmarks/logs/create_conf.py @@ -29,7 +29,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter} diff --git a/benchmarks/logs/manual_reorder/runtuplex-io.py b/benchmarks/logs/manual_reorder/runtuplex-io.py index e2e7b6fa8..394fc67c5 100644 --- a/benchmarks/logs/manual_reorder/runtuplex-io.py +++ b/benchmarks/logs/manual_reorder/runtuplex-io.py @@ -212,7 +212,7 @@ def randomize_udf(x): "runTimeMemory": "128MB", "useLLVMOptimizer": False, "nullValueOptimization": False, - "csv.selectionPushdown": False, + "optimizer.selectionPushdown": False, "optimizer.generateParser": False } diff --git a/benchmarks/logs/manual_reorder/runtuplex.py b/benchmarks/logs/manual_reorder/runtuplex.py index c1ae51fbd..5bb8844b8 100644 --- a/benchmarks/logs/manual_reorder/runtuplex.py +++ b/benchmarks/logs/manual_reorder/runtuplex.py @@ -220,7 +220,7 @@ def randomize_udf(x): "runTimeMemory": "128MB", "useLLVMOptimizer": False, "nullValueOptimization": False, - "csv.selectionPushdown": False, + "optimizer.selectionPushdown": False, "optimizer.generateParser": False } diff --git a/benchmarks/logs/manual_reorder/tuplex_config.json b/benchmarks/logs/manual_reorder/tuplex_config.json index abcb51a05..3fe7e171d 100644 --- a/benchmarks/logs/manual_reorder/tuplex_config.json +++ b/benchmarks/logs/manual_reorder/tuplex_config.json @@ -7,7 +7,7 @@ "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true, + "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/logs/microbenchmarks/single_regex/runtuplex.py b/benchmarks/logs/microbenchmarks/single_regex/runtuplex.py index b6dd52f29..3baec7bc8 100644 --- a/benchmarks/logs/microbenchmarks/single_regex/runtuplex.py +++ b/benchmarks/logs/microbenchmarks/single_regex/runtuplex.py @@ -70,7 +70,7 @@ def ParseWithRegex(logline): "runTimeMemory": "128MB", "useLLVMOptimizer": False, "nullValueOptimization": False, - "csv.selectionPushdown": False, + "optimizer.selectionPushdown": False, "optimizer.generateParser": False } diff --git a/benchmarks/logs/microbenchmarks/single_regex/tuplex_config.json b/benchmarks/logs/microbenchmarks/single_regex/tuplex_config.json index 0b7ba04e7..8b7f8d5c8 100644 --- a/benchmarks/logs/microbenchmarks/single_regex/tuplex_config.json +++ b/benchmarks/logs/microbenchmarks/single_regex/tuplex_config.json @@ -7,6 +7,6 @@ "runTimeMemory": "256MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": false, - "csv.selectionPushdown": false, + "optimizer.selectionPushdown": false, "optimizer.generateParser": false } diff --git a/benchmarks/logs/runtuplex-io.py b/benchmarks/logs/runtuplex-io.py index 067fe41fe..1dd3031cf 100644 --- a/benchmarks/logs/runtuplex-io.py +++ b/benchmarks/logs/runtuplex-io.py @@ -156,7 +156,7 @@ def randomize_udf(x): "runTimeMemory": "128MB", "useLLVMOptimizer": False, "nullValueOptimization": False, - "csv.selectionPushdown": False, + "optimizer.selectionPushdown": False, "optimizer.generateParser": False } diff --git a/benchmarks/logs/runtuplex.py b/benchmarks/logs/runtuplex.py index 5532c1a4c..4975d048f 100644 --- a/benchmarks/logs/runtuplex.py +++ b/benchmarks/logs/runtuplex.py @@ -220,7 +220,7 @@ def randomize_udf(x): "runTimeMemory": "128MB", "useLLVMOptimizer": False, "nullValueOptimization": False, - "csv.selectionPushdown": False, + "optimizer.selectionPushdown": False, "optimizer.generateParser": False } diff --git a/benchmarks/logs/tuplex_config.json b/benchmarks/logs/tuplex_config.json index 4b683e6b8..903cb2629 100644 --- a/benchmarks/logs/tuplex_config.json +++ b/benchmarks/logs/tuplex_config.json @@ -7,7 +7,7 @@ "inputSplitSize": "64MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true, + "optimizer.selectionPushdown": true, "optimizer.generateParser": false, "optimizer.mergeExceptionsInOrder": false, "optimizer.filterPushdown": true} diff --git a/benchmarks/orc/runcsv-read-single.py b/benchmarks/orc/runcsv-read-single.py index 046a30158..bde4b62fc 100644 --- a/benchmarks/orc/runcsv-read-single.py +++ b/benchmarks/orc/runcsv-read-single.py @@ -41,7 +41,7 @@ "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} if os.path.exists('tuplex_config.json'): with open('tuplex_config.json') as fp: diff --git a/benchmarks/orc/runcsv-write.py b/benchmarks/orc/runcsv-write.py index a43753a4a..13d3abf95 100644 --- a/benchmarks/orc/runcsv-write.py +++ b/benchmarks/orc/runcsv-write.py @@ -41,7 +41,7 @@ "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} if os.path.exists('tuplex_config.json'): with open('tuplex_config.json') as fp: diff --git a/benchmarks/orc/runorc-read-single.py b/benchmarks/orc/runorc-read-single.py index 845ada1eb..39117e09c 100644 --- a/benchmarks/orc/runorc-read-single.py +++ b/benchmarks/orc/runorc-read-single.py @@ -41,7 +41,7 @@ "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} if os.path.exists('tuplex_config.json'): with open('tuplex_config.json') as fp: diff --git a/benchmarks/orc/runorc-write.py b/benchmarks/orc/runorc-write.py index c57007190..3df6cdb26 100644 --- a/benchmarks/orc/runorc-write.py +++ b/benchmarks/orc/runorc-write.py @@ -41,7 +41,7 @@ "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} if os.path.exists('tuplex_config.json'): with open('tuplex_config.json') as fp: diff --git a/benchmarks/sigmod21-reproducibility/plot_scripts/figure10.py b/benchmarks/sigmod21-reproducibility/plot_scripts/figure10.py index 254a689de..353bba8b3 100644 --- a/benchmarks/sigmod21-reproducibility/plot_scripts/figure10.py +++ b/benchmarks/sigmod21-reproducibility/plot_scripts/figure10.py @@ -121,7 +121,7 @@ def extractType(row): t += 'sf' else: t += 'nosf' - if row['csv.selectionPushdown']: + if row['optimizer.selectionPushdown']: t += '+logical' if row['optimizer.nullValueOptimization']: t += '+null' diff --git a/benchmarks/tpch/Q06/create_conf.py b/benchmarks/tpch/Q06/create_conf.py index abe2b7344..dceb75bc0 100644 --- a/benchmarks/tpch/Q06/create_conf.py +++ b/benchmarks/tpch/Q06/create_conf.py @@ -30,7 +30,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter} diff --git a/benchmarks/tpch/Q06/runtuplex.py b/benchmarks/tpch/Q06/runtuplex.py index 170f980fd..0305e08f2 100644 --- a/benchmarks/tpch/Q06/runtuplex.py +++ b/benchmarks/tpch/Q06/runtuplex.py @@ -36,7 +36,7 @@ "runTimeMemory": "128MB", "useLLVMOptimizer": True, "nullValueOptimization": True, - "csv.selectionPushdown": True, + "optimizer.selectionPushdown": True, "optimizer.generateParser": True, } diff --git a/benchmarks/tpch/Q19/create_conf.py b/benchmarks/tpch/Q19/create_conf.py index abe2b7344..dceb75bc0 100644 --- a/benchmarks/tpch/Q19/create_conf.py +++ b/benchmarks/tpch/Q19/create_conf.py @@ -30,7 +30,7 @@ 'inputSplitSize' : args.input_split_size, 'useLLVMOptimizer' : args.opt_llvm, 'optimizer.nullValueOptimization' : args.opt_null, - 'csv.selectionPushdown' : args.opt_pushdown, + 'optimizer.selectionPushdown' : args.opt_pushdown, 'optimizer.generateParser' : args.opt_parser, 'optimizer.mergeExceptionsInOrder' : False, 'optimizer.filterPushdown' : args.opt_filter} diff --git a/benchmarks/tpch/Q19/runtuplex.py b/benchmarks/tpch/Q19/runtuplex.py index 51578e935..71e4965cf 100644 --- a/benchmarks/tpch/Q19/runtuplex.py +++ b/benchmarks/tpch/Q19/runtuplex.py @@ -69,7 +69,7 @@ "runTimeMemory": "128MB", "useLLVMOptimizer": True, "nullValueOptimization": True, - "csv.selectionPushdown": True, + "optimizer.selectionPushdown": True, "optimizer.generateParser": True, } diff --git a/benchmarks/zillow/Z1/baseline/tuplex_config.json b/benchmarks/zillow/Z1/baseline/tuplex_config.json index 15a23d639..15e44eb85 100644 --- a/benchmarks/zillow/Z1/baseline/tuplex_config.json +++ b/benchmarks/zillow/Z1/baseline/tuplex_config.json @@ -8,7 +8,7 @@ "runTimeMemory": "256MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true, + "optimizer.selectionPushdown": true, "optimizer.generateParser": true, "optimizer.filterPushdown": true } diff --git a/benchmarks/zillow/Z1/runtuplex-io.py b/benchmarks/zillow/Z1/runtuplex-io.py index 8b8bdac3d..edd4e0eac 100644 --- a/benchmarks/zillow/Z1/runtuplex-io.py +++ b/benchmarks/zillow/Z1/runtuplex-io.py @@ -149,7 +149,7 @@ def filterBd(x): "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : True, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} # # conf for r5d.4xlarge (in total: 100GB, same as spark) # conf = {"webui.enable" : False, diff --git a/benchmarks/zillow/Z1/runtuplex.py b/benchmarks/zillow/Z1/runtuplex.py index 8358011e9..2eeb52789 100644 --- a/benchmarks/zillow/Z1/runtuplex.py +++ b/benchmarks/zillow/Z1/runtuplex.py @@ -155,7 +155,7 @@ def filterBd(x): "runTimeMemory" : "128MB", "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, - "csv.selectionPushdown" : True} + "optimizer.selectionPushdown" : True} # # conf for r5d.4xlarge (in total: 100GB, same as spark) # conf = {"webui.enable" : False, diff --git a/benchmarks/zillow/Z1/tuplex_config.json b/benchmarks/zillow/Z1/tuplex_config.json index 37a959909..7d423cdf7 100644 --- a/benchmarks/zillow/Z1/tuplex_config.json +++ b/benchmarks/zillow/Z1/tuplex_config.json @@ -6,4 +6,4 @@ "runTimeMemory": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true} + "optimizer.selectionPushdown": true} diff --git a/benchmarks/zillow/Z2/baseline/tuplex_config.json b/benchmarks/zillow/Z2/baseline/tuplex_config.json index 15a23d639..15e44eb85 100644 --- a/benchmarks/zillow/Z2/baseline/tuplex_config.json +++ b/benchmarks/zillow/Z2/baseline/tuplex_config.json @@ -8,7 +8,7 @@ "runTimeMemory": "256MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true, + "optimizer.selectionPushdown": true, "optimizer.generateParser": true, "optimizer.filterPushdown": true } diff --git a/benchmarks/zillow/Z2/runtuplex.py b/benchmarks/zillow/Z2/runtuplex.py index c30445d5f..3ea09bf98 100644 --- a/benchmarks/zillow/Z2/runtuplex.py +++ b/benchmarks/zillow/Z2/runtuplex.py @@ -158,7 +158,7 @@ def filterBd(x): "useLLVMOptimizer" : True, "optimizer.nullValueOptimization" : False, "tuplex.allowUndefinedBehavior" : False, - "csv.selectionPushdown" : True, + "optimizer.selectionPushdown" : True, "optimizer.filterPushdown" : True, "optimizer.generateParser": False} diff --git a/benchmarks/zillow/Z2/tuplex_config.json b/benchmarks/zillow/Z2/tuplex_config.json index 7994466a1..b460c4315 100644 --- a/benchmarks/zillow/Z2/tuplex_config.json +++ b/benchmarks/zillow/Z2/tuplex_config.json @@ -6,4 +6,4 @@ "runTimeMemory": "8MB", "useLLVMOptimizer": true, "optimizer.nullValueOptimization": true, - "csv.selectionPushdown": true} \ No newline at end of file + "optimizer.selectionPushdown": true} \ No newline at end of file diff --git a/tuplex/core/include/AccessPathVisitor.h b/tuplex/core/include/AccessPathVisitor.h index cd644459c..8421dd0a2 100644 --- a/tuplex/core/include/AccessPathVisitor.h +++ b/tuplex/core/include/AccessPathVisitor.h @@ -38,6 +38,14 @@ namespace tuplex { } return escape_to_python_str(_key); } + + bool operator == (const SelectionPathAtom& other) const { + return _index == other._index && _key == other._key && _is_wildcard == other._is_wildcard; + } + + bool operator != (const SelectionPathAtom& other) const { + return !(*this == other); + } private: // only int and string keys supported for now int _index; // raw value @@ -58,6 +66,11 @@ namespace tuplex { std::vector atoms; std::string name; // identifier name + SelectionPath() {} + + SelectionPath(const std::string& name, + const std::vector& atoms) : name(name), atoms(atoms) {} + std::string desc() const { std::stringstream ss; ss<> _accessPaths; // has subscript been already visited? - std::unordered_map _subscriptVisited; + std::unordered_map _nodeVisited; SelectionPath longestAccessPath(NSubscription* sub); + + std::vector _accessedPaths; // holds ALL accessed paths private: - bool subscript_visited(NSubscription* sub) { - assert(sub); - auto it = _subscriptVisited.find(sub); - if(it == _subscriptVisited.end()) + bool node_visited(ASTNode* n) { + assert(n); + auto it = _nodeVisited.find(n); + if(it == _nodeVisited.end()) return false; return it->second; } - void mark_visited(NSubscription* sub) { _subscriptVisited[sub] = true; } + void mark_visited(ASTNode* n) { if(!n)return; _nodeVisited[n] = true; } public: AccessPathVisitor() : _tupleArgument(false), _numColumns(0), _singleLambda(false) {} std::vector getAccessedIndices() const; + + std::vector accessedPaths() const { return _accessedPaths; } }; } #endif //TUPLEX_ACCESSPATHVISITOR_H diff --git a/tuplex/core/include/ContextOptions.h b/tuplex/core/include/ContextOptions.h index 51912124f..92248c59f 100644 --- a/tuplex/core/include/ContextOptions.h +++ b/tuplex/core/include/ContextOptions.h @@ -53,7 +53,7 @@ namespace tuplex { bool OPT_FILTER_PUSHDOWN() const { return stringToBool(_store.at("tuplex.optimizer.filterPushdown")); } bool OPT_OPERATOR_REORDERING() const { return stringToBool(_store.at("tuplex.optimizer.operatorReordering")); } bool OPT_MERGE_EXCEPTIONS_INORDER() const { return stringToBool(_store.at("tuplex.optimizer.mergeExceptionsInOrder")); } - bool CSV_PARSER_SELECTION_PUSHDOWN() const; //! whether to use selection pushdown in the parser. If false, then full data will be serialized. + bool OPT_SELECTION_PUSHDOWN() const; //! whether to use selection pushdown when reading files. If false, then full data will be always read and thus serialized within memory. bool INTERLEAVE_IO() const { return stringToBool(_store.at("tuplex.interleaveIO")); } //! whether to first load, compute, then write or use IO thread to interleave IO work with compute work for faster speeds. bool RESOLVE_WITH_INTERPRETER_ONLY() const { return stringToBool(_store.at("tuplex.resolveWithInterpreterOnly")); } diff --git a/tuplex/core/src/AccessPathVisitor.cc b/tuplex/core/src/AccessPathVisitor.cc index a658b2413..1a8541543 100644 --- a/tuplex/core/src/AccessPathVisitor.cc +++ b/tuplex/core/src/AccessPathVisitor.cc @@ -140,8 +140,13 @@ namespace tuplex { // path: auto path = longestAccessPath(sub); - if(!path.empty()) + if(!path.empty()) { + _accessedPaths.push_back(path); +#ifndef NDEBUG std::cout<<"found path: "<type() == ASTNodeType::Identifier) { p.name = ((NIdentifier*)value)->_name; + mark_visited(value); // mark the identifier as visited } // constant valued? @@ -184,6 +190,7 @@ namespace tuplex { auto index = num->getI64(); p.atoms.push_back(SelectionPathAtom(index)); } else { + std::reverse(p.atoms.begin(), p.atoms.end()); // b.c. of descent, need to reverse order return p; // abort, can't decide for longest. } } else if(expr->getInferredType().isConstantValued()) { @@ -194,6 +201,7 @@ namespace tuplex { } else if(t == python::Type::I64) { p.atoms.push_back(std::stoi(expr->getInferredType().constant())); } else { + std::reverse(p.atoms.begin(), p.atoms.end()); // b.c. of descent, need to reverse order return p; // abort, can't decide for longest. } } @@ -201,6 +209,7 @@ namespace tuplex { sub = dynamic_cast(value); } + std::reverse(p.atoms.begin(), p.atoms.end()); // b.c. of descent, need to reverse order return p; } @@ -208,6 +217,23 @@ namespace tuplex { if(!node) return; switch(node->type()) { + case ASTNodeType::Identifier: { + NIdentifier *id = (NIdentifier*)node; + // for identifiers that are not path of subscript AND within function body, + // add access path if not visited + if(parent() && parent()->type() == ASTNodeType::Parameter) + return; + if(!node_visited(id)) { + mark_visited(id); + SelectionPath path; + path.name = id->_name; // a path without atoms. + _accessedPaths.push_back(path); +#ifndef NDEBUG + std::cout<<"Found access path: "< i.e. only parse accessed fields! - if(context.getOptions().CSV_PARSER_SELECTION_PUSHDOWN()) { + if(context.getOptions().OPT_SELECTION_PUSHDOWN()) { // note: set dropOperators to true to get rid off not computed columns!!! vector cols; diff --git a/tuplex/python/src/PythonContext.cc b/tuplex/python/src/PythonContext.cc index 9605cc671..74f99d0c1 100644 --- a/tuplex/python/src/PythonContext.cc +++ b/tuplex/python/src/PythonContext.cc @@ -1519,8 +1519,8 @@ namespace tuplex { // @TODO: move to optimizer PyDict_SetItem(dictObject, - python::PyString_FromString("tuplex.csv.selectionPushdown"), - python::boolToPython(co.CSV_PARSER_SELECTION_PUSHDOWN())); + python::PyString_FromString("tuplex.optimizer.selectionPushdown"), + python::boolToPython(co.OPT_SELECTION_PUSHDOWN())); PyDict_SetItem(dictObject, diff --git a/tuplex/python/tests/helper.py b/tuplex/python/tests/helper.py index b64ff0748..ba07680b9 100644 --- a/tuplex/python/tests/helper.py +++ b/tuplex/python/tests/helper.py @@ -16,4 +16,4 @@ def test_options(): "tuplex.allowUndefinedBehavior" : False, "tuplex.webui.enable" : False, "tuplex.optimizer.mergeExceptionsInOrder": True, - "tuplex.csv.selectionPushdown" : True} \ No newline at end of file + "tuplex.optimizer.selectionPushdown" : True} \ No newline at end of file diff --git a/tuplex/python/tuplex/context.py b/tuplex/python/tuplex/context.py index f05902c61..d3cf7c0ba 100644 --- a/tuplex/python/tuplex/context.py +++ b/tuplex/python/tuplex/context.py @@ -73,7 +73,7 @@ def __init__(self, conf=None, name="", **kwargs): csv.quotechar (str): single character denoting the character that is used as quote char according to RFC-4180 standard. E.g. ``'"'`` csv.comments (str): list of single character string which indicate start of a comment line, e.g. ``['#', '~']`` csv.generateParser (str) or (bool): Whether to use C++ parser or a LLVM code generated parser - csv.selectionPushdown (str) or (bool): When enabled, then the physical planner will generate a parser that \ + optimizer.selectionPushdown (str) or (bool): When enabled, then the physical planner will generate a parser that \ only serializes data that is required within the pipeline. """ diff --git a/tuplex/test/core/AggregateTest.cc b/tuplex/test/core/AggregateTest.cc index cd8e8554d..4583b714a 100644 --- a/tuplex/test/core/AggregateTest.cc +++ b/tuplex/test/core/AggregateTest.cc @@ -372,7 +372,7 @@ TEST_F(AggregateTest, UniqueMixedTypesWithInterpreterFallback) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "true"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); Context c_ref(opt_ref); diff --git a/tuplex/test/core/CacheTest.cc b/tuplex/test/core/CacheTest.cc index 81454defa..ebe10479d 100644 --- a/tuplex/test/core/CacheTest.cc +++ b/tuplex/test/core/CacheTest.cc @@ -118,7 +118,7 @@ TEST_F(CacheTest, SimpleCSVLoad) { auto opt = microTestOptions(); // first, deactivate logical optimizations and make caching work as is... - opt.set("tuplex.csv.selectionPushdown", "false"); + opt.set("tuplex.optimizer.selectionPushdown", "false"); opt.set("tuplex.optimizer.nullValueOptimization", "false"); opt.set("tuplex.optimizer.filterPushdown", "false"); opt.set("tuplex.optimizer.sharedObjectPropagation", "false"); @@ -151,7 +151,7 @@ TEST_F(CacheTest, LogicalOptCSVLoad) { auto opt = microTestOptions(); // first, deactivate logical optimizations and make caching work as is... - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); opt.set("tuplex.optimizer.nullValueOptimization", "false"); opt.set("tuplex.optimizer.filterPushdown", "true"); opt.set("tuplex.optimizer.sharedObjectPropagation", "false"); diff --git a/tuplex/test/core/DataFrameOperations.cc b/tuplex/test/core/DataFrameOperations.cc index 220aa0fc8..231cd1d29 100644 --- a/tuplex/test/core/DataFrameOperations.cc +++ b/tuplex/test/core/DataFrameOperations.cc @@ -104,7 +104,7 @@ TEST_F(CSVDataFrameTest, HeaderlessStringFile) { auto conf = testOptions(); // deactivate optimizers for now conf.set("tuplex.optimizer.filterPushdown", "false"); - conf.set("tuplex.csv.selectionPushdown", "false"); + conf.set("tuplex.optimizer.selectionPushdown", "false"); conf.set("tuplex.useLLVMOptimizer", "false"); conf.set("tuplex.executorCount", "0"); conf.set("tuplex.optimizer.generateParser", "false"); diff --git a/tuplex/test/core/FlightDataTest.cc b/tuplex/test/core/FlightDataTest.cc index 3d90bbca3..39e83cd00 100644 --- a/tuplex/test/core/FlightDataTest.cc +++ b/tuplex/test/core/FlightDataTest.cc @@ -293,7 +293,7 @@ TEST_F(FlightDataTest, AirportCleaning) { opt.set("tuplex.useLLVMOptimizer", "false"); // deactivate // projection pushdown enabled! - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); // null value opt! // opt.set("tuplex.optimizer.nullValueOptimization", "true"); @@ -371,7 +371,7 @@ TEST_F(FlightDataTest, LeftJoin) { // Notes: prob need to adjust columns in projection pushdown because of change in map operator... // also need to overwrite for rename/empty UDF... - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); Context c(opt); @@ -585,7 +585,7 @@ TEST_F(FlightDataTest, SelectAndFilterPushdown) { // deactivate NULL value optimization opt.set("tuplex.optimizer.nullValueOptimization", "false"); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); Context ctx(opt); @@ -617,7 +617,7 @@ TEST_F(FlightDataTest, WeirdFilterIssue) { // deactivate NULL value optimization opt.set("tuplex.optimizer.filterPushdown", "true"); - opt.set("tuplex.csv.selectionPushdown", "false"); + opt.set("tuplex.optimizer.selectionPushdown", "false"); Context ctx(opt); @@ -654,11 +654,11 @@ TEST_F(FlightDataTest, ProjectionPushdown) { // deactivate NULL value optimization opt.set("tuplex.optimizer.nullValueOptimization", "false"); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); opt.set("tuplex.optimizer.filterPushdown", "true"); auto opt_ref = opt; - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.filterPushdown", "false"); // test a couple pipelines using the two different context objects. @@ -747,7 +747,7 @@ TEST_F(FlightDataTest, ProjectionPushdownInvariant) { // deactivate NULL value optimization opt.set("tuplex.optimizer.nullValueOptimization", "false"); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); Context c(opt); @@ -819,7 +819,7 @@ TEST_F(FlightDataTest, LargeFilePipeline) { opt.set("tuplex.inputSplitSize", "64MB"); opt.set("tuplex.runTimeMemory", "340MB"); opt.set("tuplex.optimizer.generateParser", "true"); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); Context c(opt); @@ -845,7 +845,7 @@ TEST_F(FlightDataTest, FallbackPythonDict) { opt.set("tuplex.optimizer.generateParser", "false"); opt.set("tuplex.optimizer.nullValueOptimization", "true"); opt.set("tuplex.optimizer.operatorReordering", "false"); - opt.set("tuplex.csv.selectionPushdown", "false"); + opt.set("tuplex.optimizer.selectionPushdown", "false"); Context c(opt); diff --git a/tuplex/test/core/FullPipelines.cc b/tuplex/test/core/FullPipelines.cc index 8c5429a31..f676ddfd6 100644 --- a/tuplex/test/core/FullPipelines.cc +++ b/tuplex/test/core/FullPipelines.cc @@ -656,7 +656,7 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); Context c_ref(opt_ref); @@ -671,14 +671,14 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { // with projection pushdown enabled auto opt_proj = opt_ref; - opt_proj.set("tuplex.csv.selectionPushdown", "true"); + opt_proj.set("tuplex.optimizer.selectionPushdown", "true"); Context c_proj(opt_proj); auto r_proj = pipelineAsStrs(zillowPipeline(c_proj, zpath, cache)); compareStrArrays(r_proj, ref, true); // with projection pushdown + LLVM Optimizers auto opt_proj_wLLVMOpt = opt_ref; - opt_proj_wLLVMOpt.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt.set("tuplex.useLLVMOptimizer", "true"); Context c_proj_wLLVMOpt(opt_proj_wLLVMOpt); auto r_proj_wLLVMOpt = pipelineAsStrs(zillowPipeline(c_proj_wLLVMOpt, zpath, cache)); @@ -694,7 +694,7 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { // with null value + proj auto opt_null_proj = opt_ref; opt_null_proj.set("tuplex.optimizer.nullValueOptimization", "true"); - opt_null_proj.set("tuplex.csv.selectionPushdown", "true"); + opt_null_proj.set("tuplex.optimizer.selectionPushdown", "true"); Context c_null_proj(opt_null_proj); auto r_null_proj = pipelineAsStrs(zillowPipeline(c_null_proj, zpath, cache)); compareStrArrays(r_null_proj, ref, true); @@ -702,7 +702,7 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { // with null value + proj + llvmopt auto opt_null_proj_opt = opt_ref; opt_null_proj_opt.set("tuplex.optimizer.nullValueOptimization", "true"); - opt_null_proj_opt.set("tuplex.csv.selectionPushdown", "true"); + opt_null_proj_opt.set("tuplex.optimizer.selectionPushdown", "true"); opt_null_proj_opt.set("tuplex.useLLVMOptimizer", "true"); Context c_null_proj_opt(opt_null_proj_opt); auto r_null_proj_opt = pipelineAsStrs(zillowPipeline(c_null_proj_opt, zpath, cache)); @@ -710,7 +710,7 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { // with projection pushdown + LLVM Optimizers + generated parser auto opt_proj_wLLVMOpt_parse = opt_ref; - opt_proj_wLLVMOpt_parse.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt_parse.set("tuplex.useLLVMOptimizer", "true"); opt_proj_wLLVMOpt_parse.set("tuplex.optimizer.generateParser", "true"); Context c_proj_wLLVMOpt_parse(opt_proj_wLLVMOpt_parse); @@ -720,7 +720,7 @@ TEST_F(PipelinesTest, ZillowConfigHarness) { // NULL value OPTIMIZATION // with projection pushdown + LLVM Optimizers + generated parser + null value opt auto opt_proj_wLLVMOpt_parse_null = opt_ref; - opt_proj_wLLVMOpt_parse_null.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.useLLVMOptimizer", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.generateParser", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.nullValueOptimization", "true"); @@ -743,7 +743,7 @@ TEST_F(PipelinesTest, ServiceRequestsConfigHarnessNVOvsNormal) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); auto opt_nvo = opt_ref; @@ -820,7 +820,7 @@ TEST_F(PipelinesTest, FlightsWithPyResolver) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.csv.operatorReordering", "false"); // opt_ref.set("tuplex.optimizer.generateParser", "true"); opt_ref.set("tuplex.optimizer.generateParser", "true"); @@ -873,7 +873,7 @@ TEST_F(PipelinesTest, FlightDevWithColumnPyFallback) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); // disable for now, prob errors later... + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); // disable for now, prob errors later... // Note: when null value opt is turned off AND selection pushdown is off, // then on 2009 there are 8 rows where errors are produced on columns which actually do not @@ -923,7 +923,7 @@ TEST_F(PipelinesTest, FlightDevToFixWithPurePythonPipeline) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); // disable for now, prob errors later... + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); // disable for now, prob errors later... // Note: when null value opt is turned off AND selection pushdown is off, // then on 2009 there are 8 rows where errors are produced on columns which actually do not @@ -950,7 +950,7 @@ TEST_F(PipelinesTest, TypeErrorFlightPipeline) { opt.set("tuplex.executorCount", "15"); // single-threaded opt.set("tuplex.useLLVMOptimizer", "true"); // deactivate opt.set("tuplex.optimizer.nullValueOptimization", "true"); - opt.set("tuplex.csv.selectionPushdown", "true"); // disable for now, prob errors later... + opt.set("tuplex.optimizer.selectionPushdown", "true"); // disable for now, prob errors later... opt.set("tuplex.optimizer.generateParser", "false"); // do not use parser generation opt.set("tuplex.inputSplitSize", "128MB"); // probably something wrong with the reader, again?? opt.set("tuplex.resolveWithInterpreterOnly", "false"); @@ -960,7 +960,7 @@ TEST_F(PipelinesTest, TypeErrorFlightPipeline) { // Checks: // 1.) Is selectionPushdown NOT working with interpreter only resolve?? - // ---> yup, exactly that is the issue!!! i.e. interpreteronly == true AND csv.selectionPushdown == true + // ---> yup, exactly that is the issue!!! i.e. interpreteronly == true AND optimizer.selectionPushdown == true // 2.) what is the typeError that occurs?? // check //~ expansion in the future... @@ -984,7 +984,7 @@ TEST_F(PipelinesTest, FlightNullValueCacheMini) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "true"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "true"); // disable for now, prob errors later... + opt_ref.set("tuplex.optimizer.selectionPushdown", "true"); // disable for now, prob errors later... opt_ref.set("tuplex.optimizer.generateParser", "false"); // do not use par opt_ref.set("tuplex.inputSplitSize", "64MB"); // probably something wrong with the reader, again?? opt_ref.set("tuplex.optimizer.mergeExceptionsInOrder", "false"); @@ -1056,7 +1056,7 @@ TEST_F(PipelinesTest, ZillowDev) { // "inputSplitSize":"64MB", // "useLLVMOptimizer" : True, // "optimizer.nullValueOptimization" : False, - // "csv.selectionPushdown" : True, + // "optimizer.selectionPushdown" : True, // "optimizer.generateParser": False} @@ -1068,7 +1068,7 @@ TEST_F(PipelinesTest, ZillowDev) { // "runTimeMemory" : "128MB", // "useLLVMOptimizer" : True, // "optimizer.nullValueOptimization" : False, - // "csv.selectionPushdown" : True} + // "optimizer.selectionPushdown" : True} opt_ref.set("tuplex.runTimeMemory", "256MB"); // join might require a lot of runtime memory!!! opt_ref.set("tuplex.executorMemory", "2GB"); opt_ref.set("tuplex.driverMemory", "2GB"); @@ -1076,7 +1076,7 @@ TEST_F(PipelinesTest, ZillowDev) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "true"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "true"); // disable for now, prob errors later... + opt_ref.set("tuplex.optimizer.selectionPushdown", "true"); // disable for now, prob errors later... opt_ref.set("tuplex.optimizer.generateParser", "true"); // do not use par => wrong parse for some cell here! opt_ref.set("tuplex.inputSplitSize", "64MB"); // probably something wrong with the reader, again?? //opt_ref.set("tuplex.optimizer.mergeExceptionsInOrder", "false"); @@ -1099,7 +1099,7 @@ TEST_F(PipelinesTest, ApacheDev) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.filterPushdown", "true"); opt_ref.set("tuplex.optimizer.sharedObjectPropagation", "true"); @@ -1119,7 +1119,7 @@ TEST_F(PipelinesTest, ApacheDev) { // NULL value OPTIMIZATION // with projection pushdown + LLVM Optimizers + generated parser + null value opt auto opt_proj_wLLVMOpt_parse_null = opt_ref; - opt_proj_wLLVMOpt_parse_null.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.useLLVMOptimizer", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.generateParser", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.nullValueOptimization", "true"); @@ -1142,7 +1142,7 @@ TEST_F(PipelinesTest, NullValueApache) { opt_ref.set("tuplex.executorCount", "4"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "true"); - opt_ref.set("tuplex.csv.selectionPushdown", "true"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "true"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.filterPushdown", "true"); opt_ref.set("tuplex.optimizer.sharedObjectPropagation", "true"); @@ -1268,12 +1268,12 @@ TEST_F(PipelinesTest, FlightWithIgnore) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.filterPushdown", "false"); auto opt_proj_wLLVMOpt_parse_null = opt_ref; - opt_proj_wLLVMOpt_parse_null.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.selectionPushdown", "true"); // opt_proj_wLLVMOpt_parse_null.set("tuplex.useLLVMOptimizer", "true"); // opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.generateParser", "true"); // opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.nullValueOptimization", "true"); @@ -1298,7 +1298,7 @@ TEST_F(PipelinesTest, CarriersOnly) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.mergeExceptionsInOrder", "false"); @@ -1344,7 +1344,7 @@ TEST_F(PipelinesTest, FlightConfigHarness) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.mergeExceptionsInOrder", "false"); // Note: all resolve with interpreter work, except for when projection pushdown is used. @@ -1363,7 +1363,7 @@ TEST_F(PipelinesTest, FlightConfigHarness) { // with projection pushdown enabled auto opt_proj = opt_ref; - opt_proj.set("tuplex.csv.selectionPushdown", "true"); + opt_proj.set("tuplex.optimizer.selectionPushdown", "true"); Context c_proj(opt_proj); auto r_proj = pipelineAsStrs(flightPipeline(c_proj, bts_path, carrier_path, airport_path, cache)); @@ -1371,7 +1371,7 @@ TEST_F(PipelinesTest, FlightConfigHarness) { // with projection pushdown + LLVM Optimizers auto opt_proj_wLLVMOpt = opt_ref; - opt_proj_wLLVMOpt.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt.set("tuplex.useLLVMOptimizer", "true"); Context c_proj_wLLVMOpt(opt_proj_wLLVMOpt); auto r_proj_wLLVMOpt = pipelineAsStrs(flightPipeline(c_proj_wLLVMOpt, bts_path, carrier_path, airport_path, cache)); @@ -1379,7 +1379,7 @@ TEST_F(PipelinesTest, FlightConfigHarness) { // with projection pushdown + LLVM Optimizers + generated parser auto opt_proj_wLLVMOpt_parse = opt_ref; - opt_proj_wLLVMOpt_parse.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt_parse.set("tuplex.useLLVMOptimizer", "true"); opt_proj_wLLVMOpt_parse.set("tuplex.optimizer.generateParser", "true"); Context c_proj_wLLVMOpt_parse(opt_proj_wLLVMOpt_parse); @@ -1389,7 +1389,7 @@ TEST_F(PipelinesTest, FlightConfigHarness) { // NULL value OPTIMIZATION // with projection pushdown + LLVM Optimizers + generated parser + null value opt auto opt_proj_wLLVMOpt_parse_null = opt_ref; - opt_proj_wLLVMOpt_parse_null.set("tuplex.csv.selectionPushdown", "true"); + opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.selectionPushdown", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.useLLVMOptimizer", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.generateParser", "true"); opt_proj_wLLVMOpt_parse_null.set("tuplex.optimizer.nullValueOptimization", "true"); @@ -1414,7 +1414,7 @@ TEST_F(PipelinesTest, GoogleTrace) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); Context c_ref(opt_ref); diff --git a/tuplex/test/core/JSONPathSelection.cc b/tuplex/test/core/JSONPathSelection.cc index 45e8e8a4a..d3ea550a3 100644 --- a/tuplex/test/core/JSONPathSelection.cc +++ b/tuplex/test/core/JSONPathSelection.cc @@ -9,6 +9,20 @@ class JSONPathSelection : public PyTest {}; +template ::testing::AssertionResult VecContains(const std::vector& v, const T& value) { + if (v.empty()) { + // If MyObject is streamable, then we probably want to include it + // in the error message. + return ::testing::AssertionFailure() << v << " is empty"; + } + for(const T& el : v) { + if(el == value) + return ::testing::AssertionSuccess(); + } + + return ::testing::AssertionFailure() << value << " not contained in " << v; +} + TEST_F(JSONPathSelection, BasicPathSelection) { using namespace tuplex; using namespace std; @@ -24,17 +38,30 @@ TEST_F(JSONPathSelection, BasicPathSelection) { auto input_row_type = rows.front().getRowType(); - UDF udf("lambda x: x['repo']['url']"); - udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, input_row_type)); - auto output_row_type = udf.getOutputSchema().getRowType(); - cout<<"output type of UDF: "<accept(apv); - auto indices = apv.getAccessedIndices(); - cout<<"visited indices: "<accept(apv); + auto paths = apv.accessedPaths(); + + SelectionPath path1("x", vector{}); + SelectionPath path2("x", vector{SelectionPathAtom("repo")}); + SelectionPath path3("x", vector{SelectionPathAtom("repo"), SelectionPathAtom("url")}); + + EXPECT_EQ(paths.size(), 3); + EXPECT_TRUE(VecContains(paths, path1)); + EXPECT_TRUE(VecContains(paths, path2)); + EXPECT_TRUE(VecContains(paths, path3)); + } + + + // need to detect path access using identifier (single + multiple columns) // e.g., diff --git a/tuplex/test/core/JoinTest.cc b/tuplex/test/core/JoinTest.cc index e4fa0d687..053ffe8a6 100644 --- a/tuplex/test/core/JoinTest.cc +++ b/tuplex/test/core/JoinTest.cc @@ -467,7 +467,7 @@ TEST_F(JoinTest, SimpleIntJoins) { // // @TODO: activate filter pushdown as option... // // @TODO: ignore/resolve operators following a filter should be pushed with it down! // auto co = microTestOptions(); -// co.set("tuplex.csv.selectionPushdown", "true"); +// co.set("tuplex.optimizer.selectionPushdown", "true"); // Context c(co); // // auto& ds1 = c.parallelize({Row(1, 2, 3), Row(1, 2, 4), Row(2, 1, 1)}, vector{"a", "b", "c"}); diff --git a/tuplex/test/core/ResolveTests.cc b/tuplex/test/core/ResolveTests.cc index e01c27170..d2bc26ce9 100644 --- a/tuplex/test/core/ResolveTests.cc +++ b/tuplex/test/core/ResolveTests.cc @@ -282,7 +282,7 @@ TEST_F(Resolve, ResolveAccessesOtherCol) { using namespace std; auto opt = microTestOptions(); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); opt.set("tuplex.resolveWithInterpreterOnly", "false"); Context c(opt); @@ -308,7 +308,7 @@ TEST_F(Resolve, ResolveAccessesOtherColInterpreterOnlyAndPushdown) { // of input columns. auto opt = microTestOptions(); - opt.set("tuplex.csv.selectionPushdown", "true"); + opt.set("tuplex.optimizer.selectionPushdown", "true"); opt.set("tuplex.resolveWithInterpreterOnly", "true"); Context c(opt); @@ -1097,7 +1097,7 @@ TEST_F(Resolve, NoProjectionPushdown) { // yeah, that would work... auto options = microTestOptions(); - options.set("tuplex.csv.selectionPushdown", "false"); // setting to false should produce errors... + options.set("tuplex.optimizer.selectionPushdown", "false"); // setting to false should produce errors... Context c(options); // auto extractSqft_c = "def extractSqft(x):\n" diff --git a/tuplex/test/core/SelectionPushdownTest.cc b/tuplex/test/core/SelectionPushdownTest.cc index e8eba434d..d07205ebb 100644 --- a/tuplex/test/core/SelectionPushdownTest.cc +++ b/tuplex/test/core/SelectionPushdownTest.cc @@ -26,7 +26,7 @@ TEST_F(CSVSelectionPushDown, SimpleMap) { fclose(file); auto co = microTestOptions(); - co.set("tuplex.csv.selectionPushdown", "true"); + co.set("tuplex.optimizer.selectionPushdown", "true"); Context c(co); auto v = c.csv(testName + ".csv").map(UDF("lambda x: x[2]")).collectAsVector(); ASSERT_EQ(v.size(), 3); @@ -50,7 +50,7 @@ TEST_F(CSVSelectionPushDown, SimpleFilterAndMap) { auto co = microTestOptions(); - co.set("tuplex.csv.selectionPushdown", "true"); + co.set("tuplex.optimizer.selectionPushdown", "true"); Context c(co); auto v = c.csv(testName + ".csv").filter(UDF("lambda x: x[0] == 2")).map(UDF("lambda x: x[-1]")).collectAsVector(); ASSERT_EQ(v.size(), 3); @@ -75,7 +75,7 @@ TEST_F(CSVSelectionPushDown, SimpleFilterAndMapII) { auto co = microTestOptions(); - co.set("tuplex.csv.selectionPushdown", "true"); + co.set("tuplex.optimizer.selectionPushdown", "true"); Context c(co); auto v = c.csv(testName + ".csv").filter(UDF("lambda a,b,c,d: a == 2")).map(UDF("lambda x,y,z, w: w")).collectAsVector(); ASSERT_EQ(v.size(), 3); @@ -99,7 +99,7 @@ TEST_F(CSVSelectionPushDown, SimpleFilterAndMapIII) { fclose(file); auto co = microTestOptions(); - co.set("tuplex.csv.selectionPushdown", "true"); + co.set("tuplex.optimizer.selectionPushdown", "true"); Context c(co); auto v = c.csv(testName + ".csv").filter(UDF("lambda a,b,c,d: a == 2")).map(UDF("lambda x: x[-2]")).collectAsVector(); ASSERT_EQ(v.size(), 3); diff --git a/tuplex/test/core/SignalTest.cc b/tuplex/test/core/SignalTest.cc index 437f90d0b..6e3ae66ac 100644 --- a/tuplex/test/core/SignalTest.cc +++ b/tuplex/test/core/SignalTest.cc @@ -33,7 +33,7 @@ TEST_F(SigTest, FlightInterrupt) { opt_ref.set("tuplex.executorCount", "0"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "false"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "false"); - opt_ref.set("tuplex.csv.selectionPushdown", "false"); + opt_ref.set("tuplex.optimizer.selectionPushdown", "false"); opt_ref.set("tuplex.optimizer.generateParser", "false"); opt_ref.set("tuplex.optimizer.mergeExceptionsInOrder", "false"); diff --git a/tuplex/test/core/TPCH.cc b/tuplex/test/core/TPCH.cc index 0b594792a..248332d7c 100644 --- a/tuplex/test/core/TPCH.cc +++ b/tuplex/test/core/TPCH.cc @@ -65,7 +65,7 @@ TEST_F(TpchTest, Q6) { for(unsigned i = 0; i < (0x1ul << 4ul); ++i) { ContextOptions conf(ref_conf); conf.set("tuplex.optimizer.filterPushdown", (i & (0x1ul << 0ul)) ? "true" : "false"); - conf.set("tuplex.csv.selectionPushdown", (i & (0x1ul << 1ul)) ? "true" : "false"); + conf.set("tuplex.optimizer.selectionPushdown", (i & (0x1ul << 1ul)) ? "true" : "false"); conf.set("tuplex.useLLVMOptimizer", (i & (0x1ul << 2ul)) ? "true" : "false"); conf.set("tuplex.optimizer.generateParser", (i & (0x1ul << 3ul)) ? "true" : "false"); @@ -124,7 +124,7 @@ TEST_F(TpchTest, Q6_AggDictRewrite) { ContextOptions conf(ref_conf); conf.set("tuplex.optimizer.filterPushdown", "true"); - conf.set("tuplex.csv.selectionPushdown", "true"); + conf.set("tuplex.optimizer.selectionPushdown", "true"); conf.set("tuplex.useLLVMOptimizer", "true"); conf.set("tuplex.optimizer.generateParser", "true"); @@ -164,7 +164,7 @@ TEST_F(TpchTest, SimpleSumAggregate) { auto conf = testOptions(); // deactivate optimizers for now conf.set("tuplex.optimizer.filterPushdown", "false"); - conf.set("tuplex.csv.selectionPushdown", "false"); + conf.set("tuplex.optimizer.selectionPushdown", "false"); conf.set("tuplex.useLLVMOptimizer", "false"); conf.set("tuplex.executorCount", "0"); conf.set("tuplex.optimizer.generateParser", "true"); @@ -180,7 +180,7 @@ TEST_F(TpchTest, SimpleFileCountWGeneratedParser) { auto conf = testOptions(); // deactivate optimizers for now conf.set("tuplex.optimizer.filterPushdown", "false"); - conf.set("tuplex.csv.selectionPushdown", "false"); + conf.set("tuplex.optimizer.selectionPushdown", "false"); conf.set("tuplex.useLLVMOptimizer", "false"); conf.set("tuplex.executorCount", "0"); conf.set("tuplex.optimizer.generateParser", "true"); diff --git a/tuplex/test/core/TestUtils.h b/tuplex/test/core/TestUtils.h index bbe23c52c..c946da4ca 100644 --- a/tuplex/test/core/TestUtils.h +++ b/tuplex/test/core/TestUtils.h @@ -117,7 +117,7 @@ class TuplexTest : public ::testing::Test { co.set("tuplex.scratchDir", "file://" + scratchDir); // disable schema pushdown - co.set("tuplex.csv.selectionPushdown", "true"); + co.set("tuplex.optimizer.selectionPushdown", "true"); #ifdef BUILD_FOR_CI co.set("tuplex.aws.httpThreadCount", "0"); diff --git a/tuplex/test/core/UseCaseFunctionsTest.cc b/tuplex/test/core/UseCaseFunctionsTest.cc index 73b12be4e..173b86ca5 100644 --- a/tuplex/test/core/UseCaseFunctionsTest.cc +++ b/tuplex/test/core/UseCaseFunctionsTest.cc @@ -1187,7 +1187,7 @@ TEST_F(UseCaseFunctionsTest, ZillowCacheEachStep) { opt_ref.set("tuplex.executorCount", "4"); // single-threaded opt_ref.set("tuplex.useLLVMOptimizer", "true"); // deactivate opt_ref.set("tuplex.optimizer.nullValueOptimization", "true"); - opt_ref.set("tuplex.csv.selectionPushdown", "true"); // disable for now, prob errors later... + opt_ref.set("tuplex.optimizer.selectionPushdown", "true"); // disable for now, prob errors later... opt_ref.set("tuplex.optimizer.generateParser", "true"); // do not use par => wrong parse for some cell here! opt_ref.set("tuplex.inputSplitSize", "64MB"); // probably something wrong with the reader, again?? Context ctx(opt_ref); diff --git a/tuplex/test/wrappers/WrapperTest.cc b/tuplex/test/wrappers/WrapperTest.cc index ea73ffaf6..52a297ffb 100644 --- a/tuplex/test/wrappers/WrapperTest.cc +++ b/tuplex/test/wrappers/WrapperTest.cc @@ -1149,14 +1149,14 @@ TEST_F(WrapperTest, FlightSimulateSpark) { // "partitionSize": "32MB", "runTimeMemory": "64MB", // "inputSplitSize": "64MB", "useLLVMOptimizer": true, // "optimizer.nullValueOptimization": true, - // "csv.selectionPushdown": true, + // "optimizer.selectionPushdown": true, // "optimizer.generateParser": false, // "optimizer.mergeExceptionsInOrder": false, // "optimizer.filterPushdown": true} PythonContext ctx("python", "", "{\"tuplex.webui.enable\":\"False\", \"tuplex.useLLVMOptimizer\" : \"True\"," " \"tuplex.optimizer.nullValueOptimization\" : \"True\"," - " \"tuplex.optimizer.csv.selectionPushdown\" : \"True\"," + " \"tuplex.optimizer.optimizer.selectionPushdown\" : \"True\"," " \"tuplex.resolveWithInterpreterOnly\":\"False\"," "\"tuplex.executorCount\":0," "\"tuplex.driverMemory\":\"6G\"," @@ -2207,7 +2207,7 @@ TEST_F(WrapperTest, ZillowDirty) { " \"runTimeMemory\": \"4MB\"," " \"useLLVMOptimizer\": true," " \"optimizer.nullValueOptimization\": false," - " \"csv.selectionPushdown\": false, " + " \"optimizer.selectionPushdown\": false, " "\"optimizer.generateParser\": false," "\"tuplex.scratchDir\": \"file://" + scratchDir + "\"," "\"optimizer.mergeExceptionsInOrder\": true}"; @@ -2220,7 +2220,7 @@ TEST_F(WrapperTest, ZillowDirty) { " \"runTimeMemory\": \"4MB\"," " \"useLLVMOptimizer\": true," " \"optimizer.nullValueOptimization\": false," - " \"csv.selectionPushdown\": false, " + " \"optimizer.selectionPushdown\": false, " "\"tuplex.scratchDir\": \"file://" + scratchDir + "\"," "\"optimizer.generateParser\": false," From b95ff23993fcb837f82fda4ca19023ba80a50d5a Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 8 Sep 2022 16:14:20 -0400 Subject: [PATCH 060/286] adding typeobject to typesystem --- tuplex/test/codegen/TypeSystemTest.cc | 11 ++++++ tuplex/test/core/IsInstanceTest.cc | 48 +++++++++++++++++++++++++++ tuplex/test/core/JSONPathSelection.cc | 43 +++++++++++++++++++----- tuplex/utils/include/TypeSystem.h | 11 ++++++ tuplex/utils/src/TypeSystem.cc | 27 ++++++++++++++- 5 files changed, 130 insertions(+), 10 deletions(-) create mode 100644 tuplex/test/core/IsInstanceTest.cc diff --git a/tuplex/test/codegen/TypeSystemTest.cc b/tuplex/test/codegen/TypeSystemTest.cc index 8d0f6d839..ce3ab33ed 100644 --- a/tuplex/test/codegen/TypeSystemTest.cc +++ b/tuplex/test/codegen/TypeSystemTest.cc @@ -294,4 +294,15 @@ TEST(TypeSys, structuredDictType) { auto decoded_3 = python::decodeType(encoded_3); EXPECT_EQ(decoded_3.desc(), t_3.desc()); +} + +TEST(TypeSys, TypeObject) { + auto types = primitiveTypes(); + + for(const auto& t : types) { + auto to = python::Type::makeTypeObjectType(t); + ASSERT_TRUE(to.isTypeObjectType()); + EXPECT_EQ(to.desc(), "Type[" + t.desc() + "]"); + EXPECT_EQ(to.underlying(), t); + } } \ No newline at end of file diff --git a/tuplex/test/core/IsInstanceTest.cc b/tuplex/test/core/IsInstanceTest.cc new file mode 100644 index 000000000..b8241ede2 --- /dev/null +++ b/tuplex/test/core/IsInstanceTest.cc @@ -0,0 +1,48 @@ +// +// Created by Leonhard Spiegelberg on 9/8/22. +// + +#include "TestUtils.h" +#include "JsonStatistic.h" + +#include + +class IsInstance : public PyTest {}; + +TEST_F(IsInstance, BasicTyping) { + // this is a basic test for isinstance covering the correct type deduction + + using namespace tuplex; + + // this also requires to implement/add type objects. + // i.e. Type[str] => this gives a type object for type str. + // these should not be serializable... + // but may occur within the code. + // e.g. type(obj) => should create type object! => this can be simply assigned. + // no need to compile that since we're restricted to them internally. + + + // isinstance has multiple supported syntaxes + // isinstance(object, classinfo) + //Return True if the object argument is an instance of the + // classinfo argument, or of a (direct, indirect, or virtual) + // subclass thereof. If object is not an object of the given type, + // the function always returns False. If classinfo is a tuple of + // type objects (or recursively, other such tuples) or a Union + // Type of multiple types, return True if object is an instance + // of any of the types. If classinfo is not a type or tuple of types + // and such tuples, a TypeError exception is raised. + // + //Changed in version 3.10: classinfo can be a Union Type. + // + //issubclass(class, classinfo) + //Return True if class is a subclass (direct, indirect, or virtual) + // of classinfo. A class is considered a subclass of itself. classinfo + // may be a tuple of class objects (or recursively, other such tuples) + // or a Union Type, in which case return True if class is a subclass + // of any entry in classinfo. In any other case, a TypeError exception + // is raised. + // + //Changed in version 3.10: classinfo can be a Union Type. + +} \ No newline at end of file diff --git a/tuplex/test/core/JSONPathSelection.cc b/tuplex/test/core/JSONPathSelection.cc index d3ea550a3..71bf34853 100644 --- a/tuplex/test/core/JSONPathSelection.cc +++ b/tuplex/test/core/JSONPathSelection.cc @@ -38,9 +38,37 @@ TEST_F(JSONPathSelection, BasicPathSelection) { auto input_row_type = rows.front().getRowType(); - // basic tests - { // basic UDF - UDF udf("lambda x: (x, x['repo'], x['repo']['url'])"); + // works +// // basic tests +// { // basic UDF +// UDF udf("lambda x: (x, x['repo'], x['repo']['url'])"); +// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, input_row_type)); +// auto output_row_type = udf.getOutputSchema().getRowType(); +// cout<<"output type of UDF: "<accept(apv); +// auto paths = apv.accessedPaths(); +// +// SelectionPath path1("x", vector{}); +// SelectionPath path2("x", vector{SelectionPathAtom("repo")}); +// SelectionPath path3("x", vector{SelectionPathAtom("repo"), SelectionPathAtom("url")}); +// +// EXPECT_EQ(paths.size(), 3); +// EXPECT_TRUE(VecContains(paths, path1)); +// EXPECT_TRUE(VecContains(paths, path2)); +// EXPECT_TRUE(VecContains(paths, path3)); +// } + + + { // UDF with key supplied via closure + ClosureEnvironment ce; + ClosureEnvironment::Constant c1{python::Type::STRING, "KEY", Field("repo")}; + ClosureEnvironment::Constant c2{python::Type::STRING, "ANOTHER_KEY", Field("id")}; + ce.addConstant(c1); + ce.addConstant(c2); + UDF udf("lambda x: (x['repo'][ANOTHER_KEY], x[KEY], KEY)", "", ce); udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, input_row_type)); auto output_row_type = udf.getOutputSchema().getRowType(); cout<<"output type of UDF: "<accept(apv); auto paths = apv.accessedPaths(); - SelectionPath path1("x", vector{}); - SelectionPath path2("x", vector{SelectionPathAtom("repo")}); - SelectionPath path3("x", vector{SelectionPathAtom("repo"), SelectionPathAtom("url")}); + SelectionPath path1("x", vector{SelectionPathAtom("repo")}); + SelectionPath path2("x", vector{SelectionPathAtom("repo"), SelectionPathAtom("id")}); - EXPECT_EQ(paths.size(), 3); + EXPECT_GE(paths.size(), 2); EXPECT_TRUE(VecContains(paths, path1)); EXPECT_TRUE(VecContains(paths, path2)); - EXPECT_TRUE(VecContains(paths, path3)); } - // need to detect path access using identifier (single + multiple columns) // e.g., // x['repo']['url'] diff --git a/tuplex/utils/include/TypeSystem.h b/tuplex/utils/include/TypeSystem.h index fc26aad73..7c803a80e 100644 --- a/tuplex/utils/include/TypeSystem.h +++ b/tuplex/utils/include/TypeSystem.h @@ -59,6 +59,7 @@ namespace python { static const Type MODULE; //! generic module object, used in symbol table static const Type ITERATOR; //! iterator/generator type static const Type EMPTYITERATOR; //! special type for empty iterator + static const Type TYPEOBJECT; // the type of a type object. -> i.e. generic type. // define two special types, used in the inference to describe bounds // any is a subtype of everything @@ -113,6 +114,7 @@ namespace python { bool isExceptionType() const; bool isIteratorType() const; bool isConstantValued() const; + bool isTypeObjectType() const; inline bool isGeneric() const { if(_hash == python::Type::PYOBJECT._hash || @@ -234,6 +236,13 @@ namespace python { static Type makeListType(const python::Type &elementType); + /*! + * creates a typeobject for underlying type type. I.e. str itself is a type object referring to string. + * @param type + * @return type object type (weird, isn't it?) + */ + static Type makeTypeObjectType(const python::Type& type); + // optimizing types (delayed parsing, range compression, ...) /*! * create a delayed parsing type, i.e. this helpful for small strings, integers having a small ASCII representation or @@ -362,6 +371,7 @@ namespace python { CLASS, OPTION, // for nullable ITERATOR, + TYPE, // for type objects... OPTIMIZED_CONSTANT, // constant value OPTIMIZED_DELAYEDPARSING, // dummy types to allow for certain optimizations OPTIMIZED_RANGECOMPRESSION // range compression @@ -474,6 +484,7 @@ namespace python { Type createOrGetDelayedParsingType(const Type& underlying); Type createOrGetRangeCompressedIntegerType(int64_t lower_bound, int64_t upper_bound); + Type createOrGetTypeObjectType(const Type& underlying); Type getByName(const std::string& name); diff --git a/tuplex/utils/src/TypeSystem.cc b/tuplex/utils/src/TypeSystem.cc index af15d0723..ac9e79f30 100644 --- a/tuplex/utils/src/TypeSystem.cc +++ b/tuplex/utils/src/TypeSystem.cc @@ -49,6 +49,7 @@ namespace python { const Type Type::MODULE = python::TypeFactory::instance().createOrGetPrimitiveType("module"); const Type Type::ITERATOR = python::TypeFactory::instance().createOrGetPrimitiveType("iterator"); const Type Type::EMPTYITERATOR = python::TypeFactory::instance().createOrGetPrimitiveType("emptyiterator"); + const Type Type::TYPEOBJECT = python::TypeFactory::instance().registerOrGetType("type", python::TypeFactory::AbstractType::TYPE, std::vector{}, python::Type::VOID); // builtin exception types // --> class system @@ -126,6 +127,18 @@ namespace python { return registerOrGetType(name, AbstractType::OPTION, {}, type); } + Type TypeFactory::createOrGetTypeObjectType(const Type &type) { + // special case: type object of type object? + // e.g., type(type('hello')) + // --> + if(type.isTypeObjectType()) + return Type::TYPEOBJECT; // type object itself is a type object... + + // create new option type! + std::string name = "Type[" + TypeFactory::instance().getDesc(type._hash) + "]"; + return registerOrGetType(name, AbstractType::TYPE, {type}, type); + } + Type TypeFactory::createOrGetFunctionType(const Type ¶m, const Type &ret) { std::string name = ""; name += TypeFactory::instance().getDesc(param._hash); @@ -585,7 +598,8 @@ namespace python { } Type Type::underlying() const { - // should be optimizing type... + // should be optimizing type or typeobject... + assert(isOptimizedType() || isTypeObjectType()); auto& factory = TypeFactory::instance(); auto it = factory._typeMap.find(_hash); @@ -695,6 +709,11 @@ namespace python { } } + bool Type::isTypeObjectType() const { + const auto& entry = TypeFactory::instance()._typeMap.at(_hash); + return entry._type == TypeFactory::AbstractType::TYPE; + } + bool Type::isSingleValued() const { return *this == Type::NULLVALUE || *this == Type::EMPTYTUPLE || *this == Type::EMPTYDICT || *this == Type::EMPTYLIST; } @@ -757,6 +776,10 @@ namespace python { return TypeFactory::instance().createOrGetTupleType(v); } + Type Type::makeTypeObjectType(const python::Type &type) { + return TypeFactory::instance().createOrGetTypeObjectType(type); + } + Type Type::makeFunctionType(const python::Type &argsType, const python::Type &retType) { return python::TypeFactory::instance().createOrGetFunctionType(argsType, retType); } @@ -1616,6 +1639,8 @@ namespace python { t = TypeFactory::instance().createOrGetFunctionType(topVec[0], topVec[1]); // order?? --> might need reversion? } else if("Dict" == compound_type) { t = TypeFactory::instance().createOrGetDictionaryType(topVec[0], topVec[1]); // order?? --> might need reversion? + } else if ("Type" == compound_type) { + t = TypeFactory::instance().createOrGetTypeObjectType(topVec[0]); } else if("Struct" == compound_type) { auto kv_pairs = kvStack.top(); kvStack.pop(); From cf55d4effcc7de0e757c0628979cd9d6244a6a62 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 9 Sep 2022 11:40:25 -0400 Subject: [PATCH 061/286] wip --- tuplex/codegen/include/ASTAnnotation.h | 4 ++ tuplex/codegen/include/SymbolTable.h | 7 +++- tuplex/codegen/src/SymbolTable.cc | 51 ++++++++++++++++++++------ tuplex/test/core/IsInstanceTest.cc | 29 +++++++++++++++ 4 files changed, 78 insertions(+), 13 deletions(-) diff --git a/tuplex/codegen/include/ASTAnnotation.h b/tuplex/codegen/include/ASTAnnotation.h index 8512f4087..4f011109b 100644 --- a/tuplex/codegen/include/ASTAnnotation.h +++ b/tuplex/codegen/include/ASTAnnotation.h @@ -58,6 +58,10 @@ class Symbol : public std::enable_shared_from_this { * @return unique type of this symbol. Works i.e. for variables or types. */ inline python::Type type() const { + // special case: if function symbol or not unique, return UNKNOWN. + if(symbolType == SymbolType::FUNCTION || types.size() != 1) + return python::Type::UNKNOWN; + assert(symbolType != SymbolType::FUNCTION); // better not use it on functions... assert(types.size() == 1); return types.front(); diff --git a/tuplex/codegen/include/SymbolTable.h b/tuplex/codegen/include/SymbolTable.h index c6aa32f89..720d5408c 100644 --- a/tuplex/codegen/include/SymbolTable.h +++ b/tuplex/codegen/include/SymbolTable.h @@ -45,7 +45,7 @@ namespace tuplex { Scope* parent; // names associated with certain objects & types - std::unordered_map> symbols; + std::unordered_map>> symbols; Scope() : parent(nullptr) {} @@ -262,6 +262,11 @@ namespace tuplex { * add all the exception types to both the table and the TypeSystem.cc */ void addBuiltinExceptionHierarchy(); + + /*! + * add all the builtin type objects (e.g., str, int, float, bool, ...) + */ + void addBuiltinTypes(); }; } diff --git a/tuplex/codegen/src/SymbolTable.cc b/tuplex/codegen/src/SymbolTable.cc index 99f9bb9d6..0475d7d86 100644 --- a/tuplex/codegen/src/SymbolTable.cc +++ b/tuplex/codegen/src/SymbolTable.cc @@ -492,10 +492,26 @@ namespace tuplex { // which then bundles code generation, typing etc. => that might be easier to extent... // @TODO: is this wise? + addBuiltinTypes(); + addBuiltinExceptionHierarchy(); } + + void SymbolTable::addBuiltinTypes() { + using namespace std; + + // in python, certain typeobjects are defined as standard! + // str, bool, int, float, list, tuple, dict, set, range + // -> maybe more, and also then there's the builtin typing module. + // skip implementing that for now. + + addSymbol("str", python::Type::makeTypeObjectType(python::Type::STRING)); + + //throw std::runtime_error("not yet implemented"); + } + void SymbolTable::addBuiltinExceptionHierarchy() { using namespace std; // taken from https://docs.python.org/3/library/exceptions.html @@ -627,17 +643,27 @@ namespace tuplex { auto name = sym->name; auto it = scope->symbols.find(name); - if(it == scope->symbols.end()) - scope->symbols[name] = sym; - else { - assert(it->second->qualifiedName == sym->qualifiedName); - assert(it->second->symbolType == sym->symbolType); - // check if type is contained in types - for(const auto& type : sym->types) - it->second->addTypeIfNotExists(type); + if(it == scope->symbols.end()) { + scope->symbols[name] = std::vector>{sym}; + it = scope->symbols.find(name); + return it->second.front().get(); + } else { + + // how many symbols do exist? + for(auto& stored_sym : it->second) { + if(stored_sym->symbolType == sym->symbolType) { + assert(stored_sym->qualifiedName == sym->qualifiedName); + // check if type is contained in types + for(const auto& type : sym->types) + stored_sym->addTypeIfNotExists(type); + return stored_sym.get(); + } + } + + // symbol not found, add to list + scope->symbols[name].push_back(sym); + return sym.get(); } - it = scope->symbols.find(name); - return it->second.get(); } Symbol* SymbolTable::addSymbol(const std::string &name, const python::Type &type) { @@ -651,7 +677,8 @@ namespace tuplex { auto scope = currentScope(); auto it = scope->symbols.find(builtinType.desc()); if(it == scope->symbols.end()) { - scope->symbols[builtinType.desc()] = make_shared(builtinType.desc(), builtinType.desc(), type, SymbolType::TYPE); + // add symbol + addSymbol(make_shared(builtinType.desc(), builtinType.desc(), type, SymbolType::TYPE)); it = scope->symbols.find(builtinType.desc()); assert(it != scope->symbols.end()); } @@ -719,7 +746,7 @@ namespace tuplex { os< Date: Fri, 9 Sep 2022 12:26:05 -0400 Subject: [PATCH 062/286] type object fix --- tuplex/codegen/include/SymbolTable.h | 6 ++- tuplex/codegen/src/SymbolTable.cc | 51 +++++++++++----------- tuplex/codegen/src/TypeAnnotatorVisitor.cc | 8 ++++ tuplex/test/core/IsInstanceTest.cc | 23 ++++++++-- 4 files changed, 59 insertions(+), 29 deletions(-) diff --git a/tuplex/codegen/include/SymbolTable.h b/tuplex/codegen/include/SymbolTable.h index 720d5408c..71f85f2af 100644 --- a/tuplex/codegen/include/SymbolTable.h +++ b/tuplex/codegen/include/SymbolTable.h @@ -45,7 +45,7 @@ namespace tuplex { Scope* parent; // names associated with certain objects & types - std::unordered_map>> symbols; + std::unordered_map> symbols; Scope() : parent(nullptr) {} @@ -233,6 +233,7 @@ namespace tuplex { */ std::shared_ptr findFullyQualifiedSymbol(const std::string& fullyQualifiedName); + python::Type findBuiltinType(const std::string& name) const; private: std::vector _scopeStack; std::vector _scopes; @@ -240,6 +241,9 @@ namespace tuplex { Scope* _lastScope = nullptr; + // this is a bit of hack, however due to the weird nature of builtin symbols in python that can be used for many different things. + std::unordered_map _builtinTypeObjects; + Scope* currentScope() { assert(!_scopeStack.empty()); return _scopeStack.back(); diff --git a/tuplex/codegen/src/SymbolTable.cc b/tuplex/codegen/src/SymbolTable.cc index 0475d7d86..4ed59263b 100644 --- a/tuplex/codegen/src/SymbolTable.cc +++ b/tuplex/codegen/src/SymbolTable.cc @@ -506,10 +506,22 @@ namespace tuplex { // str, bool, int, float, list, tuple, dict, set, range // -> maybe more, and also then there's the builtin typing module. // skip implementing that for now. + _builtinTypeObjects.clear(); + _builtinTypeObjects["str"] = python::Type::makeTypeObjectType(python::Type::STRING); + _builtinTypeObjects["bool"] = python::Type::makeTypeObjectType(python::Type::BOOLEAN); + _builtinTypeObjects["int"] = python::Type::makeTypeObjectType(python::Type::I64); + _builtinTypeObjects["float"] = python::Type::makeTypeObjectType(python::Type::F64); + + _builtinTypeObjects["tuple"] = python::Type::makeTypeObjectType(python::Type::GENERICTUPLE); + _builtinTypeObjects["list"] = python::Type::makeTypeObjectType(python::Type::GENERICLIST); +// _builtinTypeObjects["set"] = python::Type::makeTypeObjectType(python::Type::GENERICSET); + _builtinTypeObjects["range"] = python::Type::makeTypeObjectType(python::Type::RANGE); + _builtinTypeObjects["iterator"] = python::Type::makeTypeObjectType(python::Type::ITERATOR); + } - addSymbol("str", python::Type::makeTypeObjectType(python::Type::STRING)); - - //throw std::runtime_error("not yet implemented"); + python::Type SymbolTable::findBuiltinType(const std::string &name) const { + auto it = _builtinTypeObjects.find(name); + return it == _builtinTypeObjects.end() ? python::Type::UNKNOWN : it->second; } void SymbolTable::addBuiltinExceptionHierarchy() { @@ -643,27 +655,17 @@ namespace tuplex { auto name = sym->name; auto it = scope->symbols.find(name); - if(it == scope->symbols.end()) { - scope->symbols[name] = std::vector>{sym}; - it = scope->symbols.find(name); - return it->second.front().get(); - } else { - - // how many symbols do exist? - for(auto& stored_sym : it->second) { - if(stored_sym->symbolType == sym->symbolType) { - assert(stored_sym->qualifiedName == sym->qualifiedName); - // check if type is contained in types - for(const auto& type : sym->types) - stored_sym->addTypeIfNotExists(type); - return stored_sym.get(); - } - } - - // symbol not found, add to list - scope->symbols[name].push_back(sym); - return sym.get(); + if(it == scope->symbols.end()) + scope->symbols[name] = sym; + else { + assert(it->second->qualifiedName == sym->qualifiedName); + assert(it->second->symbolType == sym->symbolType); + // check if type is contained in types + for(const auto& type : sym->types) + it->second->addTypeIfNotExists(type); } + it = scope->symbols.find(name); + return it->second.get(); } Symbol* SymbolTable::addSymbol(const std::string &name, const python::Type &type) { @@ -677,8 +679,7 @@ namespace tuplex { auto scope = currentScope(); auto it = scope->symbols.find(builtinType.desc()); if(it == scope->symbols.end()) { - // add symbol - addSymbol(make_shared(builtinType.desc(), builtinType.desc(), type, SymbolType::TYPE)); + scope->symbols[builtinType.desc()] = make_shared(builtinType.desc(), builtinType.desc(), type, SymbolType::TYPE); it = scope->symbols.find(builtinType.desc()); assert(it != scope->symbols.end()); } diff --git a/tuplex/codegen/src/TypeAnnotatorVisitor.cc b/tuplex/codegen/src/TypeAnnotatorVisitor.cc index 623661f4a..88c0d1deb 100644 --- a/tuplex/codegen/src/TypeAnnotatorVisitor.cc +++ b/tuplex/codegen/src/TypeAnnotatorVisitor.cc @@ -356,6 +356,14 @@ namespace tuplex { // check if identifier is in symbol table, if not it's a missing identifier! if(python::Type::UNKNOWN == lookupType(id->_name)) { + + // special case: is it a builtin type object? => least likely... + auto t = _symbolTable.findBuiltinType(id->_name); + if(t != python::Type::UNKNOWN) { + id->setInferredType(t); + return; + } + // do not add identifier if it has function as parent (this means basically it is the function name) if( parent()->type() != ASTNodeType::Function && parent()->type() != ASTNodeType::Lambda diff --git a/tuplex/test/core/IsInstanceTest.cc b/tuplex/test/core/IsInstanceTest.cc index ee9b3e451..583850fea 100644 --- a/tuplex/test/core/IsInstanceTest.cc +++ b/tuplex/test/core/IsInstanceTest.cc @@ -45,15 +45,32 @@ TEST_F(IsInstance, BasicTyping) { // //Changed in version 3.10: classinfo can be a Union Type. - // start now with isinstance typing + // basic check for type objects { - UDF udf("lambda x: (str)");//, bool, int, float, "); + UDF udf("lambda x: (str, bool, int)"); auto input_type = python::Type::I64; udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); auto ret_type = udf.getAnnotatedAST().getReturnType(); - EXPECT_EQ(ret_type, python::Type::BOOLEAN); + auto output_type = python::Type::makeTupleType({python::Type::makeTypeObjectType(python::Type::STRING), + python::Type::makeTypeObjectType(python::Type::BOOLEAN), + python::Type::makeTypeObjectType(python::Type::I64),}); + EXPECT_EQ(ret_type.desc(), output_type.desc()); } + // basic check for type objects + { + UDF udf("lambda str: (str, bool, int)"); + auto input_type = python::Type::I64; + udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); + auto ret_type = udf.getAnnotatedAST().getReturnType(); + auto output_type = python::Type::makeTupleType({python::Type::I64, + python::Type::makeTypeObjectType(python::Type::BOOLEAN), + python::Type::makeTypeObjectType(python::Type::I64),}); + EXPECT_EQ(ret_type.desc(), output_type.desc()); + } + + return; + // start now with isinstance typing { UDF udf("lambda x: x if isinstance(x, str) else str(x)"); From 6b5b273920f086e5ebb775548818ef47516d2972 Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 9 Sep 2022 12:48:05 -0400 Subject: [PATCH 063/286] added basic type support --- tuplex/codegen/src/SymbolTable.cc | 23 +++++++++++ tuplex/test/core/IsInstanceTest.cc | 63 +++++++++++++++++++----------- 2 files changed, 63 insertions(+), 23 deletions(-) diff --git a/tuplex/codegen/src/SymbolTable.cc b/tuplex/codegen/src/SymbolTable.cc index 4ed59263b..f655f1a50 100644 --- a/tuplex/codegen/src/SymbolTable.cc +++ b/tuplex/codegen/src/SymbolTable.cc @@ -346,6 +346,29 @@ namespace tuplex { addSymbol(make_shared("enumerate", enumerateFunctionTyper)); addSymbol(make_shared("next", nextFunctionTyper)); + // type(...), isinstance(...) and issubclass(...) functions + + + // language reference: + // class type(name, bases, dict, **kwds) + //With one argument, return the type of an object. The return value is a type object and generally the same object as returned by object.__class__. + // + //The isinstance() built-in function is recommended for testing the type of an object, because it takes subclasses into account. + // + //With three arguments, return a new type object. This is essentially a dynamic form of the class statement. The name string is the class name and becomes the __name__ attribute. The bases tuple contains the base classes and becomes the __bases__ attribute; if empty, object, the ultimate base of all classes, is added. The dict dictionary contains attribute and method definitions for the class body; it may be copied or wrapped before becoming the __dict__ attribute. The following two statements create identical type objects: + // -> only support 1 param version + auto typeTyper = [this](const python::Type& parameterType) { + assert(parameterType.isTupleType()); + if(parameterType.parameters().size() != 1) { + throw std::runtime_error("number of parameters for type not yet supported"); + return python::Type::UNKNOWN; + } + + auto obj_type = parameterType.parameters().front(); + return python::Type::makeFunctionType(parameterType, python::Type::makeTypeObjectType(obj_type)); + }; + addSymbol(make_shared("type", typeTyper)); + // TODO: other parameters? i.e. step size and Co? // also, boolean, float? etc.? addSymbol("range", python::Type::makeFunctionType(python::Type::I64, python::Type::RANGE)); diff --git a/tuplex/test/core/IsInstanceTest.cc b/tuplex/test/core/IsInstanceTest.cc index 583850fea..0124fff3a 100644 --- a/tuplex/test/core/IsInstanceTest.cc +++ b/tuplex/test/core/IsInstanceTest.cc @@ -9,6 +9,13 @@ class IsInstance : public PyTest {}; +// for type objects, support something like +// x = type(16) +// x() +// y = type(3.141) +// y(10) + + TEST_F(IsInstance, BasicTyping) { // this is a basic test for isinstance covering the correct type deduction @@ -45,31 +52,39 @@ TEST_F(IsInstance, BasicTyping) { // //Changed in version 3.10: classinfo can be a Union Type. - // basic check for type objects - { - UDF udf("lambda x: (str, bool, int)"); - auto input_type = python::Type::I64; - udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); - auto ret_type = udf.getAnnotatedAST().getReturnType(); - auto output_type = python::Type::makeTupleType({python::Type::makeTypeObjectType(python::Type::STRING), - python::Type::makeTypeObjectType(python::Type::BOOLEAN), - python::Type::makeTypeObjectType(python::Type::I64),}); - EXPECT_EQ(ret_type.desc(), output_type.desc()); - } +// // basic check for type objects +// { +// UDF udf("lambda x: (str, bool, int)"); +// auto input_type = python::Type::I64; +// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); +// auto ret_type = udf.getAnnotatedAST().getReturnType(); +// auto output_type = python::Type::makeTupleType({python::Type::makeTypeObjectType(python::Type::STRING), +// python::Type::makeTypeObjectType(python::Type::BOOLEAN), +// python::Type::makeTypeObjectType(python::Type::I64),}); +// EXPECT_EQ(ret_type.desc(), output_type.desc()); +// } +// +// // basic check for type objects +// { +// UDF udf("lambda str: (str, bool, int)"); +// auto input_type = python::Type::I64; +// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); +// auto ret_type = udf.getAnnotatedAST().getReturnType(); +// auto output_type = python::Type::makeTupleType({python::Type::I64, +// python::Type::makeTypeObjectType(python::Type::BOOLEAN), +// python::Type::makeTypeObjectType(python::Type::I64),}); +// EXPECT_EQ(ret_type.desc(), output_type.desc()); +// } - // basic check for type objects - { - UDF udf("lambda str: (str, bool, int)"); - auto input_type = python::Type::I64; - udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); - auto ret_type = udf.getAnnotatedAST().getReturnType(); - auto output_type = python::Type::makeTupleType({python::Type::I64, - python::Type::makeTypeObjectType(python::Type::BOOLEAN), - python::Type::makeTypeObjectType(python::Type::I64),}); - EXPECT_EQ(ret_type.desc(), output_type.desc()); - } +// // start now with isinstance typing +// { +// UDF udf("lambda x: type(x)"); +// auto input_type = python::Type::I64; +// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); +// auto ret_type = udf.getAnnotatedAST().getReturnType(); +// EXPECT_EQ(ret_type, python::Type::makeTypeObjectType(python::Type::I64)); +// } - return; // start now with isinstance typing { @@ -80,6 +95,8 @@ TEST_F(IsInstance, BasicTyping) { EXPECT_EQ(ret_type, python::Type::BOOLEAN); } + return; + { UDF udf("lambda x: isinstance(x, 42)"); auto input_type = python::Type::I64; From a655cb4684abaedd06a23d2c23fd65bbfbd3711b Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Fri, 9 Sep 2022 13:58:05 -0400 Subject: [PATCH 064/286] some basic typing working for isinstance --- tuplex/codegen/src/SymbolTable.cc | 42 ++++++++++++++++++ tuplex/test/core/IsInstanceTest.cc | 69 +++++++++++++++--------------- 2 files changed, 76 insertions(+), 35 deletions(-) diff --git a/tuplex/codegen/src/SymbolTable.cc b/tuplex/codegen/src/SymbolTable.cc index f655f1a50..74287a327 100644 --- a/tuplex/codegen/src/SymbolTable.cc +++ b/tuplex/codegen/src/SymbolTable.cc @@ -16,6 +16,26 @@ using namespace std; namespace tuplex { + + static bool is_classinfo(const python::Type& t) { + if(t.isTypeObjectType()) + return true; + if(t.isTupleType()) { + auto params = t.parameters(); + for(auto p : params) { + if(!is_classinfo(p)) + return false; + } + return true; + } + + // this is a bit weird b.c. list is homogenous... + if(t.isListType()) + return is_classinfo(t.elementType()); + + return false; + } + std::shared_ptr SymbolTable::createFromEnvironment(const tuplex::ClosureEnvironment *globals) { // Note: refactored functionality from SymbolTableVisitor.{h,cc} auto table = new SymbolTable(); @@ -369,6 +389,28 @@ namespace tuplex { }; addSymbol(make_shared("type", typeTyper)); + auto isinstanceTyper = [this](const python::Type& parameterType) { + assert(parameterType.isTupleType()); + + // there should be two parameters + if(parameterType.parameters().size() != 2) { + throw std::runtime_error("invalid number of parameters (2 expected, " + + std::to_string(parameterType.parameters().size()) + " found)"); + } + + auto type_to_check = parameterType.parameters()[0]; + auto _classinfo = parameterType.parameters()[1]; + + // if classinfo is not a type object or a tuple/list of types -> TypeError + auto type_error = python::TypeFactory::instance().getByName("TypeError"); + assert(type_error != python::Type::UNKNOWN); + if(!is_classinfo(_classinfo)) + return python::Type::makeFunctionType(parameterType, type_error); + + return python::Type::makeFunctionType(parameterType, python::Type::BOOLEAN); + }; + addSymbol(make_shared("isinstance", isinstanceTyper)); + // TODO: other parameters? i.e. step size and Co? // also, boolean, float? etc.? addSymbol("range", python::Type::makeFunctionType(python::Type::I64, python::Type::RANGE)); diff --git a/tuplex/test/core/IsInstanceTest.cc b/tuplex/test/core/IsInstanceTest.cc index 0124fff3a..a232afa05 100644 --- a/tuplex/test/core/IsInstanceTest.cc +++ b/tuplex/test/core/IsInstanceTest.cc @@ -52,51 +52,50 @@ TEST_F(IsInstance, BasicTyping) { // //Changed in version 3.10: classinfo can be a Union Type. -// // basic check for type objects -// { -// UDF udf("lambda x: (str, bool, int)"); -// auto input_type = python::Type::I64; -// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); -// auto ret_type = udf.getAnnotatedAST().getReturnType(); -// auto output_type = python::Type::makeTupleType({python::Type::makeTypeObjectType(python::Type::STRING), -// python::Type::makeTypeObjectType(python::Type::BOOLEAN), -// python::Type::makeTypeObjectType(python::Type::I64),}); -// EXPECT_EQ(ret_type.desc(), output_type.desc()); -// } -// -// // basic check for type objects -// { -// UDF udf("lambda str: (str, bool, int)"); -// auto input_type = python::Type::I64; -// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); -// auto ret_type = udf.getAnnotatedAST().getReturnType(); -// auto output_type = python::Type::makeTupleType({python::Type::I64, -// python::Type::makeTypeObjectType(python::Type::BOOLEAN), -// python::Type::makeTypeObjectType(python::Type::I64),}); -// EXPECT_EQ(ret_type.desc(), output_type.desc()); -// } - -// // start now with isinstance typing -// { -// UDF udf("lambda x: type(x)"); -// auto input_type = python::Type::I64; -// udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); -// auto ret_type = udf.getAnnotatedAST().getReturnType(); -// EXPECT_EQ(ret_type, python::Type::makeTypeObjectType(python::Type::I64)); -// } + // basic check for type objects + { + UDF udf("lambda x: (str, bool, int)"); + auto input_type = python::Type::I64; + udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); + auto ret_type = udf.getAnnotatedAST().getReturnType(); + auto output_type = python::Type::makeTupleType({python::Type::makeTypeObjectType(python::Type::STRING), + python::Type::makeTypeObjectType(python::Type::BOOLEAN), + python::Type::makeTypeObjectType(python::Type::I64),}); + EXPECT_EQ(ret_type.desc(), output_type.desc()); + } + + // basic check for type objects + { + UDF udf("lambda str: (str, bool, int)"); + auto input_type = python::Type::I64; + udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); + auto ret_type = udf.getAnnotatedAST().getReturnType(); + auto output_type = python::Type::makeTupleType({python::Type::I64, + python::Type::makeTypeObjectType(python::Type::BOOLEAN), + python::Type::makeTypeObjectType(python::Type::I64),}); + EXPECT_EQ(ret_type.desc(), output_type.desc()); + } + // start now with isinstance typing + { + UDF udf("lambda x: type(x)"); + auto input_type = python::Type::I64; + udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); + auto ret_type = udf.getAnnotatedAST().getReturnType(); + EXPECT_EQ(ret_type, python::Type::makeTypeObjectType(python::Type::I64)); + } // start now with isinstance typing { - UDF udf("lambda x: x if isinstance(x, str) else str(x)"); + UDF udf("lambda x: isinstance(x, str)"); + + // UDF udf("lambda x: x if isinstance(x, str) else str(x)"); ==> this can be typed/compiled using deadbranch removal visitor. auto input_type = python::Type::I64; udf.hintInputSchema(Schema(Schema::MemoryLayout::ROW, python::Type::propagateToTupleType(input_type))); auto ret_type = udf.getAnnotatedAST().getReturnType(); EXPECT_EQ(ret_type, python::Type::BOOLEAN); } - return; - { UDF udf("lambda x: isinstance(x, 42)"); auto input_type = python::Type::I64; From 0b66a5f1322b58b1b575fc62bf24d71b88736fea Mon Sep 17 00:00:00 2001 From: Leonhard Spiegelberg Date: Thu, 15 Sep 2022 13:40:41 -0400 Subject: [PATCH 065/286] new samples --- tuplex/core/include/Defs.h | 1 + .../core/include/logical/FileInputOperator.h | 13 + tuplex/test/core/GithubPipeline.cc | 17 + tuplex/test/core/IsInstanceTest.cc | 7 + .../ndjson/github-hyper/01_Explore.ipynb | 88 +++ .../ndjson/github-hyper/2022-01-01-1.json | 500 ++++++++++++++++++ .../ndjson/github-hyper/2022-01-02-1.json | 500 ++++++++++++++++++ .../ndjson/github-hyper/2022-01-03-1.json | 500 ++++++++++++++++++ .../ndjson/github-hyper/2022-01-04-1.json | 500 ++++++++++++++++++ .../ndjson/github-hyper/2022-01-05-1.json | 500 ++++++++++++++++++ .../resources/ndjson/github-hyper/README.md | 2 + tuplex/test/utils/TestJSONUtils.cc | 34 ++ 12 files changed, 2662 insertions(+) create mode 100644 tuplex/test/core/GithubPipeline.cc create mode 100644 tuplex/test/resources/ndjson/github-hyper/01_Explore.ipynb create mode 100644 tuplex/test/resources/ndjson/github-hyper/2022-01-01-1.json create mode 100644 tuplex/test/resources/ndjson/github-hyper/2022-01-02-1.json create mode 100644 tuplex/test/resources/ndjson/github-hyper/2022-01-03-1.json create mode 100644 tuplex/test/resources/ndjson/github-hyper/2022-01-04-1.json create mode 100644 tuplex/test/resources/ndjson/github-hyper/2022-01-05-1.json create mode 100644 tuplex/test/resources/ndjson/github-hyper/README.md diff --git a/tuplex/core/include/Defs.h b/tuplex/core/include/Defs.h index 48ad00740..e8598f11f 100644 --- a/tuplex/core/include/Defs.h +++ b/tuplex/core/include/Defs.h @@ -19,6 +19,7 @@ namespace tuplex { OUTFMT_UNKNOWN=0, OUTFMT_TUPLEX, OUTFMT_CSV, + OUTFMT_JSON, OUTFMT_TEXT, OUTFMT_ORC }; diff --git a/tuplex/core/include/logical/FileInputOperator.h b/tuplex/core/include/logical/FileInputOperator.h index d7219330b..473341f49 100644 --- a/tuplex/core/include/logical/FileInputOperator.h +++ b/tuplex/core/include/logical/FileInputOperator.h @@ -74,6 +74,9 @@ namespace tuplex { const ContextOptions& co, const std::vector& null_values); + //// JSON Constructor + //FileInputOperator(const std::string &pattern, const ContextOptions &co); + // Orc Constructor FileInputOperator(const std::string& pattern, const ContextOptions& co); @@ -119,10 +122,20 @@ namespace tuplex { * create a new orc File Input operator. * @param pattern files to search for * @param co ContextOptions, pipeline will take configuration for planning from there + * return input operator */ static FileInputOperator *fromOrc(const std::string& pattern, const ContextOptions& co); + /*! + * create new file input operator reading JSON (newline delimited) files. + * @param pattern pattern to look for files + * @param co context options + * @return input operator + */ + static FileInputOperator *fromJSON(const std::string& pattern, const ContextOptions& co); + + std::string name() override { switch (_fmt) { case FileFormat::OUTFMT_CSV: diff --git a/tuplex/test/core/GithubPipeline.cc b/tuplex/test/core/GithubPipeline.cc new file mode 100644 index 000000000..739742d76 --- /dev/null +++ b/tuplex/test/core/GithubPipeline.cc @@ -0,0 +1,17 @@ +// +// Created by Leonhard Spiegelberg on 9/14/22. +// + +#include "TestUtils.h" +#include "JsonStatistic.h" + +#include + +class Github : public PyTest {}; + +TEST_F(Github, BasicRead) { + // explore change on 4th January 2022: The field Push.Pusher changed named to Push.User. + using namespace tuplex; + + +} \ No newline at end of file diff --git a/tuplex/test/core/IsInstanceTest.cc b/tuplex/test/core/IsInstanceTest.cc index a232afa05..69e485936 100644 --- a/tuplex/test/core/IsInstanceTest.cc +++ b/tuplex/test/core/IsInstanceTest.cc @@ -19,6 +19,13 @@ class IsInstance : public PyTest {}; TEST_F(IsInstance, BasicTyping) { // this is a basic test for isinstance covering the correct type deduction + + // if isisntance(x, int): + // return [x] + // elif isinstance(x, list): + // return x + + using namespace tuplex; // this also requires to implement/add type objects. diff --git a/tuplex/test/resources/ndjson/github-hyper/01_Explore.ipynb b/tuplex/test/resources/ndjson/github-hyper/01_Explore.ipynb new file mode 100644 index 000000000..3ae876bf5 --- /dev/null +++ b/tuplex/test/resources/ndjson/github-hyper/01_Explore.ipynb @@ -0,0 +1,88 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e1e435e5", + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import glob" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d52d0de2", + "metadata": {}, + "outputs": [], + "source": [ + "paths = glob.glob('*.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "abd2dea5", + "metadata": {}, + "outputs": [], + "source": [ + "data = {}\n", + "for path in paths:\n", + " data[path] = [json.loads(line) for line in open(path).readlines()]" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "a680b845", + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "'other'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'2022-01-01-1.json'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'other'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m: 'other'" + ] + } + ], + "source": [ + "data['2022-01-01-1.json'][2]['other']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ea0df41", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tuplex/test/resources/ndjson/github-hyper/2022-01-01-1.json b/tuplex/test/resources/ndjson/github-hyper/2022-01-01-1.json new file mode 100644 index 000000000..2f54e019d --- /dev/null +++ b/tuplex/test/resources/ndjson/github-hyper/2022-01-01-1.json @@ -0,0 +1,500 @@ +{"id":"19541395614","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732432895,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"6cc545dd28b018b24b5501b14ee1e2afc7141941","before":"e8c44fe8fb96c9f64d9e7651c1d45021f2924896","commits":[{"sha":"6cc545dd28b018b24b5501b14ee1e2afc7141941","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/kde-common for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/6cc545dd28b018b24b5501b14ee1e2afc7141941"}]},"public":true,"created_at":"2022-01-01T01:00:00Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395615","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":175141523,"name":"ypigapi/ypigapi.github.io","url":"https://api.github.com/repos/ypigapi/ypigapi.github.io"},"payload":{"push_id":8732432897,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"68f1d2219ed34473830450e0b5a5495a5c12100d","before":"b554802a464fcf891da352ec9ba85be33401b458","commits":[{"sha":"68f1d2219ed34473830450e0b5a5495a5c12100d","author":{"email":"ypigapi@example.com","name":"ypigapi"},"message":"update","distinct":true,"url":"https://api.github.com/repos/ypigapi/ypigapi.github.io/commits/68f1d2219ed34473830450e0b5a5495a5c12100d"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395616","type":"PullRequestEvent","actor":{"id":19733683,"login":"snyk-bot","display_login":"snyk-bot","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","avatar_url":"https://avatars.githubusercontent.com/u/19733683?"},"repo":{"id":353698520,"name":"cha3ban/goof","url":"https://api.github.com/repos/cha3ban/goof"},"payload":{"action":"opened","number":80,"pull_request":{"url":"https://api.github.com/repos/cha3ban/goof/pulls/80","id":812479578,"node_id":"PR_kwDOFRUC2M4wbXRa","html_url":"https://github.com/cha3ban/goof/pull/80","diff_url":"https://github.com/cha3ban/goof/pull/80.diff","patch_url":"https://github.com/cha3ban/goof/pull/80.patch","issue_url":"https://api.github.com/repos/cha3ban/goof/issues/80","number":80,"state":"open","locked":false,"title":"[Snyk] Security upgrade node from 14.1.0 to 14.17","user":{"login":"snyk-bot","id":19733683,"node_id":"MDQ6VXNlcjE5NzMzNjgz","avatar_url":"https://avatars.githubusercontent.com/u/19733683?v=4","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","html_url":"https://github.com/snyk-bot","followers_url":"https://api.github.com/users/snyk-bot/followers","following_url":"https://api.github.com/users/snyk-bot/following{/other_user}","gists_url":"https://api.github.com/users/snyk-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/snyk-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snyk-bot/subscriptions","organizations_url":"https://api.github.com/users/snyk-bot/orgs","repos_url":"https://api.github.com/users/snyk-bot/repos","events_url":"https://api.github.com/users/snyk-bot/events{/privacy}","received_events_url":"https://api.github.com/users/snyk-bot/received_events","type":"User","site_admin":false},"body":"Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.\n\n#### Changes included in this PR\n\n- Dockerfile\n\nWe recommend upgrading to `node:14.17`, as this image has only 545 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.\n\n\n\nSome of the most important vulnerabilities in your base image include:\n\n| Severity | Priority Score / 1000 | Issue | Exploit Maturity |\n| :------: | :-------------------- | :---- | :--------------- |\n| ![critical severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/c.png \"critical severity\") | **714** | Directory Traversal
[SNYK-DEBIAN9-PYTHON27-341379](https://snyk.io/vuln/SNYK-DEBIAN9-PYTHON27-341379) | No Known Exploit |\n| ![critical severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/c.png \"critical severity\") | **714** | Buffer Overflow
[SNYK-DEBIAN9-PYTHON35-1063181](https://snyk.io/vuln/SNYK-DEBIAN9-PYTHON35-1063181) | No Known Exploit |\n| ![critical severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/c.png \"critical severity\") | **714** | Credentials Management
[SNYK-DEBIAN9-PYTHON35-340072](https://snyk.io/vuln/SNYK-DEBIAN9-PYTHON35-340072) | No Known Exploit |\n| ![critical severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/c.png \"critical severity\") | **714** | Directory Traversal
[SNYK-DEBIAN9-PYTHON35-453739](https://snyk.io/vuln/SNYK-DEBIAN9-PYTHON35-453739) | No Known Exploit |\n| ![critical severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/c.png \"critical severity\") | **714** | Credentials Management
[SNYK-DEBIAN9-PYTHON35-584435](https://snyk.io/vuln/SNYK-DEBIAN9-PYTHON35-584435) | No Known Exploit |\n\n\n\n---\n\n**Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs._\n\nFor more information: \n🧐 [View latest project report](https://app.snyk.io/org/back-end-kaj/project/575d1aff-26b9-46a9-be8f-2c69a119478b?utm_source=github&utm_medium=referral&page=fix-pr)\n\n🛠 [Adjust project settings](https://app.snyk.io/org/back-end-kaj/project/575d1aff-26b9-46a9-be8f-2c69a119478b?utm_source=github&utm_medium=referral&page=fix-pr/settings)\n\n[//]: # 'snyk:metadata:{\"prId\":\"791fd6c8-fd7e-494b-b2d5-d2b67e05c7fb\",\"prPublicId\":\"791fd6c8-fd7e-494b-b2d5-d2b67e05c7fb\",\"dependencies\":[{\"name\":\"node\",\"from\":\"14.1.0\",\"to\":\"14.17\"}],\"packageManager\":\"dockerfile\",\"projectPublicId\":\"575d1aff-26b9-46a9-be8f-2c69a119478b\",\"projectUrl\":\"https://app.snyk.io/org/back-end-kaj/project/575d1aff-26b9-46a9-be8f-2c69a119478b?utm_source=github&utm_medium=referral&page=fix-pr\",\"type\":\"auto\",\"patch\":[],\"vulns\":[\"SNYK-DEBIAN9-PYTHON35-584435\",\"SNYK-DEBIAN9-PYTHON35-453739\",\"SNYK-DEBIAN9-PYTHON35-340072\",\"SNYK-DEBIAN9-PYTHON35-1063181\",\"SNYK-DEBIAN9-PYTHON27-341379\"],\"upgrade\":[\"SNYK-DEBIAN9-PYTHON27-341379\",\"SNYK-DEBIAN9-PYTHON35-1063181\",\"SNYK-DEBIAN9-PYTHON35-340072\",\"SNYK-DEBIAN9-PYTHON35-453739\",\"SNYK-DEBIAN9-PYTHON35-584435\"],\"isBreakingChange\":false,\"env\":\"prod\",\"prType\":\"fix\",\"templateVariants\":[\"updated-fix-title\",\"priorityScore\"],\"priorityScoreList\":[714,714,714,714,714]}'\n","created_at":"2022-01-01T00:59:59Z","updated_at":"2022-01-01T00:59:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/cha3ban/goof/pulls/80/commits","review_comments_url":"https://api.github.com/repos/cha3ban/goof/pulls/80/comments","review_comment_url":"https://api.github.com/repos/cha3ban/goof/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cha3ban/goof/issues/80/comments","statuses_url":"https://api.github.com/repos/cha3ban/goof/statuses/cdc0994f114120a986177af6ee11f91ea85152d5","head":{"label":"cha3ban:snyk-fix-636564187015179d8c6ee052e5735437","ref":"snyk-fix-636564187015179d8c6ee052e5735437","sha":"cdc0994f114120a986177af6ee11f91ea85152d5","user":{"login":"cha3ban","id":81356631,"node_id":"MDQ6VXNlcjgxMzU2NjMx","avatar_url":"https://avatars.githubusercontent.com/u/81356631?v=4","gravatar_id":"","url":"https://api.github.com/users/cha3ban","html_url":"https://github.com/cha3ban","followers_url":"https://api.github.com/users/cha3ban/followers","following_url":"https://api.github.com/users/cha3ban/following{/other_user}","gists_url":"https://api.github.com/users/cha3ban/gists{/gist_id}","starred_url":"https://api.github.com/users/cha3ban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cha3ban/subscriptions","organizations_url":"https://api.github.com/users/cha3ban/orgs","repos_url":"https://api.github.com/users/cha3ban/repos","events_url":"https://api.github.com/users/cha3ban/events{/privacy}","received_events_url":"https://api.github.com/users/cha3ban/received_events","type":"User","site_admin":false},"repo":{"id":353698520,"node_id":"MDEwOlJlcG9zaXRvcnkzNTM2OTg1MjA=","name":"goof","full_name":"cha3ban/goof","private":false,"owner":{"login":"cha3ban","id":81356631,"node_id":"MDQ6VXNlcjgxMzU2NjMx","avatar_url":"https://avatars.githubusercontent.com/u/81356631?v=4","gravatar_id":"","url":"https://api.github.com/users/cha3ban","html_url":"https://github.com/cha3ban","followers_url":"https://api.github.com/users/cha3ban/followers","following_url":"https://api.github.com/users/cha3ban/following{/other_user}","gists_url":"https://api.github.com/users/cha3ban/gists{/gist_id}","starred_url":"https://api.github.com/users/cha3ban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cha3ban/subscriptions","organizations_url":"https://api.github.com/users/cha3ban/orgs","repos_url":"https://api.github.com/users/cha3ban/repos","events_url":"https://api.github.com/users/cha3ban/events{/privacy}","received_events_url":"https://api.github.com/users/cha3ban/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cha3ban/goof","description":"Super vulnerable todo list application","fork":true,"url":"https://api.github.com/repos/cha3ban/goof","forks_url":"https://api.github.com/repos/cha3ban/goof/forks","keys_url":"https://api.github.com/repos/cha3ban/goof/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cha3ban/goof/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cha3ban/goof/teams","hooks_url":"https://api.github.com/repos/cha3ban/goof/hooks","issue_events_url":"https://api.github.com/repos/cha3ban/goof/issues/events{/number}","events_url":"https://api.github.com/repos/cha3ban/goof/events","assignees_url":"https://api.github.com/repos/cha3ban/goof/assignees{/user}","branches_url":"https://api.github.com/repos/cha3ban/goof/branches{/branch}","tags_url":"https://api.github.com/repos/cha3ban/goof/tags","blobs_url":"https://api.github.com/repos/cha3ban/goof/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cha3ban/goof/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cha3ban/goof/git/refs{/sha}","trees_url":"https://api.github.com/repos/cha3ban/goof/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cha3ban/goof/statuses/{sha}","languages_url":"https://api.github.com/repos/cha3ban/goof/languages","stargazers_url":"https://api.github.com/repos/cha3ban/goof/stargazers","contributors_url":"https://api.github.com/repos/cha3ban/goof/contributors","subscribers_url":"https://api.github.com/repos/cha3ban/goof/subscribers","subscription_url":"https://api.github.com/repos/cha3ban/goof/subscription","commits_url":"https://api.github.com/repos/cha3ban/goof/commits{/sha}","git_commits_url":"https://api.github.com/repos/cha3ban/goof/git/commits{/sha}","comments_url":"https://api.github.com/repos/cha3ban/goof/comments{/number}","issue_comment_url":"https://api.github.com/repos/cha3ban/goof/issues/comments{/number}","contents_url":"https://api.github.com/repos/cha3ban/goof/contents/{+path}","compare_url":"https://api.github.com/repos/cha3ban/goof/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cha3ban/goof/merges","archive_url":"https://api.github.com/repos/cha3ban/goof/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cha3ban/goof/downloads","issues_url":"https://api.github.com/repos/cha3ban/goof/issues{/number}","pulls_url":"https://api.github.com/repos/cha3ban/goof/pulls{/number}","milestones_url":"https://api.github.com/repos/cha3ban/goof/milestones{/number}","notifications_url":"https://api.github.com/repos/cha3ban/goof/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cha3ban/goof/labels{/name}","releases_url":"https://api.github.com/repos/cha3ban/goof/releases{/id}","deployments_url":"https://api.github.com/repos/cha3ban/goof/deployments","created_at":"2021-04-01T12:50:04Z","updated_at":"2021-12-15T14:17:39Z","pushed_at":"2022-01-01T00:59:59Z","git_url":"git://github.com/cha3ban/goof.git","ssh_url":"git@github.com:cha3ban/goof.git","clone_url":"https://github.com/cha3ban/goof.git","svn_url":"https://github.com/cha3ban/goof","homepage":null,"size":4787,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":73,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":73,"watchers":0,"default_branch":"master"}},"base":{"label":"cha3ban:master","ref":"master","sha":"1c9dfb90df82b30ea1284680134480ac08ccf877","user":{"login":"cha3ban","id":81356631,"node_id":"MDQ6VXNlcjgxMzU2NjMx","avatar_url":"https://avatars.githubusercontent.com/u/81356631?v=4","gravatar_id":"","url":"https://api.github.com/users/cha3ban","html_url":"https://github.com/cha3ban","followers_url":"https://api.github.com/users/cha3ban/followers","following_url":"https://api.github.com/users/cha3ban/following{/other_user}","gists_url":"https://api.github.com/users/cha3ban/gists{/gist_id}","starred_url":"https://api.github.com/users/cha3ban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cha3ban/subscriptions","organizations_url":"https://api.github.com/users/cha3ban/orgs","repos_url":"https://api.github.com/users/cha3ban/repos","events_url":"https://api.github.com/users/cha3ban/events{/privacy}","received_events_url":"https://api.github.com/users/cha3ban/received_events","type":"User","site_admin":false},"repo":{"id":353698520,"node_id":"MDEwOlJlcG9zaXRvcnkzNTM2OTg1MjA=","name":"goof","full_name":"cha3ban/goof","private":false,"owner":{"login":"cha3ban","id":81356631,"node_id":"MDQ6VXNlcjgxMzU2NjMx","avatar_url":"https://avatars.githubusercontent.com/u/81356631?v=4","gravatar_id":"","url":"https://api.github.com/users/cha3ban","html_url":"https://github.com/cha3ban","followers_url":"https://api.github.com/users/cha3ban/followers","following_url":"https://api.github.com/users/cha3ban/following{/other_user}","gists_url":"https://api.github.com/users/cha3ban/gists{/gist_id}","starred_url":"https://api.github.com/users/cha3ban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cha3ban/subscriptions","organizations_url":"https://api.github.com/users/cha3ban/orgs","repos_url":"https://api.github.com/users/cha3ban/repos","events_url":"https://api.github.com/users/cha3ban/events{/privacy}","received_events_url":"https://api.github.com/users/cha3ban/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cha3ban/goof","description":"Super vulnerable todo list application","fork":true,"url":"https://api.github.com/repos/cha3ban/goof","forks_url":"https://api.github.com/repos/cha3ban/goof/forks","keys_url":"https://api.github.com/repos/cha3ban/goof/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cha3ban/goof/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cha3ban/goof/teams","hooks_url":"https://api.github.com/repos/cha3ban/goof/hooks","issue_events_url":"https://api.github.com/repos/cha3ban/goof/issues/events{/number}","events_url":"https://api.github.com/repos/cha3ban/goof/events","assignees_url":"https://api.github.com/repos/cha3ban/goof/assignees{/user}","branches_url":"https://api.github.com/repos/cha3ban/goof/branches{/branch}","tags_url":"https://api.github.com/repos/cha3ban/goof/tags","blobs_url":"https://api.github.com/repos/cha3ban/goof/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cha3ban/goof/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cha3ban/goof/git/refs{/sha}","trees_url":"https://api.github.com/repos/cha3ban/goof/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cha3ban/goof/statuses/{sha}","languages_url":"https://api.github.com/repos/cha3ban/goof/languages","stargazers_url":"https://api.github.com/repos/cha3ban/goof/stargazers","contributors_url":"https://api.github.com/repos/cha3ban/goof/contributors","subscribers_url":"https://api.github.com/repos/cha3ban/goof/subscribers","subscription_url":"https://api.github.com/repos/cha3ban/goof/subscription","commits_url":"https://api.github.com/repos/cha3ban/goof/commits{/sha}","git_commits_url":"https://api.github.com/repos/cha3ban/goof/git/commits{/sha}","comments_url":"https://api.github.com/repos/cha3ban/goof/comments{/number}","issue_comment_url":"https://api.github.com/repos/cha3ban/goof/issues/comments{/number}","contents_url":"https://api.github.com/repos/cha3ban/goof/contents/{+path}","compare_url":"https://api.github.com/repos/cha3ban/goof/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cha3ban/goof/merges","archive_url":"https://api.github.com/repos/cha3ban/goof/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cha3ban/goof/downloads","issues_url":"https://api.github.com/repos/cha3ban/goof/issues{/number}","pulls_url":"https://api.github.com/repos/cha3ban/goof/pulls{/number}","milestones_url":"https://api.github.com/repos/cha3ban/goof/milestones{/number}","notifications_url":"https://api.github.com/repos/cha3ban/goof/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cha3ban/goof/labels{/name}","releases_url":"https://api.github.com/repos/cha3ban/goof/releases{/id}","deployments_url":"https://api.github.com/repos/cha3ban/goof/deployments","created_at":"2021-04-01T12:50:04Z","updated_at":"2021-12-15T14:17:39Z","pushed_at":"2022-01-01T00:59:59Z","git_url":"git://github.com/cha3ban/goof.git","ssh_url":"git@github.com:cha3ban/goof.git","clone_url":"https://github.com/cha3ban/goof.git","svn_url":"https://github.com/cha3ban/goof","homepage":null,"size":4787,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":73,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":73,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cha3ban/goof/pulls/80"},"html":{"href":"https://github.com/cha3ban/goof/pull/80"},"issue":{"href":"https://api.github.com/repos/cha3ban/goof/issues/80"},"comments":{"href":"https://api.github.com/repos/cha3ban/goof/issues/80/comments"},"review_comments":{"href":"https://api.github.com/repos/cha3ban/goof/pulls/80/comments"},"review_comment":{"href":"https://api.github.com/repos/cha3ban/goof/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cha3ban/goof/pulls/80/commits"},"statuses":{"href":"https://api.github.com/repos/cha3ban/goof/statuses/cdc0994f114120a986177af6ee11f91ea85152d5"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":1,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395620","type":"WatchEvent","actor":{"id":34669737,"login":"danielphan2003","display_login":"danielphan2003","gravatar_id":"","url":"https://api.github.com/users/danielphan2003","avatar_url":"https://avatars.githubusercontent.com/u/34669737?"},"repo":{"id":398215196,"name":"marc1307/tailscale-cloudflare-dnssync","url":"https://api.github.com/repos/marc1307/tailscale-cloudflare-dnssync"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395621","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732432908,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-214","head":"2f5bd3695991b1b86a0cce59ddb215eb49e68e9a","before":"2f5bd3695991b1b86a0cce59ddb215eb49e68e9a","commits":[]},"public":true,"created_at":"2022-01-01T01:00:00Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395622","type":"PushEvent","actor":{"id":12527842,"login":"Jymit","display_login":"Jymit","gravatar_id":"","url":"https://api.github.com/users/Jymit","avatar_url":"https://avatars.githubusercontent.com/u/12527842?"},"repo":{"id":338621994,"name":"Jymit/javascript-notes","url":"https://api.github.com/repos/Jymit/javascript-notes"},"payload":{"push_id":8732432909,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"915cecbbd8e9a27a26562ea8ca985aceb957f3a2","before":"161dd0ea122adc8f596ffef2193c836db3c86a45","commits":[{"sha":"915cecbbd8e9a27a26562ea8ca985aceb957f3a2","author":{"email":"12527842+Jymit@users.noreply.github.com","name":"J"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/Jymit/javascript-notes/commits/915cecbbd8e9a27a26562ea8ca985aceb957f3a2"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395623","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732432905,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ade006cf5def4d3a39445db712f3292694257ae5","before":"c2ce1ecdbbc16ea27476a8913d7f01910446871b","commits":[{"sha":"ade006cf5def4d3a39445db712f3292694257ae5","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"2022-01-01","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/ade006cf5def4d3a39445db712f3292694257ae5"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395624","type":"PushEvent","actor":{"id":96756216,"login":"fsadfsda","display_login":"fsadfsda","gravatar_id":"","url":"https://api.github.com/users/fsadfsda","avatar_url":"https://avatars.githubusercontent.com/u/96756216?"},"repo":{"id":443430570,"name":"fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9","url":"https://api.github.com/repos/fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9"},"payload":{"push_id":8732432914,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4421efcdb4b40b8601a980761156b7db0caf49ad","before":"dad8ad85908beb8bbe0c0f2bd0a65cd9e0590fc1","commits":[{"sha":"4421efcdb4b40b8601a980761156b7db0caf49ad","author":{"email":"96756216+fsadfsda@users.noreply.github.com","name":"fsadfsda"},"message":"upload file f04b5b4ad8cd21a638fdb71adafc19d1ece58907a126144aed6d84fbc4425b2cc13ba320917e3765a3298c9c318368e9video_1024_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9/commits/4421efcdb4b40b8601a980761156b7db0caf49ad"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395627","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":410911813,"name":"CassianoJunior/CassianoJunior","url":"https://api.github.com/repos/CassianoJunior/CassianoJunior"},"payload":{"push_id":8732432902,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"700e5e0330242b162d6d770dfa2101b7dd47975b","before":"9d4c023f598f52a6fd2f70026e9ad5622ea901f4","commits":[{"sha":"700e5e0330242b162d6d770dfa2101b7dd47975b","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/CassianoJunior/CassianoJunior/commits/700e5e0330242b162d6d770dfa2101b7dd47975b"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395629","type":"PushEvent","actor":{"id":7762949,"login":"horsicq","display_login":"horsicq","gravatar_id":"","url":"https://api.github.com/users/horsicq","avatar_url":"https://avatars.githubusercontent.com/u/7762949?"},"repo":{"id":370629842,"name":"horsicq/XDebuggerWidget","url":"https://api.github.com/repos/horsicq/XDebuggerWidget"},"payload":{"push_id":8732432907,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"71542348240d837fdfe8be89d6a11651c4c5a117","before":"cb962824d39d86a44e8f38644e069f8ccb93666e","commits":[{"sha":"71542348240d837fdfe8be89d6a11651c4c5a117","author":{"email":"horsicq@gmail.com","name":"horsicq"},"message":"Fix: 2022-01-01","distinct":true,"url":"https://api.github.com/repos/horsicq/XDebuggerWidget/commits/71542348240d837fdfe8be89d6a11651c4c5a117"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395630","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":86929735,"name":"Lombiq/Orchard","url":"https://api.github.com/repos/Lombiq/Orchard"},"payload":{"push_id":8732432913,"size":0,"distinct_size":0,"ref":"refs/heads/sebros/filecache","head":"d7d26a3215909beb8e992129b2a4fb84a53b8917","before":"d7d26a3215909beb8e992129b2a4fb84a53b8917","commits":[]},"public":true,"created_at":"2022-01-01T01:00:00Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395635","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":393065363,"name":"Saimon1603/Saimon1603","url":"https://api.github.com/repos/Saimon1603/Saimon1603"},"payload":{"push_id":8732432915,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"db01ef2298a12b94343a95d97fafb42ea2967c25","before":"858362fba02a3b09b848b3d27a5b6450ded0bb91","commits":[{"sha":"db01ef2298a12b94343a95d97fafb42ea2967c25","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Saimon1603/Saimon1603/commits/db01ef2298a12b94343a95d97fafb42ea2967c25"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395637","type":"PullRequestEvent","actor":{"id":860434,"login":"lopopolo","display_login":"lopopolo","gravatar_id":"","url":"https://api.github.com/users/lopopolo","avatar_url":"https://avatars.githubusercontent.com/u/860434?"},"repo":{"id":199196552,"name":"artichoke/artichoke","url":"https://api.github.com/repos/artichoke/artichoke"},"payload":{"action":"closed","number":1619,"pull_request":{"url":"https://api.github.com/repos/artichoke/artichoke/pulls/1619","id":812395377,"node_id":"PR_kwDOC99_iM4wbCtx","html_url":"https://github.com/artichoke/artichoke/pull/1619","diff_url":"https://github.com/artichoke/artichoke/pull/1619.diff","patch_url":"https://github.com/artichoke/artichoke/pull/1619.patch","issue_url":"https://api.github.com/repos/artichoke/artichoke/issues/1619","number":1619,"state":"closed","locked":false,"title":"Add casing tests","user":{"login":"b-n","id":4350925,"node_id":"MDQ6VXNlcjQzNTA5MjU=","avatar_url":"https://avatars.githubusercontent.com/u/4350925?v=4","gravatar_id":"","url":"https://api.github.com/users/b-n","html_url":"https://github.com/b-n","followers_url":"https://api.github.com/users/b-n/followers","following_url":"https://api.github.com/users/b-n/following{/other_user}","gists_url":"https://api.github.com/users/b-n/gists{/gist_id}","starred_url":"https://api.github.com/users/b-n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b-n/subscriptions","organizations_url":"https://api.github.com/users/b-n/orgs","repos_url":"https://api.github.com/users/b-n/repos","events_url":"https://api.github.com/users/b-n/events{/privacy}","received_events_url":"https://api.github.com/users/b-n/received_events","type":"User","site_admin":false},"body":"Adding tests for [upper|lower]case. Brings test coverage in spinoso-string (specifically only tests in `lib.rs`) from 48% => 54%\r\n\r\nHappy to make those test helper functions (capitalize/lowercase/uppercase) functions on test module itself (would make the tests a little more condensed, but less explicit)","created_at":"2021-12-31T15:11:31Z","updated_at":"2022-01-01T01:00:00Z","closed_at":"2022-01-01T01:00:00Z","merged_at":"2022-01-01T01:00:00Z","merge_commit_sha":"8357a00225a8ca5913a4edf2a166cd7efee6fad3","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1484739840,"node_id":"MDU6TGFiZWwxNDg0NzM5ODQw","url":"https://api.github.com/repos/artichoke/artichoke/labels/A-ruby-core","name":"A-ruby-core","color":"f7e101","default":false,"description":"Area: Ruby Core types."},{"id":1657995804,"node_id":"MDU6TGFiZWwxNjU3OTk1ODA0","url":"https://api.github.com/repos/artichoke/artichoke/labels/C-quality","name":"C-quality","color":"c1c8ff","default":false,"description":"Category: Refactoring, cleanup, and quality improvements."}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/artichoke/artichoke/pulls/1619/commits","review_comments_url":"https://api.github.com/repos/artichoke/artichoke/pulls/1619/comments","review_comment_url":"https://api.github.com/repos/artichoke/artichoke/pulls/comments{/number}","comments_url":"https://api.github.com/repos/artichoke/artichoke/issues/1619/comments","statuses_url":"https://api.github.com/repos/artichoke/artichoke/statuses/e54c1b596210da079ae471f78d6a5a8853fcd88a","head":{"label":"b-n:add-casing-tests","ref":"add-casing-tests","sha":"e54c1b596210da079ae471f78d6a5a8853fcd88a","user":{"login":"b-n","id":4350925,"node_id":"MDQ6VXNlcjQzNTA5MjU=","avatar_url":"https://avatars.githubusercontent.com/u/4350925?v=4","gravatar_id":"","url":"https://api.github.com/users/b-n","html_url":"https://github.com/b-n","followers_url":"https://api.github.com/users/b-n/followers","following_url":"https://api.github.com/users/b-n/following{/other_user}","gists_url":"https://api.github.com/users/b-n/gists{/gist_id}","starred_url":"https://api.github.com/users/b-n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b-n/subscriptions","organizations_url":"https://api.github.com/users/b-n/orgs","repos_url":"https://api.github.com/users/b-n/repos","events_url":"https://api.github.com/users/b-n/events{/privacy}","received_events_url":"https://api.github.com/users/b-n/received_events","type":"User","site_admin":false},"repo":{"id":442114760,"node_id":"R_kgDOGloiyA","name":"artichoke","full_name":"b-n/artichoke","private":false,"owner":{"login":"b-n","id":4350925,"node_id":"MDQ6VXNlcjQzNTA5MjU=","avatar_url":"https://avatars.githubusercontent.com/u/4350925?v=4","gravatar_id":"","url":"https://api.github.com/users/b-n","html_url":"https://github.com/b-n","followers_url":"https://api.github.com/users/b-n/followers","following_url":"https://api.github.com/users/b-n/following{/other_user}","gists_url":"https://api.github.com/users/b-n/gists{/gist_id}","starred_url":"https://api.github.com/users/b-n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/b-n/subscriptions","organizations_url":"https://api.github.com/users/b-n/orgs","repos_url":"https://api.github.com/users/b-n/repos","events_url":"https://api.github.com/users/b-n/events{/privacy}","received_events_url":"https://api.github.com/users/b-n/received_events","type":"User","site_admin":false},"html_url":"https://github.com/b-n/artichoke","description":"💎 Artichoke is a Ruby made with Rust","fork":true,"url":"https://api.github.com/repos/b-n/artichoke","forks_url":"https://api.github.com/repos/b-n/artichoke/forks","keys_url":"https://api.github.com/repos/b-n/artichoke/keys{/key_id}","collaborators_url":"https://api.github.com/repos/b-n/artichoke/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/b-n/artichoke/teams","hooks_url":"https://api.github.com/repos/b-n/artichoke/hooks","issue_events_url":"https://api.github.com/repos/b-n/artichoke/issues/events{/number}","events_url":"https://api.github.com/repos/b-n/artichoke/events","assignees_url":"https://api.github.com/repos/b-n/artichoke/assignees{/user}","branches_url":"https://api.github.com/repos/b-n/artichoke/branches{/branch}","tags_url":"https://api.github.com/repos/b-n/artichoke/tags","blobs_url":"https://api.github.com/repos/b-n/artichoke/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/b-n/artichoke/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/b-n/artichoke/git/refs{/sha}","trees_url":"https://api.github.com/repos/b-n/artichoke/git/trees{/sha}","statuses_url":"https://api.github.com/repos/b-n/artichoke/statuses/{sha}","languages_url":"https://api.github.com/repos/b-n/artichoke/languages","stargazers_url":"https://api.github.com/repos/b-n/artichoke/stargazers","contributors_url":"https://api.github.com/repos/b-n/artichoke/contributors","subscribers_url":"https://api.github.com/repos/b-n/artichoke/subscribers","subscription_url":"https://api.github.com/repos/b-n/artichoke/subscription","commits_url":"https://api.github.com/repos/b-n/artichoke/commits{/sha}","git_commits_url":"https://api.github.com/repos/b-n/artichoke/git/commits{/sha}","comments_url":"https://api.github.com/repos/b-n/artichoke/comments{/number}","issue_comment_url":"https://api.github.com/repos/b-n/artichoke/issues/comments{/number}","contents_url":"https://api.github.com/repos/b-n/artichoke/contents/{+path}","compare_url":"https://api.github.com/repos/b-n/artichoke/compare/{base}...{head}","merges_url":"https://api.github.com/repos/b-n/artichoke/merges","archive_url":"https://api.github.com/repos/b-n/artichoke/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/b-n/artichoke/downloads","issues_url":"https://api.github.com/repos/b-n/artichoke/issues{/number}","pulls_url":"https://api.github.com/repos/b-n/artichoke/pulls{/number}","milestones_url":"https://api.github.com/repos/b-n/artichoke/milestones{/number}","notifications_url":"https://api.github.com/repos/b-n/artichoke/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/b-n/artichoke/labels{/name}","releases_url":"https://api.github.com/repos/b-n/artichoke/releases{/id}","deployments_url":"https://api.github.com/repos/b-n/artichoke/deployments","created_at":"2021-12-27T09:36:32Z","updated_at":"2021-12-31T12:23:38Z","pushed_at":"2021-12-31T15:32:41Z","git_url":"git://github.com/b-n/artichoke.git","ssh_url":"git@github.com:b-n/artichoke.git","clone_url":"https://github.com/b-n/artichoke.git","svn_url":"https://github.com/b-n/artichoke","homepage":"https://www.artichokeruby.org/","size":370309,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"trunk"}},"base":{"label":"artichoke:trunk","ref":"trunk","sha":"1a16d5c5ba71223328ed61141997716609bd52a6","user":{"login":"artichoke","id":52906958,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUyOTA2OTU4","avatar_url":"https://avatars.githubusercontent.com/u/52906958?v=4","gravatar_id":"","url":"https://api.github.com/users/artichoke","html_url":"https://github.com/artichoke","followers_url":"https://api.github.com/users/artichoke/followers","following_url":"https://api.github.com/users/artichoke/following{/other_user}","gists_url":"https://api.github.com/users/artichoke/gists{/gist_id}","starred_url":"https://api.github.com/users/artichoke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artichoke/subscriptions","organizations_url":"https://api.github.com/users/artichoke/orgs","repos_url":"https://api.github.com/users/artichoke/repos","events_url":"https://api.github.com/users/artichoke/events{/privacy}","received_events_url":"https://api.github.com/users/artichoke/received_events","type":"Organization","site_admin":false},"repo":{"id":199196552,"node_id":"MDEwOlJlcG9zaXRvcnkxOTkxOTY1NTI=","name":"artichoke","full_name":"artichoke/artichoke","private":false,"owner":{"login":"artichoke","id":52906958,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUyOTA2OTU4","avatar_url":"https://avatars.githubusercontent.com/u/52906958?v=4","gravatar_id":"","url":"https://api.github.com/users/artichoke","html_url":"https://github.com/artichoke","followers_url":"https://api.github.com/users/artichoke/followers","following_url":"https://api.github.com/users/artichoke/following{/other_user}","gists_url":"https://api.github.com/users/artichoke/gists{/gist_id}","starred_url":"https://api.github.com/users/artichoke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artichoke/subscriptions","organizations_url":"https://api.github.com/users/artichoke/orgs","repos_url":"https://api.github.com/users/artichoke/repos","events_url":"https://api.github.com/users/artichoke/events{/privacy}","received_events_url":"https://api.github.com/users/artichoke/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/artichoke/artichoke","description":"💎 Artichoke is a Ruby made with Rust","fork":false,"url":"https://api.github.com/repos/artichoke/artichoke","forks_url":"https://api.github.com/repos/artichoke/artichoke/forks","keys_url":"https://api.github.com/repos/artichoke/artichoke/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artichoke/artichoke/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artichoke/artichoke/teams","hooks_url":"https://api.github.com/repos/artichoke/artichoke/hooks","issue_events_url":"https://api.github.com/repos/artichoke/artichoke/issues/events{/number}","events_url":"https://api.github.com/repos/artichoke/artichoke/events","assignees_url":"https://api.github.com/repos/artichoke/artichoke/assignees{/user}","branches_url":"https://api.github.com/repos/artichoke/artichoke/branches{/branch}","tags_url":"https://api.github.com/repos/artichoke/artichoke/tags","blobs_url":"https://api.github.com/repos/artichoke/artichoke/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artichoke/artichoke/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artichoke/artichoke/git/refs{/sha}","trees_url":"https://api.github.com/repos/artichoke/artichoke/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artichoke/artichoke/statuses/{sha}","languages_url":"https://api.github.com/repos/artichoke/artichoke/languages","stargazers_url":"https://api.github.com/repos/artichoke/artichoke/stargazers","contributors_url":"https://api.github.com/repos/artichoke/artichoke/contributors","subscribers_url":"https://api.github.com/repos/artichoke/artichoke/subscribers","subscription_url":"https://api.github.com/repos/artichoke/artichoke/subscription","commits_url":"https://api.github.com/repos/artichoke/artichoke/commits{/sha}","git_commits_url":"https://api.github.com/repos/artichoke/artichoke/git/commits{/sha}","comments_url":"https://api.github.com/repos/artichoke/artichoke/comments{/number}","issue_comment_url":"https://api.github.com/repos/artichoke/artichoke/issues/comments{/number}","contents_url":"https://api.github.com/repos/artichoke/artichoke/contents/{+path}","compare_url":"https://api.github.com/repos/artichoke/artichoke/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artichoke/artichoke/merges","archive_url":"https://api.github.com/repos/artichoke/artichoke/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artichoke/artichoke/downloads","issues_url":"https://api.github.com/repos/artichoke/artichoke/issues{/number}","pulls_url":"https://api.github.com/repos/artichoke/artichoke/pulls{/number}","milestones_url":"https://api.github.com/repos/artichoke/artichoke/milestones{/number}","notifications_url":"https://api.github.com/repos/artichoke/artichoke/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artichoke/artichoke/labels{/name}","releases_url":"https://api.github.com/repos/artichoke/artichoke/releases{/id}","deployments_url":"https://api.github.com/repos/artichoke/artichoke/deployments","created_at":"2019-07-27T17:46:44Z","updated_at":"2021-12-30T14:42:10Z","pushed_at":"2022-01-01T00:59:59Z","git_url":"git://github.com/artichoke/artichoke.git","ssh_url":"git@github.com:artichoke/artichoke.git","clone_url":"https://github.com/artichoke/artichoke.git","svn_url":"https://github.com/artichoke/artichoke","homepage":"https://www.artichokeruby.org/","size":385141,"stargazers_count":2561,"watchers_count":2561,"language":"Rust","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":96,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":87,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":["artichoke","language","programming-language","ruby","ruby-language","rust","rust-application","rust-crate","wasm","webassembly"],"visibility":"public","forks":96,"open_issues":87,"watchers":2561,"default_branch":"trunk"}},"_links":{"self":{"href":"https://api.github.com/repos/artichoke/artichoke/pulls/1619"},"html":{"href":"https://github.com/artichoke/artichoke/pull/1619"},"issue":{"href":"https://api.github.com/repos/artichoke/artichoke/issues/1619"},"comments":{"href":"https://api.github.com/repos/artichoke/artichoke/issues/1619/comments"},"review_comments":{"href":"https://api.github.com/repos/artichoke/artichoke/pulls/1619/comments"},"review_comment":{"href":"https://api.github.com/repos/artichoke/artichoke/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/artichoke/artichoke/pulls/1619/commits"},"statuses":{"href":"https://api.github.com/repos/artichoke/artichoke/statuses/e54c1b596210da079ae471f78d6a5a8853fcd88a"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"lopopolo","id":860434,"node_id":"MDQ6VXNlcjg2MDQzNA==","avatar_url":"https://avatars.githubusercontent.com/u/860434?v=4","gravatar_id":"","url":"https://api.github.com/users/lopopolo","html_url":"https://github.com/lopopolo","followers_url":"https://api.github.com/users/lopopolo/followers","following_url":"https://api.github.com/users/lopopolo/following{/other_user}","gists_url":"https://api.github.com/users/lopopolo/gists{/gist_id}","starred_url":"https://api.github.com/users/lopopolo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lopopolo/subscriptions","organizations_url":"https://api.github.com/users/lopopolo/orgs","repos_url":"https://api.github.com/users/lopopolo/repos","events_url":"https://api.github.com/users/lopopolo/events{/privacy}","received_events_url":"https://api.github.com/users/lopopolo/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":3,"additions":328,"deletions":112,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:00Z","org":{"id":52906958,"login":"artichoke","gravatar_id":"","url":"https://api.github.com/orgs/artichoke","avatar_url":"https://avatars.githubusercontent.com/u/52906958?"}} +{"id":"19541395644","type":"PushEvent","actor":{"id":59481467,"login":"mcauley-penney","display_login":"mcauley-penney","gravatar_id":"","url":"https://api.github.com/users/mcauley-penney","avatar_url":"https://avatars.githubusercontent.com/u/59481467?"},"repo":{"id":443449089,"name":"mcauley-penney/nord.nvim","url":"https://api.github.com/repos/mcauley-penney/nord.nvim"},"payload":{"push_id":8732432923,"size":1,"distinct_size":1,"ref":"refs/heads/patch-1","head":"344e7ac25aefe5cb64a9266f91a718602aff30b0","before":"3df247377b292ed084c3bc0ef300db473c1c8254","commits":[{"sha":"344e7ac25aefe5cb64a9266f91a718602aff30b0","author":{"email":"59481467+mcauley-penney@users.noreply.github.com","name":"mp"},"message":"Update theme.lua\n\nforeground color for \"Folded\" should be \"nord3_gui_bright\"","distinct":true,"url":"https://api.github.com/repos/mcauley-penney/nord.nvim/commits/344e7ac25aefe5cb64a9266f91a718602aff30b0"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395645","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732432927,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3d527c7fbfe5ecb76ade2ad36bdf847b984b9270","before":"87783e5562b227a08cc91d326e3be72a9abe10ec","commits":[{"sha":"3d527c7fbfe5ecb76ade2ad36bdf847b984b9270","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update 442749_2.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/3d527c7fbfe5ecb76ade2ad36bdf847b984b9270"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395646","type":"PullRequestEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":108642943,"name":"partouf/compiler-explorer","url":"https://api.github.com/repos/partouf/compiler-explorer"},"payload":{"action":"opened","number":1,"pull_request":{"url":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1","id":812479580,"node_id":"PR_kwDOBnnCf84wbXRc","html_url":"https://github.com/partouf/compiler-explorer/pull/1","diff_url":"https://github.com/partouf/compiler-explorer/pull/1.diff","patch_url":"https://github.com/partouf/compiler-explorer/pull/1.patch","issue_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/1","number":1,"state":"open","locked":false,"title":"[bot] Update browsers list","user":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"Automatic run of `npm run-update-browerslist` which needs to\n be done periodically to keep in-date.\n See [here](https://github.com/browserslist/browserslist#browsers-data-updating) for more details.","created_at":"2022-01-01T01:00:00Z","updated_at":"2022-01-01T01:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1/commits","review_comments_url":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1/comments","review_comment_url":"https://api.github.com/repos/partouf/compiler-explorer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/1/comments","statuses_url":"https://api.github.com/repos/partouf/compiler-explorer/statuses/7d862903f1edb6b4731fc4b077bee13d3ec6fe25","head":{"label":"partouf:create-pull-request/patch","ref":"create-pull-request/patch","sha":"7d862903f1edb6b4731fc4b077bee13d3ec6fe25","user":{"login":"partouf","id":442630,"node_id":"MDQ6VXNlcjQ0MjYzMA==","avatar_url":"https://avatars.githubusercontent.com/u/442630?v=4","gravatar_id":"","url":"https://api.github.com/users/partouf","html_url":"https://github.com/partouf","followers_url":"https://api.github.com/users/partouf/followers","following_url":"https://api.github.com/users/partouf/following{/other_user}","gists_url":"https://api.github.com/users/partouf/gists{/gist_id}","starred_url":"https://api.github.com/users/partouf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/partouf/subscriptions","organizations_url":"https://api.github.com/users/partouf/orgs","repos_url":"https://api.github.com/users/partouf/repos","events_url":"https://api.github.com/users/partouf/events{/privacy}","received_events_url":"https://api.github.com/users/partouf/received_events","type":"User","site_admin":false},"repo":{"id":108642943,"node_id":"MDEwOlJlcG9zaXRvcnkxMDg2NDI5NDM=","name":"compiler-explorer","full_name":"partouf/compiler-explorer","private":false,"owner":{"login":"partouf","id":442630,"node_id":"MDQ6VXNlcjQ0MjYzMA==","avatar_url":"https://avatars.githubusercontent.com/u/442630?v=4","gravatar_id":"","url":"https://api.github.com/users/partouf","html_url":"https://github.com/partouf","followers_url":"https://api.github.com/users/partouf/followers","following_url":"https://api.github.com/users/partouf/following{/other_user}","gists_url":"https://api.github.com/users/partouf/gists{/gist_id}","starred_url":"https://api.github.com/users/partouf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/partouf/subscriptions","organizations_url":"https://api.github.com/users/partouf/orgs","repos_url":"https://api.github.com/users/partouf/repos","events_url":"https://api.github.com/users/partouf/events{/privacy}","received_events_url":"https://api.github.com/users/partouf/received_events","type":"User","site_admin":false},"html_url":"https://github.com/partouf/compiler-explorer","description":"Run compilers interactively from your web browser and interact with the assembly","fork":true,"url":"https://api.github.com/repos/partouf/compiler-explorer","forks_url":"https://api.github.com/repos/partouf/compiler-explorer/forks","keys_url":"https://api.github.com/repos/partouf/compiler-explorer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/partouf/compiler-explorer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/partouf/compiler-explorer/teams","hooks_url":"https://api.github.com/repos/partouf/compiler-explorer/hooks","issue_events_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/events{/number}","events_url":"https://api.github.com/repos/partouf/compiler-explorer/events","assignees_url":"https://api.github.com/repos/partouf/compiler-explorer/assignees{/user}","branches_url":"https://api.github.com/repos/partouf/compiler-explorer/branches{/branch}","tags_url":"https://api.github.com/repos/partouf/compiler-explorer/tags","blobs_url":"https://api.github.com/repos/partouf/compiler-explorer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/partouf/compiler-explorer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/partouf/compiler-explorer/git/refs{/sha}","trees_url":"https://api.github.com/repos/partouf/compiler-explorer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/partouf/compiler-explorer/statuses/{sha}","languages_url":"https://api.github.com/repos/partouf/compiler-explorer/languages","stargazers_url":"https://api.github.com/repos/partouf/compiler-explorer/stargazers","contributors_url":"https://api.github.com/repos/partouf/compiler-explorer/contributors","subscribers_url":"https://api.github.com/repos/partouf/compiler-explorer/subscribers","subscription_url":"https://api.github.com/repos/partouf/compiler-explorer/subscription","commits_url":"https://api.github.com/repos/partouf/compiler-explorer/commits{/sha}","git_commits_url":"https://api.github.com/repos/partouf/compiler-explorer/git/commits{/sha}","comments_url":"https://api.github.com/repos/partouf/compiler-explorer/comments{/number}","issue_comment_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/comments{/number}","contents_url":"https://api.github.com/repos/partouf/compiler-explorer/contents/{+path}","compare_url":"https://api.github.com/repos/partouf/compiler-explorer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/partouf/compiler-explorer/merges","archive_url":"https://api.github.com/repos/partouf/compiler-explorer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/partouf/compiler-explorer/downloads","issues_url":"https://api.github.com/repos/partouf/compiler-explorer/issues{/number}","pulls_url":"https://api.github.com/repos/partouf/compiler-explorer/pulls{/number}","milestones_url":"https://api.github.com/repos/partouf/compiler-explorer/milestones{/number}","notifications_url":"https://api.github.com/repos/partouf/compiler-explorer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/partouf/compiler-explorer/labels{/name}","releases_url":"https://api.github.com/repos/partouf/compiler-explorer/releases{/id}","deployments_url":"https://api.github.com/repos/partouf/compiler-explorer/deployments","created_at":"2017-10-28T11:16:57Z","updated_at":"2021-12-16T01:32:22Z","pushed_at":"2022-01-01T00:59:59Z","git_url":"git://github.com/partouf/compiler-explorer.git","ssh_url":"git@github.com:partouf/compiler-explorer.git","clone_url":"https://github.com/partouf/compiler-explorer.git","svn_url":"https://github.com/partouf/compiler-explorer","homepage":"https://gcc.godbolt.org/","size":22837,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"partouf:master","ref":"master","sha":"0e34de6d9b898d9ac1330c653668d0e1832f054e","user":{"login":"partouf","id":442630,"node_id":"MDQ6VXNlcjQ0MjYzMA==","avatar_url":"https://avatars.githubusercontent.com/u/442630?v=4","gravatar_id":"","url":"https://api.github.com/users/partouf","html_url":"https://github.com/partouf","followers_url":"https://api.github.com/users/partouf/followers","following_url":"https://api.github.com/users/partouf/following{/other_user}","gists_url":"https://api.github.com/users/partouf/gists{/gist_id}","starred_url":"https://api.github.com/users/partouf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/partouf/subscriptions","organizations_url":"https://api.github.com/users/partouf/orgs","repos_url":"https://api.github.com/users/partouf/repos","events_url":"https://api.github.com/users/partouf/events{/privacy}","received_events_url":"https://api.github.com/users/partouf/received_events","type":"User","site_admin":false},"repo":{"id":108642943,"node_id":"MDEwOlJlcG9zaXRvcnkxMDg2NDI5NDM=","name":"compiler-explorer","full_name":"partouf/compiler-explorer","private":false,"owner":{"login":"partouf","id":442630,"node_id":"MDQ6VXNlcjQ0MjYzMA==","avatar_url":"https://avatars.githubusercontent.com/u/442630?v=4","gravatar_id":"","url":"https://api.github.com/users/partouf","html_url":"https://github.com/partouf","followers_url":"https://api.github.com/users/partouf/followers","following_url":"https://api.github.com/users/partouf/following{/other_user}","gists_url":"https://api.github.com/users/partouf/gists{/gist_id}","starred_url":"https://api.github.com/users/partouf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/partouf/subscriptions","organizations_url":"https://api.github.com/users/partouf/orgs","repos_url":"https://api.github.com/users/partouf/repos","events_url":"https://api.github.com/users/partouf/events{/privacy}","received_events_url":"https://api.github.com/users/partouf/received_events","type":"User","site_admin":false},"html_url":"https://github.com/partouf/compiler-explorer","description":"Run compilers interactively from your web browser and interact with the assembly","fork":true,"url":"https://api.github.com/repos/partouf/compiler-explorer","forks_url":"https://api.github.com/repos/partouf/compiler-explorer/forks","keys_url":"https://api.github.com/repos/partouf/compiler-explorer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/partouf/compiler-explorer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/partouf/compiler-explorer/teams","hooks_url":"https://api.github.com/repos/partouf/compiler-explorer/hooks","issue_events_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/events{/number}","events_url":"https://api.github.com/repos/partouf/compiler-explorer/events","assignees_url":"https://api.github.com/repos/partouf/compiler-explorer/assignees{/user}","branches_url":"https://api.github.com/repos/partouf/compiler-explorer/branches{/branch}","tags_url":"https://api.github.com/repos/partouf/compiler-explorer/tags","blobs_url":"https://api.github.com/repos/partouf/compiler-explorer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/partouf/compiler-explorer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/partouf/compiler-explorer/git/refs{/sha}","trees_url":"https://api.github.com/repos/partouf/compiler-explorer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/partouf/compiler-explorer/statuses/{sha}","languages_url":"https://api.github.com/repos/partouf/compiler-explorer/languages","stargazers_url":"https://api.github.com/repos/partouf/compiler-explorer/stargazers","contributors_url":"https://api.github.com/repos/partouf/compiler-explorer/contributors","subscribers_url":"https://api.github.com/repos/partouf/compiler-explorer/subscribers","subscription_url":"https://api.github.com/repos/partouf/compiler-explorer/subscription","commits_url":"https://api.github.com/repos/partouf/compiler-explorer/commits{/sha}","git_commits_url":"https://api.github.com/repos/partouf/compiler-explorer/git/commits{/sha}","comments_url":"https://api.github.com/repos/partouf/compiler-explorer/comments{/number}","issue_comment_url":"https://api.github.com/repos/partouf/compiler-explorer/issues/comments{/number}","contents_url":"https://api.github.com/repos/partouf/compiler-explorer/contents/{+path}","compare_url":"https://api.github.com/repos/partouf/compiler-explorer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/partouf/compiler-explorer/merges","archive_url":"https://api.github.com/repos/partouf/compiler-explorer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/partouf/compiler-explorer/downloads","issues_url":"https://api.github.com/repos/partouf/compiler-explorer/issues{/number}","pulls_url":"https://api.github.com/repos/partouf/compiler-explorer/pulls{/number}","milestones_url":"https://api.github.com/repos/partouf/compiler-explorer/milestones{/number}","notifications_url":"https://api.github.com/repos/partouf/compiler-explorer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/partouf/compiler-explorer/labels{/name}","releases_url":"https://api.github.com/repos/partouf/compiler-explorer/releases{/id}","deployments_url":"https://api.github.com/repos/partouf/compiler-explorer/deployments","created_at":"2017-10-28T11:16:57Z","updated_at":"2021-12-16T01:32:22Z","pushed_at":"2022-01-01T00:59:59Z","git_url":"git://github.com/partouf/compiler-explorer.git","ssh_url":"git@github.com:partouf/compiler-explorer.git","clone_url":"https://github.com/partouf/compiler-explorer.git","svn_url":"https://github.com/partouf/compiler-explorer","homepage":"https://gcc.godbolt.org/","size":22837,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1"},"html":{"href":"https://github.com/partouf/compiler-explorer/pull/1"},"issue":{"href":"https://api.github.com/repos/partouf/compiler-explorer/issues/1"},"comments":{"href":"https://api.github.com/repos/partouf/compiler-explorer/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/partouf/compiler-explorer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/partouf/compiler-explorer/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/partouf/compiler-explorer/statuses/7d862903f1edb6b4731fc4b077bee13d3ec6fe25"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":21449,"deletions":169,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395648","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":336361795,"name":"r-carissimi/upptime","url":"https://api.github.com/repos/r-carissimi/upptime"},"payload":{"push_id":8732432928,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"b1c41be254df3be2f69bfa7bc07f56b528704a69","before":"8c6e4ea649ac1ff809cdb7ec8ac5bee1463d2ff4","commits":[{"sha":"2d521853eb21aef4873eafaafde6963a66058dc1","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/r-carissimi/upptime/commits/2d521853eb21aef4873eafaafde6963a66058dc1"},{"sha":"b1c41be254df3be2f69bfa7bc07f56b528704a69","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/r-carissimi/upptime/commits/b1c41be254df3be2f69bfa7bc07f56b528704a69"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395653","type":"CreateEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":108642943,"name":"partouf/compiler-explorer","url":"https://api.github.com/repos/partouf/compiler-explorer"},"payload":{"ref":"create-pull-request/patch","ref_type":"branch","master_branch":"master","description":"Run compilers interactively from your web browser and interact with the assembly","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395649","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732432921,"size":1,"distinct_size":1,"ref":"refs/heads/bump_xcb-proto_X","head":"b894b3a1288bb9e9574e3e066bcd9b690e3df012","before":"23c04de4ec934d9e22f537f3a3291476fe259970","commits":[{"sha":"b894b3a1288bb9e9574e3e066bcd9b690e3df012","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump X/libXrender for X/xcb-proto","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/b894b3a1288bb9e9574e3e066bcd9b690e3df012"}]},"public":true,"created_at":"2022-01-01T01:00:00Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395656","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":437120520,"name":"qwertyadrian/qwertyadrian","url":"https://api.github.com/repos/qwertyadrian/qwertyadrian"},"payload":{"push_id":8732432934,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a0498ebb636e5ad72327f01b0d7b94a361ce26f1","before":"6c370f4e182b0f15915aa3c328d77b3f0a8dc95a","commits":[{"sha":"a0498ebb636e5ad72327f01b0d7b94a361ce26f1","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update github-metrics.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/qwertyadrian/qwertyadrian/commits/a0498ebb636e5ad72327f01b0d7b94a361ce26f1"}]},"public":true,"created_at":"2022-01-01T01:00:00Z"} +{"id":"19541395658","type":"PushEvent","actor":{"id":91946874,"login":"abichoi","display_login":"abichoi","gravatar_id":"","url":"https://api.github.com/users/abichoi","avatar_url":"https://avatars.githubusercontent.com/u/91946874?"},"repo":{"id":443440298,"name":"abichoi/CASA0016HomeWeatherStation","url":"https://api.github.com/repos/abichoi/CASA0016HomeWeatherStation"},"payload":{"push_id":8732432935,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"337113f89125884cada2a900637811ff297f84a7","before":"bdeb60cc73fc5bd0b1219c32542afda3e32ca41c","commits":[{"sha":"337113f89125884cada2a900637811ff297f84a7","author":{"email":"91946874+abichoi@users.noreply.github.com","name":"abichoi"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/abichoi/CASA0016HomeWeatherStation/commits/337113f89125884cada2a900637811ff297f84a7"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395659","type":"PushEvent","actor":{"id":96094651,"login":"Aderinsola22","display_login":"Aderinsola22","gravatar_id":"","url":"https://api.github.com/users/Aderinsola22","avatar_url":"https://avatars.githubusercontent.com/u/96094651?"},"repo":{"id":443266610,"name":"Aderinsola22/DerinWP","url":"https://api.github.com/repos/Aderinsola22/DerinWP"},"payload":{"push_id":8732432906,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e5a30db412bc72c33ea451db825b46a5a59dca2d","before":"3663ad1ec3e12dcad208408140c161232a3e9224","commits":[{"sha":"e5a30db412bc72c33ea451db825b46a5a59dca2d","author":{"email":"aoladaiye22@gmail.com","name":"Aderinsola"},"message":"change","distinct":true,"url":"https://api.github.com/repos/Aderinsola22/DerinWP/commits/e5a30db412bc72c33ea451db825b46a5a59dca2d"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395660","type":"PushEvent","actor":{"id":96929188,"login":"Aymmn79","display_login":"Aymmn79","gravatar_id":"","url":"https://api.github.com/users/Aymmn79","avatar_url":"https://avatars.githubusercontent.com/u/96929188?"},"repo":{"id":443449074,"name":"Aymmn79/mus","url":"https://api.github.com/repos/Aymmn79/mus"},"payload":{"push_id":8732432936,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"680daa2227b1726be9d8ba0261afa4b763406980","before":"f90b12300c80a03425884f339c3685dd9a5a520a","commits":[{"sha":"680daa2227b1726be9d8ba0261afa4b763406980","author":{"email":"96929188+Aymmn79@users.noreply.github.com","name":"Aymmn79"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/Aymmn79/mus/commits/680daa2227b1726be9d8ba0261afa4b763406980"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395661","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732432933,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"b21da76d5c991d58100e27d635653b50e4531280","before":"6cc545dd28b018b24b5501b14ee1e2afc7141941","commits":[{"sha":"b21da76d5c991d58100e27d635653b50e4531280","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/kde-pim for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/b21da76d5c991d58100e27d635653b50e4531280"}]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395663","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":86929735,"name":"Lombiq/Orchard","url":"https://api.github.com/repos/Lombiq/Orchard"},"payload":{"push_id":8732432938,"size":0,"distinct_size":0,"ref":"refs/heads/task/masterlayouts","head":"df216b6a1897216a7f28efcc738f838e18ba836e","before":"df216b6a1897216a7f28efcc738f838e18ba836e","commits":[]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395665","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732432941,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-288","head":"ba081e89f7da06ebbc1de7d0ca6ffba86b5b628b","before":"ba081e89f7da06ebbc1de7d0ca6ffba86b5b628b","commits":[]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395668","type":"PushEvent","actor":{"id":96756392,"login":"2342321","display_login":"2342321","gravatar_id":"","url":"https://api.github.com/users/2342321","avatar_url":"https://avatars.githubusercontent.com/u/96756392?"},"repo":{"id":443410793,"name":"2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e","url":"https://api.github.com/repos/2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e"},"payload":{"push_id":8732432940,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"bcdbf1f818237ae67ba0cee62e7a32f3ab39f0c0","before":"8a251329ec6e1bf34047c3fd12fe1af9d6f13e7f","commits":[{"sha":"bcdbf1f818237ae67ba0cee62e7a32f3ab39f0c0","author":{"email":"96756392+2342321@users.noreply.github.com","name":"2342321"},"message":"upload file 1b6b18cd2826a9ced10cf16a52d5280aeef04af5958bbd9c52069301b7af6a83eed52b5705da0443798c073e85171418video_737_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e/commits/bcdbf1f818237ae67ba0cee62e7a32f3ab39f0c0"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395669","type":"PushEvent","actor":{"id":96756473,"login":"56456f","display_login":"56456f","gravatar_id":"","url":"https://api.github.com/users/56456f","avatar_url":"https://avatars.githubusercontent.com/u/96756473?"},"repo":{"id":443414085,"name":"56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c","url":"https://api.github.com/repos/56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c"},"payload":{"push_id":8732432943,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5420d0b2d6b218c42244fa92ae5e97ce69922303","before":"6f638a7f0c83500119bc35f0840dc2fd9bdc45b8","commits":[{"sha":"5420d0b2d6b218c42244fa92ae5e97ce69922303","author":{"email":"96756473+56456f@users.noreply.github.com","name":"56456f"},"message":"upload file 469b2162a1868a25c75cb0eb733330bbebe4a1ff33c1f7e01fc101b1da6a49cb95ee26e58cfc99e030292d3507aa26d1video_81_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c/commits/5420d0b2d6b218c42244fa92ae5e97ce69922303"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395671","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":437989181,"name":"Renanrbsc/Renanrbsc","url":"https://api.github.com/repos/Renanrbsc/Renanrbsc"},"payload":{"push_id":8732432945,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"fd858e1dc14fce379b46e6173bd8c4621cae3d47","before":"0bcd767140d8490689045e5e94cb3c8c21fe508b","commits":[{"sha":"fd858e1dc14fce379b46e6173bd8c4621cae3d47","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Renanrbsc/Renanrbsc/commits/fd858e1dc14fce379b46e6173bd8c4621cae3d47"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395674","type":"PushEvent","actor":{"id":12353597,"login":"lill74","display_login":"lill74","gravatar_id":"","url":"https://api.github.com/users/lill74","avatar_url":"https://avatars.githubusercontent.com/u/12353597?"},"repo":{"id":413095110,"name":"lill74/upptime","url":"https://api.github.com/repos/lill74/upptime"},"payload":{"push_id":8732432946,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"2e438c88e69245bea628e9bf622effcbb6ddde1f","before":"fd42d33e3c19a8010f7bd8396855cbd86c964077","commits":[{"sha":"38d954a32edc5b455f408a620942104fa5b8034e","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/lill74/upptime/commits/38d954a32edc5b455f408a620942104fa5b8034e"},{"sha":"2e438c88e69245bea628e9bf622effcbb6ddde1f","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/lill74/upptime/commits/2e438c88e69245bea628e9bf622effcbb6ddde1f"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395677","type":"PullRequestEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":308753899,"name":"theshadowdev/habiticaold","url":"https://api.github.com/repos/theshadowdev/habiticaold"},"payload":{"action":"opened","number":478,"pull_request":{"url":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478","id":812479581,"node_id":"PR_kwDOEmc1684wbXRd","html_url":"https://github.com/theshadowdev/habiticaold/pull/478","diff_url":"https://github.com/theshadowdev/habiticaold/pull/478.diff","patch_url":"https://github.com/theshadowdev/habiticaold/pull/478.patch","issue_url":"https://api.github.com/repos/theshadowdev/habiticaold/issues/478","number":478,"state":"open","locked":false,"title":"[pull] develop from HabitRPG:develop","user":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"See Commits and Changes for more details.\n\n-----\nCreated by [ **pull[bot]**](https://github.com/wei/pull)\n\n_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_","created_at":"2022-01-01T01:00:00Z","updated_at":"2022-01-01T01:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478/commits","review_comments_url":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478/comments","review_comment_url":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/comments{/number}","comments_url":"https://api.github.com/repos/theshadowdev/habiticaold/issues/478/comments","statuses_url":"https://api.github.com/repos/theshadowdev/habiticaold/statuses/ad268334f37fd278b4fd4afe37eda039017c79e4","head":{"label":"HabitRPG:develop","ref":"develop","sha":"ad268334f37fd278b4fd4afe37eda039017c79e4","user":{"login":"HabitRPG","id":3834775,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MzQ3NzU=","avatar_url":"https://avatars.githubusercontent.com/u/3834775?v=4","gravatar_id":"","url":"https://api.github.com/users/HabitRPG","html_url":"https://github.com/HabitRPG","followers_url":"https://api.github.com/users/HabitRPG/followers","following_url":"https://api.github.com/users/HabitRPG/following{/other_user}","gists_url":"https://api.github.com/users/HabitRPG/gists{/gist_id}","starred_url":"https://api.github.com/users/HabitRPG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HabitRPG/subscriptions","organizations_url":"https://api.github.com/users/HabitRPG/orgs","repos_url":"https://api.github.com/users/HabitRPG/repos","events_url":"https://api.github.com/users/HabitRPG/events{/privacy}","received_events_url":"https://api.github.com/users/HabitRPG/received_events","type":"Organization","site_admin":false},"repo":{"id":4578898,"node_id":"MDEwOlJlcG9zaXRvcnk0NTc4ODk4","name":"habitica","full_name":"HabitRPG/habitica","private":false,"owner":{"login":"HabitRPG","id":3834775,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM4MzQ3NzU=","avatar_url":"https://avatars.githubusercontent.com/u/3834775?v=4","gravatar_id":"","url":"https://api.github.com/users/HabitRPG","html_url":"https://github.com/HabitRPG","followers_url":"https://api.github.com/users/HabitRPG/followers","following_url":"https://api.github.com/users/HabitRPG/following{/other_user}","gists_url":"https://api.github.com/users/HabitRPG/gists{/gist_id}","starred_url":"https://api.github.com/users/HabitRPG/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HabitRPG/subscriptions","organizations_url":"https://api.github.com/users/HabitRPG/orgs","repos_url":"https://api.github.com/users/HabitRPG/repos","events_url":"https://api.github.com/users/HabitRPG/events{/privacy}","received_events_url":"https://api.github.com/users/HabitRPG/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/HabitRPG/habitica","description":"A habit tracker app which treats your goals like a Role Playing Game.","fork":false,"url":"https://api.github.com/repos/HabitRPG/habitica","forks_url":"https://api.github.com/repos/HabitRPG/habitica/forks","keys_url":"https://api.github.com/repos/HabitRPG/habitica/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HabitRPG/habitica/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HabitRPG/habitica/teams","hooks_url":"https://api.github.com/repos/HabitRPG/habitica/hooks","issue_events_url":"https://api.github.com/repos/HabitRPG/habitica/issues/events{/number}","events_url":"https://api.github.com/repos/HabitRPG/habitica/events","assignees_url":"https://api.github.com/repos/HabitRPG/habitica/assignees{/user}","branches_url":"https://api.github.com/repos/HabitRPG/habitica/branches{/branch}","tags_url":"https://api.github.com/repos/HabitRPG/habitica/tags","blobs_url":"https://api.github.com/repos/HabitRPG/habitica/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HabitRPG/habitica/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HabitRPG/habitica/git/refs{/sha}","trees_url":"https://api.github.com/repos/HabitRPG/habitica/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HabitRPG/habitica/statuses/{sha}","languages_url":"https://api.github.com/repos/HabitRPG/habitica/languages","stargazers_url":"https://api.github.com/repos/HabitRPG/habitica/stargazers","contributors_url":"https://api.github.com/repos/HabitRPG/habitica/contributors","subscribers_url":"https://api.github.com/repos/HabitRPG/habitica/subscribers","subscription_url":"https://api.github.com/repos/HabitRPG/habitica/subscription","commits_url":"https://api.github.com/repos/HabitRPG/habitica/commits{/sha}","git_commits_url":"https://api.github.com/repos/HabitRPG/habitica/git/commits{/sha}","comments_url":"https://api.github.com/repos/HabitRPG/habitica/comments{/number}","issue_comment_url":"https://api.github.com/repos/HabitRPG/habitica/issues/comments{/number}","contents_url":"https://api.github.com/repos/HabitRPG/habitica/contents/{+path}","compare_url":"https://api.github.com/repos/HabitRPG/habitica/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HabitRPG/habitica/merges","archive_url":"https://api.github.com/repos/HabitRPG/habitica/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HabitRPG/habitica/downloads","issues_url":"https://api.github.com/repos/HabitRPG/habitica/issues{/number}","pulls_url":"https://api.github.com/repos/HabitRPG/habitica/pulls{/number}","milestones_url":"https://api.github.com/repos/HabitRPG/habitica/milestones{/number}","notifications_url":"https://api.github.com/repos/HabitRPG/habitica/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HabitRPG/habitica/labels{/name}","releases_url":"https://api.github.com/repos/HabitRPG/habitica/releases{/id}","deployments_url":"https://api.github.com/repos/HabitRPG/habitica/deployments","created_at":"2012-06-06T22:49:48Z","updated_at":"2021-12-31T19:24:02Z","pushed_at":"2021-12-31T19:23:58Z","git_url":"git://github.com/HabitRPG/habitica.git","ssh_url":"git@github.com:HabitRPG/habitica.git","clone_url":"https://github.com/HabitRPG/habitica.git","svn_url":"https://github.com/HabitRPG/habitica","homepage":"https://habitica.com","size":1572472,"stargazers_count":8722,"watchers_count":8722,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3384,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":211,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["css","express","habitica","hacktoberfest","html","javascript","mongodb","node","nodejs","vue","vuejs"],"visibility":"public","forks":3384,"open_issues":211,"watchers":8722,"default_branch":"develop"}},"base":{"label":"theshadowdev:develop","ref":"develop","sha":"2fe8e5bf822f8106b171d58359666b4d13a3fd22","user":{"login":"theshadowdev","id":63420405,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYzNDIwNDA1","avatar_url":"https://avatars.githubusercontent.com/u/63420405?v=4","gravatar_id":"","url":"https://api.github.com/users/theshadowdev","html_url":"https://github.com/theshadowdev","followers_url":"https://api.github.com/users/theshadowdev/followers","following_url":"https://api.github.com/users/theshadowdev/following{/other_user}","gists_url":"https://api.github.com/users/theshadowdev/gists{/gist_id}","starred_url":"https://api.github.com/users/theshadowdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theshadowdev/subscriptions","organizations_url":"https://api.github.com/users/theshadowdev/orgs","repos_url":"https://api.github.com/users/theshadowdev/repos","events_url":"https://api.github.com/users/theshadowdev/events{/privacy}","received_events_url":"https://api.github.com/users/theshadowdev/received_events","type":"Organization","site_admin":false},"repo":{"id":308753899,"node_id":"MDEwOlJlcG9zaXRvcnkzMDg3NTM4OTk=","name":"habiticaold","full_name":"theshadowdev/habiticaold","private":false,"owner":{"login":"theshadowdev","id":63420405,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYzNDIwNDA1","avatar_url":"https://avatars.githubusercontent.com/u/63420405?v=4","gravatar_id":"","url":"https://api.github.com/users/theshadowdev","html_url":"https://github.com/theshadowdev","followers_url":"https://api.github.com/users/theshadowdev/followers","following_url":"https://api.github.com/users/theshadowdev/following{/other_user}","gists_url":"https://api.github.com/users/theshadowdev/gists{/gist_id}","starred_url":"https://api.github.com/users/theshadowdev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theshadowdev/subscriptions","organizations_url":"https://api.github.com/users/theshadowdev/orgs","repos_url":"https://api.github.com/users/theshadowdev/repos","events_url":"https://api.github.com/users/theshadowdev/events{/privacy}","received_events_url":"https://api.github.com/users/theshadowdev/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/theshadowdev/habiticaold","description":"A habit tracker app which treats your goals like a Role Playing Game.","fork":true,"url":"https://api.github.com/repos/theshadowdev/habiticaold","forks_url":"https://api.github.com/repos/theshadowdev/habiticaold/forks","keys_url":"https://api.github.com/repos/theshadowdev/habiticaold/keys{/key_id}","collaborators_url":"https://api.github.com/repos/theshadowdev/habiticaold/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/theshadowdev/habiticaold/teams","hooks_url":"https://api.github.com/repos/theshadowdev/habiticaold/hooks","issue_events_url":"https://api.github.com/repos/theshadowdev/habiticaold/issues/events{/number}","events_url":"https://api.github.com/repos/theshadowdev/habiticaold/events","assignees_url":"https://api.github.com/repos/theshadowdev/habiticaold/assignees{/user}","branches_url":"https://api.github.com/repos/theshadowdev/habiticaold/branches{/branch}","tags_url":"https://api.github.com/repos/theshadowdev/habiticaold/tags","blobs_url":"https://api.github.com/repos/theshadowdev/habiticaold/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/theshadowdev/habiticaold/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/theshadowdev/habiticaold/git/refs{/sha}","trees_url":"https://api.github.com/repos/theshadowdev/habiticaold/git/trees{/sha}","statuses_url":"https://api.github.com/repos/theshadowdev/habiticaold/statuses/{sha}","languages_url":"https://api.github.com/repos/theshadowdev/habiticaold/languages","stargazers_url":"https://api.github.com/repos/theshadowdev/habiticaold/stargazers","contributors_url":"https://api.github.com/repos/theshadowdev/habiticaold/contributors","subscribers_url":"https://api.github.com/repos/theshadowdev/habiticaold/subscribers","subscription_url":"https://api.github.com/repos/theshadowdev/habiticaold/subscription","commits_url":"https://api.github.com/repos/theshadowdev/habiticaold/commits{/sha}","git_commits_url":"https://api.github.com/repos/theshadowdev/habiticaold/git/commits{/sha}","comments_url":"https://api.github.com/repos/theshadowdev/habiticaold/comments{/number}","issue_comment_url":"https://api.github.com/repos/theshadowdev/habiticaold/issues/comments{/number}","contents_url":"https://api.github.com/repos/theshadowdev/habiticaold/contents/{+path}","compare_url":"https://api.github.com/repos/theshadowdev/habiticaold/compare/{base}...{head}","merges_url":"https://api.github.com/repos/theshadowdev/habiticaold/merges","archive_url":"https://api.github.com/repos/theshadowdev/habiticaold/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/theshadowdev/habiticaold/downloads","issues_url":"https://api.github.com/repos/theshadowdev/habiticaold/issues{/number}","pulls_url":"https://api.github.com/repos/theshadowdev/habiticaold/pulls{/number}","milestones_url":"https://api.github.com/repos/theshadowdev/habiticaold/milestones{/number}","notifications_url":"https://api.github.com/repos/theshadowdev/habiticaold/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/theshadowdev/habiticaold/labels{/name}","releases_url":"https://api.github.com/repos/theshadowdev/habiticaold/releases{/id}","deployments_url":"https://api.github.com/repos/theshadowdev/habiticaold/deployments","created_at":"2020-10-30T22:07:20Z","updated_at":"2021-12-31T01:00:21Z","pushed_at":"2022-01-01T01:00:01Z","git_url":"git://github.com/theshadowdev/habiticaold.git","ssh_url":"git@github.com:theshadowdev/habiticaold.git","clone_url":"https://github.com/theshadowdev/habiticaold.git","svn_url":"https://github.com/theshadowdev/habiticaold","homepage":"https://habitica.com","size":1584449,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":20,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":20,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478"},"html":{"href":"https://github.com/theshadowdev/habiticaold/pull/478"},"issue":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/issues/478"},"comments":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/issues/478/comments"},"review_comments":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478/comments"},"review_comment":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/pulls/478/commits"},"statuses":{"href":"https://api.github.com/repos/theshadowdev/habiticaold/statuses/ad268334f37fd278b4fd4afe37eda039017c79e4"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":2,"additions":242,"deletions":260,"changed_files":7}},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":63420405,"login":"theshadowdev","gravatar_id":"","url":"https://api.github.com/orgs/theshadowdev","avatar_url":"https://avatars.githubusercontent.com/u/63420405?"}} +{"id":"19541395678","type":"PushEvent","actor":{"id":96324875,"login":"hackernews-archive","display_login":"hackernews-archive","gravatar_id":"","url":"https://api.github.com/users/hackernews-archive","avatar_url":"https://avatars.githubusercontent.com/u/96324875?"},"repo":{"id":439517659,"name":"hackernews-archive/hackernews-top-stories","url":"https://api.github.com/repos/hackernews-archive/hackernews-top-stories"},"payload":{"push_id":8732432952,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7e23bbd49e2ee7e26af1e991ba93de4edc0ad60e","before":"94db23a3c549834472e207388abc7b0b12709127","commits":[{"sha":"7e23bbd49e2ee7e26af1e991ba93de4edc0ad60e","author":{"email":"96324875+hackernews-archive@users.noreply.github.com","name":"hackernews-archive"},"message":"Hacker news top stories archive: Sat, 01 Jan 2022 01:00:00 GMT","distinct":true,"url":"https://api.github.com/repos/hackernews-archive/hackernews-top-stories/commits/7e23bbd49e2ee7e26af1e991ba93de4edc0ad60e"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395679","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":432448173,"name":"znyt/oss70","url":"https://api.github.com/repos/znyt/oss70"},"payload":{"push_id":8732432949,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"a54ddeb48d5ae74a1dc58f6c499498338ff6eb8f","before":"479a5bf4ec89f410b1af188ba5d4ac5221e00a70","commits":[{"sha":"a54ddeb48d5ae74a1dc58f6c499498338ff6eb8f","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss70/commits/a54ddeb48d5ae74a1dc58f6c499498338ff6eb8f"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395683","type":"PushEvent","actor":{"id":860434,"login":"lopopolo","display_login":"lopopolo","gravatar_id":"","url":"https://api.github.com/users/lopopolo","avatar_url":"https://avatars.githubusercontent.com/u/860434?"},"repo":{"id":199196552,"name":"artichoke/artichoke","url":"https://api.github.com/repos/artichoke/artichoke"},"payload":{"push_id":8732432951,"size":4,"distinct_size":4,"ref":"refs/heads/trunk","head":"8357a00225a8ca5913a4edf2a166cd7efee6fad3","before":"1a16d5c5ba71223328ed61141997716609bd52a6","commits":[{"sha":"67902a0584872224fd095893f53c08d594767937","author":{"email":"nayben@gmail.com","name":"Ben Naylor"},"message":"Add tests for make_uppercase/make_lowercase","distinct":true,"url":"https://api.github.com/repos/artichoke/artichoke/commits/67902a0584872224fd095893f53c08d594767937"},{"sha":"ed5c9ee187a50f6b28f692b36bde2a91dbf2b9fa","author":{"email":"nayben@gmail.com","name":"Ben Naylor"},"message":"Adding lowercase and uppercase test to the rest of the string types","distinct":true,"url":"https://api.github.com/repos/artichoke/artichoke/commits/ed5c9ee187a50f6b28f692b36bde2a91dbf2b9fa"},{"sha":"e54c1b596210da079ae471f78d6a5a8853fcd88a","author":{"email":"nayben@gmail.com","name":"Ben Naylor"},"message":"Assert per condition instead of assert in loop (easier to debug)","distinct":true,"url":"https://api.github.com/repos/artichoke/artichoke/commits/e54c1b596210da079ae471f78d6a5a8853fcd88a"},{"sha":"8357a00225a8ca5913a4edf2a166cd7efee6fad3","author":{"email":"rjl@hyperbo.la","name":"Ryan Lopopolo"},"message":"Merge pull request #1619 from b-n/add-casing-tests\n\nAdd casing tests","distinct":true,"url":"https://api.github.com/repos/artichoke/artichoke/commits/8357a00225a8ca5913a4edf2a166cd7efee6fad3"}]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":52906958,"login":"artichoke","gravatar_id":"","url":"https://api.github.com/orgs/artichoke","avatar_url":"https://avatars.githubusercontent.com/u/52906958?"}} +{"id":"19541395684","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":86929735,"name":"Lombiq/Orchard","url":"https://api.github.com/repos/Lombiq/Orchard"},"payload":{"push_id":8732432950,"size":0,"distinct_size":0,"ref":"refs/heads/tests/nunit-azure","head":"4a5a5a3b0b6b2d9012d14bb016bc68c99c0747f2","before":"4a5a5a3b0b6b2d9012d14bb016bc68c99c0747f2","commits":[]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395685","type":"IssueCommentEvent","actor":{"id":69946302,"login":"open-digger-bot[bot]","display_login":"open-digger-bot","gravatar_id":"","url":"https://api.github.com/users/open-digger-bot[bot]","avatar_url":"https://avatars.githubusercontent.com/u/69946302?"},"repo":{"id":343095956,"name":"X-lab2017/OSSDevGov2021","url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120","repository_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021","labels_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120/comments","events_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120/events","html_url":"https://github.com/X-lab2017/OSSDevGov2021/issues/120","id":1090843834,"node_id":"I_kwDOFHM6lM5BBPS6","number":120,"title":"Do you have online course?","user":{"login":"dengn","id":4965857,"node_id":"MDQ6VXNlcjQ5NjU4NTc=","avatar_url":"https://avatars.githubusercontent.com/u/4965857?v=4","gravatar_id":"","url":"https://api.github.com/users/dengn","html_url":"https://github.com/dengn","followers_url":"https://api.github.com/users/dengn/followers","following_url":"https://api.github.com/users/dengn/following{/other_user}","gists_url":"https://api.github.com/users/dengn/gists{/gist_id}","starred_url":"https://api.github.com/users/dengn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dengn/subscriptions","organizations_url":"https://api.github.com/users/dengn/orgs","repos_url":"https://api.github.com/users/dengn/repos","events_url":"https://api.github.com/users/dengn/events{/privacy}","received_events_url":"https://api.github.com/users/dengn/received_events","type":"User","site_admin":false},"labels":[{"id":2906664744,"node_id":"MDU6TGFiZWwyOTA2NjY0NzQ0","url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false,"description":"Category issues or prs related to feature request."}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-12-30T02:56:47Z","updated_at":"2022-01-01T01:00:01Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"## What would you like to be added\r\n\r\n## Why is this needed\r\nThis course seems to be very interesting and helpful, where can I find a recorded version online?","reactions":{"url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/comments/1003476343","html_url":"https://github.com/X-lab2017/OSSDevGov2021/issues/120#issuecomment-1003476343","issue_url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/120","id":1003476343,"node_id":"IC_kwDOFHM6lM47z9V3","user":{"login":"open-digger-bot[bot]","id":69946302,"node_id":"MDM6Qm90Njk5NDYzMDI=","avatar_url":"https://avatars.githubusercontent.com/in/77603?v=4","gravatar_id":"","url":"https://api.github.com/users/open-digger-bot%5Bbot%5D","html_url":"https://github.com/apps/open-digger-bot","followers_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/followers","following_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/repos","events_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/open-digger-bot%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-01T01:00:01Z","updated_at":"2022-01-01T01:00:01Z","author_association":"NONE","body":"This issue has not been replied for 24 hours, please pay attention to this issue: @sunshinemingo @xiaoya-Esther @birdflyi ","reactions":{"url":"https://api.github.com/repos/X-lab2017/OSSDevGov2021/issues/comments/1003476343/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":49427213,"login":"X-lab2017","gravatar_id":"","url":"https://api.github.com/orgs/X-lab2017","avatar_url":"https://avatars.githubusercontent.com/u/49427213?"}} +{"id":"19541395686","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":414445479,"name":"SwethaVipparla/github-stats","url":"https://api.github.com/repos/SwethaVipparla/github-stats"},"payload":{"push_id":8732432954,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8df7b3cbe353be4601b6992c58f8779c02a1a8f0","before":"7dc7fdd455203e752acf161c77dcd8a3198881dc","commits":[{"sha":"8df7b3cbe353be4601b6992c58f8779c02a1a8f0","author":{"email":"github-stats[bot]@jstrieb.github.io","name":"jstrieb/github-stats"},"message":"Update generated files","distinct":true,"url":"https://api.github.com/repos/SwethaVipparla/github-stats/commits/8df7b3cbe353be4601b6992c58f8779c02a1a8f0"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395690","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":344197106,"name":"spielers/hostics","url":"https://api.github.com/repos/spielers/hostics"},"payload":{"push_id":8732432961,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"fabc64ed1640a91ca05cee185ebfbc088578f1d3","before":"f667dbc07889fa38387ac88d271a23585dff8880","commits":[{"sha":"fabc64ed1640a91ca05cee185ebfbc088578f1d3","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":"🟩 Gamitics is up (200 in 521 ms) [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/spielers/hostics/commits/fabc64ed1640a91ca05cee185ebfbc088578f1d3"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395692","type":"ForkEvent","actor":{"id":62222753,"login":"DeadPyton","display_login":"DeadPyton","gravatar_id":"","url":"https://api.github.com/users/DeadPyton","avatar_url":"https://avatars.githubusercontent.com/u/62222753?"},"repo":{"id":348191479,"name":"rafaballerini/rafaballerini","url":"https://api.github.com/repos/rafaballerini/rafaballerini"},"payload":{"forkee":{"id":443449216,"node_id":"R_kgDOGm5_gA","name":"rafaballerini","full_name":"DeadPyton/rafaballerini","private":false,"owner":{"login":"DeadPyton","id":62222753,"node_id":"MDQ6VXNlcjYyMjIyNzUz","avatar_url":"https://avatars.githubusercontent.com/u/62222753?v=4","gravatar_id":"","url":"https://api.github.com/users/DeadPyton","html_url":"https://github.com/DeadPyton","followers_url":"https://api.github.com/users/DeadPyton/followers","following_url":"https://api.github.com/users/DeadPyton/following{/other_user}","gists_url":"https://api.github.com/users/DeadPyton/gists{/gist_id}","starred_url":"https://api.github.com/users/DeadPyton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DeadPyton/subscriptions","organizations_url":"https://api.github.com/users/DeadPyton/orgs","repos_url":"https://api.github.com/users/DeadPyton/repos","events_url":"https://api.github.com/users/DeadPyton/events{/privacy}","received_events_url":"https://api.github.com/users/DeadPyton/received_events","type":"User","site_admin":false},"html_url":"https://github.com/DeadPyton/rafaballerini","description":null,"fork":true,"url":"https://api.github.com/repos/DeadPyton/rafaballerini","forks_url":"https://api.github.com/repos/DeadPyton/rafaballerini/forks","keys_url":"https://api.github.com/repos/DeadPyton/rafaballerini/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DeadPyton/rafaballerini/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DeadPyton/rafaballerini/teams","hooks_url":"https://api.github.com/repos/DeadPyton/rafaballerini/hooks","issue_events_url":"https://api.github.com/repos/DeadPyton/rafaballerini/issues/events{/number}","events_url":"https://api.github.com/repos/DeadPyton/rafaballerini/events","assignees_url":"https://api.github.com/repos/DeadPyton/rafaballerini/assignees{/user}","branches_url":"https://api.github.com/repos/DeadPyton/rafaballerini/branches{/branch}","tags_url":"https://api.github.com/repos/DeadPyton/rafaballerini/tags","blobs_url":"https://api.github.com/repos/DeadPyton/rafaballerini/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DeadPyton/rafaballerini/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DeadPyton/rafaballerini/git/refs{/sha}","trees_url":"https://api.github.com/repos/DeadPyton/rafaballerini/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DeadPyton/rafaballerini/statuses/{sha}","languages_url":"https://api.github.com/repos/DeadPyton/rafaballerini/languages","stargazers_url":"https://api.github.com/repos/DeadPyton/rafaballerini/stargazers","contributors_url":"https://api.github.com/repos/DeadPyton/rafaballerini/contributors","subscribers_url":"https://api.github.com/repos/DeadPyton/rafaballerini/subscribers","subscription_url":"https://api.github.com/repos/DeadPyton/rafaballerini/subscription","commits_url":"https://api.github.com/repos/DeadPyton/rafaballerini/commits{/sha}","git_commits_url":"https://api.github.com/repos/DeadPyton/rafaballerini/git/commits{/sha}","comments_url":"https://api.github.com/repos/DeadPyton/rafaballerini/comments{/number}","issue_comment_url":"https://api.github.com/repos/DeadPyton/rafaballerini/issues/comments{/number}","contents_url":"https://api.github.com/repos/DeadPyton/rafaballerini/contents/{+path}","compare_url":"https://api.github.com/repos/DeadPyton/rafaballerini/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DeadPyton/rafaballerini/merges","archive_url":"https://api.github.com/repos/DeadPyton/rafaballerini/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DeadPyton/rafaballerini/downloads","issues_url":"https://api.github.com/repos/DeadPyton/rafaballerini/issues{/number}","pulls_url":"https://api.github.com/repos/DeadPyton/rafaballerini/pulls{/number}","milestones_url":"https://api.github.com/repos/DeadPyton/rafaballerini/milestones{/number}","notifications_url":"https://api.github.com/repos/DeadPyton/rafaballerini/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DeadPyton/rafaballerini/labels{/name}","releases_url":"https://api.github.com/repos/DeadPyton/rafaballerini/releases{/id}","deployments_url":"https://api.github.com/repos/DeadPyton/rafaballerini/deployments","created_at":"2022-01-01T01:00:01Z","updated_at":"2021-12-31T19:20:49Z","pushed_at":"2022-01-01T00:20:57Z","git_url":"git://github.com/DeadPyton/rafaballerini.git","ssh_url":"git@github.com:DeadPyton/rafaballerini.git","clone_url":"https://github.com/DeadPyton/rafaballerini.git","svn_url":"https://github.com/DeadPyton/rafaballerini","homepage":"","size":68,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395694","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732432958,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bc46227fc4d07fc756a191e758505f9e37085af1","before":"3d527c7fbfe5ecb76ade2ad36bdf847b984b9270","commits":[{"sha":"bc46227fc4d07fc756a191e758505f9e37085af1","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update 442749_3.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/bc46227fc4d07fc756a191e758505f9e37085af1"}]},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395695","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732432962,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-431","head":"ac67e914a133dc8fd4bdfae17b3c8ea01e3ae3ba","before":"ac67e914a133dc8fd4bdfae17b3c8ea01e3ae3ba","commits":[]},"public":true,"created_at":"2022-01-01T01:00:01Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395715","type":"PullRequestReviewCommentEvent","actor":{"id":16012374,"login":"Finii","display_login":"Finii","gravatar_id":"","url":"https://api.github.com/users/Finii","avatar_url":"https://avatars.githubusercontent.com/u/16012374?"},"repo":{"id":27574418,"name":"ryanoasis/nerd-fonts","url":"https://api.github.com/repos/ryanoasis/nerd-fonts"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments/777070040","pull_request_review_id":842310484,"id":777070040,"node_id":"PRRC_kwDOAaTAks4uUSXY","diff_hunk":"@@ -770,10 +793,12 @@ class font_patcher:\n # Currently stretching vertically for both monospace and double-width\n scale_ratio_y = self.font_dim['height'] / sym_dim['height']\n \n+ overlap = sym_attr['params']['overlap'] if 'overlap' in sym_attr['params'] else 0","path":"font-patcher","position":null,"original_position":101,"commit_id":"e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","original_commit_id":"ed0e270cb2a1d9986264afc8168bdc7240d75abb","user":{"login":"Finii","id":16012374,"node_id":"MDQ6VXNlcjE2MDEyMzc0","avatar_url":"https://avatars.githubusercontent.com/u/16012374?v=4","gravatar_id":"","url":"https://api.github.com/users/Finii","html_url":"https://github.com/Finii","followers_url":"https://api.github.com/users/Finii/followers","following_url":"https://api.github.com/users/Finii/following{/other_user}","gists_url":"https://api.github.com/users/Finii/gists{/gist_id}","starred_url":"https://api.github.com/users/Finii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Finii/subscriptions","organizations_url":"https://api.github.com/users/Finii/orgs","repos_url":"https://api.github.com/users/Finii/repos","events_url":"https://api.github.com/users/Finii/events{/privacy}","received_events_url":"https://api.github.com/users/Finii/received_events","type":"User","site_admin":false},"body":"Changed.\r\n\r\nThis comes from my usual style that a work as much with `const` stuff as possible, and then you need to assign the thing you want and can not use an `if` structure like this.\r\nPython is no language I use often.","created_at":"2022-01-01T01:00:01Z","updated_at":"2022-01-01T01:00:01Z","html_url":"https://github.com/ryanoasis/nerd-fonts/pull/732#discussion_r777070040","pull_request_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments/777070040"},"html":{"href":"https://github.com/ryanoasis/nerd-fonts/pull/732#discussion_r777070040"},"pull_request":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732"}},"reactions":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments/777070040/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":null,"original_line":796,"side":"RIGHT","in_reply_to_id":777062562},"pull_request":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732","id":808294026,"node_id":"PR_kwDOAaTAks4wLZaK","html_url":"https://github.com/ryanoasis/nerd-fonts/pull/732","diff_url":"https://github.com/ryanoasis/nerd-fonts/pull/732.diff","patch_url":"https://github.com/ryanoasis/nerd-fonts/pull/732.patch","issue_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732","number":732,"state":"open","locked":false,"title":"Bugfix monospaced glyph scaling","user":{"login":"Finii","id":16012374,"node_id":"MDQ6VXNlcjE2MDEyMzc0","avatar_url":"https://avatars.githubusercontent.com/u/16012374?v=4","gravatar_id":"","url":"https://api.github.com/users/Finii","html_url":"https://github.com/Finii","followers_url":"https://api.github.com/users/Finii/followers","following_url":"https://api.github.com/users/Finii/following{/other_user}","gists_url":"https://api.github.com/users/Finii/gists{/gist_id}","starred_url":"https://api.github.com/users/Finii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Finii/subscriptions","organizations_url":"https://api.github.com/users/Finii/orgs","repos_url":"https://api.github.com/users/Finii/repos","events_url":"https://api.github.com/users/Finii/events{/privacy}","received_events_url":"https://api.github.com/users/Finii/received_events","type":"User","site_admin":false},"body":"#### Description\r\n\r\nEven when patched for Monospace (with `-mono`) fonts have a hard time to be recognized as monospaced font sometimes.\r\n\r\n#### Requirements / Checklist\r\n\r\n- [x] Read the [Contributing Guidelines](https://github.com/ryanoasis/nerd-fonts/blob/master/contributing.md)\r\n- [x] Verified the license of any newly added font, glyph, or glyph set\r\n\r\n#### What does this Pull Request (PR) do?\r\n\r\nThe first commit just adds a warning mechanism, that shows us when an inserted glyph is not scaled in the expected way. Where expected means: Fits into the normal font width. We do not patch doublewidth glyphs in, jet (afaik).\r\n\r\nThen the scaling mechanism (`ScaleGlyph`) is expanded to handle more complex situations and do so automatically.\r\n\r\nThis new mechanism is than used for the _Font Awesome_ glyphs.\r\n\r\nWith just the first commit you can see the extend of the problem. Only Font Awesome is affected:\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/147078396-3c0bff1e-d42a-4e15-92a9-68a2b046a79c.png)\r\n\r\n\r\n#### How should this be manually tested?\r\n* Patch a font that is not recognized as monospaced by some applications (like Gnome Terminal, Windows CMD, ...) and see if it is afterwards recognized.\r\n* Check glyphs from `FONTA_SCALE_LIST` in `fontforge` for example, if they scale to a reasonable size. They will be smaller then before, which is the goal of this, but people might notice.\r\n* Check font metadata, for example with\r\n * `ttfdump FontName.ttf | grep 'advanceWidthMax|xAvgCharWidth'`\r\n * `showttf FontName.ttf | grep 'advanceWidthMax|avgWidth'`\r\n\r\nKeep in mind that this is just relevant for 'Nerd Font Mono' fonts, i.e. patched with `-mono`. Without the parameter the behavior of `font-patcher` is not changed.\r\n\r\n#### Any background context you can provide?\r\nBottom of #695, for example https://github.com/ryanoasis/nerd-fonts/pull/695#issuecomment-997337500\r\n\r\nInstead of taking ONE 'main glyph' that rules the scaling of all the special glyphs, we form groups of glyphs that have to be scaled together. Like all the selected (blue) glyphs here, but as individual groups:\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/146665991-d822cbb8-d356-4c5a-a75c-05fb912444a7.png)\r\n\r\nThe combined bounding box of the group is determined (like when all glyphs in the group are stamped on top of each other and then the bounding box is found), and all members of the group are scaled such that the combined bounding box is maximized to the allowed limits.\r\n\r\nFor example the group of four arrows (in line 5) is scaled together, but independently to all other glyphs.\r\n\r\nHere an example that shows how Font Awesome is ... ~buggy~ strange, the selected (blue) glyphs are clearly too big for the font itself, that does maintain good glyph size consistency otherwise.\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/147082322-f41e6e58-64cb-4f5b-891f-499a03b569bb.png)\r\n\r\n#### What are the relevant tickets (if any)?\r\nFor example #703 (part of)\r\n\r\n#### Screenshots (if appropriate or helpful)\r\n","created_at":"2021-12-22T10:59:44Z","updated_at":"2022-01-01T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5bd4c0ebca9b7e4fcd8b4f9fa181e4ff931291f5","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2900985588,"node_id":"MDU6TGFiZWwyOTAwOTg1NTg4","url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels/Bug%20fix","name":"Bug fix","color":"E6250C","default":false,"description":""}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/commits","review_comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/comments","review_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732/comments","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","head":{"label":"ryanoasis:bugfix/monospaced-glyph-scaling","ref":"bugfix/monospaced-glyph-scaling","sha":"e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","user":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"repo":{"id":27574418,"node_id":"MDEwOlJlcG9zaXRvcnkyNzU3NDQxOA==","name":"nerd-fonts","full_name":"ryanoasis/nerd-fonts","private":false,"owner":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryanoasis/nerd-fonts","description":"Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more","fork":false,"url":"https://api.github.com/repos/ryanoasis/nerd-fonts","forks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/forks","keys_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/events","assignees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/merges","archive_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/deployments","created_at":"2014-12-05T04:31:17Z","updated_at":"2022-01-01T00:28:57Z","pushed_at":"2022-01-01T00:53:25Z","git_url":"git://github.com/ryanoasis/nerd-fonts.git","ssh_url":"git@github.com:ryanoasis/nerd-fonts.git","clone_url":"https://github.com/ryanoasis/nerd-fonts.git","svn_url":"https://github.com/ryanoasis/nerd-fonts","homepage":"https://NerdFonts.com","size":6920990,"stargazers_count":32072,"watchers_count":32072,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2492,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["font","font-awesome","fonts","icon-font","iconic-fonts","octicons","patched-fonts","patcher","powerline","python","shell","statusline"],"visibility":"public","forks":2492,"open_issues":227,"watchers":32072,"default_branch":"master"}},"base":{"label":"ryanoasis:master","ref":"master","sha":"de13c66797af45042b873439528b7e2e936bfaa3","user":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"repo":{"id":27574418,"node_id":"MDEwOlJlcG9zaXRvcnkyNzU3NDQxOA==","name":"nerd-fonts","full_name":"ryanoasis/nerd-fonts","private":false,"owner":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryanoasis/nerd-fonts","description":"Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more","fork":false,"url":"https://api.github.com/repos/ryanoasis/nerd-fonts","forks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/forks","keys_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/events","assignees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/merges","archive_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/deployments","created_at":"2014-12-05T04:31:17Z","updated_at":"2022-01-01T00:28:57Z","pushed_at":"2022-01-01T00:53:25Z","git_url":"git://github.com/ryanoasis/nerd-fonts.git","ssh_url":"git@github.com:ryanoasis/nerd-fonts.git","clone_url":"https://github.com/ryanoasis/nerd-fonts.git","svn_url":"https://github.com/ryanoasis/nerd-fonts","homepage":"https://NerdFonts.com","size":6920990,"stargazers_count":32072,"watchers_count":32072,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2492,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["font","font-awesome","fonts","icon-font","iconic-fonts","octicons","patched-fonts","patcher","powerline","python","shell","statusline"],"visibility":"public","forks":2492,"open_issues":227,"watchers":32072,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732"},"html":{"href":"https://github.com/ryanoasis/nerd-fonts/pull/732"},"issue":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732"},"comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732/comments"},"review_comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/comments"},"review_comment":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/commits"},"statuses":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/e805b87997bf7dbe3d99fc3582e246d8c9cb4dda"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:01Z"} +{"id":"19541395697","type":"PushEvent","actor":{"id":96603937,"login":"gdfg22","display_login":"gdfg22","gravatar_id":"","url":"https://api.github.com/users/gdfg22","avatar_url":"https://avatars.githubusercontent.com/u/96603937?"},"repo":{"id":443425724,"name":"gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f","url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f"},"payload":{"push_id":8732432965,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"79624aedb591e174b015db40911370a38db19e89","before":"fe30b03612ff80ea1298416fcf352384bc9ad28b","commits":[{"sha":"79624aedb591e174b015db40911370a38db19e89","author":{"email":"96603937+gdfg22@users.noreply.github.com","name":"gdfg22"},"message":"upload file 17cae3b61bf3eb936be213fd7441c2dd58deb41e53a0fed358b3dc29a7e91242789ac8d0f5ce1ba22993a005953c9377video_28_0_2356528.ts","distinct":true,"url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f/commits/79624aedb591e174b015db40911370a38db19e89"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395699","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431507377,"name":"znyt/oss15","url":"https://api.github.com/repos/znyt/oss15"},"payload":{"push_id":8732432960,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"72847b61b10cdf8d343894bcbbf21cf3fb5ab674","before":"d5d88389072d09e5b86febec06a6c6bf589dab69","commits":[{"sha":"72847b61b10cdf8d343894bcbbf21cf3fb5ab674","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss15/commits/72847b61b10cdf8d343894bcbbf21cf3fb5ab674"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395700","type":"IssueCommentEvent","actor":{"id":5970131,"login":"matthew-white","display_login":"matthew-white","gravatar_id":"","url":"https://api.github.com/users/matthew-white","avatar_url":"https://avatars.githubusercontent.com/u/5970131?"},"repo":{"id":103710382,"name":"getodk/central-backend","url":"https://api.github.com/repos/getodk/central-backend"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/getodk/central-backend/issues/391","repository_url":"https://api.github.com/repos/getodk/central-backend","labels_url":"https://api.github.com/repos/getodk/central-backend/issues/391/labels{/name}","comments_url":"https://api.github.com/repos/getodk/central-backend/issues/391/comments","events_url":"https://api.github.com/repos/getodk/central-backend/issues/391/events","html_url":"https://github.com/getodk/central-backend/issues/391","id":962145048,"node_id":"MDU6SXNzdWU5NjIxNDUwNDg=","number":391,"title":"Add ability to filter OData subtables","user":{"login":"matthew-white","id":5970131,"node_id":"MDQ6VXNlcjU5NzAxMzE=","avatar_url":"https://avatars.githubusercontent.com/u/5970131?v=4","gravatar_id":"","url":"https://api.github.com/users/matthew-white","html_url":"https://github.com/matthew-white","followers_url":"https://api.github.com/users/matthew-white/followers","following_url":"https://api.github.com/users/matthew-white/following{/other_user}","gists_url":"https://api.github.com/users/matthew-white/gists{/gist_id}","starred_url":"https://api.github.com/users/matthew-white/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthew-white/subscriptions","organizations_url":"https://api.github.com/users/matthew-white/orgs","repos_url":"https://api.github.com/users/matthew-white/repos","events_url":"https://api.github.com/users/matthew-white/events{/privacy}","received_events_url":"https://api.github.com/users/matthew-white/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2021-08-05T19:48:59Z","updated_at":"2022-01-01T01:00:01Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"Filing an issue in relation to this forum post by @mathieubossaert: https://forum.getodk.org/t/propagate-submission-date-to-child-tables/34349\r\n\r\nRight now it's possible to filter the primary OData table using the `$filter` query parameter. However, it's not possible to filter subtables:\r\n\r\nhttps://github.com/getodk/central-backend/blob/f16636d69e4c9869debe43b2ab8f73b3543d9929/lib/util/db.js#L235-L245\r\n\r\nWhat's the best way in OData to enable subtable filtering? In terms of OData syntax, is a subtable allowed to reference fields in the primary table?","reactions":{"url":"https://api.github.com/repos/getodk/central-backend/issues/391/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/getodk/central-backend/issues/391/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/getodk/central-backend/issues/comments/1003476344","html_url":"https://github.com/getodk/central-backend/issues/391#issuecomment-1003476344","issue_url":"https://api.github.com/repos/getodk/central-backend/issues/391","id":1003476344,"node_id":"IC_kwDOBi5-rs47z9V4","user":{"login":"matthew-white","id":5970131,"node_id":"MDQ6VXNlcjU5NzAxMzE=","avatar_url":"https://avatars.githubusercontent.com/u/5970131?v=4","gravatar_id":"","url":"https://api.github.com/users/matthew-white","html_url":"https://github.com/matthew-white","followers_url":"https://api.github.com/users/matthew-white/followers","following_url":"https://api.github.com/users/matthew-white/following{/other_user}","gists_url":"https://api.github.com/users/matthew-white/gists{/gist_id}","starred_url":"https://api.github.com/users/matthew-white/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthew-white/subscriptions","organizations_url":"https://api.github.com/users/matthew-white/orgs","repos_url":"https://api.github.com/users/matthew-white/repos","events_url":"https://api.github.com/users/matthew-white/events{/privacy}","received_events_url":"https://api.github.com/users/matthew-white/received_events","type":"User","site_admin":false},"created_at":"2022-01-01T01:00:01Z","updated_at":"2022-01-01T01:00:01Z","author_association":"MEMBER","body":"Linking to a new forum topic about filtering subtables: https://forum.getodk.org/t/using-filter-with-repeat-tables-to-download-odata/36245","reactions":{"url":"https://api.github.com/repos/getodk/central-backend/issues/comments/1003476344/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:02Z","org":{"id":6222985,"login":"getodk","gravatar_id":"","url":"https://api.github.com/orgs/getodk","avatar_url":"https://avatars.githubusercontent.com/u/6222985?"}} +{"id":"19541395702","type":"PullRequestReviewEvent","actor":{"id":16012374,"login":"Finii","display_login":"Finii","gravatar_id":"","url":"https://api.github.com/users/Finii","avatar_url":"https://avatars.githubusercontent.com/u/16012374?"},"repo":{"id":27574418,"name":"ryanoasis/nerd-fonts","url":"https://api.github.com/repos/ryanoasis/nerd-fonts"},"payload":{"action":"created","review":{"id":842310484,"node_id":"PRR_kwDOAaTAks4yNKNU","user":{"login":"Finii","id":16012374,"node_id":"MDQ6VXNlcjE2MDEyMzc0","avatar_url":"https://avatars.githubusercontent.com/u/16012374?v=4","gravatar_id":"","url":"https://api.github.com/users/Finii","html_url":"https://github.com/Finii","followers_url":"https://api.github.com/users/Finii/followers","following_url":"https://api.github.com/users/Finii/following{/other_user}","gists_url":"https://api.github.com/users/Finii/gists{/gist_id}","starred_url":"https://api.github.com/users/Finii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Finii/subscriptions","organizations_url":"https://api.github.com/users/Finii/orgs","repos_url":"https://api.github.com/users/Finii/repos","events_url":"https://api.github.com/users/Finii/events{/privacy}","received_events_url":"https://api.github.com/users/Finii/received_events","type":"User","site_admin":false},"body":null,"commit_id":"e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","submitted_at":"2022-01-01T01:00:01Z","state":"commented","html_url":"https://github.com/ryanoasis/nerd-fonts/pull/732#pullrequestreview-842310484","pull_request_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732","author_association":"COLLABORATOR","_links":{"html":{"href":"https://github.com/ryanoasis/nerd-fonts/pull/732#pullrequestreview-842310484"},"pull_request":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732"}}},"pull_request":{"url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732","id":808294026,"node_id":"PR_kwDOAaTAks4wLZaK","html_url":"https://github.com/ryanoasis/nerd-fonts/pull/732","diff_url":"https://github.com/ryanoasis/nerd-fonts/pull/732.diff","patch_url":"https://github.com/ryanoasis/nerd-fonts/pull/732.patch","issue_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732","number":732,"state":"open","locked":false,"title":"Bugfix monospaced glyph scaling","user":{"login":"Finii","id":16012374,"node_id":"MDQ6VXNlcjE2MDEyMzc0","avatar_url":"https://avatars.githubusercontent.com/u/16012374?v=4","gravatar_id":"","url":"https://api.github.com/users/Finii","html_url":"https://github.com/Finii","followers_url":"https://api.github.com/users/Finii/followers","following_url":"https://api.github.com/users/Finii/following{/other_user}","gists_url":"https://api.github.com/users/Finii/gists{/gist_id}","starred_url":"https://api.github.com/users/Finii/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Finii/subscriptions","organizations_url":"https://api.github.com/users/Finii/orgs","repos_url":"https://api.github.com/users/Finii/repos","events_url":"https://api.github.com/users/Finii/events{/privacy}","received_events_url":"https://api.github.com/users/Finii/received_events","type":"User","site_admin":false},"body":"#### Description\r\n\r\nEven when patched for Monospace (with `-mono`) fonts have a hard time to be recognized as monospaced font sometimes.\r\n\r\n#### Requirements / Checklist\r\n\r\n- [x] Read the [Contributing Guidelines](https://github.com/ryanoasis/nerd-fonts/blob/master/contributing.md)\r\n- [x] Verified the license of any newly added font, glyph, or glyph set\r\n\r\n#### What does this Pull Request (PR) do?\r\n\r\nThe first commit just adds a warning mechanism, that shows us when an inserted glyph is not scaled in the expected way. Where expected means: Fits into the normal font width. We do not patch doublewidth glyphs in, jet (afaik).\r\n\r\nThen the scaling mechanism (`ScaleGlyph`) is expanded to handle more complex situations and do so automatically.\r\n\r\nThis new mechanism is than used for the _Font Awesome_ glyphs.\r\n\r\nWith just the first commit you can see the extend of the problem. Only Font Awesome is affected:\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/147078396-3c0bff1e-d42a-4e15-92a9-68a2b046a79c.png)\r\n\r\n\r\n#### How should this be manually tested?\r\n* Patch a font that is not recognized as monospaced by some applications (like Gnome Terminal, Windows CMD, ...) and see if it is afterwards recognized.\r\n* Check glyphs from `FONTA_SCALE_LIST` in `fontforge` for example, if they scale to a reasonable size. They will be smaller then before, which is the goal of this, but people might notice.\r\n* Check font metadata, for example with\r\n * `ttfdump FontName.ttf | grep 'advanceWidthMax|xAvgCharWidth'`\r\n * `showttf FontName.ttf | grep 'advanceWidthMax|avgWidth'`\r\n\r\nKeep in mind that this is just relevant for 'Nerd Font Mono' fonts, i.e. patched with `-mono`. Without the parameter the behavior of `font-patcher` is not changed.\r\n\r\n#### Any background context you can provide?\r\nBottom of #695, for example https://github.com/ryanoasis/nerd-fonts/pull/695#issuecomment-997337500\r\n\r\nInstead of taking ONE 'main glyph' that rules the scaling of all the special glyphs, we form groups of glyphs that have to be scaled together. Like all the selected (blue) glyphs here, but as individual groups:\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/146665991-d822cbb8-d356-4c5a-a75c-05fb912444a7.png)\r\n\r\nThe combined bounding box of the group is determined (like when all glyphs in the group are stamped on top of each other and then the bounding box is found), and all members of the group are scaled such that the combined bounding box is maximized to the allowed limits.\r\n\r\nFor example the group of four arrows (in line 5) is scaled together, but independently to all other glyphs.\r\n\r\nHere an example that shows how Font Awesome is ... ~buggy~ strange, the selected (blue) glyphs are clearly too big for the font itself, that does maintain good glyph size consistency otherwise.\r\n\r\n![image](https://user-images.githubusercontent.com/16012374/147082322-f41e6e58-64cb-4f5b-891f-499a03b569bb.png)\r\n\r\n#### What are the relevant tickets (if any)?\r\nFor example #703 (part of)\r\n\r\n#### Screenshots (if appropriate or helpful)\r\n","created_at":"2021-12-22T10:59:44Z","updated_at":"2022-01-01T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5bd4c0ebca9b7e4fcd8b4f9fa181e4ff931291f5","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2900985588,"node_id":"MDU6TGFiZWwyOTAwOTg1NTg4","url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels/Bug%20fix","name":"Bug fix","color":"E6250C","default":false,"description":""}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/commits","review_comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/comments","review_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732/comments","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","head":{"label":"ryanoasis:bugfix/monospaced-glyph-scaling","ref":"bugfix/monospaced-glyph-scaling","sha":"e805b87997bf7dbe3d99fc3582e246d8c9cb4dda","user":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"repo":{"id":27574418,"node_id":"MDEwOlJlcG9zaXRvcnkyNzU3NDQxOA==","name":"nerd-fonts","full_name":"ryanoasis/nerd-fonts","private":false,"owner":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryanoasis/nerd-fonts","description":"Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more","fork":false,"url":"https://api.github.com/repos/ryanoasis/nerd-fonts","forks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/forks","keys_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/events","assignees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/merges","archive_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/deployments","created_at":"2014-12-05T04:31:17Z","updated_at":"2022-01-01T00:28:57Z","pushed_at":"2022-01-01T00:53:25Z","git_url":"git://github.com/ryanoasis/nerd-fonts.git","ssh_url":"git@github.com:ryanoasis/nerd-fonts.git","clone_url":"https://github.com/ryanoasis/nerd-fonts.git","svn_url":"https://github.com/ryanoasis/nerd-fonts","homepage":"https://NerdFonts.com","size":6920990,"stargazers_count":32072,"watchers_count":32072,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2492,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["font","font-awesome","fonts","icon-font","iconic-fonts","octicons","patched-fonts","patcher","powerline","python","shell","statusline"],"visibility":"public","forks":2492,"open_issues":227,"watchers":32072,"default_branch":"master"}},"base":{"label":"ryanoasis:master","ref":"master","sha":"de13c66797af45042b873439528b7e2e936bfaa3","user":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"repo":{"id":27574418,"node_id":"MDEwOlJlcG9zaXRvcnkyNzU3NDQxOA==","name":"nerd-fonts","full_name":"ryanoasis/nerd-fonts","private":false,"owner":{"login":"ryanoasis","id":8083459,"node_id":"MDQ6VXNlcjgwODM0NTk=","avatar_url":"https://avatars.githubusercontent.com/u/8083459?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanoasis","html_url":"https://github.com/ryanoasis","followers_url":"https://api.github.com/users/ryanoasis/followers","following_url":"https://api.github.com/users/ryanoasis/following{/other_user}","gists_url":"https://api.github.com/users/ryanoasis/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanoasis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanoasis/subscriptions","organizations_url":"https://api.github.com/users/ryanoasis/orgs","repos_url":"https://api.github.com/users/ryanoasis/repos","events_url":"https://api.github.com/users/ryanoasis/events{/privacy}","received_events_url":"https://api.github.com/users/ryanoasis/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryanoasis/nerd-fonts","description":"Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more","fork":false,"url":"https://api.github.com/repos/ryanoasis/nerd-fonts","forks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/forks","keys_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/teams","hooks_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/hooks","issue_events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/events{/number}","events_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/events","assignees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/assignees{/user}","branches_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/branches{/branch}","tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/tags","blobs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/{sha}","languages_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/languages","stargazers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/stargazers","contributors_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contributors","subscribers_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscribers","subscription_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/subscription","commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/contents/{+path}","compare_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/merges","archive_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/downloads","issues_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues{/number}","pulls_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls{/number}","milestones_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/milestones{/number}","notifications_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/labels{/name}","releases_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/releases{/id}","deployments_url":"https://api.github.com/repos/ryanoasis/nerd-fonts/deployments","created_at":"2014-12-05T04:31:17Z","updated_at":"2022-01-01T00:28:57Z","pushed_at":"2022-01-01T00:53:25Z","git_url":"git://github.com/ryanoasis/nerd-fonts.git","ssh_url":"git@github.com:ryanoasis/nerd-fonts.git","clone_url":"https://github.com/ryanoasis/nerd-fonts.git","svn_url":"https://github.com/ryanoasis/nerd-fonts","homepage":"https://NerdFonts.com","size":6920990,"stargazers_count":32072,"watchers_count":32072,"language":"CSS","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2492,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":227,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["font","font-awesome","fonts","icon-font","iconic-fonts","octicons","patched-fonts","patcher","powerline","python","shell","statusline"],"visibility":"public","forks":2492,"open_issues":227,"watchers":32072,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732"},"html":{"href":"https://github.com/ryanoasis/nerd-fonts/pull/732"},"issue":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732"},"comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/issues/732/comments"},"review_comments":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/comments"},"review_comment":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/pulls/732/commits"},"statuses":{"href":"https://api.github.com/repos/ryanoasis/nerd-fonts/statuses/e805b87997bf7dbe3d99fc3582e246d8c9cb4dda"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395707","type":"PushEvent","actor":{"id":63066634,"login":"hawenger","display_login":"hawenger","gravatar_id":"","url":"https://api.github.com/users/hawenger","avatar_url":"https://avatars.githubusercontent.com/u/63066634?"},"repo":{"id":440343758,"name":"hawenger/adventofcode2021","url":"https://api.github.com/repos/hawenger/adventofcode2021"},"payload":{"push_id":8732432970,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"98ce673ab9be215851ecb48bf619f3fab3a43d54","before":"d7834a050deb3e909f4339335c223ee18a0ed49b","commits":[{"sha":"98ce673ab9be215851ecb48bf619f3fab3a43d54","author":{"email":"hamecow@gmail.com","name":"Hannah Wenger"},"message":"Find gamma and epsilon rate","distinct":true,"url":"https://api.github.com/repos/hawenger/adventofcode2021/commits/98ce673ab9be215851ecb48bf619f3fab3a43d54"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395711","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":362528801,"name":"rodrigomoreirasantos/rodrigomoreirasantos","url":"https://api.github.com/repos/rodrigomoreirasantos/rodrigomoreirasantos"},"payload":{"push_id":8732432973,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"903f8e76dc06ffd12a6f8415b1d9cfabaf616d31","before":"349f8022c9ce806df5d375b0cb91f3714f8bd02f","commits":[{"sha":"903f8e76dc06ffd12a6f8415b1d9cfabaf616d31","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/rodrigomoreirasantos/rodrigomoreirasantos/commits/903f8e76dc06ffd12a6f8415b1d9cfabaf616d31"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395712","type":"PushEvent","actor":{"id":32945233,"login":"kstaver","display_login":"kstaver","gravatar_id":"","url":"https://api.github.com/users/kstaver","avatar_url":"https://avatars.githubusercontent.com/u/32945233?"},"repo":{"id":443025126,"name":"kstaver/React-Portfolio","url":"https://api.github.com/repos/kstaver/React-Portfolio"},"payload":{"push_id":8732432972,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"52472a0011be0f1908b3ce3f3486584d86c976f9","before":"0894d6775ed87d2111259e24fa2610da1e621558","commits":[{"sha":"52472a0011be0f1908b3ce3f3486584d86c976f9","author":{"email":"staverkendra@gmail.com","name":"Kendra Staver"},"message":"added in packages","distinct":true,"url":"https://api.github.com/repos/kstaver/React-Portfolio/commits/52472a0011be0f1908b3ce3f3486584d86c976f9"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395716","type":"PushEvent","actor":{"id":96603710,"login":"li123v","display_login":"li123v","gravatar_id":"","url":"https://api.github.com/users/li123v","avatar_url":"https://avatars.githubusercontent.com/u/96603710?"},"repo":{"id":443418518,"name":"li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5","url":"https://api.github.com/repos/li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5"},"payload":{"push_id":8732432979,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5cd5a639a66f26e5f8fb5d55b2137ebd0719f081","before":"0d928224e898a9daf31f82372055b79826a7df1f","commits":[{"sha":"5cd5a639a66f26e5f8fb5d55b2137ebd0719f081","author":{"email":"96603710+li123v@users.noreply.github.com","name":"li123v"},"message":"upload file 6482578c4fcf378a657e9a7a1ad417f3ce0f9040421ed816d71fec23a0a72e006f8345fcacd6e9135d7140be26f14e53video_135_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5/commits/5cd5a639a66f26e5f8fb5d55b2137ebd0719f081"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395717","type":"PullRequestEvent","actor":{"id":222581,"login":"posita","display_login":"posita","gravatar_id":"","url":"https://api.github.com/users/posita","avatar_url":"https://avatars.githubusercontent.com/u/222581?"},"repo":{"id":440996594,"name":"posita/mypy","url":"https://api.github.com/repos/posita/mypy"},"payload":{"action":"opened","number":1,"pull_request":{"url":"https://api.github.com/repos/posita/mypy/pulls/1","id":812479582,"node_id":"PR_kwDOGkkS8s4wbXRe","html_url":"https://github.com/posita/mypy/pull/1","diff_url":"https://github.com/posita/mypy/pull/1.diff","patch_url":"https://github.com/posita/mypy/pull/1.patch","issue_url":"https://api.github.com/repos/posita/mypy/issues/1","number":1,"state":"open","locked":false,"title":"Revert to treating exclude in .ini as single string","user":{"login":"posita","id":222581,"node_id":"MDQ6VXNlcjIyMjU4MQ==","avatar_url":"https://avatars.githubusercontent.com/u/222581?v=4","gravatar_id":"","url":"https://api.github.com/users/posita","html_url":"https://github.com/posita","followers_url":"https://api.github.com/users/posita/followers","following_url":"https://api.github.com/users/posita/following{/other_user}","gists_url":"https://api.github.com/users/posita/gists{/gist_id}","starred_url":"https://api.github.com/users/posita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/posita/subscriptions","organizations_url":"https://api.github.com/users/posita/orgs","repos_url":"https://api.github.com/users/posita/repos","events_url":"https://api.github.com/users/posita/events{/privacy}","received_events_url":"https://api.github.com/users/posita/received_events","type":"User","site_admin":false},"body":"Includes additional unit tests.\r\n\r\nFixes #11830. Depends on #11828.\r\n","created_at":"2022-01-01T01:00:01Z","updated_at":"2022-01-01T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/posita/mypy/pulls/1/commits","review_comments_url":"https://api.github.com/repos/posita/mypy/pulls/1/comments","review_comment_url":"https://api.github.com/repos/posita/mypy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/posita/mypy/issues/1/comments","statuses_url":"https://api.github.com/repos/posita/mypy/statuses/b8d3b6c33497369149c2c2036b96b959184755c5","head":{"label":"posita:posita/0/multiple-excludes-in-ini-fix-11830","ref":"posita/0/multiple-excludes-in-ini-fix-11830","sha":"b8d3b6c33497369149c2c2036b96b959184755c5","user":{"login":"posita","id":222581,"node_id":"MDQ6VXNlcjIyMjU4MQ==","avatar_url":"https://avatars.githubusercontent.com/u/222581?v=4","gravatar_id":"","url":"https://api.github.com/users/posita","html_url":"https://github.com/posita","followers_url":"https://api.github.com/users/posita/followers","following_url":"https://api.github.com/users/posita/following{/other_user}","gists_url":"https://api.github.com/users/posita/gists{/gist_id}","starred_url":"https://api.github.com/users/posita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/posita/subscriptions","organizations_url":"https://api.github.com/users/posita/orgs","repos_url":"https://api.github.com/users/posita/repos","events_url":"https://api.github.com/users/posita/events{/privacy}","received_events_url":"https://api.github.com/users/posita/received_events","type":"User","site_admin":false},"repo":{"id":440996594,"node_id":"R_kgDOGkkS8g","name":"mypy","full_name":"posita/mypy","private":false,"owner":{"login":"posita","id":222581,"node_id":"MDQ6VXNlcjIyMjU4MQ==","avatar_url":"https://avatars.githubusercontent.com/u/222581?v=4","gravatar_id":"","url":"https://api.github.com/users/posita","html_url":"https://github.com/posita","followers_url":"https://api.github.com/users/posita/followers","following_url":"https://api.github.com/users/posita/following{/other_user}","gists_url":"https://api.github.com/users/posita/gists{/gist_id}","starred_url":"https://api.github.com/users/posita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/posita/subscriptions","organizations_url":"https://api.github.com/users/posita/orgs","repos_url":"https://api.github.com/users/posita/repos","events_url":"https://api.github.com/users/posita/events{/privacy}","received_events_url":"https://api.github.com/users/posita/received_events","type":"User","site_admin":false},"html_url":"https://github.com/posita/mypy","description":"Optional static typing for Python","fork":true,"url":"https://api.github.com/repos/posita/mypy","forks_url":"https://api.github.com/repos/posita/mypy/forks","keys_url":"https://api.github.com/repos/posita/mypy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/posita/mypy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/posita/mypy/teams","hooks_url":"https://api.github.com/repos/posita/mypy/hooks","issue_events_url":"https://api.github.com/repos/posita/mypy/issues/events{/number}","events_url":"https://api.github.com/repos/posita/mypy/events","assignees_url":"https://api.github.com/repos/posita/mypy/assignees{/user}","branches_url":"https://api.github.com/repos/posita/mypy/branches{/branch}","tags_url":"https://api.github.com/repos/posita/mypy/tags","blobs_url":"https://api.github.com/repos/posita/mypy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/posita/mypy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/posita/mypy/git/refs{/sha}","trees_url":"https://api.github.com/repos/posita/mypy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/posita/mypy/statuses/{sha}","languages_url":"https://api.github.com/repos/posita/mypy/languages","stargazers_url":"https://api.github.com/repos/posita/mypy/stargazers","contributors_url":"https://api.github.com/repos/posita/mypy/contributors","subscribers_url":"https://api.github.com/repos/posita/mypy/subscribers","subscription_url":"https://api.github.com/repos/posita/mypy/subscription","commits_url":"https://api.github.com/repos/posita/mypy/commits{/sha}","git_commits_url":"https://api.github.com/repos/posita/mypy/git/commits{/sha}","comments_url":"https://api.github.com/repos/posita/mypy/comments{/number}","issue_comment_url":"https://api.github.com/repos/posita/mypy/issues/comments{/number}","contents_url":"https://api.github.com/repos/posita/mypy/contents/{+path}","compare_url":"https://api.github.com/repos/posita/mypy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/posita/mypy/merges","archive_url":"https://api.github.com/repos/posita/mypy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/posita/mypy/downloads","issues_url":"https://api.github.com/repos/posita/mypy/issues{/number}","pulls_url":"https://api.github.com/repos/posita/mypy/pulls{/number}","milestones_url":"https://api.github.com/repos/posita/mypy/milestones{/number}","notifications_url":"https://api.github.com/repos/posita/mypy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/posita/mypy/labels{/name}","releases_url":"https://api.github.com/repos/posita/mypy/releases{/id}","deployments_url":"https://api.github.com/repos/posita/mypy/deployments","created_at":"2021-12-22T22:12:43Z","updated_at":"2021-12-22T22:12:44Z","pushed_at":"2022-01-01T01:00:01Z","git_url":"git://github.com/posita/mypy.git","ssh_url":"git@github.com:posita/mypy.git","clone_url":"https://github.com/posita/mypy.git","svn_url":"https://github.com/posita/mypy","homepage":"http://www.mypy-lang.org/","size":49521,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"posita:posita/0/multiple-excludes-in-toml-fix-11825","ref":"posita/0/multiple-excludes-in-toml-fix-11825","sha":"57332df52d81e271d0cf0586081b1183567e4658","user":{"login":"posita","id":222581,"node_id":"MDQ6VXNlcjIyMjU4MQ==","avatar_url":"https://avatars.githubusercontent.com/u/222581?v=4","gravatar_id":"","url":"https://api.github.com/users/posita","html_url":"https://github.com/posita","followers_url":"https://api.github.com/users/posita/followers","following_url":"https://api.github.com/users/posita/following{/other_user}","gists_url":"https://api.github.com/users/posita/gists{/gist_id}","starred_url":"https://api.github.com/users/posita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/posita/subscriptions","organizations_url":"https://api.github.com/users/posita/orgs","repos_url":"https://api.github.com/users/posita/repos","events_url":"https://api.github.com/users/posita/events{/privacy}","received_events_url":"https://api.github.com/users/posita/received_events","type":"User","site_admin":false},"repo":{"id":440996594,"node_id":"R_kgDOGkkS8g","name":"mypy","full_name":"posita/mypy","private":false,"owner":{"login":"posita","id":222581,"node_id":"MDQ6VXNlcjIyMjU4MQ==","avatar_url":"https://avatars.githubusercontent.com/u/222581?v=4","gravatar_id":"","url":"https://api.github.com/users/posita","html_url":"https://github.com/posita","followers_url":"https://api.github.com/users/posita/followers","following_url":"https://api.github.com/users/posita/following{/other_user}","gists_url":"https://api.github.com/users/posita/gists{/gist_id}","starred_url":"https://api.github.com/users/posita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/posita/subscriptions","organizations_url":"https://api.github.com/users/posita/orgs","repos_url":"https://api.github.com/users/posita/repos","events_url":"https://api.github.com/users/posita/events{/privacy}","received_events_url":"https://api.github.com/users/posita/received_events","type":"User","site_admin":false},"html_url":"https://github.com/posita/mypy","description":"Optional static typing for Python","fork":true,"url":"https://api.github.com/repos/posita/mypy","forks_url":"https://api.github.com/repos/posita/mypy/forks","keys_url":"https://api.github.com/repos/posita/mypy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/posita/mypy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/posita/mypy/teams","hooks_url":"https://api.github.com/repos/posita/mypy/hooks","issue_events_url":"https://api.github.com/repos/posita/mypy/issues/events{/number}","events_url":"https://api.github.com/repos/posita/mypy/events","assignees_url":"https://api.github.com/repos/posita/mypy/assignees{/user}","branches_url":"https://api.github.com/repos/posita/mypy/branches{/branch}","tags_url":"https://api.github.com/repos/posita/mypy/tags","blobs_url":"https://api.github.com/repos/posita/mypy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/posita/mypy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/posita/mypy/git/refs{/sha}","trees_url":"https://api.github.com/repos/posita/mypy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/posita/mypy/statuses/{sha}","languages_url":"https://api.github.com/repos/posita/mypy/languages","stargazers_url":"https://api.github.com/repos/posita/mypy/stargazers","contributors_url":"https://api.github.com/repos/posita/mypy/contributors","subscribers_url":"https://api.github.com/repos/posita/mypy/subscribers","subscription_url":"https://api.github.com/repos/posita/mypy/subscription","commits_url":"https://api.github.com/repos/posita/mypy/commits{/sha}","git_commits_url":"https://api.github.com/repos/posita/mypy/git/commits{/sha}","comments_url":"https://api.github.com/repos/posita/mypy/comments{/number}","issue_comment_url":"https://api.github.com/repos/posita/mypy/issues/comments{/number}","contents_url":"https://api.github.com/repos/posita/mypy/contents/{+path}","compare_url":"https://api.github.com/repos/posita/mypy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/posita/mypy/merges","archive_url":"https://api.github.com/repos/posita/mypy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/posita/mypy/downloads","issues_url":"https://api.github.com/repos/posita/mypy/issues{/number}","pulls_url":"https://api.github.com/repos/posita/mypy/pulls{/number}","milestones_url":"https://api.github.com/repos/posita/mypy/milestones{/number}","notifications_url":"https://api.github.com/repos/posita/mypy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/posita/mypy/labels{/name}","releases_url":"https://api.github.com/repos/posita/mypy/releases{/id}","deployments_url":"https://api.github.com/repos/posita/mypy/deployments","created_at":"2021-12-22T22:12:43Z","updated_at":"2021-12-22T22:12:44Z","pushed_at":"2022-01-01T01:00:01Z","git_url":"git://github.com/posita/mypy.git","ssh_url":"git@github.com:posita/mypy.git","clone_url":"https://github.com/posita/mypy.git","svn_url":"https://github.com/posita/mypy","homepage":"http://www.mypy-lang.org/","size":49521,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/posita/mypy/pulls/1"},"html":{"href":"https://github.com/posita/mypy/pull/1"},"issue":{"href":"https://api.github.com/repos/posita/mypy/issues/1"},"comments":{"href":"https://api.github.com/repos/posita/mypy/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/posita/mypy/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/posita/mypy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/posita/mypy/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/posita/mypy/statuses/b8d3b6c33497369149c2c2036b96b959184755c5"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":12,"deletions":10,"changed_files":3}},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395718","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":410148728,"name":"richaardev/richaardev","url":"https://api.github.com/repos/richaardev/richaardev"},"payload":{"push_id":8732432985,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"cbfaf2416576974b862fe3879c08483fea14b684","before":"c5fad0b601df2b4377bd8c347b4a7f81d4b8a204","commits":[{"sha":"cbfaf2416576974b862fe3879c08483fea14b684","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/richaardev/richaardev/commits/cbfaf2416576974b862fe3879c08483fea14b684"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395719","type":"PushEvent","actor":{"id":84964826,"login":"kennethzhg","display_login":"kennethzhg","gravatar_id":"","url":"https://api.github.com/users/kennethzhg","avatar_url":"https://avatars.githubusercontent.com/u/84964826?"},"repo":{"id":443207829,"name":"kennethzhg/CS50-Assignment-HTML-CSS","url":"https://api.github.com/repos/kennethzhg/CS50-Assignment-HTML-CSS"},"payload":{"push_id":8732432980,"size":1,"distinct_size":1,"ref":"refs/heads/editedforGHpages","head":"3019bfc905a46648c84d527e69014d78f2b93120","before":"c63a940d5905dd3d06695db3252060c4c812616a","commits":[{"sha":"3019bfc905a46648c84d527e69014d78f2b93120","author":{"email":"84964826+kennethzhg@users.noreply.github.com","name":"Kenneth"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/kennethzhg/CS50-Assignment-HTML-CSS/commits/3019bfc905a46648c84d527e69014d78f2b93120"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395720","type":"PushEvent","actor":{"id":84727030,"login":"mrbridge-mrbridge","display_login":"mrbridge-mrbridge","gravatar_id":"","url":"https://api.github.com/users/mrbridge-mrbridge","avatar_url":"https://avatars.githubusercontent.com/u/84727030?"},"repo":{"id":403733790,"name":"mrbridge-mrbridge/alx-higher_level_programming","url":"https://api.github.com/repos/mrbridge-mrbridge/alx-higher_level_programming"},"payload":{"push_id":8732432987,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ece21423f12eb9c5b393558eb721a6f051756a8b","before":"f7004139ff768502ae98e391a4877c47a55e8784","commits":[{"sha":"ece21423f12eb9c5b393558eb721a6f051756a8b","author":{"email":"nanamcroj@gmail.com","name":"root"},"message":"best","distinct":true,"url":"https://api.github.com/repos/mrbridge-mrbridge/alx-higher_level_programming/commits/ece21423f12eb9c5b393558eb721a6f051756a8b"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395723","type":"PushEvent","actor":{"id":96464003,"login":"zhouqn3","display_login":"zhouqn3","gravatar_id":"","url":"https://api.github.com/users/zhouqn3","avatar_url":"https://avatars.githubusercontent.com/u/96464003?"},"repo":{"id":443442994,"name":"zhouqn3/00a6ead8-7354-43e0-b78c-ca38f0acf624","url":"https://api.github.com/repos/zhouqn3/00a6ead8-7354-43e0-b78c-ca38f0acf624"},"payload":{"push_id":8732432981,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e38df441cdd96e44ab0c2fc2551fd652178c75a4","before":"ac53dec60f800fb7e768c04a9b3e5713f50889fc","commits":[{"sha":"e38df441cdd96e44ab0c2fc2551fd652178c75a4","author":{"email":"96464003+zhouqn3@users.noreply.github.com","name":"zhouqn3"},"message":"upload file 2538ccccfbddb8c9152982960f5452aa1b9c45297c014252ac79f860824449dfe608d53dba7b5a69ed56938ef4d963abvideo_1094_0_1963119.ts","distinct":true,"url":"https://api.github.com/repos/zhouqn3/00a6ead8-7354-43e0-b78c-ca38f0acf624/commits/e38df441cdd96e44ab0c2fc2551fd652178c75a4"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395724","type":"CreateEvent","actor":{"id":66339548,"login":"saralasraj","display_login":"saralasraj","gravatar_id":"","url":"https://api.github.com/users/saralasraj","avatar_url":"https://avatars.githubusercontent.com/u/66339548?"},"repo":{"id":443449172,"name":"saralasraj/saralasraj.github.io","url":"https://api.github.com/repos/saralasraj/saralasraj.github.io"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395726","type":"MemberEvent","actor":{"id":73797804,"login":"bmoncur1","display_login":"bmoncur1","gravatar_id":"","url":"https://api.github.com/users/bmoncur1","avatar_url":"https://avatars.githubusercontent.com/u/73797804?"},"repo":{"id":443411671,"name":"bmoncur1/ListMe","url":"https://api.github.com/repos/bmoncur1/ListMe"},"payload":{"member":{"login":"codepathreview","id":7917093,"node_id":"MDQ6VXNlcjc5MTcwOTM=","avatar_url":"https://avatars.githubusercontent.com/u/7917093?v=4","gravatar_id":"","url":"https://api.github.com/users/codepathreview","html_url":"https://github.com/codepathreview","followers_url":"https://api.github.com/users/codepathreview/followers","following_url":"https://api.github.com/users/codepathreview/following{/other_user}","gists_url":"https://api.github.com/users/codepathreview/gists{/gist_id}","starred_url":"https://api.github.com/users/codepathreview/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codepathreview/subscriptions","organizations_url":"https://api.github.com/users/codepathreview/orgs","repos_url":"https://api.github.com/users/codepathreview/repos","events_url":"https://api.github.com/users/codepathreview/events{/privacy}","received_events_url":"https://api.github.com/users/codepathreview/received_events","type":"User","site_admin":false},"action":"added"},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395727","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":443448552,"name":"AidenKerr/personal-website","url":"https://api.github.com/repos/AidenKerr/personal-website"},"payload":{"comment":{"url":"https://api.github.com/repos/AidenKerr/personal-website/comments/62749522","html_url":"https://github.com/AidenKerr/personal-website/commit/7c6bd8d3e8f32dd84ecd5d0f0d47a7f63c28a1ba#commitcomment-62749522","id":62749522,"node_id":"CC_kwDOGm586M4DvXtS","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"7c6bd8d3e8f32dd84ecd5d0f0d47a7f63c28a1ba","created_at":"2022-01-01T01:00:02Z","updated_at":"2022-01-01T01:00:02Z","author_association":"NONE","body":"Successfully deployed to the following URLs:\n\n* [personal-website-aidenkerr.vercel.app](https://personal-website-aidenkerr.vercel.app) \n* [personal-website-drab-two.vercel.app](https://personal-website-drab-two.vercel.app) \n* [personal-website-git-main-aidenkerr.vercel.app](https://personal-website-git-main-aidenkerr.vercel.app)","reactions":{"url":"https://api.github.com/repos/AidenKerr/personal-website/comments/62749522/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395729","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732432982,"size":1,"distinct_size":1,"ref":"refs/heads/bump_xcb-proto_X","head":"c88af29215bcaf11b0860e837effc1eec316cb4a","before":"b894b3a1288bb9e9574e3e066bcd9b690e3df012","commits":[{"sha":"c88af29215bcaf11b0860e837effc1eec316cb4a","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump X/libXt for X/xcb-proto","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/c88af29215bcaf11b0860e837effc1eec316cb4a"}]},"public":true,"created_at":"2022-01-01T01:00:02Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395730","type":"CreateEvent","actor":{"id":1686007,"login":"efarbereger","display_login":"efarbereger","gravatar_id":"","url":"https://api.github.com/users/efarbereger","avatar_url":"https://avatars.githubusercontent.com/u/1686007?"},"repo":{"id":443449217,"name":"efarbereger/tmp_clock_repo","url":"https://api.github.com/repos/efarbereger/tmp_clock_repo"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":"these commits make a fun clock","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395732","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732432968,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"ef5012693ae9e6c06d9558888813278c653d12b6","before":"b21da76d5c991d58100e27d635653b50e4531280","commits":[{"sha":"ef5012693ae9e6c06d9558888813278c653d12b6","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/lxqt for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/ef5012693ae9e6c06d9558888813278c653d12b6"}]},"public":true,"created_at":"2022-01-01T01:00:02Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395734","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":300273017,"name":"ryands17/nexus-introspection","url":"https://api.github.com/repos/ryands17/nexus-introspection"},"payload":{"ref":"renovate/eslint","ref_type":"branch","master_branch":"main","description":"An auth flow with Prisma and Nexus using introspection instead of Migrate","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395737","type":"IssueCommentEvent","actor":{"id":29387808,"login":"NickAragua","display_login":"NickAragua","gravatar_id":"","url":"https://api.github.com/users/NickAragua","avatar_url":"https://avatars.githubusercontent.com/u/29387808?"},"repo":{"id":40765298,"name":"MegaMek/megamek","url":"https://api.github.com/repos/MegaMek/megamek"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/3285","repository_url":"https://api.github.com/repos/MegaMek/megamek","labels_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/labels{/name}","comments_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/comments","events_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/events","html_url":"https://github.com/MegaMek/megamek/issues/3285","id":1067803897,"node_id":"I_kwDOAm4Hcs4_pWT5","number":3285,"title":"0.49.5 Princess targeting unit rather than hex with Sniper cannon","user":{"login":"Gribbly1","id":55139229,"node_id":"MDQ6VXNlcjU1MTM5MjI5","avatar_url":"https://avatars.githubusercontent.com/u/55139229?v=4","gravatar_id":"","url":"https://api.github.com/users/Gribbly1","html_url":"https://github.com/Gribbly1","followers_url":"https://api.github.com/users/Gribbly1/followers","following_url":"https://api.github.com/users/Gribbly1/following{/other_user}","gists_url":"https://api.github.com/users/Gribbly1/gists{/gist_id}","starred_url":"https://api.github.com/users/Gribbly1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gribbly1/subscriptions","organizations_url":"https://api.github.com/users/Gribbly1/orgs","repos_url":"https://api.github.com/users/Gribbly1/repos","events_url":"https://api.github.com/users/Gribbly1/events{/privacy}","received_events_url":"https://api.github.com/users/Gribbly1/received_events","type":"User","site_admin":false},"labels":[{"id":424611168,"node_id":"MDU6TGFiZWw0MjQ2MTExNjg=","url":"https://api.github.com/repos/MegaMek/megamek/labels/Princess/AI","name":"Princess/AI","color":"FBCA04","default":false,"description":""},{"id":1429905778,"node_id":"MDU6TGFiZWwxNDI5OTA1Nzc4","url":"https://api.github.com/repos/MegaMek/megamek/labels/Needs%20Investigation","name":"Needs Investigation","color":"ffe389","default":false,"description":"This issue needs investigation and/or triage."}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2021-12-01T00:19:20Z","updated_at":"2022-01-01T01:00:02Z","closed_at":"2022-01-01T01:00:02Z","author_association":"NONE","active_lock_reason":null,"body":"\r\nPackaged MM version 0.49.5\r\nWindows 10\r\nJava version 11.0.13\r\n\r\n![image](https://user-images.githubusercontent.com/55139229/144148544-ce04d3f6-638d-42c1-86a0-7b2400dc820a.png)\r\n\r\n\r\n[megameklog.txt](https://github.com/MegaMek/megamek/files/7629675/megameklog.txt)\r\n\r\n[autosave.sav.gz](https://github.com/MegaMek/megamek/files/7629676/autosave.sav.gz)\r\n\r\n[fhcustom.zip](https://github.com/MegaMek/megamek/files/7629682/fhcustom.zip)\r\n\r\n\r\n","reactions":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/comments/1003476345","html_url":"https://github.com/MegaMek/megamek/issues/3285#issuecomment-1003476345","issue_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285","id":1003476345,"node_id":"IC_kwDOAm4Hcs47z9V5","user":{"login":"NickAragua","id":29387808,"node_id":"MDQ6VXNlcjI5Mzg3ODA4","avatar_url":"https://avatars.githubusercontent.com/u/29387808?v=4","gravatar_id":"","url":"https://api.github.com/users/NickAragua","html_url":"https://github.com/NickAragua","followers_url":"https://api.github.com/users/NickAragua/followers","following_url":"https://api.github.com/users/NickAragua/following{/other_user}","gists_url":"https://api.github.com/users/NickAragua/gists{/gist_id}","starred_url":"https://api.github.com/users/NickAragua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NickAragua/subscriptions","organizations_url":"https://api.github.com/users/NickAragua/orgs","repos_url":"https://api.github.com/users/NickAragua/repos","events_url":"https://api.github.com/users/NickAragua/events{/privacy}","received_events_url":"https://api.github.com/users/NickAragua/received_events","type":"User","site_admin":false},"created_at":"2022-01-01T01:00:02Z","updated_at":"2022-01-01T01:00:02Z","author_association":"MEMBER","body":"Sniper Cannons are direct-fire weapons per TacOps:AUE page 97.","reactions":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/comments/1003476345/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:02Z","org":{"id":13810529,"login":"MegaMek","gravatar_id":"","url":"https://api.github.com/orgs/MegaMek","avatar_url":"https://avatars.githubusercontent.com/u/13810529?"}} +{"id":"19541395738","type":"PushEvent","actor":{"id":32623983,"login":"mrigankdoshy","display_login":"mrigankdoshy","gravatar_id":"","url":"https://api.github.com/users/mrigankdoshy","avatar_url":"https://avatars.githubusercontent.com/u/32623983?"},"repo":{"id":441758102,"name":"mrigankdoshy/UIs","url":"https://api.github.com/repos/mrigankdoshy/UIs"},"payload":{"push_id":8732432992,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"797a549fd9384318733f547d74255a5a6ed3a093","before":"aa898ee566463bad0b63acba997f284703385fec","commits":[{"sha":"797a549fd9384318733f547d74255a5a6ed3a093","author":{"email":"mrigankdoshy@gmail.com","name":"Mrigank Doshy"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/mrigankdoshy/UIs/commits/797a549fd9384318733f547d74255a5a6ed3a093"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395735","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":432417514,"name":"znyt/oss42","url":"https://api.github.com/repos/znyt/oss42"},"payload":{"push_id":8732432991,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d18f2be28c27ec1dfa4d406a79583813e763bd21","before":"766241b145e33b0a9b303a7437a5ef05f3d85081","commits":[{"sha":"d18f2be28c27ec1dfa4d406a79583813e763bd21","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss42/commits/d18f2be28c27ec1dfa4d406a79583813e763bd21"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395740","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":404532305,"name":"ecafkoob/just4fun","url":"https://api.github.com/repos/ecafkoob/just4fun"},"payload":{"push_id":8732432993,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"57d0326d0ffe031fdf6c7b2c569562162e8f1c0e","before":"2f9e4144ee9129656328659ee740762ce0c2bd98","commits":[{"sha":"57d0326d0ffe031fdf6c7b2c569562162e8f1c0e","author":{"email":"ecafkoob@users.noreply.github.com","name":"ecafkoob"},"message":"update time","distinct":true,"url":"https://api.github.com/repos/ecafkoob/just4fun/commits/57d0326d0ffe031fdf6c7b2c569562162e8f1c0e"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395743","type":"PullRequestEvent","actor":{"id":73161118,"login":"Surya-Prasath","display_login":"Surya-Prasath","gravatar_id":"","url":"https://api.github.com/users/Surya-Prasath","avatar_url":"https://avatars.githubusercontent.com/u/73161118?"},"repo":{"id":165727060,"name":"narendrakpatel/blockchain-ctf-solutions","url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions"},"payload":{"action":"opened","number":1,"pull_request":{"url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1","id":812479583,"node_id":"PR_kwDOCeDLVM4wbXRf","html_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions/pull/1","diff_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions/pull/1.diff","patch_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions/pull/1.patch","issue_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/1","number":1,"state":"open","locked":false,"title":"4. SI Token Sale","user":{"login":"Surya-Prasath","id":73161118,"node_id":"MDQ6VXNlcjczMTYxMTE4","avatar_url":"https://avatars.githubusercontent.com/u/73161118?v=4","gravatar_id":"","url":"https://api.github.com/users/Surya-Prasath","html_url":"https://github.com/Surya-Prasath","followers_url":"https://api.github.com/users/Surya-Prasath/followers","following_url":"https://api.github.com/users/Surya-Prasath/following{/other_user}","gists_url":"https://api.github.com/users/Surya-Prasath/gists{/gist_id}","starred_url":"https://api.github.com/users/Surya-Prasath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Surya-Prasath/subscriptions","organizations_url":"https://api.github.com/users/Surya-Prasath/orgs","repos_url":"https://api.github.com/users/Surya-Prasath/repos","events_url":"https://api.github.com/users/Surya-Prasath/events{/privacy}","received_events_url":"https://api.github.com/users/Surya-Prasath/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:02Z","updated_at":"2022-01-01T01:00:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1/commits","review_comments_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1/comments","review_comment_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/comments{/number}","comments_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/1/comments","statuses_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/statuses/73d401e3546b45ede62dd137d51e4cff7b3300b6","head":{"label":"Surya-Prasath:master","ref":"master","sha":"73d401e3546b45ede62dd137d51e4cff7b3300b6","user":{"login":"Surya-Prasath","id":73161118,"node_id":"MDQ6VXNlcjczMTYxMTE4","avatar_url":"https://avatars.githubusercontent.com/u/73161118?v=4","gravatar_id":"","url":"https://api.github.com/users/Surya-Prasath","html_url":"https://github.com/Surya-Prasath","followers_url":"https://api.github.com/users/Surya-Prasath/followers","following_url":"https://api.github.com/users/Surya-Prasath/following{/other_user}","gists_url":"https://api.github.com/users/Surya-Prasath/gists{/gist_id}","starred_url":"https://api.github.com/users/Surya-Prasath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Surya-Prasath/subscriptions","organizations_url":"https://api.github.com/users/Surya-Prasath/orgs","repos_url":"https://api.github.com/users/Surya-Prasath/repos","events_url":"https://api.github.com/users/Surya-Prasath/events{/privacy}","received_events_url":"https://api.github.com/users/Surya-Prasath/received_events","type":"User","site_admin":false},"repo":{"id":443446736,"node_id":"R_kgDOGm510A","name":"blockchain-ctf-solutions","full_name":"Surya-Prasath/blockchain-ctf-solutions","private":false,"owner":{"login":"Surya-Prasath","id":73161118,"node_id":"MDQ6VXNlcjczMTYxMTE4","avatar_url":"https://avatars.githubusercontent.com/u/73161118?v=4","gravatar_id":"","url":"https://api.github.com/users/Surya-Prasath","html_url":"https://github.com/Surya-Prasath","followers_url":"https://api.github.com/users/Surya-Prasath/followers","following_url":"https://api.github.com/users/Surya-Prasath/following{/other_user}","gists_url":"https://api.github.com/users/Surya-Prasath/gists{/gist_id}","starred_url":"https://api.github.com/users/Surya-Prasath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Surya-Prasath/subscriptions","organizations_url":"https://api.github.com/users/Surya-Prasath/orgs","repos_url":"https://api.github.com/users/Surya-Prasath/repos","events_url":"https://api.github.com/users/Surya-Prasath/events{/privacy}","received_events_url":"https://api.github.com/users/Surya-Prasath/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Surya-Prasath/blockchain-ctf-solutions","description":"Walkthrough of SI Blockchain CTF.","fork":true,"url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions","forks_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/forks","keys_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/teams","hooks_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/hooks","issue_events_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/issues/events{/number}","events_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/events","assignees_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/assignees{/user}","branches_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/branches{/branch}","tags_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/tags","blobs_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/git/refs{/sha}","trees_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/statuses/{sha}","languages_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/languages","stargazers_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/stargazers","contributors_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/contributors","subscribers_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/subscribers","subscription_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/subscription","commits_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/commits{/sha}","git_commits_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/git/commits{/sha}","comments_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/comments{/number}","issue_comment_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/issues/comments{/number}","contents_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/contents/{+path}","compare_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/merges","archive_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/downloads","issues_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/issues{/number}","pulls_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/pulls{/number}","milestones_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/milestones{/number}","notifications_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/labels{/name}","releases_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/releases{/id}","deployments_url":"https://api.github.com/repos/Surya-Prasath/blockchain-ctf-solutions/deployments","created_at":"2022-01-01T00:32:19Z","updated_at":"2022-01-01T00:56:59Z","pushed_at":"2022-01-01T00:56:57Z","git_url":"git://github.com/Surya-Prasath/blockchain-ctf-solutions.git","ssh_url":"git@github.com:Surya-Prasath/blockchain-ctf-solutions.git","clone_url":"https://github.com/Surya-Prasath/blockchain-ctf-solutions.git","svn_url":"https://github.com/Surya-Prasath/blockchain-ctf-solutions","homepage":"","size":3,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"narendrakpatel:master","ref":"master","sha":"59f846baf35f54343f964a8cf7cad13110bfa6b7","user":{"login":"narendrakpatel","id":34070772,"node_id":"MDQ6VXNlcjM0MDcwNzcy","avatar_url":"https://avatars.githubusercontent.com/u/34070772?v=4","gravatar_id":"","url":"https://api.github.com/users/narendrakpatel","html_url":"https://github.com/narendrakpatel","followers_url":"https://api.github.com/users/narendrakpatel/followers","following_url":"https://api.github.com/users/narendrakpatel/following{/other_user}","gists_url":"https://api.github.com/users/narendrakpatel/gists{/gist_id}","starred_url":"https://api.github.com/users/narendrakpatel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/narendrakpatel/subscriptions","organizations_url":"https://api.github.com/users/narendrakpatel/orgs","repos_url":"https://api.github.com/users/narendrakpatel/repos","events_url":"https://api.github.com/users/narendrakpatel/events{/privacy}","received_events_url":"https://api.github.com/users/narendrakpatel/received_events","type":"User","site_admin":false},"repo":{"id":165727060,"node_id":"MDEwOlJlcG9zaXRvcnkxNjU3MjcwNjA=","name":"blockchain-ctf-solutions","full_name":"narendrakpatel/blockchain-ctf-solutions","private":false,"owner":{"login":"narendrakpatel","id":34070772,"node_id":"MDQ6VXNlcjM0MDcwNzcy","avatar_url":"https://avatars.githubusercontent.com/u/34070772?v=4","gravatar_id":"","url":"https://api.github.com/users/narendrakpatel","html_url":"https://github.com/narendrakpatel","followers_url":"https://api.github.com/users/narendrakpatel/followers","following_url":"https://api.github.com/users/narendrakpatel/following{/other_user}","gists_url":"https://api.github.com/users/narendrakpatel/gists{/gist_id}","starred_url":"https://api.github.com/users/narendrakpatel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/narendrakpatel/subscriptions","organizations_url":"https://api.github.com/users/narendrakpatel/orgs","repos_url":"https://api.github.com/users/narendrakpatel/repos","events_url":"https://api.github.com/users/narendrakpatel/events{/privacy}","received_events_url":"https://api.github.com/users/narendrakpatel/received_events","type":"User","site_admin":false},"html_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions","description":"Walkthrough of SI Blockchain CTF.","fork":false,"url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions","forks_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/forks","keys_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/teams","hooks_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/hooks","issue_events_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/events{/number}","events_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/events","assignees_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/assignees{/user}","branches_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/branches{/branch}","tags_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/tags","blobs_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/git/refs{/sha}","trees_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/statuses/{sha}","languages_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/languages","stargazers_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/stargazers","contributors_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/contributors","subscribers_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/subscribers","subscription_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/subscription","commits_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/commits{/sha}","git_commits_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/git/commits{/sha}","comments_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/comments{/number}","issue_comment_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/comments{/number}","contents_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/contents/{+path}","compare_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/merges","archive_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/downloads","issues_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues{/number}","pulls_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls{/number}","milestones_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/milestones{/number}","notifications_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/labels{/name}","releases_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/releases{/id}","deployments_url":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/deployments","created_at":"2019-01-14T20:06:39Z","updated_at":"2021-07-21T07:40:06Z","pushed_at":"2019-01-14T20:07:12Z","git_url":"git://github.com/narendrakpatel/blockchain-ctf-solutions.git","ssh_url":"git@github.com:narendrakpatel/blockchain-ctf-solutions.git","clone_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions.git","svn_url":"https://github.com/narendrakpatel/blockchain-ctf-solutions","homepage":"","size":3,"stargazers_count":7,"watchers_count":7,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":["blockchain","ctf-solutions","smart-contracts","walkthrough"],"visibility":"public","forks":2,"open_issues":1,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1"},"html":{"href":"https://github.com/narendrakpatel/blockchain-ctf-solutions/pull/1"},"issue":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/1"},"comments":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/narendrakpatel/blockchain-ctf-solutions/statuses/73d401e3546b45ede62dd137d51e4cff7b3300b6"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":2,"additions":39,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395744","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":273793678,"name":"remal/tracing-spec","url":"https://api.github.com/repos/remal/tracing-spec"},"payload":{"push_id":8732432996,"size":2,"distinct_size":1,"ref":"refs/heads/renovate/name.remal-gradle-plugins-1.x","head":"7ce48589f72ba0fad0f480f861126220b161cc0d","before":"659850d5ffd89d5e31ce7ce32618f1df5b21bb09","commits":[{"sha":"d9ec48600bab6c42ff486140be1229938e258f9c","author":{"email":"mergify[bot]@users.noreply.github.com","name":"mergify[bot]"},"message":"[push-back] Push-back updated files during build","distinct":false,"url":"https://api.github.com/repos/remal/tracing-spec/commits/d9ec48600bab6c42ff486140be1229938e258f9c"},{"sha":"7ce48589f72ba0fad0f480f861126220b161cc0d","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"Update dependency name.remal:gradle-plugins to v1.5.1","distinct":true,"url":"https://api.github.com/repos/remal/tracing-spec/commits/7ce48589f72ba0fad0f480f861126220b161cc0d"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395745","type":"PushEvent","actor":{"id":54004431,"login":"BinarySwami-10","display_login":"BinarySwami-10","gravatar_id":"","url":"https://api.github.com/users/BinarySwami-10","avatar_url":"https://avatars.githubusercontent.com/u/54004431?"},"repo":{"id":353451786,"name":"BinarySwami-10/GitCron","url":"https://api.github.com/repos/BinarySwami-10/GitCron"},"payload":{"push_id":8732433002,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ea73f2ecf5a77ea7ed224ca33d4c38c3d302f15c","before":"164ee34d3601bb28fd67e7ea3e2ff0ee7d71d35c","commits":[{"sha":"ea73f2ecf5a77ea7ed224ca33d4c38c3d302f15c","author":{"email":"54004431+BinarySwami-10@users.noreply.github.com","name":"root"},"message":"SOURCE: AWS cloud Cron commit | INSTANCE_ID:i-0f3ab4432d38358b3.ap-south-1.compute.internal | INTENT:helps to greenify github activity log","distinct":true,"url":"https://api.github.com/repos/BinarySwami-10/GitCron/commits/ea73f2ecf5a77ea7ed224ca33d4c38c3d302f15c"}]},"public":true,"created_at":"2022-01-01T01:00:02Z"} +{"id":"19541395748","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732432995,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8ede35e34d7996936e4f94df055686f0b25ca1ea","before":"f10028d07ce5715eb706b9efa24845ca98b0b8a6","commits":[{"sha":"8ede35e34d7996936e4f94df055686f0b25ca1ea","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/8ede35e34d7996936e4f94df055686f0b25ca1ea"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395751","type":"PushEvent","actor":{"id":6999933,"login":"yk2kus","display_login":"yk2kus","gravatar_id":"","url":"https://api.github.com/users/yk2kus","avatar_url":"https://avatars.githubusercontent.com/u/6999933?"},"repo":{"id":199738431,"name":"brindsoft/docker-production","url":"https://api.github.com/repos/brindsoft/docker-production"},"payload":{"push_id":8732433001,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6bca7f2469e5245ab890498501bf7ccf9a22dfdd","before":"fed93016fd5efabd7a9920c9c21c6f1b4280176a","commits":[{"sha":"6bca7f2469e5245ab890498501bf7ccf9a22dfdd","author":{"email":"yogeshkushwaha4@gmail.com","name":"Yogesh Kushwaha"},"message":"updaet filestore","distinct":true,"url":"https://api.github.com/repos/brindsoft/docker-production/commits/6bca7f2469e5245ab890498501bf7ccf9a22dfdd"}]},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":51924245,"login":"brindsoft","gravatar_id":"","url":"https://api.github.com/orgs/brindsoft","avatar_url":"https://avatars.githubusercontent.com/u/51924245?"}} +{"id":"19541395756","type":"PullRequestEvent","actor":{"id":51087,"login":"phadej","display_login":"phadej","gravatar_id":"","url":"https://api.github.com/users/phadej","avatar_url":"https://avatars.githubusercontent.com/u/51087?"},"repo":{"id":28009973,"name":"haskell-hvr/uuid","url":"https://api.github.com/repos/haskell-hvr/uuid"},"payload":{"action":"closed","number":66,"pull_request":{"url":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66","id":812478265,"node_id":"PR_kwDOAatl9c4wbW85","html_url":"https://github.com/haskell-hvr/uuid/pull/66","diff_url":"https://github.com/haskell-hvr/uuid/pull/66.diff","patch_url":"https://github.com/haskell-hvr/uuid/pull/66.patch","issue_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/66","number":66,"state":"closed","locked":false,"title":"Allow text-2.0","user":{"login":"phadej","id":51087,"node_id":"MDQ6VXNlcjUxMDg3","avatar_url":"https://avatars.githubusercontent.com/u/51087?v=4","gravatar_id":"","url":"https://api.github.com/users/phadej","html_url":"https://github.com/phadej","followers_url":"https://api.github.com/users/phadej/followers","following_url":"https://api.github.com/users/phadej/following{/other_user}","gists_url":"https://api.github.com/users/phadej/gists{/gist_id}","starred_url":"https://api.github.com/users/phadej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phadej/subscriptions","organizations_url":"https://api.github.com/users/phadej/orgs","repos_url":"https://api.github.com/users/phadej/repos","events_url":"https://api.github.com/users/phadej/events{/privacy}","received_events_url":"https://api.github.com/users/phadej/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T00:46:42Z","updated_at":"2022-01-01T01:00:02Z","closed_at":"2022-01-01T01:00:02Z","merged_at":"2022-01-01T01:00:02Z","merge_commit_sha":"cf5f2530dd561fb0ffeae83b12badc8250cc46c7","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66/commits","review_comments_url":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66/comments","review_comment_url":"https://api.github.com/repos/haskell-hvr/uuid/pulls/comments{/number}","comments_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/66/comments","statuses_url":"https://api.github.com/repos/haskell-hvr/uuid/statuses/377f04315230952e689618d1eb0cd47e24e0cda5","head":{"label":"haskell-hvr:text-2.0","ref":"text-2.0","sha":"377f04315230952e689618d1eb0cd47e24e0cda5","user":{"login":"haskell-hvr","id":34610799,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NjEwNzk5","avatar_url":"https://avatars.githubusercontent.com/u/34610799?v=4","gravatar_id":"","url":"https://api.github.com/users/haskell-hvr","html_url":"https://github.com/haskell-hvr","followers_url":"https://api.github.com/users/haskell-hvr/followers","following_url":"https://api.github.com/users/haskell-hvr/following{/other_user}","gists_url":"https://api.github.com/users/haskell-hvr/gists{/gist_id}","starred_url":"https://api.github.com/users/haskell-hvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haskell-hvr/subscriptions","organizations_url":"https://api.github.com/users/haskell-hvr/orgs","repos_url":"https://api.github.com/users/haskell-hvr/repos","events_url":"https://api.github.com/users/haskell-hvr/events{/privacy}","received_events_url":"https://api.github.com/users/haskell-hvr/received_events","type":"Organization","site_admin":false},"repo":{"id":28009973,"node_id":"MDEwOlJlcG9zaXRvcnkyODAwOTk3Mw==","name":"uuid","full_name":"haskell-hvr/uuid","private":false,"owner":{"login":"haskell-hvr","id":34610799,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NjEwNzk5","avatar_url":"https://avatars.githubusercontent.com/u/34610799?v=4","gravatar_id":"","url":"https://api.github.com/users/haskell-hvr","html_url":"https://github.com/haskell-hvr","followers_url":"https://api.github.com/users/haskell-hvr/followers","following_url":"https://api.github.com/users/haskell-hvr/following{/other_user}","gists_url":"https://api.github.com/users/haskell-hvr/gists{/gist_id}","starred_url":"https://api.github.com/users/haskell-hvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haskell-hvr/subscriptions","organizations_url":"https://api.github.com/users/haskell-hvr/orgs","repos_url":"https://api.github.com/users/haskell-hvr/repos","events_url":"https://api.github.com/users/haskell-hvr/events{/privacy}","received_events_url":"https://api.github.com/users/haskell-hvr/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/haskell-hvr/uuid","description":"A Haskell library for creating, printing and parsing UUIDs","fork":false,"url":"https://api.github.com/repos/haskell-hvr/uuid","forks_url":"https://api.github.com/repos/haskell-hvr/uuid/forks","keys_url":"https://api.github.com/repos/haskell-hvr/uuid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haskell-hvr/uuid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haskell-hvr/uuid/teams","hooks_url":"https://api.github.com/repos/haskell-hvr/uuid/hooks","issue_events_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/events{/number}","events_url":"https://api.github.com/repos/haskell-hvr/uuid/events","assignees_url":"https://api.github.com/repos/haskell-hvr/uuid/assignees{/user}","branches_url":"https://api.github.com/repos/haskell-hvr/uuid/branches{/branch}","tags_url":"https://api.github.com/repos/haskell-hvr/uuid/tags","blobs_url":"https://api.github.com/repos/haskell-hvr/uuid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haskell-hvr/uuid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haskell-hvr/uuid/git/refs{/sha}","trees_url":"https://api.github.com/repos/haskell-hvr/uuid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haskell-hvr/uuid/statuses/{sha}","languages_url":"https://api.github.com/repos/haskell-hvr/uuid/languages","stargazers_url":"https://api.github.com/repos/haskell-hvr/uuid/stargazers","contributors_url":"https://api.github.com/repos/haskell-hvr/uuid/contributors","subscribers_url":"https://api.github.com/repos/haskell-hvr/uuid/subscribers","subscription_url":"https://api.github.com/repos/haskell-hvr/uuid/subscription","commits_url":"https://api.github.com/repos/haskell-hvr/uuid/commits{/sha}","git_commits_url":"https://api.github.com/repos/haskell-hvr/uuid/git/commits{/sha}","comments_url":"https://api.github.com/repos/haskell-hvr/uuid/comments{/number}","issue_comment_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/comments{/number}","contents_url":"https://api.github.com/repos/haskell-hvr/uuid/contents/{+path}","compare_url":"https://api.github.com/repos/haskell-hvr/uuid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haskell-hvr/uuid/merges","archive_url":"https://api.github.com/repos/haskell-hvr/uuid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haskell-hvr/uuid/downloads","issues_url":"https://api.github.com/repos/haskell-hvr/uuid/issues{/number}","pulls_url":"https://api.github.com/repos/haskell-hvr/uuid/pulls{/number}","milestones_url":"https://api.github.com/repos/haskell-hvr/uuid/milestones{/number}","notifications_url":"https://api.github.com/repos/haskell-hvr/uuid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haskell-hvr/uuid/labels{/name}","releases_url":"https://api.github.com/repos/haskell-hvr/uuid/releases{/id}","deployments_url":"https://api.github.com/repos/haskell-hvr/uuid/deployments","created_at":"2014-12-14T22:12:36Z","updated_at":"2021-10-31T17:32:04Z","pushed_at":"2022-01-01T01:00:02Z","git_url":"git://github.com/haskell-hvr/uuid.git","ssh_url":"git@github.com:haskell-hvr/uuid.git","clone_url":"https://github.com/haskell-hvr/uuid.git","svn_url":"https://github.com/haskell-hvr/uuid","homepage":"http://hackage.haskell.org/package/uuid","size":422,"stargazers_count":57,"watchers_count":57,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":6,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":29,"open_issues":6,"watchers":57,"default_branch":"master"}},"base":{"label":"haskell-hvr:master","ref":"master","sha":"61929a2889655ca153768f9e611d12918e6c7731","user":{"login":"haskell-hvr","id":34610799,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NjEwNzk5","avatar_url":"https://avatars.githubusercontent.com/u/34610799?v=4","gravatar_id":"","url":"https://api.github.com/users/haskell-hvr","html_url":"https://github.com/haskell-hvr","followers_url":"https://api.github.com/users/haskell-hvr/followers","following_url":"https://api.github.com/users/haskell-hvr/following{/other_user}","gists_url":"https://api.github.com/users/haskell-hvr/gists{/gist_id}","starred_url":"https://api.github.com/users/haskell-hvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haskell-hvr/subscriptions","organizations_url":"https://api.github.com/users/haskell-hvr/orgs","repos_url":"https://api.github.com/users/haskell-hvr/repos","events_url":"https://api.github.com/users/haskell-hvr/events{/privacy}","received_events_url":"https://api.github.com/users/haskell-hvr/received_events","type":"Organization","site_admin":false},"repo":{"id":28009973,"node_id":"MDEwOlJlcG9zaXRvcnkyODAwOTk3Mw==","name":"uuid","full_name":"haskell-hvr/uuid","private":false,"owner":{"login":"haskell-hvr","id":34610799,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM0NjEwNzk5","avatar_url":"https://avatars.githubusercontent.com/u/34610799?v=4","gravatar_id":"","url":"https://api.github.com/users/haskell-hvr","html_url":"https://github.com/haskell-hvr","followers_url":"https://api.github.com/users/haskell-hvr/followers","following_url":"https://api.github.com/users/haskell-hvr/following{/other_user}","gists_url":"https://api.github.com/users/haskell-hvr/gists{/gist_id}","starred_url":"https://api.github.com/users/haskell-hvr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haskell-hvr/subscriptions","organizations_url":"https://api.github.com/users/haskell-hvr/orgs","repos_url":"https://api.github.com/users/haskell-hvr/repos","events_url":"https://api.github.com/users/haskell-hvr/events{/privacy}","received_events_url":"https://api.github.com/users/haskell-hvr/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/haskell-hvr/uuid","description":"A Haskell library for creating, printing and parsing UUIDs","fork":false,"url":"https://api.github.com/repos/haskell-hvr/uuid","forks_url":"https://api.github.com/repos/haskell-hvr/uuid/forks","keys_url":"https://api.github.com/repos/haskell-hvr/uuid/keys{/key_id}","collaborators_url":"https://api.github.com/repos/haskell-hvr/uuid/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/haskell-hvr/uuid/teams","hooks_url":"https://api.github.com/repos/haskell-hvr/uuid/hooks","issue_events_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/events{/number}","events_url":"https://api.github.com/repos/haskell-hvr/uuid/events","assignees_url":"https://api.github.com/repos/haskell-hvr/uuid/assignees{/user}","branches_url":"https://api.github.com/repos/haskell-hvr/uuid/branches{/branch}","tags_url":"https://api.github.com/repos/haskell-hvr/uuid/tags","blobs_url":"https://api.github.com/repos/haskell-hvr/uuid/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/haskell-hvr/uuid/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/haskell-hvr/uuid/git/refs{/sha}","trees_url":"https://api.github.com/repos/haskell-hvr/uuid/git/trees{/sha}","statuses_url":"https://api.github.com/repos/haskell-hvr/uuid/statuses/{sha}","languages_url":"https://api.github.com/repos/haskell-hvr/uuid/languages","stargazers_url":"https://api.github.com/repos/haskell-hvr/uuid/stargazers","contributors_url":"https://api.github.com/repos/haskell-hvr/uuid/contributors","subscribers_url":"https://api.github.com/repos/haskell-hvr/uuid/subscribers","subscription_url":"https://api.github.com/repos/haskell-hvr/uuid/subscription","commits_url":"https://api.github.com/repos/haskell-hvr/uuid/commits{/sha}","git_commits_url":"https://api.github.com/repos/haskell-hvr/uuid/git/commits{/sha}","comments_url":"https://api.github.com/repos/haskell-hvr/uuid/comments{/number}","issue_comment_url":"https://api.github.com/repos/haskell-hvr/uuid/issues/comments{/number}","contents_url":"https://api.github.com/repos/haskell-hvr/uuid/contents/{+path}","compare_url":"https://api.github.com/repos/haskell-hvr/uuid/compare/{base}...{head}","merges_url":"https://api.github.com/repos/haskell-hvr/uuid/merges","archive_url":"https://api.github.com/repos/haskell-hvr/uuid/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/haskell-hvr/uuid/downloads","issues_url":"https://api.github.com/repos/haskell-hvr/uuid/issues{/number}","pulls_url":"https://api.github.com/repos/haskell-hvr/uuid/pulls{/number}","milestones_url":"https://api.github.com/repos/haskell-hvr/uuid/milestones{/number}","notifications_url":"https://api.github.com/repos/haskell-hvr/uuid/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/haskell-hvr/uuid/labels{/name}","releases_url":"https://api.github.com/repos/haskell-hvr/uuid/releases{/id}","deployments_url":"https://api.github.com/repos/haskell-hvr/uuid/deployments","created_at":"2014-12-14T22:12:36Z","updated_at":"2021-10-31T17:32:04Z","pushed_at":"2022-01-01T01:00:02Z","git_url":"git://github.com/haskell-hvr/uuid.git","ssh_url":"git@github.com:haskell-hvr/uuid.git","clone_url":"https://github.com/haskell-hvr/uuid.git","svn_url":"https://github.com/haskell-hvr/uuid","homepage":"http://hackage.haskell.org/package/uuid","size":422,"stargazers_count":57,"watchers_count":57,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":29,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":6,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":29,"open_issues":6,"watchers":57,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66"},"html":{"href":"https://github.com/haskell-hvr/uuid/pull/66"},"issue":{"href":"https://api.github.com/repos/haskell-hvr/uuid/issues/66"},"comments":{"href":"https://api.github.com/repos/haskell-hvr/uuid/issues/66/comments"},"review_comments":{"href":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66/comments"},"review_comment":{"href":"https://api.github.com/repos/haskell-hvr/uuid/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/haskell-hvr/uuid/pulls/66/commits"},"statuses":{"href":"https://api.github.com/repos/haskell-hvr/uuid/statuses/377f04315230952e689618d1eb0cd47e24e0cda5"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"phadej","id":51087,"node_id":"MDQ6VXNlcjUxMDg3","avatar_url":"https://avatars.githubusercontent.com/u/51087?v=4","gravatar_id":"","url":"https://api.github.com/users/phadej","html_url":"https://github.com/phadej","followers_url":"https://api.github.com/users/phadej/followers","following_url":"https://api.github.com/users/phadej/following{/other_user}","gists_url":"https://api.github.com/users/phadej/gists{/gist_id}","starred_url":"https://api.github.com/users/phadej/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phadej/subscriptions","organizations_url":"https://api.github.com/users/phadej/orgs","repos_url":"https://api.github.com/users/phadej/repos","events_url":"https://api.github.com/users/phadej/events{/privacy}","received_events_url":"https://api.github.com/users/phadej/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":4,"deletions":3,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":34610799,"login":"haskell-hvr","gravatar_id":"","url":"https://api.github.com/orgs/haskell-hvr","avatar_url":"https://avatars.githubusercontent.com/u/34610799?"}} +{"id":"19541395757","type":"CreateEvent","actor":{"id":88464189,"login":"edussj2","display_login":"edussj2","gravatar_id":"","url":"https://api.github.com/users/edussj2","avatar_url":"https://avatars.githubusercontent.com/u/88464189?"},"repo":{"id":443449218,"name":"edussj2/TiendaPERNOS","url":"https://api.github.com/repos/edussj2/TiendaPERNOS"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Tienda y sistema desarrollado como proyecto universitario para la empresa \"Pernos y Pernos\". (PHP, jQuery, Ajax, Html, Css, JS, Variables de Sesión de PHP)","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395758","type":"IssueCommentEvent","actor":{"id":37411558,"login":"docker-desktop-robot","display_login":"docker-desktop-robot","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","avatar_url":"https://avatars.githubusercontent.com/u/37411558?"},"repo":{"id":64405770,"name":"docker/for-mac","url":"https://api.github.com/repos/docker/for-mac"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/docker/for-mac/issues/5028","repository_url":"https://api.github.com/repos/docker/for-mac","labels_url":"https://api.github.com/repos/docker/for-mac/issues/5028/labels{/name}","comments_url":"https://api.github.com/repos/docker/for-mac/issues/5028/comments","events_url":"https://api.github.com/repos/docker/for-mac/issues/5028/events","html_url":"https://github.com/docker/for-mac/issues/5028","id":731933792,"node_id":"MDU6SXNzdWU3MzE5MzM3OTI=","number":5028,"title":"Enhance Docker for Mac to accommodate Catalina /rootPath (/etc/synthetic.conf) entries ","user":{"login":"bodhi-one","id":55712086,"node_id":"MDQ6VXNlcjU1NzEyMDg2","avatar_url":"https://avatars.githubusercontent.com/u/55712086?v=4","gravatar_id":"","url":"https://api.github.com/users/bodhi-one","html_url":"https://github.com/bodhi-one","followers_url":"https://api.github.com/users/bodhi-one/followers","following_url":"https://api.github.com/users/bodhi-one/following{/other_user}","gists_url":"https://api.github.com/users/bodhi-one/gists{/gist_id}","starred_url":"https://api.github.com/users/bodhi-one/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bodhi-one/subscriptions","organizations_url":"https://api.github.com/users/bodhi-one/orgs","repos_url":"https://api.github.com/users/bodhi-one/repos","events_url":"https://api.github.com/users/bodhi-one/events{/privacy}","received_events_url":"https://api.github.com/users/bodhi-one/received_events","type":"User","site_admin":false},"labels":[{"id":1831611017,"node_id":"MDU6TGFiZWwxODMxNjExMDE3","url":"https://api.github.com/repos/docker/for-mac/labels/version/10.15.3","name":"version/10.15.3","color":"ededed","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2020-10-29T02:02:04Z","updated_at":"2022-01-01T01:00:02Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"#4341 \r\n#4325 \r\n#4314 \r\n\r\nWere all closed without resolution, is that correct? \r\n \r\nIf this was resolved can you please provide an information update with which version this was fixed?\r\nIf this is not resolved can someone please schedule a fix?\r\n\r\n**From #4325**\r\n\r\n**Expected behavior**\r\n\r\nWhen I add a real path to Docker as a shared volume, and then reference that path via some path with a symlink, I would expect Docker to resolve a realpath from the desired shared volume path, and compare that with the shared volume paths, rather than the symlink path.\r\n\r\nSee Steps to reproduce the behavior for an example.\r\n\r\n**Actual behavior**\r\n\r\nDocker seems to treat these paths as literal strings. As in, unless the explicit symlink path is added to Docker Prefs, it forbids the directory as a shared volume when it should notice it is allowed (and consequently allow it).\r\n\r\n**Information**\r\n\r\nIs it reproducible? Certainly, yes.\r\nIs the problem new? Yes.\r\nDid the problem appear with an update? All problems appear in updates.\r\n\r\nmacOS Version: 10.15.3 (Catalina)\r\nDiagnostic logs\r\nDocker for Mac: 2.2.0.3 (42716)\r\nEngine: 19.03.5\r\nNotary: 0.6.1\r\nCompose: 1.25.4\r\nKubernetes: v1.15.5\r\nCredential Helper: 0.6.3\r\n\r\nSteps to reproduce the behavior\r\nInstall Docker for Mac latest\r\nExecute the following to create our \"real\" path:\r\ncd ~/Desktop && mkdir -p docker-sample/hello\r\nExecute the following to setup a symlink from \"real\" to somewhere else:\r\ncd docker-sample && ln -s `pwd`/hello `pwd`/yo\r\nAdd the \"real\" path to Docker for Mac as an allowed shared volume path (this is the only option because of #4318, i.e. one cannot add the symlinked path unless it works fine in the OS dialog, which only a subset of fs links do)\r\nTry to run a container using the symbolic path:\r\ndocker run --rm -v `pwd`/yo:/data -it ubuntu:latest bash\r\n\r\n\r\n**Manual work around from #4341**\r\n\r\n**federico-piazza commented on Mar 5**\r\nI could bypass the UI by editing this file:\r\n\r\n~/Library/Group Containers/group.com.docker/settings.json\r\nThen added my synthetic link there and fortunately that made the trick:\r\n\r\n{\r\n \"filesharingDirectories\" : [\r\n \"\\/Users\",\r\n \"\\/Volumes\",\r\n \"\\/datadrive\",\r\n \"\\/private\",\r\n \"\\/tmp\"\r\n ],\r\n\r\n\r\n**ALSO From #4341 Details on when the Docker for Mac UI changed and this became an issue ** \r\n\r\nThis behavior has appeared after the new UI release. I have found a post in SO where the guy mentions:\r\n\r\nUpdate I've downgraded progressively up to Docker Community Edition 2.0.0.3 2019-02-15. That seems to be the last version with the old user interface. With this version the folder browser dialog from file sharing displays all the folders and also manual editing of the file paths works. On versions Docker Desktop Community 2.1.0.1 and Docker Desktop Community 2.1.0.2, which have the new UI, it doesn't work.\r\n","reactions":{"url":"https://api.github.com/repos/docker/for-mac/issues/5028/reactions","total_count":1,"+1":1,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/docker/for-mac/issues/5028/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/docker/for-mac/issues/comments/1003476346","html_url":"https://github.com/docker/for-mac/issues/5028#issuecomment-1003476346","issue_url":"https://api.github.com/repos/docker/for-mac/issues/5028","id":1003476346,"node_id":"IC_kwDOA9bBCs47z9V6","user":{"login":"docker-desktop-robot","id":37411558,"node_id":"MDQ6VXNlcjM3NDExNTU4","avatar_url":"https://avatars.githubusercontent.com/u/37411558?v=4","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","html_url":"https://github.com/docker-desktop-robot","followers_url":"https://api.github.com/users/docker-desktop-robot/followers","following_url":"https://api.github.com/users/docker-desktop-robot/following{/other_user}","gists_url":"https://api.github.com/users/docker-desktop-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/docker-desktop-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker-desktop-robot/subscriptions","organizations_url":"https://api.github.com/users/docker-desktop-robot/orgs","repos_url":"https://api.github.com/users/docker-desktop-robot/repos","events_url":"https://api.github.com/users/docker-desktop-robot/events{/privacy}","received_events_url":"https://api.github.com/users/docker-desktop-robot/received_events","type":"User","site_admin":false},"created_at":"2022-01-01T01:00:02Z","updated_at":"2022-01-01T01:00:02Z","author_association":"COLLABORATOR","body":"Issues go stale after 90 days of inactivity.\nMark the issue as fresh with `/remove-lifecycle stale` comment.\nStale issues will be closed after an additional 30 days of inactivity.\n\nPrevent issues from auto-closing with an `/lifecycle frozen` comment.\n\nIf this issue is safe to close now please do so.\n\nSend feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.\n/lifecycle stale","reactions":{"url":"https://api.github.com/repos/docker/for-mac/issues/comments/1003476346/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":5429470,"login":"docker","gravatar_id":"","url":"https://api.github.com/orgs/docker","avatar_url":"https://avatars.githubusercontent.com/u/5429470?"}} +{"id":"19541395759","type":"PushEvent","actor":{"id":77078333,"login":"ooi-data-bot","display_login":"ooi-data-bot","gravatar_id":"","url":"https://api.github.com/users/ooi-data-bot","avatar_url":"https://avatars.githubusercontent.com/u/77078333?"},"repo":{"id":364397478,"name":"ooi-data/CE01ISSM-RID16-07-NUTNRB000-recovered_host-nutnr_b_dcl_dark_conc_instrument_recovered","url":"https://api.github.com/repos/ooi-data/CE01ISSM-RID16-07-NUTNRB000-recovered_host-nutnr_b_dcl_dark_conc_instrument_recovered"},"payload":{"push_id":8732432999,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8fe935f834392e8059f3d3b488d127fd09af4a1b","before":"eccb8d828f869dbf653e0bb1313c743e3ce0831f","commits":[{"sha":"8fe935f834392e8059f3d3b488d127fd09af4a1b","author":{"email":"77078333+ooi-data-bot@users.noreply.github.com","name":"CAVA Bot"},"message":"🔵 Data request [pending] (2022-01-01T01:00:01.204219)","distinct":true,"url":"https://api.github.com/repos/ooi-data/CE01ISSM-RID16-07-NUTNRB000-recovered_host-nutnr_b_dcl_dark_conc_instrument_recovered/commits/8fe935f834392e8059f3d3b488d127fd09af4a1b"}]},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":76968871,"login":"ooi-data","gravatar_id":"","url":"https://api.github.com/orgs/ooi-data","avatar_url":"https://avatars.githubusercontent.com/u/76968871?"}} +{"id":"19541395760","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433003,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-434","head":"e31e9ac938971c72935c0e1c8b75fa26cfb67391","before":"e31e9ac938971c72935c0e1c8b75fa26cfb67391","commits":[]},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395761","type":"PushEvent","actor":{"id":7335618,"login":"Epsilon-Lee","display_login":"Epsilon-Lee","gravatar_id":"","url":"https://api.github.com/users/Epsilon-Lee","avatar_url":"https://avatars.githubusercontent.com/u/7335618?"},"repo":{"id":371640479,"name":"Epsilon-Lee/paper-jam","url":"https://api.github.com/repos/Epsilon-Lee/paper-jam"},"payload":{"push_id":8732432998,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4c2d2f322d4a5b59785a3bd63f8aa7a543ae8800","before":"e7118edb5abbc6e3e5ff78a9af99445888b1ee8c","commits":[{"sha":"4c2d2f322d4a5b59785a3bd63f8aa7a543ae8800","author":{"email":"epsilonlee.green@gmail.com","name":"Guanlin Li"},"message":"Update dialogue-recent-trends.md","distinct":true,"url":"https://api.github.com/repos/Epsilon-Lee/paper-jam/commits/4c2d2f322d4a5b59785a3bd63f8aa7a543ae8800"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395762","type":"PushEvent","actor":{"id":95857802,"login":"dateshare","display_login":"dateshare","gravatar_id":"","url":"https://api.github.com/users/dateshare","avatar_url":"https://avatars.githubusercontent.com/u/95857802?"},"repo":{"id":436593692,"name":"dateshare/js","url":"https://api.github.com/repos/dateshare/js"},"payload":{"push_id":8732433017,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0b3839394e18a0f13b2c75e7d3e889c2404e0b78","before":"e49f397be9df599637f0ba57f8879100f7aecea7","commits":[{"sha":"0b3839394e18a0f13b2c75e7d3e889c2404e0b78","author":{"email":"chulishen567@gmail.com","name":"dateshare"},"message":"message","distinct":true,"url":"https://api.github.com/repos/dateshare/js/commits/0b3839394e18a0f13b2c75e7d3e889c2404e0b78"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395763","type":"PushEvent","actor":{"id":51388721,"login":"ankiwoong","display_login":"ankiwoong","gravatar_id":"","url":"https://api.github.com/users/ankiwoong","avatar_url":"https://avatars.githubusercontent.com/u/51388721?"},"repo":{"id":280666640,"name":"ankiwoong/awesome-interview-questions","url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions"},"payload":{"push_id":8732433011,"size":36,"distinct_size":36,"ref":"refs/heads/master","head":"77a8a184e0f1fd8b3671881ad18be37b704e6cc6","before":"fd704639fbeaf4729113d4783218fc0ea6e8c5d9","commits":[{"sha":"cc150aac8e87f32f7b9ae24d2f68931bded27f4d","author":{"email":"sukanyasurendrapai@gmail.com","name":"Sukanya Pai"},"message":"Merge pull request #1 from DopplerHQ/master\n\nI need latest changes of that branch for reference","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/cc150aac8e87f32f7b9ae24d2f68931bded27f4d"},{"sha":"014d456d51487b6dce01ed167e97bce9572c21e5","author":{"email":"lancechu0218@gmail.com","name":"Lance Chu"},"message":"docs: update years in titles of Python and Data Science","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/014d456d51487b6dce01ed167e97bce9572c21e5"},{"sha":"de148282cd0524495b15e5b79ca95f59b5879bb3","author":{"email":"76952704+Prasanthpadp@users.noreply.github.com","name":"Prasanthpadp"},"message":"Added New Resource To Android\n\nAdded a resources to help users prepare for android interview (basic, intermediate, and advanced)","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/de148282cd0524495b15e5b79ca95f59b5879bb3"},{"sha":"89bea6c12e8b2ad4e83fc786162cf1eb4c1017e3","author":{"email":"76952704+Prasanthpadp@users.noreply.github.com","name":"Prasanthpadp"},"message":"Added New Resource for Android, Networking, etc\n\nAdded a resources which includes curated list of interview questions","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/89bea6c12e8b2ad4e83fc786162cf1eb4c1017e3"},{"sha":"8e3e263269c3c2a079981a0e7e5d2e9a71dcb505","author":{"email":"76952704+Prasanthpadp@users.noreply.github.com","name":"Prasanthpadp"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/8e3e263269c3c2a079981a0e7e5d2e9a71dcb505"},{"sha":"45f35aca04ef09b96e7f179f416c6222f116f692","author":{"email":"evgenij.kulikov@gmail.com","name":"Jekie"},"message":"Adds VueJs section\n\nThe section is populated with a link to substantial & updated list of questions. \\\r\nAlso section is put alphabetically.","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/45f35aca04ef09b96e7f179f416c6222f116f692"},{"sha":"1ead20384b44de1fcaaa515de735a9fdef2b2762","author":{"email":"mafeyzioglu@gmail.com","name":"Akif Feyzioğlu"},"message":"add: Docker interview questions and answers link\n\nSigned-off-by: Akif Feyzioğlu ","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/1ead20384b44de1fcaaa515de735a9fdef2b2762"},{"sha":"56144bc38191dee7697550ebe1f110c19a17904e","author":{"email":"aachavda0789@gmail.com","name":"tremoloplusdelay"},"message":"Spark additions","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/56144bc38191dee7697550ebe1f110c19a17904e"},{"sha":"26f43085a89f883c038a06bdcf2d73514535c502","author":{"email":"83826914+pu-master@users.noreply.github.com","name":"pu-master"},"message":"Update a number of Toptal questions for ReactJS","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/26f43085a89f883c038a06bdcf2d73514535c502"},{"sha":"faeb0a31aec00b67d05b10a2f638e3e41baad85e","author":{"email":"33773206+thecoder8890@users.noreply.github.com","name":"Mayur Ingle"},"message":"Update List of Java programs for interview \n\n[List of Java programs for interview Categoriwise](https://onurdesk.com/category/interview/interview-program-java/)","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/faeb0a31aec00b67d05b10a2f638e3e41baad85e"},{"sha":"ece18e4098b09c9f761962c599dc02b69b1d83f9","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #240 from thecoder8890/master\n\nUpdate List of Java programs for interview","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/ece18e4098b09c9f761962c599dc02b69b1d83f9"},{"sha":"25544f5e43228d3999706f03cc96e4929e3f9de0","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #239 from pu-master/patch-1\n\nUpdate a number of Toptal questions for ReactJS","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/25544f5e43228d3999706f03cc96e4929e3f9de0"},{"sha":"e7af9b3fa0e63e27449789211f86d85a5860f623","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #237 from ankurchavda/master\n\nAdding Spark Resource","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/e7af9b3fa0e63e27449789211f86d85a5860f623"},{"sha":"12e529c594019c348635a46bc26aeb19169abf5c","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #232 from Lance0218/docs-update-years-in-titles\n\ndocs: update years in titles of Python and Data Science","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/12e529c594019c348635a46bc26aeb19169abf5c"},{"sha":"db34723396283df884bf2f9c7191a36c974d7294","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #233 from Prasanthpadp/patch-2\n\nAdded New Resource To Android","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/db34723396283df884bf2f9c7191a36c974d7294"},{"sha":"efaef3b574c793e67bb219af1530f16d42cfe833","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #236 from akiffeyzioglu/master\n\nadd: Docker interview questions and answers link","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/efaef3b574c793e67bb219af1530f16d42cfe833"},{"sha":"9f9102fcb267aa4d5b29c934b50ec732419346b8","author":{"email":"ryan.blunden@gmail.com","name":"Ryan Blunden"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/9f9102fcb267aa4d5b29c934b50ec732419346b8"},{"sha":"2871cd17eb4ea282bd8724592ae9291c8e2c7a77","author":{"email":"ryan.blunden@gmail.com","name":"Ryan Blunden"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/2871cd17eb4ea282bd8724592ae9291c8e2c7a77"},{"sha":"f486498953237daa102979e13dd85382b2e8796a","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #235 from evk11/patch-1\n\nAdds VueJs section","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/f486498953237daa102979e13dd85382b2e8796a"},{"sha":"d1ab8dc4ecd4ab19c57628f48c3bd36345a30ead","author":{"email":"ryan.blunden@doppler.com","name":"Ryan Blunden"},"message":"Merge pull request #234 from Prasanthpadp/patch-3\n\nAdded New Resource for Android, Networking, etc","distinct":true,"url":"https://api.github.com/repos/ankiwoong/awesome-interview-questions/commits/d1ab8dc4ecd4ab19c57628f48c3bd36345a30ead"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395768","type":"IssuesEvent","actor":{"id":29387808,"login":"NickAragua","display_login":"NickAragua","gravatar_id":"","url":"https://api.github.com/users/NickAragua","avatar_url":"https://avatars.githubusercontent.com/u/29387808?"},"repo":{"id":40765298,"name":"MegaMek/megamek","url":"https://api.github.com/repos/MegaMek/megamek"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/3285","repository_url":"https://api.github.com/repos/MegaMek/megamek","labels_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/labels{/name}","comments_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/comments","events_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/events","html_url":"https://github.com/MegaMek/megamek/issues/3285","id":1067803897,"node_id":"I_kwDOAm4Hcs4_pWT5","number":3285,"title":"0.49.5 Princess targeting unit rather than hex with Sniper cannon","user":{"login":"Gribbly1","id":55139229,"node_id":"MDQ6VXNlcjU1MTM5MjI5","avatar_url":"https://avatars.githubusercontent.com/u/55139229?v=4","gravatar_id":"","url":"https://api.github.com/users/Gribbly1","html_url":"https://github.com/Gribbly1","followers_url":"https://api.github.com/users/Gribbly1/followers","following_url":"https://api.github.com/users/Gribbly1/following{/other_user}","gists_url":"https://api.github.com/users/Gribbly1/gists{/gist_id}","starred_url":"https://api.github.com/users/Gribbly1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gribbly1/subscriptions","organizations_url":"https://api.github.com/users/Gribbly1/orgs","repos_url":"https://api.github.com/users/Gribbly1/repos","events_url":"https://api.github.com/users/Gribbly1/events{/privacy}","received_events_url":"https://api.github.com/users/Gribbly1/received_events","type":"User","site_admin":false},"labels":[{"id":424611168,"node_id":"MDU6TGFiZWw0MjQ2MTExNjg=","url":"https://api.github.com/repos/MegaMek/megamek/labels/Princess/AI","name":"Princess/AI","color":"FBCA04","default":false,"description":""},{"id":1429905778,"node_id":"MDU6TGFiZWwxNDI5OTA1Nzc4","url":"https://api.github.com/repos/MegaMek/megamek/labels/Needs%20Investigation","name":"Needs Investigation","color":"ffe389","default":false,"description":"This issue needs investigation and/or triage."}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2021-12-01T00:19:20Z","updated_at":"2022-01-01T01:00:02Z","closed_at":"2022-01-01T01:00:02Z","author_association":"NONE","active_lock_reason":null,"body":"\r\nPackaged MM version 0.49.5\r\nWindows 10\r\nJava version 11.0.13\r\n\r\n![image](https://user-images.githubusercontent.com/55139229/144148544-ce04d3f6-638d-42c1-86a0-7b2400dc820a.png)\r\n\r\n\r\n[megameklog.txt](https://github.com/MegaMek/megamek/files/7629675/megameklog.txt)\r\n\r\n[autosave.sav.gz](https://github.com/MegaMek/megamek/files/7629676/autosave.sav.gz)\r\n\r\n[fhcustom.zip](https://github.com/MegaMek/megamek/files/7629682/fhcustom.zip)\r\n\r\n\r\n","reactions":{"url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/MegaMek/megamek/issues/3285/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":13810529,"login":"MegaMek","gravatar_id":"","url":"https://api.github.com/orgs/MegaMek","avatar_url":"https://avatars.githubusercontent.com/u/13810529?"}} +{"id":"19541395770","type":"PushEvent","actor":{"id":76970935,"login":"xiaoandy1974","display_login":"xiaoandy1974","gravatar_id":"","url":"https://api.github.com/users/xiaoandy1974","avatar_url":"https://avatars.githubusercontent.com/u/76970935?"},"repo":{"id":326797979,"name":"xiaoandy1974/test","url":"https://api.github.com/repos/xiaoandy1974/test"},"payload":{"push_id":8732433014,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"97eba3795b0ad4419ca810d6863ce432294410f2","before":"aeb9ee3057d29540faa0cd3303a5c9a0e5a808f5","commits":[{"sha":"97eba3795b0ad4419ca810d6863ce432294410f2","author":{"email":"76970935+xiaoandy1974@users.noreply.github.com","name":"xiaoandy1974"},"message":"","distinct":true,"url":"https://api.github.com/repos/xiaoandy1974/test/commits/97eba3795b0ad4419ca810d6863ce432294410f2"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395772","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":399914213,"name":"danieleguglietti/danieleguglietti","url":"https://api.github.com/repos/danieleguglietti/danieleguglietti"},"payload":{"push_id":8732433015,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"633f01f6a4ca415130f6c562032cb035143b3615","before":"261b828675afc65fdf3c79368da40fbb605717af","commits":[{"sha":"633f01f6a4ca415130f6c562032cb035143b3615","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update github-metrics.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/danieleguglietti/danieleguglietti/commits/633f01f6a4ca415130f6c562032cb035143b3615"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395774","type":"ForkEvent","actor":{"id":14998983,"login":"GuDuHi","display_login":"GuDuHi","gravatar_id":"","url":"https://api.github.com/users/GuDuHi","avatar_url":"https://avatars.githubusercontent.com/u/14998983?"},"repo":{"id":79658844,"name":"tachiyomiorg/tachiyomi-extensions","url":"https://api.github.com/repos/tachiyomiorg/tachiyomi-extensions"},"payload":{"forkee":{"id":443449219,"node_id":"R_kgDOGm5_gw","name":"tachiyomi-extensions","full_name":"GuDuHi/tachiyomi-extensions","private":false,"owner":{"login":"GuDuHi","id":14998983,"node_id":"MDQ6VXNlcjE0OTk4OTgz","avatar_url":"https://avatars.githubusercontent.com/u/14998983?v=4","gravatar_id":"","url":"https://api.github.com/users/GuDuHi","html_url":"https://github.com/GuDuHi","followers_url":"https://api.github.com/users/GuDuHi/followers","following_url":"https://api.github.com/users/GuDuHi/following{/other_user}","gists_url":"https://api.github.com/users/GuDuHi/gists{/gist_id}","starred_url":"https://api.github.com/users/GuDuHi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuDuHi/subscriptions","organizations_url":"https://api.github.com/users/GuDuHi/orgs","repos_url":"https://api.github.com/users/GuDuHi/repos","events_url":"https://api.github.com/users/GuDuHi/events{/privacy}","received_events_url":"https://api.github.com/users/GuDuHi/received_events","type":"User","site_admin":false},"html_url":"https://github.com/GuDuHi/tachiyomi-extensions","description":"Source extensions for the Tachiyomi app.","fork":true,"url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions","forks_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/forks","keys_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/teams","hooks_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/hooks","issue_events_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/issues/events{/number}","events_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/events","assignees_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/assignees{/user}","branches_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/branches{/branch}","tags_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/tags","blobs_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/languages","stargazers_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/stargazers","contributors_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/contributors","subscribers_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/subscribers","subscription_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/subscription","commits_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/contents/{+path}","compare_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/merges","archive_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/downloads","issues_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/issues{/number}","pulls_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/labels{/name}","releases_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/releases{/id}","deployments_url":"https://api.github.com/repos/GuDuHi/tachiyomi-extensions/deployments","created_at":"2022-01-01T01:00:02Z","updated_at":"2021-12-31T21:15:34Z","pushed_at":"2021-12-31T17:49:06Z","git_url":"git://github.com/GuDuHi/tachiyomi-extensions.git","ssh_url":"git@github.com:GuDuHi/tachiyomi-extensions.git","clone_url":"https://github.com/GuDuHi/tachiyomi-extensions.git","svn_url":"https://github.com/GuDuHi/tachiyomi-extensions","homepage":"https://tachiyomi.org/extensions/","size":1581851,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master","public":true}},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":53302311,"login":"tachiyomiorg","gravatar_id":"","url":"https://api.github.com/orgs/tachiyomiorg","avatar_url":"https://avatars.githubusercontent.com/u/53302311?"}} +{"id":"19541395778","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":249783941,"name":"miwebst/ssRunnerAngular","url":"https://api.github.com/repos/miwebst/ssRunnerAngular"},"payload":{"push_id":8732433030,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c7a96ed6bf0339d6b486b4e84e4faaca96dbd25b","before":"05a8202373794ba2fe12a31ec376c346df7aa5b2","commits":[{"sha":"c7a96ed6bf0339d6b486b4e84e4faaca96dbd25b","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/1/2022 1:00:02 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunnerAngular/commits/c7a96ed6bf0339d6b486b4e84e4faaca96dbd25b"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395779","type":"PushEvent","actor":{"id":71983,"login":"scoates","display_login":"scoates","gravatar_id":"","url":"https://api.github.com/users/scoates","avatar_url":"https://avatars.githubusercontent.com/u/71983?"},"repo":{"id":289770666,"name":"scoates/scraped-data","url":"https://api.github.com/repos/scoates/scraped-data"},"payload":{"push_id":8732433019,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"3d16c36a662c0e08bb5812323e892cd2701271e9","before":"aacf743859eeb373b72e4bc8b78550c390c11be6","commits":[{"sha":"3d16c36a662c0e08bb5812323e892cd2701271e9","author":{"email":"sean@seancoates.com","name":"Sean Coates"},"message":"Captured on newiconoclast with /home/sean/scraped-data/emergency-rooms/quebec/capture","distinct":true,"url":"https://api.github.com/repos/scoates/scraped-data/commits/3d16c36a662c0e08bb5812323e892cd2701271e9"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395781","type":"PushEvent","actor":{"id":96804436,"login":"dfa54","display_login":"dfa54","gravatar_id":"","url":"https://api.github.com/users/dfa54","avatar_url":"https://avatars.githubusercontent.com/u/96804436?"},"repo":{"id":443408338,"name":"dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590","url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590"},"payload":{"push_id":8732433029,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6ee9b210048cdb28bd75b14e8f5ec2859bb6e5da","before":"69fccb20e3ee667507979432b9aa9e11e445dc21","commits":[{"sha":"6ee9b210048cdb28bd75b14e8f5ec2859bb6e5da","author":{"email":"96804436+dfa54@users.noreply.github.com","name":"dfa54"},"message":"upload file de92c699cccb07c4f2221ace5ca112983399d88e209431962893570dbef9738f57e268a6698a533f7ecf9ed3a3be712avideo_75_0_2356528.ts","distinct":true,"url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590/commits/6ee9b210048cdb28bd75b14e8f5ec2859bb6e5da"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395782","type":"PushEvent","actor":{"id":96629288,"login":"dfdsa434","display_login":"dfdsa434","gravatar_id":"","url":"https://api.github.com/users/dfdsa434","avatar_url":"https://avatars.githubusercontent.com/u/96629288?"},"repo":{"id":443427056,"name":"dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f","url":"https://api.github.com/repos/dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f"},"payload":{"push_id":8732433033,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4eea3cb8653bcb53645cdd9950fad866c60b6661","before":"e76d348017ac0159f1260c05c133d9424f412097","commits":[{"sha":"4eea3cb8653bcb53645cdd9950fad866c60b6661","author":{"email":"96629288+dfdsa434@users.noreply.github.com","name":"dfdsa434"},"message":"upload file 85a893793b49fec015d1b4c4f69a59891abb4f871798eb78e4fd17afd00367b924f45ec5234b05193f8d401cc9a5f666video_341_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f/commits/4eea3cb8653bcb53645cdd9950fad866c60b6661"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395794","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":249503742,"name":"miwebst/ssRunnerReact","url":"https://api.github.com/repos/miwebst/ssRunnerReact"},"payload":{"push_id":8732433035,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"651e8e014f84e2dc2e54a9a2a1a3e9cffafe894e","before":"c0316f2621cc549ad745f12c51b50bfa96f2d58a","commits":[{"sha":"651e8e014f84e2dc2e54a9a2a1a3e9cffafe894e","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/1/2022 1:00:02 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunnerReact/commits/651e8e014f84e2dc2e54a9a2a1a3e9cffafe894e"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395800","type":"PushEvent","actor":{"id":51087,"login":"phadej","display_login":"phadej","gravatar_id":"","url":"https://api.github.com/users/phadej","avatar_url":"https://avatars.githubusercontent.com/u/51087?"},"repo":{"id":28009973,"name":"haskell-hvr/uuid","url":"https://api.github.com/repos/haskell-hvr/uuid"},"payload":{"push_id":8732433046,"size":2,"distinct_size":1,"ref":"refs/heads/master","head":"cf5f2530dd561fb0ffeae83b12badc8250cc46c7","before":"61929a2889655ca153768f9e611d12918e6c7731","commits":[{"sha":"377f04315230952e689618d1eb0cd47e24e0cda5","author":{"email":"oleg.grenrus@iki.fi","name":"Oleg Grenrus"},"message":"Allow text-2.0","distinct":false,"url":"https://api.github.com/repos/haskell-hvr/uuid/commits/377f04315230952e689618d1eb0cd47e24e0cda5"},{"sha":"cf5f2530dd561fb0ffeae83b12badc8250cc46c7","author":{"email":"oleg.grenrus@iki.fi","name":"Oleg Grenrus"},"message":"Merge pull request #66 from haskell-hvr/text-2.0\n\nAllow text-2.0","distinct":true,"url":"https://api.github.com/repos/haskell-hvr/uuid/commits/cf5f2530dd561fb0ffeae83b12badc8250cc46c7"}]},"public":true,"created_at":"2022-01-01T01:00:03Z","org":{"id":34610799,"login":"haskell-hvr","gravatar_id":"","url":"https://api.github.com/orgs/haskell-hvr","avatar_url":"https://avatars.githubusercontent.com/u/34610799?"}} +{"id":"19541395802","type":"WatchEvent","actor":{"id":77573150,"login":"michaelskyf","display_login":"michaelskyf","gravatar_id":"","url":"https://api.github.com/users/michaelskyf","avatar_url":"https://avatars.githubusercontent.com/u/77573150?"},"repo":{"id":418588652,"name":"michaelskyf/GTEngine","url":"https://api.github.com/repos/michaelskyf/GTEngine"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395806","type":"CreateEvent","actor":{"id":50245,"login":"bkuhlmann","display_login":"bkuhlmann","gravatar_id":"","url":"https://api.github.com/users/bkuhlmann","avatar_url":"https://avatars.githubusercontent.com/u/50245?"},"repo":{"id":89075183,"name":"bkuhlmann/test","url":"https://api.github.com/repos/bkuhlmann/test"},"payload":{"ref":"1.2.3","ref_type":"tag","master_branch":"main","description":"A project used for testing purposes only.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395809","type":"PushEvent","actor":{"id":73574038,"login":"flyinglobster69","display_login":"flyinglobster69","gravatar_id":"","url":"https://api.github.com/users/flyinglobster69","avatar_url":"https://avatars.githubusercontent.com/u/73574038?"},"repo":{"id":374472704,"name":"flyinglobster69/pog","url":"https://api.github.com/repos/flyinglobster69/pog"},"payload":{"push_id":8732433048,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c883e452d96e39d512574019ff81a188027bd87e","before":"8346a9cd169191dc4f928950f73c3f855d26b43d","commits":[{"sha":"c883e452d96e39d512574019ff81a188027bd87e","author":{"email":"arthurjin01@gmail.com","name":"FlyingLobster69"},"message":"Updating Counters","distinct":true,"url":"https://api.github.com/repos/flyinglobster69/pog/commits/c883e452d96e39d512574019ff81a188027bd87e"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395810","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":248646333,"name":"miwebst/ssRunner","url":"https://api.github.com/repos/miwebst/ssRunner"},"payload":{"push_id":8732433041,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2197af40fef7cdd928bc22413d8bb2f79412e987","before":"992e9824aef93ad616cbdd7bb5982608d97ba849","commits":[{"sha":"2197af40fef7cdd928bc22413d8bb2f79412e987","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/1/2022 1:00:02 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunner/commits/2197af40fef7cdd928bc22413d8bb2f79412e987"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395812","type":"PushEvent","actor":{"id":89673167,"login":"charleside2001","display_login":"charleside2001","gravatar_id":"","url":"https://api.github.com/users/charleside2001","avatar_url":"https://avatars.githubusercontent.com/u/89673167?"},"repo":{"id":443449184,"name":"charleside2001/Data-Pipeline---Azure-Spark-Databricks","url":"https://api.github.com/repos/charleside2001/Data-Pipeline---Azure-Spark-Databricks"},"payload":{"push_id":8732433045,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e02c9cfbecf6d1903ca514422c5a20eb043d185d","before":"a34a4964dcd824b577c052b1fd27c838061fb51f","commits":[{"sha":"e02c9cfbecf6d1903ca514422c5a20eb043d185d","author":{"email":"89673167+charleside2001@users.noreply.github.com","name":"Chukwuyem Charles Obuseh"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/charleside2001/Data-Pipeline---Azure-Spark-Databricks/commits/e02c9cfbecf6d1903ca514422c5a20eb043d185d"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395814","type":"PullRequestEvent","actor":{"id":28462841,"login":"nikdeapen","display_login":"nikdeapen","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","avatar_url":"https://avatars.githubusercontent.com/u/28462841?"},"repo":{"id":443415168,"name":"nikdeapen/address","url":"https://api.github.com/repos/nikdeapen/address"},"payload":{"action":"opened","number":20,"pull_request":{"url":"https://api.github.com/repos/nikdeapen/address/pulls/20","id":812479587,"node_id":"PR_kwDOGm36gM4wbXRj","html_url":"https://github.com/nikdeapen/address/pull/20","diff_url":"https://github.com/nikdeapen/address/pull/20.diff","patch_url":"https://github.com/nikdeapen/address/pull/20.patch","issue_url":"https://api.github.com/repos/nikdeapen/address/issues/20","number":20,"state":"open","locked":false,"title":"Added authority address conversions.","user":{"login":"nikdeapen","id":28462841,"node_id":"MDQ6VXNlcjI4NDYyODQx","avatar_url":"https://avatars.githubusercontent.com/u/28462841?v=4","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","html_url":"https://github.com/nikdeapen","followers_url":"https://api.github.com/users/nikdeapen/followers","following_url":"https://api.github.com/users/nikdeapen/following{/other_user}","gists_url":"https://api.github.com/users/nikdeapen/gists{/gist_id}","starred_url":"https://api.github.com/users/nikdeapen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikdeapen/subscriptions","organizations_url":"https://api.github.com/users/nikdeapen/orgs","repos_url":"https://api.github.com/users/nikdeapen/repos","events_url":"https://api.github.com/users/nikdeapen/events{/privacy}","received_events_url":"https://api.github.com/users/nikdeapen/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:03Z","updated_at":"2022-01-01T01:00:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/nikdeapen/address/pulls/20/commits","review_comments_url":"https://api.github.com/repos/nikdeapen/address/pulls/20/comments","review_comment_url":"https://api.github.com/repos/nikdeapen/address/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nikdeapen/address/issues/20/comments","statuses_url":"https://api.github.com/repos/nikdeapen/address/statuses/cab29281c6f6e58e0eadc52a2a46236eb8dc97b3","head":{"label":"nikdeapen:authority-address-conversions","ref":"authority-address-conversions","sha":"cab29281c6f6e58e0eadc52a2a46236eb8dc97b3","user":{"login":"nikdeapen","id":28462841,"node_id":"MDQ6VXNlcjI4NDYyODQx","avatar_url":"https://avatars.githubusercontent.com/u/28462841?v=4","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","html_url":"https://github.com/nikdeapen","followers_url":"https://api.github.com/users/nikdeapen/followers","following_url":"https://api.github.com/users/nikdeapen/following{/other_user}","gists_url":"https://api.github.com/users/nikdeapen/gists{/gist_id}","starred_url":"https://api.github.com/users/nikdeapen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikdeapen/subscriptions","organizations_url":"https://api.github.com/users/nikdeapen/orgs","repos_url":"https://api.github.com/users/nikdeapen/repos","events_url":"https://api.github.com/users/nikdeapen/events{/privacy}","received_events_url":"https://api.github.com/users/nikdeapen/received_events","type":"User","site_admin":false},"repo":{"id":443415168,"node_id":"R_kgDOGm36gA","name":"address","full_name":"nikdeapen/address","private":false,"owner":{"login":"nikdeapen","id":28462841,"node_id":"MDQ6VXNlcjI4NDYyODQx","avatar_url":"https://avatars.githubusercontent.com/u/28462841?v=4","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","html_url":"https://github.com/nikdeapen","followers_url":"https://api.github.com/users/nikdeapen/followers","following_url":"https://api.github.com/users/nikdeapen/following{/other_user}","gists_url":"https://api.github.com/users/nikdeapen/gists{/gist_id}","starred_url":"https://api.github.com/users/nikdeapen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikdeapen/subscriptions","organizations_url":"https://api.github.com/users/nikdeapen/orgs","repos_url":"https://api.github.com/users/nikdeapen/repos","events_url":"https://api.github.com/users/nikdeapen/events{/privacy}","received_events_url":"https://api.github.com/users/nikdeapen/received_events","type":"User","site_admin":false},"html_url":"https://github.com/nikdeapen/address","description":"This library aids in processing network addresses.","fork":false,"url":"https://api.github.com/repos/nikdeapen/address","forks_url":"https://api.github.com/repos/nikdeapen/address/forks","keys_url":"https://api.github.com/repos/nikdeapen/address/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nikdeapen/address/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nikdeapen/address/teams","hooks_url":"https://api.github.com/repos/nikdeapen/address/hooks","issue_events_url":"https://api.github.com/repos/nikdeapen/address/issues/events{/number}","events_url":"https://api.github.com/repos/nikdeapen/address/events","assignees_url":"https://api.github.com/repos/nikdeapen/address/assignees{/user}","branches_url":"https://api.github.com/repos/nikdeapen/address/branches{/branch}","tags_url":"https://api.github.com/repos/nikdeapen/address/tags","blobs_url":"https://api.github.com/repos/nikdeapen/address/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nikdeapen/address/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nikdeapen/address/git/refs{/sha}","trees_url":"https://api.github.com/repos/nikdeapen/address/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nikdeapen/address/statuses/{sha}","languages_url":"https://api.github.com/repos/nikdeapen/address/languages","stargazers_url":"https://api.github.com/repos/nikdeapen/address/stargazers","contributors_url":"https://api.github.com/repos/nikdeapen/address/contributors","subscribers_url":"https://api.github.com/repos/nikdeapen/address/subscribers","subscription_url":"https://api.github.com/repos/nikdeapen/address/subscription","commits_url":"https://api.github.com/repos/nikdeapen/address/commits{/sha}","git_commits_url":"https://api.github.com/repos/nikdeapen/address/git/commits{/sha}","comments_url":"https://api.github.com/repos/nikdeapen/address/comments{/number}","issue_comment_url":"https://api.github.com/repos/nikdeapen/address/issues/comments{/number}","contents_url":"https://api.github.com/repos/nikdeapen/address/contents/{+path}","compare_url":"https://api.github.com/repos/nikdeapen/address/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nikdeapen/address/merges","archive_url":"https://api.github.com/repos/nikdeapen/address/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nikdeapen/address/downloads","issues_url":"https://api.github.com/repos/nikdeapen/address/issues{/number}","pulls_url":"https://api.github.com/repos/nikdeapen/address/pulls{/number}","milestones_url":"https://api.github.com/repos/nikdeapen/address/milestones{/number}","notifications_url":"https://api.github.com/repos/nikdeapen/address/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nikdeapen/address/labels{/name}","releases_url":"https://api.github.com/repos/nikdeapen/address/releases{/id}","deployments_url":"https://api.github.com/repos/nikdeapen/address/deployments","created_at":"2021-12-31T19:43:03Z","updated_at":"2022-01-01T00:41:31Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/nikdeapen/address.git","ssh_url":"git@github.com:nikdeapen/address.git","clone_url":"https://github.com/nikdeapen/address.git","svn_url":"https://github.com/nikdeapen/address","homepage":null,"size":33,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"nikdeapen:master","ref":"master","sha":"b700609197a16d8401bd5a9571b73474cfd37d04","user":{"login":"nikdeapen","id":28462841,"node_id":"MDQ6VXNlcjI4NDYyODQx","avatar_url":"https://avatars.githubusercontent.com/u/28462841?v=4","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","html_url":"https://github.com/nikdeapen","followers_url":"https://api.github.com/users/nikdeapen/followers","following_url":"https://api.github.com/users/nikdeapen/following{/other_user}","gists_url":"https://api.github.com/users/nikdeapen/gists{/gist_id}","starred_url":"https://api.github.com/users/nikdeapen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikdeapen/subscriptions","organizations_url":"https://api.github.com/users/nikdeapen/orgs","repos_url":"https://api.github.com/users/nikdeapen/repos","events_url":"https://api.github.com/users/nikdeapen/events{/privacy}","received_events_url":"https://api.github.com/users/nikdeapen/received_events","type":"User","site_admin":false},"repo":{"id":443415168,"node_id":"R_kgDOGm36gA","name":"address","full_name":"nikdeapen/address","private":false,"owner":{"login":"nikdeapen","id":28462841,"node_id":"MDQ6VXNlcjI4NDYyODQx","avatar_url":"https://avatars.githubusercontent.com/u/28462841?v=4","gravatar_id":"","url":"https://api.github.com/users/nikdeapen","html_url":"https://github.com/nikdeapen","followers_url":"https://api.github.com/users/nikdeapen/followers","following_url":"https://api.github.com/users/nikdeapen/following{/other_user}","gists_url":"https://api.github.com/users/nikdeapen/gists{/gist_id}","starred_url":"https://api.github.com/users/nikdeapen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikdeapen/subscriptions","organizations_url":"https://api.github.com/users/nikdeapen/orgs","repos_url":"https://api.github.com/users/nikdeapen/repos","events_url":"https://api.github.com/users/nikdeapen/events{/privacy}","received_events_url":"https://api.github.com/users/nikdeapen/received_events","type":"User","site_admin":false},"html_url":"https://github.com/nikdeapen/address","description":"This library aids in processing network addresses.","fork":false,"url":"https://api.github.com/repos/nikdeapen/address","forks_url":"https://api.github.com/repos/nikdeapen/address/forks","keys_url":"https://api.github.com/repos/nikdeapen/address/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nikdeapen/address/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nikdeapen/address/teams","hooks_url":"https://api.github.com/repos/nikdeapen/address/hooks","issue_events_url":"https://api.github.com/repos/nikdeapen/address/issues/events{/number}","events_url":"https://api.github.com/repos/nikdeapen/address/events","assignees_url":"https://api.github.com/repos/nikdeapen/address/assignees{/user}","branches_url":"https://api.github.com/repos/nikdeapen/address/branches{/branch}","tags_url":"https://api.github.com/repos/nikdeapen/address/tags","blobs_url":"https://api.github.com/repos/nikdeapen/address/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nikdeapen/address/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nikdeapen/address/git/refs{/sha}","trees_url":"https://api.github.com/repos/nikdeapen/address/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nikdeapen/address/statuses/{sha}","languages_url":"https://api.github.com/repos/nikdeapen/address/languages","stargazers_url":"https://api.github.com/repos/nikdeapen/address/stargazers","contributors_url":"https://api.github.com/repos/nikdeapen/address/contributors","subscribers_url":"https://api.github.com/repos/nikdeapen/address/subscribers","subscription_url":"https://api.github.com/repos/nikdeapen/address/subscription","commits_url":"https://api.github.com/repos/nikdeapen/address/commits{/sha}","git_commits_url":"https://api.github.com/repos/nikdeapen/address/git/commits{/sha}","comments_url":"https://api.github.com/repos/nikdeapen/address/comments{/number}","issue_comment_url":"https://api.github.com/repos/nikdeapen/address/issues/comments{/number}","contents_url":"https://api.github.com/repos/nikdeapen/address/contents/{+path}","compare_url":"https://api.github.com/repos/nikdeapen/address/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nikdeapen/address/merges","archive_url":"https://api.github.com/repos/nikdeapen/address/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nikdeapen/address/downloads","issues_url":"https://api.github.com/repos/nikdeapen/address/issues{/number}","pulls_url":"https://api.github.com/repos/nikdeapen/address/pulls{/number}","milestones_url":"https://api.github.com/repos/nikdeapen/address/milestones{/number}","notifications_url":"https://api.github.com/repos/nikdeapen/address/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nikdeapen/address/labels{/name}","releases_url":"https://api.github.com/repos/nikdeapen/address/releases{/id}","deployments_url":"https://api.github.com/repos/nikdeapen/address/deployments","created_at":"2021-12-31T19:43:03Z","updated_at":"2022-01-01T00:41:31Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/nikdeapen/address.git","ssh_url":"git@github.com:nikdeapen/address.git","clone_url":"https://github.com/nikdeapen/address.git","svn_url":"https://github.com/nikdeapen/address","homepage":null,"size":33,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nikdeapen/address/pulls/20"},"html":{"href":"https://github.com/nikdeapen/address/pull/20"},"issue":{"href":"https://api.github.com/repos/nikdeapen/address/issues/20"},"comments":{"href":"https://api.github.com/repos/nikdeapen/address/issues/20/comments"},"review_comments":{"href":"https://api.github.com/repos/nikdeapen/address/pulls/20/comments"},"review_comment":{"href":"https://api.github.com/repos/nikdeapen/address/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nikdeapen/address/pulls/20/commits"},"statuses":{"href":"https://api.github.com/repos/nikdeapen/address/statuses/cab29281c6f6e58e0eadc52a2a46236eb8dc97b3"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":79,"deletions":0,"changed_files":5}},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395818","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732433050,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4e9855930dbef34d1f7365194222fffd6a29cecc","before":"8ede35e34d7996936e4f94df055686f0b25ca1ea","commits":[{"sha":"4e9855930dbef34d1f7365194222fffd6a29cecc","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/4e9855930dbef34d1f7365194222fffd6a29cecc"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395822","type":"PushEvent","actor":{"id":50076953,"login":"moppspace","display_login":"moppspace","gravatar_id":"","url":"https://api.github.com/users/moppspace","avatar_url":"https://avatars.githubusercontent.com/u/50076953?"},"repo":{"id":183910394,"name":"moppspace/moppspace.github.io","url":"https://api.github.com/repos/moppspace/moppspace.github.io"},"payload":{"push_id":8732433057,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8afaddf5597b7d59bfe8987bc19c61f92e2589d4","before":"9504dd8cd49a65262ff31b0340869ff9bd535d1d","commits":[{"sha":"8afaddf5597b7d59bfe8987bc19c61f92e2589d4","author":{"email":"admin@mopp.space","name":"mopp"},"message":"update","distinct":true,"url":"https://api.github.com/repos/moppspace/moppspace.github.io/commits/8afaddf5597b7d59bfe8987bc19c61f92e2589d4"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395826","type":"CreateEvent","actor":{"id":88464189,"login":"edussj2","display_login":"edussj2","gravatar_id":"","url":"https://api.github.com/users/edussj2","avatar_url":"https://avatars.githubusercontent.com/u/88464189?"},"repo":{"id":443449218,"name":"edussj2/TiendaPERNOS","url":"https://api.github.com/repos/edussj2/TiendaPERNOS"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":"Tienda y sistema desarrollado como proyecto universitario para la empresa \"Pernos y Pernos\". (PHP, jQuery, Ajax, Html, Css, JS, Variables de Sesión de PHP)","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395817","type":"PushEvent","actor":{"id":440939,"login":"alexjj","display_login":"alexjj","gravatar_id":"","url":"https://api.github.com/users/alexjj","avatar_url":"https://avatars.githubusercontent.com/u/440939?"},"repo":{"id":407673485,"name":"alexjj/blog","url":"https://api.github.com/repos/alexjj/blog"},"payload":{"push_id":8732433065,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7ac3ab294b9db2ac48e3c9ea1f168369e51d5354","before":"415f3d33ac738e68fd907b7df371707ff61e3917","commits":[{"sha":"7ac3ab294b9db2ac48e3c9ea1f168369e51d5354","author":{"email":"ikiwiki.info","name":"IkiWiki"},"message":"calendar update","distinct":true,"url":"https://api.github.com/repos/alexjj/blog/commits/7ac3ab294b9db2ac48e3c9ea1f168369e51d5354"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395825","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433058,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ae50bdef3954df1199bd0cbf0497498de6e57217","before":"bc46227fc4d07fc756a191e758505f9e37085af1","commits":[{"sha":"ae50bdef3954df1199bd0cbf0497498de6e57217","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update culture-world_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/ae50bdef3954df1199bd0cbf0497498de6e57217"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395827","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433064,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a3be2179bb707b6c5b95aa4a602889e3cb74ece1","before":"ade006cf5def4d3a39445db712f3292694257ae5","commits":[{"sha":"a3be2179bb707b6c5b95aa4a602889e3cb74ece1","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nf1351518.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/a3be2179bb707b6c5b95aa4a602889e3cb74ece1"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395828","type":"PushEvent","actor":{"id":20338170,"login":"AleXu224","display_login":"AleXu224","gravatar_id":"","url":"https://api.github.com/users/AleXu224","avatar_url":"https://avatars.githubusercontent.com/u/20338170?"},"repo":{"id":189412793,"name":"AleXu224/bptf_pricelist","url":"https://api.github.com/repos/AleXu224/bptf_pricelist"},"payload":{"push_id":8732433062,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3798ae5c5c01a9874820c9f21e84b742eba6026d","before":"b968778689beceb88bbf553e7dd26816fd9955a3","commits":[{"sha":"3798ae5c5c01a9874820c9f21e84b742eba6026d","author":{"email":"iustin224@gmail.com","name":"root"},"message":":)","distinct":true,"url":"https://api.github.com/repos/AleXu224/bptf_pricelist/commits/3798ae5c5c01a9874820c9f21e84b742eba6026d"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395832","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":158751817,"name":"cdaringe/postgraphile-upsert","url":"https://api.github.com/repos/cdaringe/postgraphile-upsert"},"payload":{"action":"closed","number":276,"pull_request":{"url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276","id":812461547,"node_id":"PR_kwDOCXZcSc4wbS3r","html_url":"https://github.com/cdaringe/postgraphile-upsert/pull/276","diff_url":"https://github.com/cdaringe/postgraphile-upsert/pull/276.diff","patch_url":"https://github.com/cdaringe/postgraphile-upsert/pull/276.patch","issue_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/276","number":276,"state":"closed","locked":false,"title":"chore(deps): update dependency @types/dockerode to v3.3.1","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [@types/dockerode](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`3.3.0` -> `3.3.1`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.0/3.3.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Configuration\n\n📅 **Schedule**: At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/cdaringe/postgraphile-upsert).","created_at":"2021-12-31T22:42:34Z","updated_at":"2022-01-01T01:00:03Z","closed_at":"2022-01-01T01:00:03Z","merged_at":"2022-01-01T01:00:03Z","merge_commit_sha":"defd2269cfa0daaf63cebd87f579d460077acae5","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276/commits","review_comments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276/comments","review_comment_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/276/comments","statuses_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/statuses/19df016c2248ecf8e97a2ffe0862721408f26148","head":{"label":"cdaringe:renovate/dockerode-3.x","ref":"renovate/dockerode-3.x","sha":"19df016c2248ecf8e97a2ffe0862721408f26148","user":{"login":"cdaringe","id":1003261,"node_id":"MDQ6VXNlcjEwMDMyNjE=","avatar_url":"https://avatars.githubusercontent.com/u/1003261?v=4","gravatar_id":"","url":"https://api.github.com/users/cdaringe","html_url":"https://github.com/cdaringe","followers_url":"https://api.github.com/users/cdaringe/followers","following_url":"https://api.github.com/users/cdaringe/following{/other_user}","gists_url":"https://api.github.com/users/cdaringe/gists{/gist_id}","starred_url":"https://api.github.com/users/cdaringe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdaringe/subscriptions","organizations_url":"https://api.github.com/users/cdaringe/orgs","repos_url":"https://api.github.com/users/cdaringe/repos","events_url":"https://api.github.com/users/cdaringe/events{/privacy}","received_events_url":"https://api.github.com/users/cdaringe/received_events","type":"User","site_admin":false},"repo":{"id":158751817,"node_id":"MDEwOlJlcG9zaXRvcnkxNTg3NTE4MTc=","name":"postgraphile-upsert","full_name":"cdaringe/postgraphile-upsert","private":false,"owner":{"login":"cdaringe","id":1003261,"node_id":"MDQ6VXNlcjEwMDMyNjE=","avatar_url":"https://avatars.githubusercontent.com/u/1003261?v=4","gravatar_id":"","url":"https://api.github.com/users/cdaringe","html_url":"https://github.com/cdaringe","followers_url":"https://api.github.com/users/cdaringe/followers","following_url":"https://api.github.com/users/cdaringe/following{/other_user}","gists_url":"https://api.github.com/users/cdaringe/gists{/gist_id}","starred_url":"https://api.github.com/users/cdaringe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdaringe/subscriptions","organizations_url":"https://api.github.com/users/cdaringe/orgs","repos_url":"https://api.github.com/users/cdaringe/repos","events_url":"https://api.github.com/users/cdaringe/events{/privacy}","received_events_url":"https://api.github.com/users/cdaringe/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cdaringe/postgraphile-upsert","description":"add postgres upsert mutations to postgraphile :elephant:","fork":false,"url":"https://api.github.com/repos/cdaringe/postgraphile-upsert","forks_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/forks","keys_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/teams","hooks_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/hooks","issue_events_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/events{/number}","events_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/events","assignees_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/assignees{/user}","branches_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/branches{/branch}","tags_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/tags","blobs_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/refs{/sha}","trees_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/statuses/{sha}","languages_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/languages","stargazers_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/stargazers","contributors_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/contributors","subscribers_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/subscribers","subscription_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/subscription","commits_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/commits{/sha}","git_commits_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/commits{/sha}","comments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/comments{/number}","issue_comment_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/comments{/number}","contents_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/contents/{+path}","compare_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/merges","archive_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/downloads","issues_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues{/number}","pulls_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls{/number}","milestones_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/milestones{/number}","notifications_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/labels{/name}","releases_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/releases{/id}","deployments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/deployments","created_at":"2018-11-22T21:30:52Z","updated_at":"2021-12-28T14:39:17Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/cdaringe/postgraphile-upsert.git","ssh_url":"git@github.com:cdaringe/postgraphile-upsert.git","clone_url":"https://github.com/cdaringe/postgraphile-upsert.git","svn_url":"https://github.com/cdaringe/postgraphile-upsert","homepage":"","size":815,"stargazers_count":15,"watchers_count":15,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":11,"license":null,"allow_forking":true,"is_template":false,"topics":["mutation","postgraphile","postgres","upsert"],"visibility":"public","forks":14,"open_issues":11,"watchers":15,"default_branch":"main"}},"base":{"label":"cdaringe:main","ref":"main","sha":"4a855c722c027e1a6f46a5a3b755e0cb2a5fd233","user":{"login":"cdaringe","id":1003261,"node_id":"MDQ6VXNlcjEwMDMyNjE=","avatar_url":"https://avatars.githubusercontent.com/u/1003261?v=4","gravatar_id":"","url":"https://api.github.com/users/cdaringe","html_url":"https://github.com/cdaringe","followers_url":"https://api.github.com/users/cdaringe/followers","following_url":"https://api.github.com/users/cdaringe/following{/other_user}","gists_url":"https://api.github.com/users/cdaringe/gists{/gist_id}","starred_url":"https://api.github.com/users/cdaringe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdaringe/subscriptions","organizations_url":"https://api.github.com/users/cdaringe/orgs","repos_url":"https://api.github.com/users/cdaringe/repos","events_url":"https://api.github.com/users/cdaringe/events{/privacy}","received_events_url":"https://api.github.com/users/cdaringe/received_events","type":"User","site_admin":false},"repo":{"id":158751817,"node_id":"MDEwOlJlcG9zaXRvcnkxNTg3NTE4MTc=","name":"postgraphile-upsert","full_name":"cdaringe/postgraphile-upsert","private":false,"owner":{"login":"cdaringe","id":1003261,"node_id":"MDQ6VXNlcjEwMDMyNjE=","avatar_url":"https://avatars.githubusercontent.com/u/1003261?v=4","gravatar_id":"","url":"https://api.github.com/users/cdaringe","html_url":"https://github.com/cdaringe","followers_url":"https://api.github.com/users/cdaringe/followers","following_url":"https://api.github.com/users/cdaringe/following{/other_user}","gists_url":"https://api.github.com/users/cdaringe/gists{/gist_id}","starred_url":"https://api.github.com/users/cdaringe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdaringe/subscriptions","organizations_url":"https://api.github.com/users/cdaringe/orgs","repos_url":"https://api.github.com/users/cdaringe/repos","events_url":"https://api.github.com/users/cdaringe/events{/privacy}","received_events_url":"https://api.github.com/users/cdaringe/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cdaringe/postgraphile-upsert","description":"add postgres upsert mutations to postgraphile :elephant:","fork":false,"url":"https://api.github.com/repos/cdaringe/postgraphile-upsert","forks_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/forks","keys_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/teams","hooks_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/hooks","issue_events_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/events{/number}","events_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/events","assignees_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/assignees{/user}","branches_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/branches{/branch}","tags_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/tags","blobs_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/refs{/sha}","trees_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/statuses/{sha}","languages_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/languages","stargazers_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/stargazers","contributors_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/contributors","subscribers_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/subscribers","subscription_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/subscription","commits_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/commits{/sha}","git_commits_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/git/commits{/sha}","comments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/comments{/number}","issue_comment_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/comments{/number}","contents_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/contents/{+path}","compare_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/merges","archive_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/downloads","issues_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues{/number}","pulls_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls{/number}","milestones_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/milestones{/number}","notifications_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/labels{/name}","releases_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/releases{/id}","deployments_url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/deployments","created_at":"2018-11-22T21:30:52Z","updated_at":"2021-12-28T14:39:17Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/cdaringe/postgraphile-upsert.git","ssh_url":"git@github.com:cdaringe/postgraphile-upsert.git","clone_url":"https://github.com/cdaringe/postgraphile-upsert.git","svn_url":"https://github.com/cdaringe/postgraphile-upsert","homepage":"","size":815,"stargazers_count":15,"watchers_count":15,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":11,"license":null,"allow_forking":true,"is_template":false,"topics":["mutation","postgraphile","postgres","upsert"],"visibility":"public","forks":14,"open_issues":11,"watchers":15,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276"},"html":{"href":"https://github.com/cdaringe/postgraphile-upsert/pull/276"},"issue":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/276"},"comments":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/issues/276/comments"},"review_comments":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276/comments"},"review_comment":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/pulls/276/commits"},"statuses":{"href":"https://api.github.com/repos/cdaringe/postgraphile-upsert/statuses/19df016c2248ecf8e97a2ffe0862721408f26148"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":5,"deletions":5,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395833","type":"PushEvent","actor":{"id":31480512,"login":"sabiancolbert","display_login":"sabiancolbert","gravatar_id":"","url":"https://api.github.com/users/sabiancolbert","avatar_url":"https://avatars.githubusercontent.com/u/31480512?"},"repo":{"id":314460199,"name":"sabiancolbert/Resume","url":"https://api.github.com/repos/sabiancolbert/Resume"},"payload":{"push_id":8732433077,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7dda4448919bf2807a18601abeddd310f6ec748d","before":"e69bb2265398229d3202a57cb3df6575f6b7e013","commits":[{"sha":"7dda4448919bf2807a18601abeddd310f6ec748d","author":{"email":"31480512+sabiancolbert@users.noreply.github.com","name":"sabiancolbert"},"message":"update sudoku.css","distinct":true,"url":"https://api.github.com/repos/sabiancolbert/Resume/commits/7dda4448919bf2807a18601abeddd310f6ec748d"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395835","type":"PushEvent","actor":{"id":18313324,"login":"ezekielnewren","display_login":"ezekielnewren","gravatar_id":"","url":"https://api.github.com/users/ezekielnewren","avatar_url":"https://avatars.githubusercontent.com/u/18313324?"},"repo":{"id":107975256,"name":"ezekielnewren/vault","url":"https://api.github.com/repos/ezekielnewren/vault"},"payload":{"push_id":8732433074,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"780b3f3cf7f6cd788063f1c0771b6acfb1812f96","before":"20515910f9a30addc3e1944bd847b8fe9f2514f7","commits":[{"sha":"780b3f3cf7f6cd788063f1c0771b6acfb1812f96","author":{"email":"ezekielnewren@gmail.com","name":"Ezekiel Newren"},"message":"","distinct":true,"url":"https://api.github.com/repos/ezekielnewren/vault/commits/780b3f3cf7f6cd788063f1c0771b6acfb1812f96"}]},"public":true,"created_at":"2022-01-01T01:00:03Z"} +{"id":"19541395834","type":"PushEvent","actor":{"id":96921166,"login":"Minnel-Mayavii","display_login":"Minnel-Mayavii","gravatar_id":"","url":"https://api.github.com/users/Minnel-Mayavii","avatar_url":"https://avatars.githubusercontent.com/u/96921166?"},"repo":{"id":443435981,"name":"Minnel-Mayavii/Mayaviii","url":"https://api.github.com/repos/Minnel-Mayavii/Mayaviii"},"payload":{"push_id":8732433075,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c57c548d3703ed25e3a898cdb612689cc95f7080","before":"55d80a841c0497d64740ab11560ce84447a39673","commits":[{"sha":"c57c548d3703ed25e3a898cdb612689cc95f7080","author":{"email":"96921166+Minnel-Mayavii@users.noreply.github.com","name":"Minnel-Mayavii"},"message":"Add files via upload","distinct":true,"url":"https://api.github.com/repos/Minnel-Mayavii/Mayaviii/commits/c57c548d3703ed25e3a898cdb612689cc95f7080"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395838","type":"CreateEvent","actor":{"id":94683073,"login":"mellbot","display_login":"mellbot","gravatar_id":"","url":"https://api.github.com/users/mellbot","avatar_url":"https://avatars.githubusercontent.com/u/94683073?"},"repo":{"id":382187344,"name":"markelliot/allezgo-fe","url":"https://api.github.com/repos/markelliot/allezgo-fe"},"payload":{"ref":"auto/versions","ref_type":"branch","master_branch":"develop","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395844","type":"PushEvent","actor":{"id":94214454,"login":"brepo-pl","display_login":"brepo-pl","gravatar_id":"","url":"https://api.github.com/users/brepo-pl","avatar_url":"https://avatars.githubusercontent.com/u/94214454?"},"repo":{"id":427586176,"name":"brepo-pl/UserDenyIP","url":"https://api.github.com/repos/brepo-pl/UserDenyIP"},"payload":{"push_id":8732433081,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bf067ac70499bef2f45d684fc6dc4917cb6c9fcc","before":"dfee08417f5339b6bd22dd25ce9c1e8325554f3d","commits":[{"sha":"bf067ac70499bef2f45d684fc6dc4917cb6c9fcc","author":{"email":"UserDenyIP@brepo.pl","name":"brepo-pl"},"message":"[www.brepo.pl] UserDenyIP.txt","distinct":true,"url":"https://api.github.com/repos/brepo-pl/UserDenyIP/commits/bf067ac70499bef2f45d684fc6dc4917cb6c9fcc"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395847","type":"PushEvent","actor":{"id":34666376,"login":"rockswhat","display_login":"rockswhat","gravatar_id":"","url":"https://api.github.com/users/rockswhat","avatar_url":"https://avatars.githubusercontent.com/u/34666376?"},"repo":{"id":327201479,"name":"rockswhat/listener","url":"https://api.github.com/repos/rockswhat/listener"},"payload":{"push_id":8732433086,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d2b3abf35ef8460f06c067c4bf2374ad6ceba48b","before":"0a77411d06d19906c61160e4da3459cecbb3b45f","commits":[{"sha":"d2b3abf35ef8460f06c067c4bf2374ad6ceba48b","author":{"email":"cph22@georgetown.edu","name":"Charlie Harrington"},"message":"update feed","distinct":true,"url":"https://api.github.com/repos/rockswhat/listener/commits/d2b3abf35ef8460f06c067c4bf2374ad6ceba48b"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395852","type":"PullRequestEvent","actor":{"id":96381037,"login":"ronicm","display_login":"ronicm","gravatar_id":"","url":"https://api.github.com/users/ronicm","avatar_url":"https://avatars.githubusercontent.com/u/96381037?"},"repo":{"id":441861991,"name":"ronicm/test-project","url":"https://api.github.com/repos/ronicm/test-project"},"payload":{"action":"opened","number":2,"pull_request":{"url":"https://api.github.com/repos/ronicm/test-project/pulls/2","id":812479588,"node_id":"PR_kwDOGlZHZ84wbXRk","html_url":"https://github.com/ronicm/test-project/pull/2","diff_url":"https://github.com/ronicm/test-project/pull/2.diff","patch_url":"https://github.com/ronicm/test-project/pull/2.patch","issue_url":"https://api.github.com/repos/ronicm/test-project/issues/2","number":2,"state":"open","locked":false,"title":"Update 1.txt","user":{"login":"ronicm","id":96381037,"node_id":"U_kgDOBb6obQ","avatar_url":"https://avatars.githubusercontent.com/u/96381037?v=4","gravatar_id":"","url":"https://api.github.com/users/ronicm","html_url":"https://github.com/ronicm","followers_url":"https://api.github.com/users/ronicm/followers","following_url":"https://api.github.com/users/ronicm/following{/other_user}","gists_url":"https://api.github.com/users/ronicm/gists{/gist_id}","starred_url":"https://api.github.com/users/ronicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronicm/subscriptions","organizations_url":"https://api.github.com/users/ronicm/orgs","repos_url":"https://api.github.com/users/ronicm/repos","events_url":"https://api.github.com/users/ronicm/events{/privacy}","received_events_url":"https://api.github.com/users/ronicm/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:03Z","updated_at":"2022-01-01T01:00:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/ronicm/test-project/pulls/2/commits","review_comments_url":"https://api.github.com/repos/ronicm/test-project/pulls/2/comments","review_comment_url":"https://api.github.com/repos/ronicm/test-project/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ronicm/test-project/issues/2/comments","statuses_url":"https://api.github.com/repos/ronicm/test-project/statuses/900a3f37d56748cf143d19d98e6b95cd5ffde91c","head":{"label":"ronicm:mytest2","ref":"mytest2","sha":"900a3f37d56748cf143d19d98e6b95cd5ffde91c","user":{"login":"ronicm","id":96381037,"node_id":"U_kgDOBb6obQ","avatar_url":"https://avatars.githubusercontent.com/u/96381037?v=4","gravatar_id":"","url":"https://api.github.com/users/ronicm","html_url":"https://github.com/ronicm","followers_url":"https://api.github.com/users/ronicm/followers","following_url":"https://api.github.com/users/ronicm/following{/other_user}","gists_url":"https://api.github.com/users/ronicm/gists{/gist_id}","starred_url":"https://api.github.com/users/ronicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronicm/subscriptions","organizations_url":"https://api.github.com/users/ronicm/orgs","repos_url":"https://api.github.com/users/ronicm/repos","events_url":"https://api.github.com/users/ronicm/events{/privacy}","received_events_url":"https://api.github.com/users/ronicm/received_events","type":"User","site_admin":false},"repo":{"id":441861991,"node_id":"R_kgDOGlZHZw","name":"test-project","full_name":"ronicm/test-project","private":false,"owner":{"login":"ronicm","id":96381037,"node_id":"U_kgDOBb6obQ","avatar_url":"https://avatars.githubusercontent.com/u/96381037?v=4","gravatar_id":"","url":"https://api.github.com/users/ronicm","html_url":"https://github.com/ronicm","followers_url":"https://api.github.com/users/ronicm/followers","following_url":"https://api.github.com/users/ronicm/following{/other_user}","gists_url":"https://api.github.com/users/ronicm/gists{/gist_id}","starred_url":"https://api.github.com/users/ronicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronicm/subscriptions","organizations_url":"https://api.github.com/users/ronicm/orgs","repos_url":"https://api.github.com/users/ronicm/repos","events_url":"https://api.github.com/users/ronicm/events{/privacy}","received_events_url":"https://api.github.com/users/ronicm/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ronicm/test-project","description":"my-project ","fork":false,"url":"https://api.github.com/repos/ronicm/test-project","forks_url":"https://api.github.com/repos/ronicm/test-project/forks","keys_url":"https://api.github.com/repos/ronicm/test-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ronicm/test-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ronicm/test-project/teams","hooks_url":"https://api.github.com/repos/ronicm/test-project/hooks","issue_events_url":"https://api.github.com/repos/ronicm/test-project/issues/events{/number}","events_url":"https://api.github.com/repos/ronicm/test-project/events","assignees_url":"https://api.github.com/repos/ronicm/test-project/assignees{/user}","branches_url":"https://api.github.com/repos/ronicm/test-project/branches{/branch}","tags_url":"https://api.github.com/repos/ronicm/test-project/tags","blobs_url":"https://api.github.com/repos/ronicm/test-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ronicm/test-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ronicm/test-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/ronicm/test-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ronicm/test-project/statuses/{sha}","languages_url":"https://api.github.com/repos/ronicm/test-project/languages","stargazers_url":"https://api.github.com/repos/ronicm/test-project/stargazers","contributors_url":"https://api.github.com/repos/ronicm/test-project/contributors","subscribers_url":"https://api.github.com/repos/ronicm/test-project/subscribers","subscription_url":"https://api.github.com/repos/ronicm/test-project/subscription","commits_url":"https://api.github.com/repos/ronicm/test-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/ronicm/test-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/ronicm/test-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/ronicm/test-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/ronicm/test-project/contents/{+path}","compare_url":"https://api.github.com/repos/ronicm/test-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ronicm/test-project/merges","archive_url":"https://api.github.com/repos/ronicm/test-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ronicm/test-project/downloads","issues_url":"https://api.github.com/repos/ronicm/test-project/issues{/number}","pulls_url":"https://api.github.com/repos/ronicm/test-project/pulls{/number}","milestones_url":"https://api.github.com/repos/ronicm/test-project/milestones{/number}","notifications_url":"https://api.github.com/repos/ronicm/test-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ronicm/test-project/labels{/name}","releases_url":"https://api.github.com/repos/ronicm/test-project/releases{/id}","deployments_url":"https://api.github.com/repos/ronicm/test-project/deployments","created_at":"2021-12-26T10:17:44Z","updated_at":"2022-01-01T00:56:58Z","pushed_at":"2022-01-01T00:57:24Z","git_url":"git://github.com/ronicm/test-project.git","ssh_url":"git@github.com:ronicm/test-project.git","clone_url":"https://github.com/ronicm/test-project.git","svn_url":"https://github.com/ronicm/test-project","homepage":null,"size":2,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"ronicm:master","ref":"master","sha":"d71a9346dd49ce3d3bf5212512809e9f0c481812","user":{"login":"ronicm","id":96381037,"node_id":"U_kgDOBb6obQ","avatar_url":"https://avatars.githubusercontent.com/u/96381037?v=4","gravatar_id":"","url":"https://api.github.com/users/ronicm","html_url":"https://github.com/ronicm","followers_url":"https://api.github.com/users/ronicm/followers","following_url":"https://api.github.com/users/ronicm/following{/other_user}","gists_url":"https://api.github.com/users/ronicm/gists{/gist_id}","starred_url":"https://api.github.com/users/ronicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronicm/subscriptions","organizations_url":"https://api.github.com/users/ronicm/orgs","repos_url":"https://api.github.com/users/ronicm/repos","events_url":"https://api.github.com/users/ronicm/events{/privacy}","received_events_url":"https://api.github.com/users/ronicm/received_events","type":"User","site_admin":false},"repo":{"id":441861991,"node_id":"R_kgDOGlZHZw","name":"test-project","full_name":"ronicm/test-project","private":false,"owner":{"login":"ronicm","id":96381037,"node_id":"U_kgDOBb6obQ","avatar_url":"https://avatars.githubusercontent.com/u/96381037?v=4","gravatar_id":"","url":"https://api.github.com/users/ronicm","html_url":"https://github.com/ronicm","followers_url":"https://api.github.com/users/ronicm/followers","following_url":"https://api.github.com/users/ronicm/following{/other_user}","gists_url":"https://api.github.com/users/ronicm/gists{/gist_id}","starred_url":"https://api.github.com/users/ronicm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ronicm/subscriptions","organizations_url":"https://api.github.com/users/ronicm/orgs","repos_url":"https://api.github.com/users/ronicm/repos","events_url":"https://api.github.com/users/ronicm/events{/privacy}","received_events_url":"https://api.github.com/users/ronicm/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ronicm/test-project","description":"my-project ","fork":false,"url":"https://api.github.com/repos/ronicm/test-project","forks_url":"https://api.github.com/repos/ronicm/test-project/forks","keys_url":"https://api.github.com/repos/ronicm/test-project/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ronicm/test-project/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ronicm/test-project/teams","hooks_url":"https://api.github.com/repos/ronicm/test-project/hooks","issue_events_url":"https://api.github.com/repos/ronicm/test-project/issues/events{/number}","events_url":"https://api.github.com/repos/ronicm/test-project/events","assignees_url":"https://api.github.com/repos/ronicm/test-project/assignees{/user}","branches_url":"https://api.github.com/repos/ronicm/test-project/branches{/branch}","tags_url":"https://api.github.com/repos/ronicm/test-project/tags","blobs_url":"https://api.github.com/repos/ronicm/test-project/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ronicm/test-project/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ronicm/test-project/git/refs{/sha}","trees_url":"https://api.github.com/repos/ronicm/test-project/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ronicm/test-project/statuses/{sha}","languages_url":"https://api.github.com/repos/ronicm/test-project/languages","stargazers_url":"https://api.github.com/repos/ronicm/test-project/stargazers","contributors_url":"https://api.github.com/repos/ronicm/test-project/contributors","subscribers_url":"https://api.github.com/repos/ronicm/test-project/subscribers","subscription_url":"https://api.github.com/repos/ronicm/test-project/subscription","commits_url":"https://api.github.com/repos/ronicm/test-project/commits{/sha}","git_commits_url":"https://api.github.com/repos/ronicm/test-project/git/commits{/sha}","comments_url":"https://api.github.com/repos/ronicm/test-project/comments{/number}","issue_comment_url":"https://api.github.com/repos/ronicm/test-project/issues/comments{/number}","contents_url":"https://api.github.com/repos/ronicm/test-project/contents/{+path}","compare_url":"https://api.github.com/repos/ronicm/test-project/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ronicm/test-project/merges","archive_url":"https://api.github.com/repos/ronicm/test-project/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ronicm/test-project/downloads","issues_url":"https://api.github.com/repos/ronicm/test-project/issues{/number}","pulls_url":"https://api.github.com/repos/ronicm/test-project/pulls{/number}","milestones_url":"https://api.github.com/repos/ronicm/test-project/milestones{/number}","notifications_url":"https://api.github.com/repos/ronicm/test-project/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ronicm/test-project/labels{/name}","releases_url":"https://api.github.com/repos/ronicm/test-project/releases{/id}","deployments_url":"https://api.github.com/repos/ronicm/test-project/deployments","created_at":"2021-12-26T10:17:44Z","updated_at":"2022-01-01T00:56:58Z","pushed_at":"2022-01-01T00:57:24Z","git_url":"git://github.com/ronicm/test-project.git","ssh_url":"git@github.com:ronicm/test-project.git","clone_url":"https://github.com/ronicm/test-project.git","svn_url":"https://github.com/ronicm/test-project","homepage":null,"size":2,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ronicm/test-project/pulls/2"},"html":{"href":"https://github.com/ronicm/test-project/pull/2"},"issue":{"href":"https://api.github.com/repos/ronicm/test-project/issues/2"},"comments":{"href":"https://api.github.com/repos/ronicm/test-project/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/ronicm/test-project/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/ronicm/test-project/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ronicm/test-project/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/ronicm/test-project/statuses/900a3f37d56748cf143d19d98e6b95cd5ffde91c"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2,"deletions":2,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395853","type":"PushEvent","actor":{"id":68449029,"login":"Sueqkjs","display_login":"Sueqkjs","gravatar_id":"","url":"https://api.github.com/users/Sueqkjs","avatar_url":"https://avatars.githubusercontent.com/u/68449029?"},"repo":{"id":435302050,"name":"Sueqkjs/sh","url":"https://api.github.com/repos/Sueqkjs/sh"},"payload":{"push_id":8732433073,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"500f8771982b322a48ed7b3ee90d1925e4fd90ad","before":"7f473184a0dc7ccc89da5c3b331834b428b97cdb","commits":[{"sha":"500f8771982b322a48ed7b3ee90d1925e4fd90ad","author":{"email":"sueqk@outlook.jp","name":"Sueqkjs"},"message":"ipipip","distinct":true,"url":"https://api.github.com/repos/Sueqkjs/sh/commits/500f8771982b322a48ed7b3ee90d1925e4fd90ad"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395855","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433085,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-462","head":"4c73f5df5fdc479063a30a6978a41bb359ce9a44","before":"4c73f5df5fdc479063a30a6978a41bb359ce9a44","commits":[]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395856","type":"DeleteEvent","actor":{"id":50245,"login":"bkuhlmann","display_login":"bkuhlmann","gravatar_id":"","url":"https://api.github.com/users/bkuhlmann","avatar_url":"https://avatars.githubusercontent.com/u/50245?"},"repo":{"id":89075183,"name":"bkuhlmann/test","url":"https://api.github.com/repos/bkuhlmann/test"},"payload":{"ref":"1.2.3","ref_type":"tag","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395858","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":107359465,"name":"UziTech/atom-open","url":"https://api.github.com/repos/UziTech/atom-open"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"master","description":"Open a file in Atom with a URL","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395860","type":"PushEvent","actor":{"id":2486411,"login":"DmitriiP","display_login":"DmitriiP","gravatar_id":"","url":"https://api.github.com/users/DmitriiP","avatar_url":"https://avatars.githubusercontent.com/u/2486411?"},"repo":{"id":135042737,"name":"DmitriiP/hello-github","url":"https://api.github.com/repos/DmitriiP/hello-github"},"payload":{"push_id":8732433087,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9727720d0d011a4fd4045ea17923a36576af78e1","before":"830b054a9c12b359e8dd3c6783c310a907d3987d","commits":[{"sha":"9727720d0d011a4fd4045ea17923a36576af78e1","author":{"email":"dmitrii.prihodco@gmail.com","name":"Dmitrii Prihodco"},"message":"Hello Github!","distinct":true,"url":"https://api.github.com/repos/DmitriiP/hello-github/commits/9727720d0d011a4fd4045ea17923a36576af78e1"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395863","type":"PushEvent","actor":{"id":83965139,"login":"webutil-git","display_login":"webutil-git","gravatar_id":"","url":"https://api.github.com/users/webutil-git","avatar_url":"https://avatars.githubusercontent.com/u/83965139?"},"repo":{"id":249515714,"name":"Stevens-EWS/faculty-profiles","url":"https://api.github.com/repos/Stevens-EWS/faculty-profiles"},"payload":{"push_id":8732433091,"size":1,"distinct_size":1,"ref":"refs/heads/Scheduled-builds","head":"c3e4a851780991a1659362e25b291974e65b07a7","before":"c94dc91cf1f04176eebe05caccba2e8920ce4e56","commits":[{"sha":"c3e4a851780991a1659362e25b291974e65b07a7","author":{"email":"webutil-git@stevens.edu","name":"webutil"},"message":"Scheduled build.","distinct":true,"url":"https://api.github.com/repos/Stevens-EWS/faculty-profiles/commits/c3e4a851780991a1659362e25b291974e65b07a7"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":63423467,"login":"Stevens-EWS","gravatar_id":"","url":"https://api.github.com/orgs/Stevens-EWS","avatar_url":"https://avatars.githubusercontent.com/u/63423467?"}} +{"id":"19541395867","type":"PushEvent","actor":{"id":25820987,"login":"feralEndre","display_login":"feralEndre","gravatar_id":"","url":"https://api.github.com/users/feralEndre","avatar_url":"https://avatars.githubusercontent.com/u/25820987?"},"repo":{"id":242581878,"name":"feralEndre/sensorinfo","url":"https://api.github.com/repos/feralEndre/sensorinfo"},"payload":{"push_id":8732433090,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"df9620f74cf6185787c3aaa89984c792c6859fa8","before":"9915c94ae7cbe893f5b2ab2013ea0b46a592427f","commits":[{"sha":"df9620f74cf6185787c3aaa89984c792c6859fa8","author":{"email":"endre.barcs@gmail.com","name":"feralEndre"},"message":"sensor data Sat, 01 Jan 2022 02:00:01 +0100","distinct":true,"url":"https://api.github.com/repos/feralEndre/sensorinfo/commits/df9620f74cf6185787c3aaa89984c792c6859fa8"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395868","type":"PushEvent","actor":{"id":2125004,"login":"bagchi","display_login":"bagchi","gravatar_id":"","url":"https://api.github.com/users/bagchi","avatar_url":"https://avatars.githubusercontent.com/u/2125004?"},"repo":{"id":266232787,"name":"bagchi/bagchi.github.io","url":"https://api.github.com/repos/bagchi/bagchi.github.io"},"payload":{"push_id":8732433100,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"48b35cf8e1b3a65e70edfbc2994406c77aef1cba","before":"41dda693aa311ea35c4ce88a824f382c99f6816c","commits":[{"sha":"48b35cf8e1b3a65e70edfbc2994406c77aef1cba","author":{"email":"sbagchi@purdue.edu","name":"Saurabh Bagchi"},"message":"Tweaked the kinds of faults we deal with","distinct":true,"url":"https://api.github.com/repos/bagchi/bagchi.github.io/commits/48b35cf8e1b3a65e70edfbc2994406c77aef1cba"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395872","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433080,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"e2546abf091cc654fc80f0179cce8c69cc731ba6","before":"ef5012693ae9e6c06d9558888813278c653d12b6","commits":[{"sha":"e2546abf091cc654fc80f0179cce8c69cc731ba6","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/mate for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/e2546abf091cc654fc80f0179cce8c69cc731ba6"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395873","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":394288740,"name":"wizz666/YouTube_to_m3u","url":"https://api.github.com/repos/wizz666/YouTube_to_m3u"},"payload":{"push_id":8732433099,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"2ca653fc5ac604a496fe9a39e1d3c512a55f6a53","before":"a77562190911038eaf96a74266cf134095f80c9a","commits":[{"sha":"2ca653fc5ac604a496fe9a39e1d3c512a55f6a53","author":{"email":"wizzdvd@gmail.com","name":"wizz666"},"message":"link is updated","distinct":true,"url":"https://api.github.com/repos/wizz666/YouTube_to_m3u/commits/2ca653fc5ac604a496fe9a39e1d3c512a55f6a53"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395874","type":"PushEvent","actor":{"id":1354510,"login":"leo91000","display_login":"leo91000","gravatar_id":"","url":"https://api.github.com/users/leo91000","avatar_url":"https://avatars.githubusercontent.com/u/1354510?"},"repo":{"id":372306529,"name":"leo91000/covid-japan-informations","url":"https://api.github.com/repos/leo91000/covid-japan-informations"},"payload":{"push_id":8732433101,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"96728f5ab3a1b83961a055d8b5d57ea5cbaf1267","before":"ec487c8ac4bd926198028baecb298912d3e18325","commits":[{"sha":"96728f5ab3a1b83961a055d8b5d57ea5cbaf1267","author":{"email":"mail.leo.coletta@gmail.com","name":"Léo Coletta"},"message":"update 2022-01-01T01:00:02.914Z","distinct":true,"url":"https://api.github.com/repos/leo91000/covid-japan-informations/commits/96728f5ab3a1b83961a055d8b5d57ea5cbaf1267"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395875","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732433106,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"277ae1597261630eca5ad85fd4cb61ea501e9740","before":"4e9855930dbef34d1f7365194222fffd6a29cecc","commits":[{"sha":"277ae1597261630eca5ad85fd4cb61ea501e9740","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/277ae1597261630eca5ad85fd4cb61ea501e9740"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395876","type":"ForkEvent","actor":{"id":56848071,"login":"martianina","display_login":"martianina","gravatar_id":"","url":"https://api.github.com/users/martianina","avatar_url":"https://avatars.githubusercontent.com/u/56848071?"},"repo":{"id":252085100,"name":"manjunath5496/Timeline-of-scientific-discoveries","url":"https://api.github.com/repos/manjunath5496/Timeline-of-scientific-discoveries"},"payload":{"forkee":{"id":443449221,"node_id":"R_kgDOGm5_hQ","name":"Timeline-of-scientific-discoveries","full_name":"martianina/Timeline-of-scientific-discoveries","private":false,"owner":{"login":"martianina","id":56848071,"node_id":"MDQ6VXNlcjU2ODQ4MDcx","avatar_url":"https://avatars.githubusercontent.com/u/56848071?v=4","gravatar_id":"","url":"https://api.github.com/users/martianina","html_url":"https://github.com/martianina","followers_url":"https://api.github.com/users/martianina/followers","following_url":"https://api.github.com/users/martianina/following{/other_user}","gists_url":"https://api.github.com/users/martianina/gists{/gist_id}","starred_url":"https://api.github.com/users/martianina/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martianina/subscriptions","organizations_url":"https://api.github.com/users/martianina/orgs","repos_url":"https://api.github.com/users/martianina/repos","events_url":"https://api.github.com/users/martianina/events{/privacy}","received_events_url":"https://api.github.com/users/martianina/received_events","type":"User","site_admin":false},"html_url":"https://github.com/martianina/Timeline-of-scientific-discoveries","description":"\"Books are the carriers of civilization. Without books, history is silent, literature is dumb, science is crippled, thought and speculation at a standstill. They are engines of change, windows on the world, lighthouses erected in the sea of time.\" ― BARBARA WERTHEIM TUCHMAN","fork":true,"url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries","forks_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/forks","keys_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/keys{/key_id}","collaborators_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/teams","hooks_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/hooks","issue_events_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/issues/events{/number}","events_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/events","assignees_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/assignees{/user}","branches_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/branches{/branch}","tags_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/tags","blobs_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/git/refs{/sha}","trees_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/git/trees{/sha}","statuses_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/statuses/{sha}","languages_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/languages","stargazers_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/stargazers","contributors_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/contributors","subscribers_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/subscribers","subscription_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/subscription","commits_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/commits{/sha}","git_commits_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/git/commits{/sha}","comments_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/comments{/number}","issue_comment_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/issues/comments{/number}","contents_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/contents/{+path}","compare_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/compare/{base}...{head}","merges_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/merges","archive_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/downloads","issues_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/issues{/number}","pulls_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/pulls{/number}","milestones_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/milestones{/number}","notifications_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/labels{/name}","releases_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/releases{/id}","deployments_url":"https://api.github.com/repos/martianina/Timeline-of-scientific-discoveries/deployments","created_at":"2022-01-01T01:00:03Z","updated_at":"2020-04-01T20:23:33Z","pushed_at":"2020-04-01T05:57:45Z","git_url":"git://github.com/martianina/Timeline-of-scientific-discoveries.git","ssh_url":"git@github.com:martianina/Timeline-of-scientific-discoveries.git","clone_url":"https://github.com/martianina/Timeline-of-scientific-discoveries.git","svn_url":"https://github.com/martianina/Timeline-of-scientific-discoveries","homepage":"","size":15,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395878","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732433084,"size":1,"distinct_size":1,"ref":"refs/heads/bump_xcb-proto_X","head":"9ff6fbf5e4114862649ffe44f76c01f01256db56","before":"c88af29215bcaf11b0860e837effc1eec316cb4a","commits":[{"sha":"9ff6fbf5e4114862649ffe44f76c01f01256db56","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump X/libxcb for X/xcb-proto","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/9ff6fbf5e4114862649ffe44f76c01f01256db56"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541395879","type":"PushEvent","actor":{"id":81971665,"login":"misaengmul","display_login":"misaengmul","gravatar_id":"","url":"https://api.github.com/users/misaengmul","avatar_url":"https://avatars.githubusercontent.com/u/81971665?"},"repo":{"id":354853401,"name":"misaengmul/misaengDB","url":"https://api.github.com/repos/misaengmul/misaengDB"},"payload":{"push_id":8732433117,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"89dccd61621e5067915c45c667bd250f36d55749","before":"416fc0ecf7e2b3808d0bed6ba81b29998298eb2e","commits":[{"sha":"89dccd61621e5067915c45c667bd250f36d55749","author":{"email":"81971665+misaengmul@users.noreply.github.com","name":"misaengmul"},"message":"bossDB","distinct":true,"url":"https://api.github.com/repos/misaengmul/misaengDB/commits/89dccd61621e5067915c45c667bd250f36d55749"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395882","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":115189051,"name":"RoopeHakulinen/cheerful","url":"https://api.github.com/repos/RoopeHakulinen/cheerful"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395884","type":"ForkEvent","actor":{"id":90845470,"login":"xXD4rkC0d3rXx","display_login":"xXD4rkC0d3rXx","gravatar_id":"","url":"https://api.github.com/users/xXD4rkC0d3rXx","avatar_url":"https://avatars.githubusercontent.com/u/90845470?"},"repo":{"id":246801885,"name":"sunnywx/svg-editor","url":"https://api.github.com/repos/sunnywx/svg-editor"},"payload":{"forkee":{"id":443449220,"node_id":"R_kgDOGm5_hA","name":"svg-editor","full_name":"xXD4rkC0d3rXx/svg-editor","private":false,"owner":{"login":"xXD4rkC0d3rXx","id":90845470,"node_id":"MDQ6VXNlcjkwODQ1NDcw","avatar_url":"https://avatars.githubusercontent.com/u/90845470?v=4","gravatar_id":"","url":"https://api.github.com/users/xXD4rkC0d3rXx","html_url":"https://github.com/xXD4rkC0d3rXx","followers_url":"https://api.github.com/users/xXD4rkC0d3rXx/followers","following_url":"https://api.github.com/users/xXD4rkC0d3rXx/following{/other_user}","gists_url":"https://api.github.com/users/xXD4rkC0d3rXx/gists{/gist_id}","starred_url":"https://api.github.com/users/xXD4rkC0d3rXx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xXD4rkC0d3rXx/subscriptions","organizations_url":"https://api.github.com/users/xXD4rkC0d3rXx/orgs","repos_url":"https://api.github.com/users/xXD4rkC0d3rXx/repos","events_url":"https://api.github.com/users/xXD4rkC0d3rXx/events{/privacy}","received_events_url":"https://api.github.com/users/xXD4rkC0d3rXx/received_events","type":"User","site_admin":false},"html_url":"https://github.com/xXD4rkC0d3rXx/svg-editor","description":"A simple svg based editor","fork":true,"url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor","forks_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/forks","keys_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/teams","hooks_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/hooks","issue_events_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/issues/events{/number}","events_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/events","assignees_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/assignees{/user}","branches_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/branches{/branch}","tags_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/tags","blobs_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/git/refs{/sha}","trees_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/statuses/{sha}","languages_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/languages","stargazers_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/stargazers","contributors_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/contributors","subscribers_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/subscribers","subscription_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/subscription","commits_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/commits{/sha}","git_commits_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/git/commits{/sha}","comments_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/comments{/number}","issue_comment_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/issues/comments{/number}","contents_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/contents/{+path}","compare_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/merges","archive_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/downloads","issues_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/issues{/number}","pulls_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/pulls{/number}","milestones_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/milestones{/number}","notifications_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/labels{/name}","releases_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/releases{/id}","deployments_url":"https://api.github.com/repos/xXD4rkC0d3rXx/svg-editor/deployments","created_at":"2022-01-01T01:00:03Z","updated_at":"2020-05-08T02:41:41Z","pushed_at":"2021-09-21T18:39:32Z","git_url":"git://github.com/xXD4rkC0d3rXx/svg-editor.git","ssh_url":"git@github.com:xXD4rkC0d3rXx/svg-editor.git","clone_url":"https://github.com/xXD4rkC0d3rXx/svg-editor.git","svn_url":"https://github.com/xXD4rkC0d3rXx/svg-editor","homepage":null,"size":1709,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395886","type":"WatchEvent","actor":{"id":84204260,"login":"alphak3y","display_login":"alphak3y","gravatar_id":"","url":"https://api.github.com/users/alphak3y","avatar_url":"https://avatars.githubusercontent.com/u/84204260?"},"repo":{"id":179853970,"name":"rsz44/python-coinmarketcap","url":"https://api.github.com/repos/rsz44/python-coinmarketcap"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395893","type":"PushEvent","actor":{"id":65201353,"login":"Logipek","display_login":"Logipek","gravatar_id":"","url":"https://api.github.com/users/Logipek","avatar_url":"https://avatars.githubusercontent.com/u/65201353?"},"repo":{"id":371989682,"name":"Logipek/upptime","url":"https://api.github.com/repos/Logipek/upptime"},"payload":{"push_id":8732433118,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"f9e9657145fd023a0f22fc0d87661880b695f27f","before":"7013efb9fef4f301699de12b603f783597956d99","commits":[{"sha":"cff17c694f2805427b3008fbad30f64b9dbd000c","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/Logipek/upptime/commits/cff17c694f2805427b3008fbad30f64b9dbd000c"},{"sha":"f9e9657145fd023a0f22fc0d87661880b695f27f","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/Logipek/upptime/commits/f9e9657145fd023a0f22fc0d87661880b695f27f"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395894","type":"PushEvent","actor":{"id":26586327,"login":"atatkin","display_login":"atatkin","gravatar_id":"","url":"https://api.github.com/users/atatkin","avatar_url":"https://avatars.githubusercontent.com/u/26586327?"},"repo":{"id":373671280,"name":"atatkin/milos-uptime","url":"https://api.github.com/repos/atatkin/milos-uptime"},"payload":{"push_id":8732433121,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"1c49461302de5b9aa4fe0c618c7c35f1a5073271","before":"2037cab74c191b52d7823698df874871f2109a52","commits":[{"sha":"6e3dfee2e1b093e4366fa6e15dac42697c3f55eb","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/atatkin/milos-uptime/commits/6e3dfee2e1b093e4366fa6e15dac42697c3f55eb"},{"sha":"1c49461302de5b9aa4fe0c618c7c35f1a5073271","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/atatkin/milos-uptime/commits/1c49461302de5b9aa4fe0c618c7c35f1a5073271"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395897","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":372466805,"name":"yfun-lab/bing-wallpaper","url":"https://api.github.com/repos/yfun-lab/bing-wallpaper"},"payload":{"push_id":8732433123,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c27707f2e4e63b11e03a6846a905eb16c9411515","before":"ac141e5f423b3bda3784493ec01d978f8c3b2106","commits":[{"sha":"c27707f2e4e63b11e03a6846a905eb16c9411515","author":{"email":"icolabot@e.yfun.top","name":"iColaBot"},"message":"Update Bing Wallpaper","distinct":true,"url":"https://api.github.com/repos/yfun-lab/bing-wallpaper/commits/c27707f2e4e63b11e03a6846a905eb16c9411515"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":81971544,"login":"yfun-lab","gravatar_id":"","url":"https://api.github.com/orgs/yfun-lab","avatar_url":"https://avatars.githubusercontent.com/u/81971544?"}} +{"id":"19541395898","type":"PushEvent","actor":{"id":92424910,"login":"athorat940","display_login":"athorat940","gravatar_id":"","url":"https://api.github.com/users/athorat940","avatar_url":"https://avatars.githubusercontent.com/u/92424910?"},"repo":{"id":436559311,"name":"athorat940/jenkins-pipeline-tutorial","url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial"},"payload":{"push_id":8732433103,"size":1,"distinct_size":1,"ref":"refs/heads/feature","head":"b6c2a903471bd50d75c1517065b6a8a4f5d61bb4","before":"994ff3af999428102c6ef1256e48de8f7b680350","commits":[{"sha":"b6c2a903471bd50d75c1517065b6a8a4f5d61bb4","author":{"email":"root@ip-172-31-26-122.us-east-2.compute.internal","name":"root"},"message":"Updated file","distinct":true,"url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/commits/b6c2a903471bd50d75c1517065b6a8a4f5d61bb4"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395899","type":"PushEvent","actor":{"id":22070331,"login":"ka1myk","display_login":"ka1myk","gravatar_id":"","url":"https://api.github.com/users/ka1myk","avatar_url":"https://avatars.githubusercontent.com/u/22070331?"},"repo":{"id":436071544,"name":"ka1myk/binance-9999924490","url":"https://api.github.com/repos/ka1myk/binance-9999924490"},"payload":{"push_id":8732433116,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1d7bea1e017d5272e0449bbcdfadfd77d433e5d3","before":"aef0775dcade22f9f4297778c4688da343f9aa10","commits":[{"sha":"1d7bea1e017d5272e0449bbcdfadfd77d433e5d3","author":{"email":"kalmyk244kk","name":"ka1myk"},"message":"01/01/22 04:00:01","distinct":true,"url":"https://api.github.com/repos/ka1myk/binance-9999924490/commits/1d7bea1e017d5272e0449bbcdfadfd77d433e5d3"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395904","type":"PushEvent","actor":{"id":96927834,"login":"blood2022","display_login":"blood2022","gravatar_id":"","url":"https://api.github.com/users/blood2022","avatar_url":"https://avatars.githubusercontent.com/u/96927834?"},"repo":{"id":443439195,"name":"blood2022/movedagain","url":"https://api.github.com/repos/blood2022/movedagain"},"payload":{"push_id":8732433152,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"947a5a296629e76bf9355bec0d7e31dff8723c50","before":"5c2e4f8006e6d731653229c118e1c68310c30b17","commits":[{"sha":"947a5a296629e76bf9355bec0d7e31dff8723c50","author":{"email":"96927834+blood2022@users.noreply.github.com","name":"blood2022"},"message":"Create gre","distinct":true,"url":"https://api.github.com/repos/blood2022/movedagain/commits/947a5a296629e76bf9355bec0d7e31dff8723c50"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395905","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":300273017,"name":"ryands17/nexus-introspection","url":"https://api.github.com/repos/ryands17/nexus-introspection"},"payload":{"action":"opened","number":389,"pull_request":{"url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389","id":812479591,"node_id":"PR_kwDOEeXNec4wbXRn","html_url":"https://github.com/ryands17/nexus-introspection/pull/389","diff_url":"https://github.com/ryands17/nexus-introspection/pull/389.diff","patch_url":"https://github.com/ryands17/nexus-introspection/pull/389.patch","issue_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/389","number":389,"state":"open","locked":false,"title":"Update eslint","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint) | [`5.8.0` -> `5.8.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.8.0/5.8.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.8.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.8.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.8.1/compatibility-slim/5.8.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2feslint-plugin/5.8.1/confidence-slim/5.8.0)](https://docs.renovatebot.com/merge-confidence/) |\n| [@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint) | [`5.8.0` -> `5.8.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.8.0/5.8.1) | [![age](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.8.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.8.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.8.1/compatibility-slim/5.8.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@typescript-eslint%2fparser/5.8.1/confidence-slim/5.8.0)](https://docs.renovatebot.com/merge-confidence/) |\n| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.5.0` -> `8.6.0`](https://renovatebot.com/diffs/npm/eslint/8.5.0/8.6.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/compatibility-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/confidence-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Release Notes\n\n
\ntypescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)\n\n### [`v5.8.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#​581-httpsgithubcomtypescript-eslinttypescript-eslintcomparev580v581-2021-12-27)\n\n[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.8.0...v5.8.1)\n\n##### Bug Fixes\n\n- **eslint-plugin:** \\[consistent-indexed-object-style] do not report for circular references ([#​4347](https://togithub.com/typescript-eslint/typescript-eslint/issues/4347)) ([6edebcd](https://togithub.com/typescript-eslint/typescript-eslint/commit/6edebcda00053eecf7b3e55eeb3fe5d7fb9e7db7))\n- **eslint-plugin:** \\[consistent-type-definitions] correct fixer with declare keyword ([#​4334](https://togithub.com/typescript-eslint/typescript-eslint/issues/4334)) ([0cd911a](https://togithub.com/typescript-eslint/typescript-eslint/commit/0cd911a916805d3b1f8043584e4685f3edd5c427))\n- **eslint-plugin:** \\[padding-line-between-statements] make function overloading is also processed ([#​4345](https://togithub.com/typescript-eslint/typescript-eslint/issues/4345)) ([d31ec26](https://togithub.com/typescript-eslint/typescript-eslint/commit/d31ec264fe5f5cd27e8f522a485e106889f2d380))\n\n
\n\n
\ntypescript-eslint/typescript-eslint (@​typescript-eslint/parser)\n\n### [`v5.8.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#​581-httpsgithubcomtypescript-eslinttypescript-eslintcomparev580v581-2021-12-27)\n\n[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.8.0...v5.8.1)\n\n**Note:** Version bump only for package [@​typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)\n\n
\n\n
\neslint/eslint\n\n### [`v8.6.0`](https://togithub.com/eslint/eslint/releases/v8.6.0)\n\n[Compare Source](https://togithub.com/eslint/eslint/compare/v8.5.0...v8.6.0)\n\n#### Features\n\n- [`6802a54`](https://togithub.com/eslint/eslint/commit/6802a54837ea008bef4d5ae11522941693ba5ef6) feat: handle logical assignment in no-self-assign ([#​14152](https://togithub.com/eslint/eslint/issues/14152)) (Zzzen)\n- [`3b38018`](https://togithub.com/eslint/eslint/commit/3b38018ef5cb004ad5bc011de726bd2df2eb2f3f) feat: allow to define `eslint-disable-next-line` in multiple lines ([#​15436](https://togithub.com/eslint/eslint/issues/15436)) (Nitin Kumar)\n- [`9d6fe5a`](https://togithub.com/eslint/eslint/commit/9d6fe5a6b65f397bafc5eb0a995e96717cdc9b53) feat: false negative with `onlyDeclarations` + `properties` in id-match ([#​15431](https://togithub.com/eslint/eslint/issues/15431)) (Nitin Kumar)\n\n#### Documentation\n\n- [`6c4dee2`](https://togithub.com/eslint/eslint/commit/6c4dee2e87dac8d0751ce2426ded651ed0986112) docs: Document homedir is a configuration root ([#​15469](https://togithub.com/eslint/eslint/issues/15469)) (Bas Bosman)\n- [`51c37b1`](https://togithub.com/eslint/eslint/commit/51c37b118aed9c0d7a0efd40c491efca04c82ef9) docs: consistency changes ([#​15404](https://togithub.com/eslint/eslint/issues/15404)) (Bas Bosman)\n- [`775d181`](https://togithub.com/eslint/eslint/commit/775d18138244a28ebe1cb92849cd0f4e8cd27672) docs: Mention character classes in no-useless-escape ([#​15421](https://togithub.com/eslint/eslint/issues/15421)) (Sebastian Simon)\n\n#### Chores\n\n- [`3a384fc`](https://togithub.com/eslint/eslint/commit/3a384fc287cebb7be5fe5ed95497d578437a503a) chore: Upgrade espree to 9.3.0 ([#​15473](https://togithub.com/eslint/eslint/issues/15473)) (Brandon Mills)\n- [`1443cc2`](https://togithub.com/eslint/eslint/commit/1443cc2fc8785157936b864258924fe9bcd23210) chore: Update blogpost.md.ejs ([#​15468](https://togithub.com/eslint/eslint/issues/15468)) (Nicholas C. Zakas)\n- [`28e907a`](https://togithub.com/eslint/eslint/commit/28e907a4ca05a026d156f814f4118f8fe713e99d) refactor: remove unused parameter in `linter.js` ([#​15451](https://togithub.com/eslint/eslint/issues/15451)) (Milos Djermanovic)\n- [`eaa08d3`](https://togithub.com/eslint/eslint/commit/eaa08d3055b195bce59cc96bb63ac29038cd7c7d) test: add tests for `allowReserved` parser option with flat config ([#​15450](https://togithub.com/eslint/eslint/issues/15450)) (Milos Djermanovic)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: \"every weekend\" (UTC).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/ryands17/nexus-introspection).","created_at":"2022-01-01T01:00:03Z","updated_at":"2022-01-01T01:00:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389/commits","review_comments_url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389/comments","review_comment_url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/389/comments","statuses_url":"https://api.github.com/repos/ryands17/nexus-introspection/statuses/3b2381c8108955a07dd57fd44b23660cd351d077","head":{"label":"ryands17:renovate/eslint","ref":"renovate/eslint","sha":"3b2381c8108955a07dd57fd44b23660cd351d077","user":{"login":"ryands17","id":19697099,"node_id":"MDQ6VXNlcjE5Njk3MDk5","avatar_url":"https://avatars.githubusercontent.com/u/19697099?v=4","gravatar_id":"","url":"https://api.github.com/users/ryands17","html_url":"https://github.com/ryands17","followers_url":"https://api.github.com/users/ryands17/followers","following_url":"https://api.github.com/users/ryands17/following{/other_user}","gists_url":"https://api.github.com/users/ryands17/gists{/gist_id}","starred_url":"https://api.github.com/users/ryands17/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryands17/subscriptions","organizations_url":"https://api.github.com/users/ryands17/orgs","repos_url":"https://api.github.com/users/ryands17/repos","events_url":"https://api.github.com/users/ryands17/events{/privacy}","received_events_url":"https://api.github.com/users/ryands17/received_events","type":"User","site_admin":false},"repo":{"id":300273017,"node_id":"MDEwOlJlcG9zaXRvcnkzMDAyNzMwMTc=","name":"nexus-introspection","full_name":"ryands17/nexus-introspection","private":false,"owner":{"login":"ryands17","id":19697099,"node_id":"MDQ6VXNlcjE5Njk3MDk5","avatar_url":"https://avatars.githubusercontent.com/u/19697099?v=4","gravatar_id":"","url":"https://api.github.com/users/ryands17","html_url":"https://github.com/ryands17","followers_url":"https://api.github.com/users/ryands17/followers","following_url":"https://api.github.com/users/ryands17/following{/other_user}","gists_url":"https://api.github.com/users/ryands17/gists{/gist_id}","starred_url":"https://api.github.com/users/ryands17/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryands17/subscriptions","organizations_url":"https://api.github.com/users/ryands17/orgs","repos_url":"https://api.github.com/users/ryands17/repos","events_url":"https://api.github.com/users/ryands17/events{/privacy}","received_events_url":"https://api.github.com/users/ryands17/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryands17/nexus-introspection","description":"An auth flow with Prisma and Nexus using introspection instead of Migrate","fork":false,"url":"https://api.github.com/repos/ryands17/nexus-introspection","forks_url":"https://api.github.com/repos/ryands17/nexus-introspection/forks","keys_url":"https://api.github.com/repos/ryands17/nexus-introspection/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryands17/nexus-introspection/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryands17/nexus-introspection/teams","hooks_url":"https://api.github.com/repos/ryands17/nexus-introspection/hooks","issue_events_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/events{/number}","events_url":"https://api.github.com/repos/ryands17/nexus-introspection/events","assignees_url":"https://api.github.com/repos/ryands17/nexus-introspection/assignees{/user}","branches_url":"https://api.github.com/repos/ryands17/nexus-introspection/branches{/branch}","tags_url":"https://api.github.com/repos/ryands17/nexus-introspection/tags","blobs_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryands17/nexus-introspection/statuses/{sha}","languages_url":"https://api.github.com/repos/ryands17/nexus-introspection/languages","stargazers_url":"https://api.github.com/repos/ryands17/nexus-introspection/stargazers","contributors_url":"https://api.github.com/repos/ryands17/nexus-introspection/contributors","subscribers_url":"https://api.github.com/repos/ryands17/nexus-introspection/subscribers","subscription_url":"https://api.github.com/repos/ryands17/nexus-introspection/subscription","commits_url":"https://api.github.com/repos/ryands17/nexus-introspection/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryands17/nexus-introspection/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryands17/nexus-introspection/contents/{+path}","compare_url":"https://api.github.com/repos/ryands17/nexus-introspection/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryands17/nexus-introspection/merges","archive_url":"https://api.github.com/repos/ryands17/nexus-introspection/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryands17/nexus-introspection/downloads","issues_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues{/number}","pulls_url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls{/number}","milestones_url":"https://api.github.com/repos/ryands17/nexus-introspection/milestones{/number}","notifications_url":"https://api.github.com/repos/ryands17/nexus-introspection/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryands17/nexus-introspection/labels{/name}","releases_url":"https://api.github.com/repos/ryands17/nexus-introspection/releases{/id}","deployments_url":"https://api.github.com/repos/ryands17/nexus-introspection/deployments","created_at":"2020-10-01T12:34:20Z","updated_at":"2021-12-25T09:02:15Z","pushed_at":"2022-01-01T01:00:04Z","git_url":"git://github.com/ryands17/nexus-introspection.git","ssh_url":"git@github.com:ryands17/nexus-introspection.git","clone_url":"https://github.com/ryands17/nexus-introspection.git","svn_url":"https://github.com/ryands17/nexus-introspection","homepage":"","size":1546,"stargazers_count":7,"watchers_count":7,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":null,"allow_forking":true,"is_template":false,"topics":["nexus","prisma","typescipt"],"visibility":"public","forks":0,"open_issues":2,"watchers":7,"default_branch":"main"}},"base":{"label":"ryands17:main","ref":"main","sha":"bda690f9dd25fb63261b0971c921cb495d3ba59b","user":{"login":"ryands17","id":19697099,"node_id":"MDQ6VXNlcjE5Njk3MDk5","avatar_url":"https://avatars.githubusercontent.com/u/19697099?v=4","gravatar_id":"","url":"https://api.github.com/users/ryands17","html_url":"https://github.com/ryands17","followers_url":"https://api.github.com/users/ryands17/followers","following_url":"https://api.github.com/users/ryands17/following{/other_user}","gists_url":"https://api.github.com/users/ryands17/gists{/gist_id}","starred_url":"https://api.github.com/users/ryands17/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryands17/subscriptions","organizations_url":"https://api.github.com/users/ryands17/orgs","repos_url":"https://api.github.com/users/ryands17/repos","events_url":"https://api.github.com/users/ryands17/events{/privacy}","received_events_url":"https://api.github.com/users/ryands17/received_events","type":"User","site_admin":false},"repo":{"id":300273017,"node_id":"MDEwOlJlcG9zaXRvcnkzMDAyNzMwMTc=","name":"nexus-introspection","full_name":"ryands17/nexus-introspection","private":false,"owner":{"login":"ryands17","id":19697099,"node_id":"MDQ6VXNlcjE5Njk3MDk5","avatar_url":"https://avatars.githubusercontent.com/u/19697099?v=4","gravatar_id":"","url":"https://api.github.com/users/ryands17","html_url":"https://github.com/ryands17","followers_url":"https://api.github.com/users/ryands17/followers","following_url":"https://api.github.com/users/ryands17/following{/other_user}","gists_url":"https://api.github.com/users/ryands17/gists{/gist_id}","starred_url":"https://api.github.com/users/ryands17/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryands17/subscriptions","organizations_url":"https://api.github.com/users/ryands17/orgs","repos_url":"https://api.github.com/users/ryands17/repos","events_url":"https://api.github.com/users/ryands17/events{/privacy}","received_events_url":"https://api.github.com/users/ryands17/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ryands17/nexus-introspection","description":"An auth flow with Prisma and Nexus using introspection instead of Migrate","fork":false,"url":"https://api.github.com/repos/ryands17/nexus-introspection","forks_url":"https://api.github.com/repos/ryands17/nexus-introspection/forks","keys_url":"https://api.github.com/repos/ryands17/nexus-introspection/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ryands17/nexus-introspection/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ryands17/nexus-introspection/teams","hooks_url":"https://api.github.com/repos/ryands17/nexus-introspection/hooks","issue_events_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/events{/number}","events_url":"https://api.github.com/repos/ryands17/nexus-introspection/events","assignees_url":"https://api.github.com/repos/ryands17/nexus-introspection/assignees{/user}","branches_url":"https://api.github.com/repos/ryands17/nexus-introspection/branches{/branch}","tags_url":"https://api.github.com/repos/ryands17/nexus-introspection/tags","blobs_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/refs{/sha}","trees_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ryands17/nexus-introspection/statuses/{sha}","languages_url":"https://api.github.com/repos/ryands17/nexus-introspection/languages","stargazers_url":"https://api.github.com/repos/ryands17/nexus-introspection/stargazers","contributors_url":"https://api.github.com/repos/ryands17/nexus-introspection/contributors","subscribers_url":"https://api.github.com/repos/ryands17/nexus-introspection/subscribers","subscription_url":"https://api.github.com/repos/ryands17/nexus-introspection/subscription","commits_url":"https://api.github.com/repos/ryands17/nexus-introspection/commits{/sha}","git_commits_url":"https://api.github.com/repos/ryands17/nexus-introspection/git/commits{/sha}","comments_url":"https://api.github.com/repos/ryands17/nexus-introspection/comments{/number}","issue_comment_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues/comments{/number}","contents_url":"https://api.github.com/repos/ryands17/nexus-introspection/contents/{+path}","compare_url":"https://api.github.com/repos/ryands17/nexus-introspection/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ryands17/nexus-introspection/merges","archive_url":"https://api.github.com/repos/ryands17/nexus-introspection/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ryands17/nexus-introspection/downloads","issues_url":"https://api.github.com/repos/ryands17/nexus-introspection/issues{/number}","pulls_url":"https://api.github.com/repos/ryands17/nexus-introspection/pulls{/number}","milestones_url":"https://api.github.com/repos/ryands17/nexus-introspection/milestones{/number}","notifications_url":"https://api.github.com/repos/ryands17/nexus-introspection/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ryands17/nexus-introspection/labels{/name}","releases_url":"https://api.github.com/repos/ryands17/nexus-introspection/releases{/id}","deployments_url":"https://api.github.com/repos/ryands17/nexus-introspection/deployments","created_at":"2020-10-01T12:34:20Z","updated_at":"2021-12-25T09:02:15Z","pushed_at":"2022-01-01T01:00:04Z","git_url":"git://github.com/ryands17/nexus-introspection.git","ssh_url":"git@github.com:ryands17/nexus-introspection.git","clone_url":"https://github.com/ryands17/nexus-introspection.git","svn_url":"https://github.com/ryands17/nexus-introspection","homepage":"","size":1546,"stargazers_count":7,"watchers_count":7,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":null,"allow_forking":true,"is_template":false,"topics":["nexus","prisma","typescipt"],"visibility":"public","forks":0,"open_issues":2,"watchers":7,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389"},"html":{"href":"https://github.com/ryands17/nexus-introspection/pull/389"},"issue":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/issues/389"},"comments":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/issues/389/comments"},"review_comments":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389/comments"},"review_comment":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/pulls/389/commits"},"statuses":{"href":"https://api.github.com/repos/ryands17/nexus-introspection/statuses/3b2381c8108955a07dd57fd44b23660cd351d077"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":63,"deletions":49,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395909","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433133,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-510","head":"a2949704aa58c1cd8acc9e475df73ab92a2890a2","before":"a2949704aa58c1cd8acc9e475df73ab92a2890a2","commits":[]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541395914","type":"PushEvent","actor":{"id":96052245,"login":"liiiib","display_login":"liiiib","gravatar_id":"","url":"https://api.github.com/users/liiiib","avatar_url":"https://avatars.githubusercontent.com/u/96052245?"},"repo":{"id":443431211,"name":"liiiib/497a8625-86da-4051-900b-b29f09f7a6f2","url":"https://api.github.com/repos/liiiib/497a8625-86da-4051-900b-b29f09f7a6f2"},"payload":{"push_id":8732433145,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6760949d738e870ed72637d73cda3ddb893ea873","before":"3fec01ecda365627d8daf637371c43df3f42101d","commits":[{"sha":"6760949d738e870ed72637d73cda3ddb893ea873","author":{"email":"96052245+liiiib@users.noreply.github.com","name":"liiiib"},"message":"upload file a719e5511d98721dec4928e117ce033505b22fbcc2b2ad917d460532695ee3c78b9d060b69304c2dfce2d60bb56aa207video_377_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/liiiib/497a8625-86da-4051-900b-b29f09f7a6f2/commits/6760949d738e870ed72637d73cda3ddb893ea873"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395915","type":"PushEvent","actor":{"id":23443948,"login":"geekzsp","display_login":"geekzsp","gravatar_id":"","url":"https://api.github.com/users/geekzsp","avatar_url":"https://avatars.githubusercontent.com/u/23443948?"},"repo":{"id":275519526,"name":"geekzsp/ImagesRepository","url":"https://api.github.com/repos/geekzsp/ImagesRepository"},"payload":{"push_id":8732433150,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"14ca40321ef1d0f4a3d04da0a91dc28c8bd3dd45","before":"c1efa6300d3a0b9bdbdab404e95d40c81cdcb800","commits":[{"sha":"14ca40321ef1d0f4a3d04da0a91dc28c8bd3dd45","author":{"email":"geekzsp@gmail.com","name":"Moss"},"message":"Upload by PicGo","distinct":true,"url":"https://api.github.com/repos/geekzsp/ImagesRepository/commits/14ca40321ef1d0f4a3d04da0a91dc28c8bd3dd45"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395916","type":"PushEvent","actor":{"id":58626192,"login":"AlphaNull16299","display_login":"AlphaNull16299","gravatar_id":"","url":"https://api.github.com/users/AlphaNull16299","avatar_url":"https://avatars.githubusercontent.com/u/58626192?"},"repo":{"id":435132988,"name":"AlphaNull16299/sh","url":"https://api.github.com/repos/AlphaNull16299/sh"},"payload":{"push_id":8732433128,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5582b2b004cc1d1b3b145626343d25d12481aa0b","before":"a1dd31a23a6481112c7e7e406fb22dfc16f26705","commits":[{"sha":"5582b2b004cc1d1b3b145626343d25d12481aa0b","author":{"email":"58626192+AlphaNull16299@users.noreply.github.com","name":"AlphaNull16299"},"message":"IP Updated!","distinct":true,"url":"https://api.github.com/repos/AlphaNull16299/sh/commits/5582b2b004cc1d1b3b145626343d25d12481aa0b"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395920","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724928,"name":"tenecq3145/www","url":"https://api.github.com/repos/tenecq3145/www"},"payload":{"push_id":8732433153,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c39f9fe31240c716a14f7918df9f35c794cd60a5","before":"e426f8c71943cd6169cdd19af3ce672d5d04d043","commits":[{"sha":"c39f9fe31240c716a14f7918df9f35c794cd60a5","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/www/commits/c39f9fe31240c716a14f7918df9f35c794cd60a5"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395923","type":"PushEvent","actor":{"id":32774919,"login":"TheBlaineMono","display_login":"TheBlaineMono","gravatar_id":"","url":"https://api.github.com/users/TheBlaineMono","avatar_url":"https://avatars.githubusercontent.com/u/32774919?"},"repo":{"id":401850501,"name":"TheBlaineMono/pending","url":"https://api.github.com/repos/TheBlaineMono/pending"},"payload":{"push_id":8732433138,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"73aac48074dfc3d6b43b668e87f6197eb37b8b52","before":"ee655c9b34868a62b73ee60d7da44ebb21177a9c","commits":[{"sha":"73aac48074dfc3d6b43b668e87f6197eb37b8b52","author":{"email":"32774919+TheBlaineMono@users.noreply.github.com","name":"TheBlaineMono"},"message":"update poollogs.json","distinct":true,"url":"https://api.github.com/repos/TheBlaineMono/pending/commits/73aac48074dfc3d6b43b668e87f6197eb37b8b52"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395925","type":"PushEvent","actor":{"id":67564159,"login":"coastranges","display_login":"coastranges","gravatar_id":"","url":"https://api.github.com/users/coastranges","avatar_url":"https://avatars.githubusercontent.com/u/67564159?"},"repo":{"id":279324303,"name":"coastranges/olivehill","url":"https://api.github.com/repos/coastranges/olivehill"},"payload":{"push_id":8732433142,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2d3550b4bf163d146e4637e839f4c8cf3c57d7c0","before":"5cf6ef366075212a0054337bf09d5316d947cd12","commits":[{"sha":"2d3550b4bf163d146e4637e839f4c8cf3c57d7c0","author":{"email":"farwest49@hotmail.com","name":"coastranges"},"message":"new_data","distinct":true,"url":"https://api.github.com/repos/coastranges/olivehill/commits/2d3550b4bf163d146e4637e839f4c8cf3c57d7c0"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395926","type":"PushEvent","actor":{"id":32042396,"login":"obuno","display_login":"obuno","gravatar_id":"","url":"https://api.github.com/users/obuno","avatar_url":"https://avatars.githubusercontent.com/u/32042396?"},"repo":{"id":332142260,"name":"obuno/ips","url":"https://api.github.com/repos/obuno/ips"},"payload":{"push_id":8732433135,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9e8d1dbc8b813ebbc92778518ad26a0b2ac7d718","before":"767abf38fdbbd02a54091bd5dcf6a7e50020e145","commits":[{"sha":"9e8d1dbc8b813ebbc92778518ad26a0b2ac7d718","author":{"email":"32042396+obuno@users.noreply.github.com","name":"obuno"},"message":"Adding a few more...","distinct":true,"url":"https://api.github.com/repos/obuno/ips/commits/9e8d1dbc8b813ebbc92778518ad26a0b2ac7d718"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395930","type":"PushEvent","actor":{"id":81971665,"login":"misaengmul","display_login":"misaengmul","gravatar_id":"","url":"https://api.github.com/users/misaengmul","avatar_url":"https://avatars.githubusercontent.com/u/81971665?"},"repo":{"id":354853401,"name":"misaengmul/misaengDB","url":"https://api.github.com/repos/misaengmul/misaengDB"},"payload":{"push_id":8732433157,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"026534bf6a66737dc75f012b534f80a396a7354c","before":"89dccd61621e5067915c45c667bd250f36d55749","commits":[{"sha":"026534bf6a66737dc75f012b534f80a396a7354c","author":{"email":"81971665+misaengmul@users.noreply.github.com","name":"misaengmul"},"message":"updated kill_list.ini","distinct":true,"url":"https://api.github.com/repos/misaengmul/misaengDB/commits/026534bf6a66737dc75f012b534f80a396a7354c"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395932","type":"PushEvent","actor":{"id":24590319,"login":"hcarrara","display_login":"hcarrara","gravatar_id":"","url":"https://api.github.com/users/hcarrara","avatar_url":"https://avatars.githubusercontent.com/u/24590319?"},"repo":{"id":423298280,"name":"hcarrara/watchdog","url":"https://api.github.com/repos/hcarrara/watchdog"},"payload":{"push_id":8732433139,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"a35dcbb1d58a4b5a4de763ae23d1843633329dc3","before":"1e6e85d0d803cd4e5cc19ef6ce90d01a4ce7fdf6","commits":[{"sha":"a35dcbb1d58a4b5a4de763ae23d1843633329dc3","author":{"email":"hugo.carrara@yahoo.com.br","name":"Hugo Carrara"},"message":"watchdog","distinct":true,"url":"https://api.github.com/repos/hcarrara/watchdog/commits/a35dcbb1d58a4b5a4de763ae23d1843633329dc3"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395933","type":"PullRequestEvent","actor":{"id":92424910,"login":"athorat940","display_login":"athorat940","gravatar_id":"","url":"https://api.github.com/users/athorat940","avatar_url":"https://avatars.githubusercontent.com/u/92424910?"},"repo":{"id":436559311,"name":"athorat940/jenkins-pipeline-tutorial","url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial"},"payload":{"action":"opened","number":687,"pull_request":{"url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687","id":812479593,"node_id":"PR_kwDOGgVdz84wbXRp","html_url":"https://github.com/athorat940/jenkins-pipeline-tutorial/pull/687","diff_url":"https://github.com/athorat940/jenkins-pipeline-tutorial/pull/687.diff","patch_url":"https://github.com/athorat940/jenkins-pipeline-tutorial/pull/687.patch","issue_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/687","number":687,"state":"open","locked":false,"title":"Updated file","user":{"login":"athorat940","id":92424910,"node_id":"U_kgDOBYJKzg","avatar_url":"https://avatars.githubusercontent.com/u/92424910?v=4","gravatar_id":"","url":"https://api.github.com/users/athorat940","html_url":"https://github.com/athorat940","followers_url":"https://api.github.com/users/athorat940/followers","following_url":"https://api.github.com/users/athorat940/following{/other_user}","gists_url":"https://api.github.com/users/athorat940/gists{/gist_id}","starred_url":"https://api.github.com/users/athorat940/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athorat940/subscriptions","organizations_url":"https://api.github.com/users/athorat940/orgs","repos_url":"https://api.github.com/users/athorat940/repos","events_url":"https://api.github.com/users/athorat940/events{/privacy}","received_events_url":"https://api.github.com/users/athorat940/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:04Z","updated_at":"2022-01-01T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687/commits","review_comments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687/comments","review_comment_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/comments{/number}","comments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/687/comments","statuses_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/statuses/b6c2a903471bd50d75c1517065b6a8a4f5d61bb4","head":{"label":"athorat940:feature","ref":"feature","sha":"b6c2a903471bd50d75c1517065b6a8a4f5d61bb4","user":{"login":"athorat940","id":92424910,"node_id":"U_kgDOBYJKzg","avatar_url":"https://avatars.githubusercontent.com/u/92424910?v=4","gravatar_id":"","url":"https://api.github.com/users/athorat940","html_url":"https://github.com/athorat940","followers_url":"https://api.github.com/users/athorat940/followers","following_url":"https://api.github.com/users/athorat940/following{/other_user}","gists_url":"https://api.github.com/users/athorat940/gists{/gist_id}","starred_url":"https://api.github.com/users/athorat940/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athorat940/subscriptions","organizations_url":"https://api.github.com/users/athorat940/orgs","repos_url":"https://api.github.com/users/athorat940/repos","events_url":"https://api.github.com/users/athorat940/events{/privacy}","received_events_url":"https://api.github.com/users/athorat940/received_events","type":"User","site_admin":false},"repo":{"id":436559311,"node_id":"R_kgDOGgVdzw","name":"jenkins-pipeline-tutorial","full_name":"athorat940/jenkins-pipeline-tutorial","private":false,"owner":{"login":"athorat940","id":92424910,"node_id":"U_kgDOBYJKzg","avatar_url":"https://avatars.githubusercontent.com/u/92424910?v=4","gravatar_id":"","url":"https://api.github.com/users/athorat940","html_url":"https://github.com/athorat940","followers_url":"https://api.github.com/users/athorat940/followers","following_url":"https://api.github.com/users/athorat940/following{/other_user}","gists_url":"https://api.github.com/users/athorat940/gists{/gist_id}","starred_url":"https://api.github.com/users/athorat940/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athorat940/subscriptions","organizations_url":"https://api.github.com/users/athorat940/orgs","repos_url":"https://api.github.com/users/athorat940/repos","events_url":"https://api.github.com/users/athorat940/events{/privacy}","received_events_url":"https://api.github.com/users/athorat940/received_events","type":"User","site_admin":false},"html_url":"https://github.com/athorat940/jenkins-pipeline-tutorial","description":null,"fork":false,"url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial","forks_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/forks","keys_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/keys{/key_id}","collaborators_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/teams","hooks_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/hooks","issue_events_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/events{/number}","events_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/events","assignees_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/assignees{/user}","branches_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/branches{/branch}","tags_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/tags","blobs_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/refs{/sha}","trees_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/trees{/sha}","statuses_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/statuses/{sha}","languages_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/languages","stargazers_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/stargazers","contributors_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/contributors","subscribers_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/subscribers","subscription_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/subscription","commits_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/commits{/sha}","git_commits_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/commits{/sha}","comments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/comments{/number}","issue_comment_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/comments{/number}","contents_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/contents/{+path}","compare_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/compare/{base}...{head}","merges_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/merges","archive_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/downloads","issues_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues{/number}","pulls_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls{/number}","milestones_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/milestones{/number}","notifications_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/labels{/name}","releases_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/releases{/id}","deployments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/deployments","created_at":"2021-12-09T09:39:30Z","updated_at":"2022-01-01T00:30:18Z","pushed_at":"2022-01-01T01:00:04Z","git_url":"git://github.com/athorat940/jenkins-pipeline-tutorial.git","ssh_url":"git@github.com:athorat940/jenkins-pipeline-tutorial.git","clone_url":"https://github.com/athorat940/jenkins-pipeline-tutorial.git","svn_url":"https://github.com/athorat940/jenkins-pipeline-tutorial","homepage":null,"size":271,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"athorat940:master","ref":"master","sha":"fe213c9ad9e465821b6850b9fee10aafc394dcae","user":{"login":"athorat940","id":92424910,"node_id":"U_kgDOBYJKzg","avatar_url":"https://avatars.githubusercontent.com/u/92424910?v=4","gravatar_id":"","url":"https://api.github.com/users/athorat940","html_url":"https://github.com/athorat940","followers_url":"https://api.github.com/users/athorat940/followers","following_url":"https://api.github.com/users/athorat940/following{/other_user}","gists_url":"https://api.github.com/users/athorat940/gists{/gist_id}","starred_url":"https://api.github.com/users/athorat940/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athorat940/subscriptions","organizations_url":"https://api.github.com/users/athorat940/orgs","repos_url":"https://api.github.com/users/athorat940/repos","events_url":"https://api.github.com/users/athorat940/events{/privacy}","received_events_url":"https://api.github.com/users/athorat940/received_events","type":"User","site_admin":false},"repo":{"id":436559311,"node_id":"R_kgDOGgVdzw","name":"jenkins-pipeline-tutorial","full_name":"athorat940/jenkins-pipeline-tutorial","private":false,"owner":{"login":"athorat940","id":92424910,"node_id":"U_kgDOBYJKzg","avatar_url":"https://avatars.githubusercontent.com/u/92424910?v=4","gravatar_id":"","url":"https://api.github.com/users/athorat940","html_url":"https://github.com/athorat940","followers_url":"https://api.github.com/users/athorat940/followers","following_url":"https://api.github.com/users/athorat940/following{/other_user}","gists_url":"https://api.github.com/users/athorat940/gists{/gist_id}","starred_url":"https://api.github.com/users/athorat940/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/athorat940/subscriptions","organizations_url":"https://api.github.com/users/athorat940/orgs","repos_url":"https://api.github.com/users/athorat940/repos","events_url":"https://api.github.com/users/athorat940/events{/privacy}","received_events_url":"https://api.github.com/users/athorat940/received_events","type":"User","site_admin":false},"html_url":"https://github.com/athorat940/jenkins-pipeline-tutorial","description":null,"fork":false,"url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial","forks_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/forks","keys_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/keys{/key_id}","collaborators_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/teams","hooks_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/hooks","issue_events_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/events{/number}","events_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/events","assignees_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/assignees{/user}","branches_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/branches{/branch}","tags_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/tags","blobs_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/refs{/sha}","trees_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/trees{/sha}","statuses_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/statuses/{sha}","languages_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/languages","stargazers_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/stargazers","contributors_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/contributors","subscribers_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/subscribers","subscription_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/subscription","commits_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/commits{/sha}","git_commits_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/git/commits{/sha}","comments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/comments{/number}","issue_comment_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/comments{/number}","contents_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/contents/{+path}","compare_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/compare/{base}...{head}","merges_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/merges","archive_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/downloads","issues_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues{/number}","pulls_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls{/number}","milestones_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/milestones{/number}","notifications_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/labels{/name}","releases_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/releases{/id}","deployments_url":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/deployments","created_at":"2021-12-09T09:39:30Z","updated_at":"2022-01-01T00:30:18Z","pushed_at":"2022-01-01T01:00:04Z","git_url":"git://github.com/athorat940/jenkins-pipeline-tutorial.git","ssh_url":"git@github.com:athorat940/jenkins-pipeline-tutorial.git","clone_url":"https://github.com/athorat940/jenkins-pipeline-tutorial.git","svn_url":"https://github.com/athorat940/jenkins-pipeline-tutorial","homepage":null,"size":271,"stargazers_count":0,"watchers_count":0,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687"},"html":{"href":"https://github.com/athorat940/jenkins-pipeline-tutorial/pull/687"},"issue":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/687"},"comments":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/issues/687/comments"},"review_comments":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687/comments"},"review_comment":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/pulls/687/commits"},"statuses":{"href":"https://api.github.com/repos/athorat940/jenkins-pipeline-tutorial/statuses/b6c2a903471bd50d75c1517065b6a8a4f5d61bb4"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395934","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":158751817,"name":"cdaringe/postgraphile-upsert","url":"https://api.github.com/repos/cdaringe/postgraphile-upsert"},"payload":{"push_id":8732433124,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"defd2269cfa0daaf63cebd87f579d460077acae5","before":"4a855c722c027e1a6f46a5a3b755e0cb2a5fd233","commits":[{"sha":"defd2269cfa0daaf63cebd87f579d460077acae5","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"chore(deps): update dependency @types/dockerode to v3.3.1","distinct":true,"url":"https://api.github.com/repos/cdaringe/postgraphile-upsert/commits/defd2269cfa0daaf63cebd87f579d460077acae5"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395938","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":423553888,"name":"glaubertorres/glaubertorres","url":"https://api.github.com/repos/glaubertorres/glaubertorres"},"payload":{"push_id":8732433141,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"f6d86089dae9f413b7d1836ed91390b7dd445e31","before":"ee283e200a2426588d940d3ba1076bbd337cfeb0","commits":[{"sha":"f6d86089dae9f413b7d1836ed91390b7dd445e31","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/glaubertorres/glaubertorres/commits/f6d86089dae9f413b7d1836ed91390b7dd445e31"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395942","type":"PushEvent","actor":{"id":3258799,"login":"psukez","display_login":"psukez","gravatar_id":"","url":"https://api.github.com/users/psukez","avatar_url":"https://avatars.githubusercontent.com/u/3258799?"},"repo":{"id":329929688,"name":"psukez/TempData","url":"https://api.github.com/repos/psukez/TempData"},"payload":{"push_id":8732433179,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"39772da9ca2ab63d9bbda583caebf32506364d20","before":"e7f240418d7554e63d643c64476cf8ceea5bae1a","commits":[{"sha":"39772da9ca2ab63d9bbda583caebf32506364d20","author":{"email":"psukez@gmail.com","name":"psukez"},"message":"update repository","distinct":true,"url":"https://api.github.com/repos/psukez/TempData/commits/39772da9ca2ab63d9bbda583caebf32506364d20"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395945","type":"PushEvent","actor":{"id":21656,"login":"rodrigotoledo","display_login":"rodrigotoledo","gravatar_id":"","url":"https://api.github.com/users/rodrigotoledo","avatar_url":"https://avatars.githubusercontent.com/u/21656?"},"repo":{"id":436576412,"name":"rodrigotoledo/help_my_net","url":"https://api.github.com/repos/rodrigotoledo/help_my_net"},"payload":{"push_id":8732433159,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"319770332a522de77982e2d4cd947a24f583e884","before":"b9d3296d5429f609c33c5bbbe8c1cc9d7f16b094","commits":[{"sha":"319770332a522de77982e2d4cd947a24f583e884","author":{"email":"rodrigotoledo@MacBook-RToledo-dev-6.local","name":"Rodrigo Toledo"},"message":"hotfix to ignore jwt in heroku temp","distinct":true,"url":"https://api.github.com/repos/rodrigotoledo/help_my_net/commits/319770332a522de77982e2d4cd947a24f583e884"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395950","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433184,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3f372a98fe4e5e4182fa0213c6c22ef1e9572704","before":"aeac7f588c94fcc7dbbfc6e322ec7fa9fa1c9353","commits":[{"sha":"3f372a98fe4e5e4182fa0213c6c22ef1e9572704","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:03 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/3f372a98fe4e5e4182fa0213c6c22ef1e9572704"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395953","type":"PushEvent","actor":{"id":541490,"login":"morrah","display_login":"morrah","gravatar_id":"","url":"https://api.github.com/users/morrah","avatar_url":"https://avatars.githubusercontent.com/u/541490?"},"repo":{"id":224001345,"name":"morrah/oro-market","url":"https://api.github.com/repos/morrah/oro-market"},"payload":{"push_id":8732433176,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ea0c0776fbe409b41058e0b1a9231cd3ef1ebb8a","before":"b0213f7f3bde9153275c8355af32d45428b5db17","commits":[{"sha":"ea0c0776fbe409b41058e0b1a9231cd3ef1ebb8a","author":{"email":"morrah@users.noreply.github.com","name":"morrah"},"message":"data update","distinct":true,"url":"https://api.github.com/repos/morrah/oro-market/commits/ea0c0776fbe409b41058e0b1a9231cd3ef1ebb8a"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395944","type":"PushEvent","actor":{"id":75794677,"login":"p-wtt","display_login":"p-wtt","gravatar_id":"","url":"https://api.github.com/users/p-wtt","avatar_url":"https://avatars.githubusercontent.com/u/75794677?"},"repo":{"id":375292528,"name":"p-wtt/lawn-gardener-project","url":"https://api.github.com/repos/p-wtt/lawn-gardener-project"},"payload":{"push_id":8732433160,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cf9b8c833985088162dd07afcc858bbd0748984f","before":"d60c756346cb12df1bdf5e32244783578196f12a","commits":[{"sha":"cf9b8c833985088162dd07afcc858bbd0748984f","author":{"email":"parksangmin.wyatt@gmail.com","name":"p-wtt"},"message":"[2022-01-01] 1commit","distinct":true,"url":"https://api.github.com/repos/p-wtt/lawn-gardener-project/commits/cf9b8c833985088162dd07afcc858bbd0748984f"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395957","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431508034,"name":"znyt/oss23","url":"https://api.github.com/repos/znyt/oss23"},"payload":{"push_id":8732433158,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5b069d9133b75dd19f16ab76fc68f10472c2523b","before":"f0bb89c4efaee2c6217f92ba5a2e5f4c39ba8cd7","commits":[{"sha":"5b069d9133b75dd19f16ab76fc68f10472c2523b","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss23/commits/5b069d9133b75dd19f16ab76fc68f10472c2523b"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395965","type":"PushEvent","actor":{"id":878058,"login":"ParkMinKyu","display_login":"ParkMinKyu","gravatar_id":"","url":"https://api.github.com/users/ParkMinKyu","avatar_url":"https://avatars.githubusercontent.com/u/878058?"},"repo":{"id":362471221,"name":"ApartMoney/Apartmoney.github.io","url":"https://api.github.com/repos/ApartMoney/Apartmoney.github.io"},"payload":{"push_id":8732433168,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a685e194e493beb2bf43caae8c51ca32da1a733d","before":"aefc6928841d48a7a1cc63b80cb993ae9a51dd97","commits":[{"sha":"a685e194e493beb2bf43caae8c51ca32da1a733d","author":{"email":"niee@naver.com","name":"ParkMinkyu"},"message":"update news data","distinct":true,"url":"https://api.github.com/repos/ApartMoney/Apartmoney.github.io/commits/a685e194e493beb2bf43caae8c51ca32da1a733d"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":60907646,"login":"ApartMoney","gravatar_id":"","url":"https://api.github.com/orgs/ApartMoney","avatar_url":"https://avatars.githubusercontent.com/u/60907646?"}} +{"id":"19541395968","type":"PushEvent","actor":{"id":6968908,"login":"TheDrHax","display_login":"TheDrHax","gravatar_id":"","url":"https://api.github.com/users/TheDrHax","avatar_url":"https://avatars.githubusercontent.com/u/6968908?"},"repo":{"id":314254117,"name":"BlackSilverUfa/TheDrHaxBot-Twitch","url":"https://api.github.com/repos/BlackSilverUfa/TheDrHaxBot-Twitch"},"payload":{"push_id":8732433163,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f76cf37e21f3f4806fb8f0496d79030d7a94225a","before":"bc963d55649fb4ed5b0da7a10ec02c6b58df6f10","commits":[{"sha":"f76cf37e21f3f4806fb8f0496d79030d7a94225a","author":{"email":"the.dr.hax@gmail.com","name":"Node-RED"},"message":"Automated update","distinct":true,"url":"https://api.github.com/repos/BlackSilverUfa/TheDrHaxBot-Twitch/commits/f76cf37e21f3f4806fb8f0496d79030d7a94225a"}]},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":59627212,"login":"BlackSilverUfa","gravatar_id":"","url":"https://api.github.com/orgs/BlackSilverUfa","avatar_url":"https://avatars.githubusercontent.com/u/59627212?"}} +{"id":"19541395971","type":"DeleteEvent","actor":{"id":51087,"login":"phadej","display_login":"phadej","gravatar_id":"","url":"https://api.github.com/users/phadej","avatar_url":"https://avatars.githubusercontent.com/u/51087?"},"repo":{"id":28009973,"name":"haskell-hvr/uuid","url":"https://api.github.com/repos/haskell-hvr/uuid"},"payload":{"ref":"text-2.0","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:04Z","org":{"id":34610799,"login":"haskell-hvr","gravatar_id":"","url":"https://api.github.com/orgs/haskell-hvr","avatar_url":"https://avatars.githubusercontent.com/u/34610799?"}} +{"id":"19541395972","type":"PushEvent","actor":{"id":13074332,"login":"yulinhuyang","display_login":"yulinhuyang","gravatar_id":"","url":"https://api.github.com/users/yulinhuyang","avatar_url":"https://avatars.githubusercontent.com/u/13074332?"},"repo":{"id":38151370,"name":"yulinhuyang/code_hub","url":"https://api.github.com/repos/yulinhuyang/code_hub"},"payload":{"push_id":8732433192,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4fefe796e7ed3bc6309c00a13078e8a2315ac303","before":"c577801c498521ddd863ac7b987bde2840bc6e20","commits":[{"sha":"4fefe796e7ed3bc6309c00a13078e8a2315ac303","author":{"email":"yulinhuyang@163.com","name":"yulinhuyang"},"message":"Create readme.md","distinct":true,"url":"https://api.github.com/repos/yulinhuyang/code_hub/commits/4fefe796e7ed3bc6309c00a13078e8a2315ac303"}]},"public":true,"created_at":"2022-01-01T01:00:04Z"} +{"id":"19541395978","type":"PushEvent","actor":{"id":3379460,"login":"beanslee2012","display_login":"beanslee2012","gravatar_id":"","url":"https://api.github.com/users/beanslee2012","avatar_url":"https://avatars.githubusercontent.com/u/3379460?"},"repo":{"id":215003385,"name":"beanslee2012/games","url":"https://api.github.com/repos/beanslee2012/games"},"payload":{"push_id":8732433186,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4f2eb1ff61212bbc8f4bdfad12e5fd03cbd98dd7","before":"892ed80af3d5d84eb4ffe46e9eab2f0768d3a4d4","commits":[{"sha":"4f2eb1ff61212bbc8f4bdfad12e5fd03cbd98dd7","author":{"email":"beanslee2007@gmail.com","name":"beanslee2012"},"message":"daily update","distinct":true,"url":"https://api.github.com/repos/beanslee2012/games/commits/4f2eb1ff61212bbc8f4bdfad12e5fd03cbd98dd7"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395983","type":"PushEvent","actor":{"id":46242188,"login":"ZFZANDGQY","display_login":"ZFZANDGQY","gravatar_id":"","url":"https://api.github.com/users/ZFZANDGQY","avatar_url":"https://avatars.githubusercontent.com/u/46242188?"},"repo":{"id":419917736,"name":"ZFZANDGQY/picBed","url":"https://api.github.com/repos/ZFZANDGQY/picBed"},"payload":{"push_id":8732433190,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0ed50bc170432b65567ecda4478a02fd8549d4dc","before":"e33c1b13f1ced3d36cae8e454fb4af1bed5c2e22","commits":[{"sha":"0ed50bc170432b65567ecda4478a02fd8549d4dc","author":{"email":"46242188+ZFZANDGQY@users.noreply.github.com","name":"ZFZANDGQY"},"message":"Upload by PicGo","distinct":true,"url":"https://api.github.com/repos/ZFZANDGQY/picBed/commits/0ed50bc170432b65567ecda4478a02fd8549d4dc"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395991","type":"PushEvent","actor":{"id":1708197,"login":"j2ghz","display_login":"j2ghz","gravatar_id":"","url":"https://api.github.com/users/j2ghz","avatar_url":"https://avatars.githubusercontent.com/u/1708197?"},"repo":{"id":367941711,"name":"j2ghz/discordbot-lua","url":"https://api.github.com/repos/j2ghz/discordbot-lua"},"payload":{"push_id":8732433209,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b93794a8ee22857083690b7f2ba33bf7650f9e6e","before":"b4c7b7269a4fdf899d869be50015c481ad6cc809","commits":[{"sha":"b93794a8ee22857083690b7f2ba33bf7650f9e6e","author":{"email":"j2.00ghz@gmail.com","name":"J2ghz"},"message":"Save state","distinct":true,"url":"https://api.github.com/repos/j2ghz/discordbot-lua/commits/b93794a8ee22857083690b7f2ba33bf7650f9e6e"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395992","type":"DeleteEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":158751817,"name":"cdaringe/postgraphile-upsert","url":"https://api.github.com/repos/cdaringe/postgraphile-upsert"},"payload":{"ref":"renovate/dockerode-3.x","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395993","type":"PushEvent","actor":{"id":90582067,"login":"FedericoD3","display_login":"FedericoD3","gravatar_id":"","url":"https://api.github.com/users/FedericoD3","avatar_url":"https://avatars.githubusercontent.com/u/90582067?"},"repo":{"id":442018948,"name":"FedericoD3/LogsUZ","url":"https://api.github.com/repos/FedericoD3/LogsUZ"},"payload":{"push_id":8732433202,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c3b3e36b44688dee177af30fac5c93c641a59541","before":"c4a6044794fb5be73ba925e5f04157d676927fd9","commits":[{"sha":"c3b3e36b44688dee177af30fac5c93c641a59541","author":{"email":"fvduran@gmail.com","name":"FedericoD3"},"message":"Update del 2021-12-31_21:00","distinct":true,"url":"https://api.github.com/repos/FedericoD3/LogsUZ/commits/c3b3e36b44688dee177af30fac5c93c641a59541"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395994","type":"PushEvent","actor":{"id":86143265,"login":"NiubiSwapPriceHistory","display_login":"NiubiSwapPriceHistory","gravatar_id":"","url":"https://api.github.com/users/NiubiSwapPriceHistory","avatar_url":"https://avatars.githubusercontent.com/u/86143265?"},"repo":{"id":378341184,"name":"NiubiSwapPriceHistory/NIUpricehistory","url":"https://api.github.com/repos/NiubiSwapPriceHistory/NIUpricehistory"},"payload":{"push_id":8732433208,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6c78e3d52ac9196cbac5fbf13fd9d958045799ba","before":"943bc5eca72f05eff2d67db04d3a38343868cbeb","commits":[{"sha":"6c78e3d52ac9196cbac5fbf13fd9d958045799ba","author":{"email":"niubipricehistory@protonmail.com","name":"Pricebot"},"message":"price update","distinct":true,"url":"https://api.github.com/repos/NiubiSwapPriceHistory/NIUpricehistory/commits/6c78e3d52ac9196cbac5fbf13fd9d958045799ba"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541395999","type":"PushEvent","actor":{"id":81971665,"login":"misaengmul","display_login":"misaengmul","gravatar_id":"","url":"https://api.github.com/users/misaengmul","avatar_url":"https://avatars.githubusercontent.com/u/81971665?"},"repo":{"id":354853401,"name":"misaengmul/misaengDB","url":"https://api.github.com/repos/misaengmul/misaengDB"},"payload":{"push_id":8732433212,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"1d05c506885c2c2a510783acf0ac40bb0945fffa","before":"026534bf6a66737dc75f012b534f80a396a7354c","commits":[{"sha":"1d05c506885c2c2a510783acf0ac40bb0945fffa","author":{"email":"81971665+misaengmul@users.noreply.github.com","name":"misaengmul"},"message":"updated item_list.ini","distinct":true,"url":"https://api.github.com/repos/misaengmul/misaengDB/commits/1d05c506885c2c2a510783acf0ac40bb0945fffa"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396007","type":"PushEvent","actor":{"id":31099850,"login":"kkevin7","display_login":"kkevin7","gravatar_id":"","url":"https://api.github.com/users/kkevin7","avatar_url":"https://avatars.githubusercontent.com/u/31099850?"},"repo":{"id":435351890,"name":"kkevin7/system-vuejs","url":"https://api.github.com/repos/kkevin7/system-vuejs"},"payload":{"push_id":8732433221,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"dee9f9a3f0b0657c1c3bf2cfb15b6d10f0663776","before":"7c439be89fc1db799bcca5c3a05c28f91074db69","commits":[{"sha":"dee9f9a3f0b0657c1c3bf2cfb15b6d10f0663776","author":{"email":"kkevinmartinez7@gmail.com","name":"Kevin Martinez"},"message":"Client Add and Update","distinct":true,"url":"https://api.github.com/repos/kkevin7/system-vuejs/commits/dee9f9a3f0b0657c1c3bf2cfb15b6d10f0663776"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396010","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433237,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-742","head":"6a8fb1245bfd42672ecb426c2cab529814d2bd73","before":"6a8fb1245bfd42672ecb426c2cab529814d2bd73","commits":[]},"public":true,"created_at":"2022-01-01T01:00:05Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541396015","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433241,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"272bc74c98e3acd285b3cb4108e8f7806a15f062","before":"a3be2179bb707b6c5b95aa4a602889e3cb74ece1","commits":[{"sha":"272bc74c98e3acd285b3cb4108e8f7806a15f062","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nf4514.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/272bc74c98e3acd285b3cb4108e8f7806a15f062"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396018","type":"PushEvent","actor":{"id":61813337,"login":"v4lue4dded","display_login":"v4lue4dded","gravatar_id":"","url":"https://api.github.com/users/v4lue4dded","avatar_url":"https://avatars.githubusercontent.com/u/61813337?"},"repo":{"id":262166095,"name":"v4lue4dded/test","url":"https://api.github.com/repos/v4lue4dded/test"},"payload":{"push_id":8732433239,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ea200f362926b253b3b5b891699c0a68bbd010d5","before":"0fcd44cd08db665f1f307c4fad58a57e4cdcaf74","commits":[{"sha":"ea200f362926b253b3b5b891699c0a68bbd010d5","author":{"email":"v4lue4dded@gmail.com","name":"v4lue4dded_remote_2"},"message":"date push: 2022-01-01 02:00:03","distinct":true,"url":"https://api.github.com/repos/v4lue4dded/test/commits/ea200f362926b253b3b5b891699c0a68bbd010d5"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396023","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8732433226,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"41aa84876ae05aa93338593b8fb918e79756fe4d","before":"42112be26ef6a7424ae585c1d2d264f8580fd041","commits":[{"sha":"41aa84876ae05aa93338593b8fb918e79756fe4d","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/41aa84876ae05aa93338593b8fb918e79756fe4d"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396024","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8732433225,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f90ba624b811db018f03393a393f3e0b69d42b10","before":"2ded3c8b69ffb851ce9c242cadd4e0988ec5976a","commits":[{"sha":"f90ba624b811db018f03393a393f3e0b69d42b10","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/f90ba624b811db018f03393a393f3e0b69d42b10"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396029","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433228,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"73e64b584c05a7e9ac1d46b146f4809824939205","before":"e2546abf091cc654fc80f0179cce8c69cc731ba6","commits":[{"sha":"73e64b584c05a7e9ac1d46b146f4809824939205","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/maui-shell for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/73e64b584c05a7e9ac1d46b146f4809824939205"}]},"public":true,"created_at":"2022-01-01T01:00:05Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396031","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":432417373,"name":"znyt/oss39","url":"https://api.github.com/repos/znyt/oss39"},"payload":{"push_id":8732433238,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"79ce8dbba871fdd0d8217921253235bea24e0c50","before":"f36d3d62fdf4e8cf391945e56f75e5ad3f4c49b9","commits":[{"sha":"79ce8dbba871fdd0d8217921253235bea24e0c50","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss39/commits/79ce8dbba871fdd0d8217921253235bea24e0c50"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396032","type":"PullRequestEvent","actor":{"id":94683073,"login":"mellbot","display_login":"mellbot","gravatar_id":"","url":"https://api.github.com/users/mellbot","avatar_url":"https://avatars.githubusercontent.com/u/94683073?"},"repo":{"id":382187344,"name":"markelliot/allezgo-fe","url":"https://api.github.com/repos/markelliot/allezgo-fe"},"payload":{"action":"opened","number":24,"pull_request":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24","id":812479595,"node_id":"PR_kwDOFse3UM4wbXRr","html_url":"https://github.com/markelliot/allezgo-fe/pull/24","diff_url":"https://github.com/markelliot/allezgo-fe/pull/24.diff","patch_url":"https://github.com/markelliot/allezgo-fe/pull/24.patch","issue_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24","number":24,"state":"open","locked":false,"title":"Auto-update dependencies and plugins","user":{"login":"mellbot","id":94683073,"node_id":"U_kgDOBaS_wQ","avatar_url":"https://avatars.githubusercontent.com/u/94683073?v=4","gravatar_id":"","url":"https://api.github.com/users/mellbot","html_url":"https://github.com/mellbot","followers_url":"https://api.github.com/users/mellbot/followers","following_url":"https://api.github.com/users/mellbot/following{/other_user}","gists_url":"https://api.github.com/users/mellbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mellbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mellbot/subscriptions","organizations_url":"https://api.github.com/users/mellbot/orgs","repos_url":"https://api.github.com/users/mellbot/repos","events_url":"https://api.github.com/users/mellbot/events{/privacy}","received_events_url":"https://api.github.com/users/mellbot/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:04Z","updated_at":"2022-01-01T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24/commits","review_comments_url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24/comments","review_comment_url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/comments{/number}","comments_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/comments","statuses_url":"https://api.github.com/repos/markelliot/allezgo-fe/statuses/08cd676e3d6fa5cfce628613a248d24cb9aa6f43","head":{"label":"markelliot:auto/versions","ref":"auto/versions","sha":"08cd676e3d6fa5cfce628613a248d24cb9aa6f43","user":{"login":"markelliot","id":685891,"node_id":"MDQ6VXNlcjY4NTg5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/685891?v=4","gravatar_id":"","url":"https://api.github.com/users/markelliot","html_url":"https://github.com/markelliot","followers_url":"https://api.github.com/users/markelliot/followers","following_url":"https://api.github.com/users/markelliot/following{/other_user}","gists_url":"https://api.github.com/users/markelliot/gists{/gist_id}","starred_url":"https://api.github.com/users/markelliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markelliot/subscriptions","organizations_url":"https://api.github.com/users/markelliot/orgs","repos_url":"https://api.github.com/users/markelliot/repos","events_url":"https://api.github.com/users/markelliot/events{/privacy}","received_events_url":"https://api.github.com/users/markelliot/received_events","type":"User","site_admin":false},"repo":{"id":382187344,"node_id":"MDEwOlJlcG9zaXRvcnkzODIxODczNDQ=","name":"allezgo-fe","full_name":"markelliot/allezgo-fe","private":false,"owner":{"login":"markelliot","id":685891,"node_id":"MDQ6VXNlcjY4NTg5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/685891?v=4","gravatar_id":"","url":"https://api.github.com/users/markelliot","html_url":"https://github.com/markelliot","followers_url":"https://api.github.com/users/markelliot/followers","following_url":"https://api.github.com/users/markelliot/following{/other_user}","gists_url":"https://api.github.com/users/markelliot/gists{/gist_id}","starred_url":"https://api.github.com/users/markelliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markelliot/subscriptions","organizations_url":"https://api.github.com/users/markelliot/orgs","repos_url":"https://api.github.com/users/markelliot/repos","events_url":"https://api.github.com/users/markelliot/events{/privacy}","received_events_url":"https://api.github.com/users/markelliot/received_events","type":"User","site_admin":false},"html_url":"https://github.com/markelliot/allezgo-fe","description":null,"fork":false,"url":"https://api.github.com/repos/markelliot/allezgo-fe","forks_url":"https://api.github.com/repos/markelliot/allezgo-fe/forks","keys_url":"https://api.github.com/repos/markelliot/allezgo-fe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/markelliot/allezgo-fe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/markelliot/allezgo-fe/teams","hooks_url":"https://api.github.com/repos/markelliot/allezgo-fe/hooks","issue_events_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/events{/number}","events_url":"https://api.github.com/repos/markelliot/allezgo-fe/events","assignees_url":"https://api.github.com/repos/markelliot/allezgo-fe/assignees{/user}","branches_url":"https://api.github.com/repos/markelliot/allezgo-fe/branches{/branch}","tags_url":"https://api.github.com/repos/markelliot/allezgo-fe/tags","blobs_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/refs{/sha}","trees_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/markelliot/allezgo-fe/statuses/{sha}","languages_url":"https://api.github.com/repos/markelliot/allezgo-fe/languages","stargazers_url":"https://api.github.com/repos/markelliot/allezgo-fe/stargazers","contributors_url":"https://api.github.com/repos/markelliot/allezgo-fe/contributors","subscribers_url":"https://api.github.com/repos/markelliot/allezgo-fe/subscribers","subscription_url":"https://api.github.com/repos/markelliot/allezgo-fe/subscription","commits_url":"https://api.github.com/repos/markelliot/allezgo-fe/commits{/sha}","git_commits_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/commits{/sha}","comments_url":"https://api.github.com/repos/markelliot/allezgo-fe/comments{/number}","issue_comment_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/comments{/number}","contents_url":"https://api.github.com/repos/markelliot/allezgo-fe/contents/{+path}","compare_url":"https://api.github.com/repos/markelliot/allezgo-fe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/markelliot/allezgo-fe/merges","archive_url":"https://api.github.com/repos/markelliot/allezgo-fe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/markelliot/allezgo-fe/downloads","issues_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues{/number}","pulls_url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls{/number}","milestones_url":"https://api.github.com/repos/markelliot/allezgo-fe/milestones{/number}","notifications_url":"https://api.github.com/repos/markelliot/allezgo-fe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/markelliot/allezgo-fe/labels{/name}","releases_url":"https://api.github.com/repos/markelliot/allezgo-fe/releases{/id}","deployments_url":"https://api.github.com/repos/markelliot/allezgo-fe/deployments","created_at":"2021-07-02T00:19:51Z","updated_at":"2021-12-31T15:06:34Z","pushed_at":"2022-01-01T01:00:02Z","git_url":"git://github.com/markelliot/allezgo-fe.git","ssh_url":"git@github.com:markelliot/allezgo-fe.git","clone_url":"https://github.com/markelliot/allezgo-fe.git","svn_url":"https://github.com/markelliot/allezgo-fe","homepage":null,"size":148455,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":1,"watchers":0,"default_branch":"develop"}},"base":{"label":"markelliot:develop","ref":"develop","sha":"e017353786e11a8813ca46d08c97dd473f266cc3","user":{"login":"markelliot","id":685891,"node_id":"MDQ6VXNlcjY4NTg5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/685891?v=4","gravatar_id":"","url":"https://api.github.com/users/markelliot","html_url":"https://github.com/markelliot","followers_url":"https://api.github.com/users/markelliot/followers","following_url":"https://api.github.com/users/markelliot/following{/other_user}","gists_url":"https://api.github.com/users/markelliot/gists{/gist_id}","starred_url":"https://api.github.com/users/markelliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markelliot/subscriptions","organizations_url":"https://api.github.com/users/markelliot/orgs","repos_url":"https://api.github.com/users/markelliot/repos","events_url":"https://api.github.com/users/markelliot/events{/privacy}","received_events_url":"https://api.github.com/users/markelliot/received_events","type":"User","site_admin":false},"repo":{"id":382187344,"node_id":"MDEwOlJlcG9zaXRvcnkzODIxODczNDQ=","name":"allezgo-fe","full_name":"markelliot/allezgo-fe","private":false,"owner":{"login":"markelliot","id":685891,"node_id":"MDQ6VXNlcjY4NTg5MQ==","avatar_url":"https://avatars.githubusercontent.com/u/685891?v=4","gravatar_id":"","url":"https://api.github.com/users/markelliot","html_url":"https://github.com/markelliot","followers_url":"https://api.github.com/users/markelliot/followers","following_url":"https://api.github.com/users/markelliot/following{/other_user}","gists_url":"https://api.github.com/users/markelliot/gists{/gist_id}","starred_url":"https://api.github.com/users/markelliot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markelliot/subscriptions","organizations_url":"https://api.github.com/users/markelliot/orgs","repos_url":"https://api.github.com/users/markelliot/repos","events_url":"https://api.github.com/users/markelliot/events{/privacy}","received_events_url":"https://api.github.com/users/markelliot/received_events","type":"User","site_admin":false},"html_url":"https://github.com/markelliot/allezgo-fe","description":null,"fork":false,"url":"https://api.github.com/repos/markelliot/allezgo-fe","forks_url":"https://api.github.com/repos/markelliot/allezgo-fe/forks","keys_url":"https://api.github.com/repos/markelliot/allezgo-fe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/markelliot/allezgo-fe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/markelliot/allezgo-fe/teams","hooks_url":"https://api.github.com/repos/markelliot/allezgo-fe/hooks","issue_events_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/events{/number}","events_url":"https://api.github.com/repos/markelliot/allezgo-fe/events","assignees_url":"https://api.github.com/repos/markelliot/allezgo-fe/assignees{/user}","branches_url":"https://api.github.com/repos/markelliot/allezgo-fe/branches{/branch}","tags_url":"https://api.github.com/repos/markelliot/allezgo-fe/tags","blobs_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/refs{/sha}","trees_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/markelliot/allezgo-fe/statuses/{sha}","languages_url":"https://api.github.com/repos/markelliot/allezgo-fe/languages","stargazers_url":"https://api.github.com/repos/markelliot/allezgo-fe/stargazers","contributors_url":"https://api.github.com/repos/markelliot/allezgo-fe/contributors","subscribers_url":"https://api.github.com/repos/markelliot/allezgo-fe/subscribers","subscription_url":"https://api.github.com/repos/markelliot/allezgo-fe/subscription","commits_url":"https://api.github.com/repos/markelliot/allezgo-fe/commits{/sha}","git_commits_url":"https://api.github.com/repos/markelliot/allezgo-fe/git/commits{/sha}","comments_url":"https://api.github.com/repos/markelliot/allezgo-fe/comments{/number}","issue_comment_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/comments{/number}","contents_url":"https://api.github.com/repos/markelliot/allezgo-fe/contents/{+path}","compare_url":"https://api.github.com/repos/markelliot/allezgo-fe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/markelliot/allezgo-fe/merges","archive_url":"https://api.github.com/repos/markelliot/allezgo-fe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/markelliot/allezgo-fe/downloads","issues_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues{/number}","pulls_url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls{/number}","milestones_url":"https://api.github.com/repos/markelliot/allezgo-fe/milestones{/number}","notifications_url":"https://api.github.com/repos/markelliot/allezgo-fe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/markelliot/allezgo-fe/labels{/name}","releases_url":"https://api.github.com/repos/markelliot/allezgo-fe/releases{/id}","deployments_url":"https://api.github.com/repos/markelliot/allezgo-fe/deployments","created_at":"2021-07-02T00:19:51Z","updated_at":"2021-12-31T15:06:34Z","pushed_at":"2022-01-01T01:00:02Z","git_url":"git://github.com/markelliot/allezgo-fe.git","ssh_url":"git@github.com:markelliot/allezgo-fe.git","clone_url":"https://github.com/markelliot/allezgo-fe.git","svn_url":"https://github.com/markelliot/allezgo-fe","homepage":null,"size":148455,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":1,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24"},"html":{"href":"https://github.com/markelliot/allezgo-fe/pull/24"},"issue":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24"},"comments":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/comments"},"review_comments":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24/comments"},"review_comment":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24/commits"},"statuses":{"href":"https://api.github.com/repos/markelliot/allezgo-fe/statuses/08cd676e3d6fa5cfce628613a248d24cb9aa6f43"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":27,"deletions":7,"changed_files":5}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396036","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8732433261,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d9470a2d5821855b3553c902d9b1c6adf7f75568","before":"41aa84876ae05aa93338593b8fb918e79756fe4d","commits":[{"sha":"d9470a2d5821855b3553c902d9b1c6adf7f75568","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/d9470a2d5821855b3553c902d9b1c6adf7f75568"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396043","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8732433260,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"caaac9e9c3097e2ec10755d5e5bf771e24d05a6b","before":"d9470a2d5821855b3553c902d9b1c6adf7f75568","commits":[{"sha":"caaac9e9c3097e2ec10755d5e5bf771e24d05a6b","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/caaac9e9c3097e2ec10755d5e5bf771e24d05a6b"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396053","type":"PushEvent","actor":{"id":96767297,"login":"647gdfg","display_login":"647gdfg","gravatar_id":"","url":"https://api.github.com/users/647gdfg","avatar_url":"https://avatars.githubusercontent.com/u/96767297?"},"repo":{"id":443421617,"name":"647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf","url":"https://api.github.com/repos/647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf"},"payload":{"push_id":8732433259,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ff5a011ec5146030b014bb12713486921685a7c3","before":"73a5f9409c3098443f0452128ccea76135149c40","commits":[{"sha":"ff5a011ec5146030b014bb12713486921685a7c3","author":{"email":"96767297+647gdfg@users.noreply.github.com","name":"647gdfg"},"message":"upload file 8b3297b986d9dc2bb554feac6a5ed7503af4607110beef6fc0ee0ccf8a2467b9ead859b464a2fd66d27688f5c97736ddvideo_1242_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf/commits/ff5a011ec5146030b014bb12713486921685a7c3"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396054","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732433249,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"29d87164c140c6043511494e62921b9e9c93b9ba","before":"277ae1597261630eca5ad85fd4cb61ea501e9740","commits":[{"sha":"29d87164c140c6043511494e62921b9e9c93b9ba","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/29d87164c140c6043511494e62921b9e9c93b9ba"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396056","type":"PushEvent","actor":{"id":31819732,"login":"dustinrouillard","display_login":"dustinrouillard","gravatar_id":"","url":"https://api.github.com/users/dustinrouillard","avatar_url":"https://avatars.githubusercontent.com/u/31819732?"},"repo":{"id":277890197,"name":"dustinrouillard/dustinrouillard","url":"https://api.github.com/repos/dustinrouillard/dustinrouillard"},"payload":{"push_id":8732433257,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8136c54dcc6ba2b1b22cb3ff17a8c26b2799e683","before":"18c95829ad2d6148ef59bbb4de13187878d91a57","commits":[{"sha":"8136c54dcc6ba2b1b22cb3ff17a8c26b2799e683","author":{"email":"api@dstn.to","name":"dstn.to - API Automation"},"message":"Updating recent statistics","distinct":true,"url":"https://api.github.com/repos/dustinrouillard/dustinrouillard/commits/8136c54dcc6ba2b1b22cb3ff17a8c26b2799e683"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396058","type":"PushEvent","actor":{"id":18024210,"login":"maxwell-jun","display_login":"maxwell-jun","gravatar_id":"","url":"https://api.github.com/users/maxwell-jun","avatar_url":"https://avatars.githubusercontent.com/u/18024210?"},"repo":{"id":231216142,"name":"maxwell-jun/NewDailySignIn","url":"https://api.github.com/repos/maxwell-jun/NewDailySignIn"},"payload":{"push_id":8732433270,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b0e715bd483e777a9e247689d49eb597b1573653","before":"3a4211cb082fb1a1d6eb2410c0476a31271e5307","commits":[{"sha":"b0e715bd483e777a9e247689d49eb597b1573653","author":{"email":"maxwell_jun@163.com","name":"maxwell"},"message":"20220101-010001","distinct":true,"url":"https://api.github.com/repos/maxwell-jun/NewDailySignIn/commits/b0e715bd483e777a9e247689d49eb597b1573653"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396062","type":"PushEvent","actor":{"id":96603937,"login":"gdfg22","display_login":"gdfg22","gravatar_id":"","url":"https://api.github.com/users/gdfg22","avatar_url":"https://avatars.githubusercontent.com/u/96603937?"},"repo":{"id":443425724,"name":"gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f","url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f"},"payload":{"push_id":8732433256,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cb597f239adf8ee56204868a8f078a0b22fd2e9b","before":"79624aedb591e174b015db40911370a38db19e89","commits":[{"sha":"cb597f239adf8ee56204868a8f078a0b22fd2e9b","author":{"email":"96603937+gdfg22@users.noreply.github.com","name":"gdfg22"},"message":"upload file 17cae3b61bf3eb936be213fd7441c2dd58deb41e53a0fed358b3dc29a7e91242789ac8d0f5ce1ba22993a005953c9377video_768_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f/commits/cb597f239adf8ee56204868a8f078a0b22fd2e9b"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396063","type":"PushEvent","actor":{"id":79485442,"login":"brocjad","display_login":"brocjad","gravatar_id":"","url":"https://api.github.com/users/brocjad","avatar_url":"https://avatars.githubusercontent.com/u/79485442?"},"repo":{"id":353600147,"name":"brocjad/pub_hofs","url":"https://api.github.com/repos/brocjad/pub_hofs"},"payload":{"push_id":8732433258,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3906458ef50db56c1d11865eda0a298c740f27a9","before":"ba0040035c168c859e8ab641b385ff1ce5b5775a","commits":[{"sha":"3906458ef50db56c1d11865eda0a298c740f27a9","author":{"email":"79485442+brocjad@users.noreply.github.com","name":"brocjad"},"message":"update_log","distinct":true,"url":"https://api.github.com/repos/brocjad/pub_hofs/commits/3906458ef50db56c1d11865eda0a298c740f27a9"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396065","type":"PushEvent","actor":{"id":90157614,"login":"ryan-zhenqi-zhou","display_login":"ryan-zhenqi-zhou","gravatar_id":"","url":"https://api.github.com/users/ryan-zhenqi-zhou","avatar_url":"https://avatars.githubusercontent.com/u/90157614?"},"repo":{"id":443227020,"name":"ryan-zhenqi-zhou/Ryan-Profile","url":"https://api.github.com/repos/ryan-zhenqi-zhou/Ryan-Profile"},"payload":{"push_id":8732433269,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b1d8f3c58eb02b5a1690531c0d4a6460492020bd","before":"ed867ef3e3353b100feda25c62d4737dc185c569","commits":[{"sha":"b1d8f3c58eb02b5a1690531c0d4a6460492020bd","author":{"email":"90157614+ryan-zhenqi-zhou@users.noreply.github.com","name":"Ryan Zhenqi Zhou"},"message":"21","distinct":true,"url":"https://api.github.com/repos/ryan-zhenqi-zhou/Ryan-Profile/commits/b1d8f3c58eb02b5a1690531c0d4a6460492020bd"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396066","type":"PushEvent","actor":{"id":61666776,"login":"raspberry-commits","display_login":"raspberry-commits","gravatar_id":"","url":"https://api.github.com/users/raspberry-commits","avatar_url":"https://avatars.githubusercontent.com/u/61666776?"},"repo":{"id":244227718,"name":"raspberry-commits/bedroom-temperature-api","url":"https://api.github.com/repos/raspberry-commits/bedroom-temperature-api"},"payload":{"push_id":8732433267,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3b0b54a39cbd888c5cfb0fddba62e89299dc7070","before":"69918922b5b9fa877dd72e74ae09c8fb025f2c38","commits":[{"sha":"3b0b54a39cbd888c5cfb0fddba62e89299dc7070","author":{"email":"jaf281@gmail.com","name":"Raspberry Commits"},"message":"2022-01-01T01:00:02Z","distinct":true,"url":"https://api.github.com/repos/raspberry-commits/bedroom-temperature-api/commits/3b0b54a39cbd888c5cfb0fddba62e89299dc7070"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396067","type":"PushEvent","actor":{"id":22955941,"login":"Volodichev","display_login":"Volodichev","gravatar_id":"","url":"https://api.github.com/users/Volodichev","avatar_url":"https://avatars.githubusercontent.com/u/22955941?"},"repo":{"id":374556291,"name":"Volodichev/proxy-list","url":"https://api.github.com/repos/Volodichev/proxy-list"},"payload":{"push_id":8732433271,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"a7fe7a92831bc626ad9e7ffacf4f56ac3341f22b","before":"3956e7f4877b39a06c21ab5664048093b26b393d","commits":[{"sha":"a7fe7a92831bc626ad9e7ffacf4f56ac3341f22b","author":{"email":"alex.woland@gmail.com","name":"Alexander"},"message":"hmn keys 01.01.22 04:00:01","distinct":true,"url":"https://api.github.com/repos/Volodichev/proxy-list/commits/a7fe7a92831bc626ad9e7ffacf4f56ac3341f22b"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396070","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":107359465,"name":"UziTech/atom-open","url":"https://api.github.com/repos/UziTech/atom-open"},"payload":{"action":"opened","number":190,"pull_request":{"url":"https://api.github.com/repos/UziTech/atom-open/pulls/190","id":812479596,"node_id":"PR_kwDOBmYs6c4wbXRs","html_url":"https://github.com/UziTech/atom-open/pull/190","diff_url":"https://github.com/UziTech/atom-open/pull/190.diff","patch_url":"https://github.com/UziTech/atom-open/pull/190.patch","issue_url":"https://api.github.com/repos/UziTech/atom-open/issues/190","number":190,"state":"open","locked":false,"title":"chore(deps): update devdependency eslint to ^8.6.0","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`^8.5.0` -> `^8.6.0`](https://renovatebot.com/diffs/npm/eslint/8.5.0/8.6.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/compatibility-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/confidence-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Release Notes\n\n
\neslint/eslint\n\n### [`v8.6.0`](https://togithub.com/eslint/eslint/releases/v8.6.0)\n\n[Compare Source](https://togithub.com/eslint/eslint/compare/v8.5.0...v8.6.0)\n\n#### Features\n\n- [`6802a54`](https://togithub.com/eslint/eslint/commit/6802a54837ea008bef4d5ae11522941693ba5ef6) feat: handle logical assignment in no-self-assign ([#​14152](https://togithub.com/eslint/eslint/issues/14152)) (Zzzen)\n- [`3b38018`](https://togithub.com/eslint/eslint/commit/3b38018ef5cb004ad5bc011de726bd2df2eb2f3f) feat: allow to define `eslint-disable-next-line` in multiple lines ([#​15436](https://togithub.com/eslint/eslint/issues/15436)) (Nitin Kumar)\n- [`9d6fe5a`](https://togithub.com/eslint/eslint/commit/9d6fe5a6b65f397bafc5eb0a995e96717cdc9b53) feat: false negative with `onlyDeclarations` + `properties` in id-match ([#​15431](https://togithub.com/eslint/eslint/issues/15431)) (Nitin Kumar)\n\n#### Documentation\n\n- [`6c4dee2`](https://togithub.com/eslint/eslint/commit/6c4dee2e87dac8d0751ce2426ded651ed0986112) docs: Document homedir is a configuration root ([#​15469](https://togithub.com/eslint/eslint/issues/15469)) (Bas Bosman)\n- [`51c37b1`](https://togithub.com/eslint/eslint/commit/51c37b118aed9c0d7a0efd40c491efca04c82ef9) docs: consistency changes ([#​15404](https://togithub.com/eslint/eslint/issues/15404)) (Bas Bosman)\n- [`775d181`](https://togithub.com/eslint/eslint/commit/775d18138244a28ebe1cb92849cd0f4e8cd27672) docs: Mention character classes in no-useless-escape ([#​15421](https://togithub.com/eslint/eslint/issues/15421)) (Sebastian Simon)\n\n#### Chores\n\n- [`3a384fc`](https://togithub.com/eslint/eslint/commit/3a384fc287cebb7be5fe5ed95497d578437a503a) chore: Upgrade espree to 9.3.0 ([#​15473](https://togithub.com/eslint/eslint/issues/15473)) (Brandon Mills)\n- [`1443cc2`](https://togithub.com/eslint/eslint/commit/1443cc2fc8785157936b864258924fe9bcd23210) chore: Update blogpost.md.ejs ([#​15468](https://togithub.com/eslint/eslint/issues/15468)) (Nicholas C. Zakas)\n- [`28e907a`](https://togithub.com/eslint/eslint/commit/28e907a4ca05a026d156f814f4118f8fe713e99d) refactor: remove unused parameter in `linter.js` ([#​15451](https://togithub.com/eslint/eslint/issues/15451)) (Milos Djermanovic)\n- [`eaa08d3`](https://togithub.com/eslint/eslint/commit/eaa08d3055b195bce59cc96bb63ac29038cd7c7d) test: add tests for `allowReserved` parser option with flat config ([#​15450](https://togithub.com/eslint/eslint/issues/15450)) (Milos Djermanovic)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/UziTech/atom-open).","created_at":"2022-01-01T01:00:04Z","updated_at":"2022-01-01T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/UziTech/atom-open/pulls/190/commits","review_comments_url":"https://api.github.com/repos/UziTech/atom-open/pulls/190/comments","review_comment_url":"https://api.github.com/repos/UziTech/atom-open/pulls/comments{/number}","comments_url":"https://api.github.com/repos/UziTech/atom-open/issues/190/comments","statuses_url":"https://api.github.com/repos/UziTech/atom-open/statuses/bb319fa585534f34ee240e09bdf9637969d3ad33","head":{"label":"UziTech:renovate/eslint-8.x","ref":"renovate/eslint-8.x","sha":"bb319fa585534f34ee240e09bdf9637969d3ad33","user":{"login":"UziTech","id":97994,"node_id":"MDQ6VXNlcjk3OTk0","avatar_url":"https://avatars.githubusercontent.com/u/97994?v=4","gravatar_id":"","url":"https://api.github.com/users/UziTech","html_url":"https://github.com/UziTech","followers_url":"https://api.github.com/users/UziTech/followers","following_url":"https://api.github.com/users/UziTech/following{/other_user}","gists_url":"https://api.github.com/users/UziTech/gists{/gist_id}","starred_url":"https://api.github.com/users/UziTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UziTech/subscriptions","organizations_url":"https://api.github.com/users/UziTech/orgs","repos_url":"https://api.github.com/users/UziTech/repos","events_url":"https://api.github.com/users/UziTech/events{/privacy}","received_events_url":"https://api.github.com/users/UziTech/received_events","type":"User","site_admin":false},"repo":{"id":107359465,"node_id":"MDEwOlJlcG9zaXRvcnkxMDczNTk0NjU=","name":"atom-open","full_name":"UziTech/atom-open","private":false,"owner":{"login":"UziTech","id":97994,"node_id":"MDQ6VXNlcjk3OTk0","avatar_url":"https://avatars.githubusercontent.com/u/97994?v=4","gravatar_id":"","url":"https://api.github.com/users/UziTech","html_url":"https://github.com/UziTech","followers_url":"https://api.github.com/users/UziTech/followers","following_url":"https://api.github.com/users/UziTech/following{/other_user}","gists_url":"https://api.github.com/users/UziTech/gists{/gist_id}","starred_url":"https://api.github.com/users/UziTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UziTech/subscriptions","organizations_url":"https://api.github.com/users/UziTech/orgs","repos_url":"https://api.github.com/users/UziTech/repos","events_url":"https://api.github.com/users/UziTech/events{/privacy}","received_events_url":"https://api.github.com/users/UziTech/received_events","type":"User","site_admin":false},"html_url":"https://github.com/UziTech/atom-open","description":"Open a file in Atom with a URL","fork":false,"url":"https://api.github.com/repos/UziTech/atom-open","forks_url":"https://api.github.com/repos/UziTech/atom-open/forks","keys_url":"https://api.github.com/repos/UziTech/atom-open/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UziTech/atom-open/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UziTech/atom-open/teams","hooks_url":"https://api.github.com/repos/UziTech/atom-open/hooks","issue_events_url":"https://api.github.com/repos/UziTech/atom-open/issues/events{/number}","events_url":"https://api.github.com/repos/UziTech/atom-open/events","assignees_url":"https://api.github.com/repos/UziTech/atom-open/assignees{/user}","branches_url":"https://api.github.com/repos/UziTech/atom-open/branches{/branch}","tags_url":"https://api.github.com/repos/UziTech/atom-open/tags","blobs_url":"https://api.github.com/repos/UziTech/atom-open/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UziTech/atom-open/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UziTech/atom-open/git/refs{/sha}","trees_url":"https://api.github.com/repos/UziTech/atom-open/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UziTech/atom-open/statuses/{sha}","languages_url":"https://api.github.com/repos/UziTech/atom-open/languages","stargazers_url":"https://api.github.com/repos/UziTech/atom-open/stargazers","contributors_url":"https://api.github.com/repos/UziTech/atom-open/contributors","subscribers_url":"https://api.github.com/repos/UziTech/atom-open/subscribers","subscription_url":"https://api.github.com/repos/UziTech/atom-open/subscription","commits_url":"https://api.github.com/repos/UziTech/atom-open/commits{/sha}","git_commits_url":"https://api.github.com/repos/UziTech/atom-open/git/commits{/sha}","comments_url":"https://api.github.com/repos/UziTech/atom-open/comments{/number}","issue_comment_url":"https://api.github.com/repos/UziTech/atom-open/issues/comments{/number}","contents_url":"https://api.github.com/repos/UziTech/atom-open/contents/{+path}","compare_url":"https://api.github.com/repos/UziTech/atom-open/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UziTech/atom-open/merges","archive_url":"https://api.github.com/repos/UziTech/atom-open/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UziTech/atom-open/downloads","issues_url":"https://api.github.com/repos/UziTech/atom-open/issues{/number}","pulls_url":"https://api.github.com/repos/UziTech/atom-open/pulls{/number}","milestones_url":"https://api.github.com/repos/UziTech/atom-open/milestones{/number}","notifications_url":"https://api.github.com/repos/UziTech/atom-open/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UziTech/atom-open/labels{/name}","releases_url":"https://api.github.com/repos/UziTech/atom-open/releases{/id}","deployments_url":"https://api.github.com/repos/UziTech/atom-open/deployments","created_at":"2017-10-18T04:39:35Z","updated_at":"2021-12-17T23:53:38Z","pushed_at":"2022-01-01T01:00:05Z","git_url":"git://github.com/UziTech/atom-open.git","ssh_url":"git@github.com:UziTech/atom-open.git","clone_url":"https://github.com/UziTech/atom-open.git","svn_url":"https://github.com/UziTech/atom-open","homepage":"https://atom.io/packages/open","size":2247,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":2,"watchers":1,"default_branch":"master"}},"base":{"label":"UziTech:master","ref":"master","sha":"3bb95ab30b8e0ed4f7fa32b00d48792bed658c87","user":{"login":"UziTech","id":97994,"node_id":"MDQ6VXNlcjk3OTk0","avatar_url":"https://avatars.githubusercontent.com/u/97994?v=4","gravatar_id":"","url":"https://api.github.com/users/UziTech","html_url":"https://github.com/UziTech","followers_url":"https://api.github.com/users/UziTech/followers","following_url":"https://api.github.com/users/UziTech/following{/other_user}","gists_url":"https://api.github.com/users/UziTech/gists{/gist_id}","starred_url":"https://api.github.com/users/UziTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UziTech/subscriptions","organizations_url":"https://api.github.com/users/UziTech/orgs","repos_url":"https://api.github.com/users/UziTech/repos","events_url":"https://api.github.com/users/UziTech/events{/privacy}","received_events_url":"https://api.github.com/users/UziTech/received_events","type":"User","site_admin":false},"repo":{"id":107359465,"node_id":"MDEwOlJlcG9zaXRvcnkxMDczNTk0NjU=","name":"atom-open","full_name":"UziTech/atom-open","private":false,"owner":{"login":"UziTech","id":97994,"node_id":"MDQ6VXNlcjk3OTk0","avatar_url":"https://avatars.githubusercontent.com/u/97994?v=4","gravatar_id":"","url":"https://api.github.com/users/UziTech","html_url":"https://github.com/UziTech","followers_url":"https://api.github.com/users/UziTech/followers","following_url":"https://api.github.com/users/UziTech/following{/other_user}","gists_url":"https://api.github.com/users/UziTech/gists{/gist_id}","starred_url":"https://api.github.com/users/UziTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UziTech/subscriptions","organizations_url":"https://api.github.com/users/UziTech/orgs","repos_url":"https://api.github.com/users/UziTech/repos","events_url":"https://api.github.com/users/UziTech/events{/privacy}","received_events_url":"https://api.github.com/users/UziTech/received_events","type":"User","site_admin":false},"html_url":"https://github.com/UziTech/atom-open","description":"Open a file in Atom with a URL","fork":false,"url":"https://api.github.com/repos/UziTech/atom-open","forks_url":"https://api.github.com/repos/UziTech/atom-open/forks","keys_url":"https://api.github.com/repos/UziTech/atom-open/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UziTech/atom-open/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UziTech/atom-open/teams","hooks_url":"https://api.github.com/repos/UziTech/atom-open/hooks","issue_events_url":"https://api.github.com/repos/UziTech/atom-open/issues/events{/number}","events_url":"https://api.github.com/repos/UziTech/atom-open/events","assignees_url":"https://api.github.com/repos/UziTech/atom-open/assignees{/user}","branches_url":"https://api.github.com/repos/UziTech/atom-open/branches{/branch}","tags_url":"https://api.github.com/repos/UziTech/atom-open/tags","blobs_url":"https://api.github.com/repos/UziTech/atom-open/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UziTech/atom-open/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UziTech/atom-open/git/refs{/sha}","trees_url":"https://api.github.com/repos/UziTech/atom-open/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UziTech/atom-open/statuses/{sha}","languages_url":"https://api.github.com/repos/UziTech/atom-open/languages","stargazers_url":"https://api.github.com/repos/UziTech/atom-open/stargazers","contributors_url":"https://api.github.com/repos/UziTech/atom-open/contributors","subscribers_url":"https://api.github.com/repos/UziTech/atom-open/subscribers","subscription_url":"https://api.github.com/repos/UziTech/atom-open/subscription","commits_url":"https://api.github.com/repos/UziTech/atom-open/commits{/sha}","git_commits_url":"https://api.github.com/repos/UziTech/atom-open/git/commits{/sha}","comments_url":"https://api.github.com/repos/UziTech/atom-open/comments{/number}","issue_comment_url":"https://api.github.com/repos/UziTech/atom-open/issues/comments{/number}","contents_url":"https://api.github.com/repos/UziTech/atom-open/contents/{+path}","compare_url":"https://api.github.com/repos/UziTech/atom-open/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UziTech/atom-open/merges","archive_url":"https://api.github.com/repos/UziTech/atom-open/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UziTech/atom-open/downloads","issues_url":"https://api.github.com/repos/UziTech/atom-open/issues{/number}","pulls_url":"https://api.github.com/repos/UziTech/atom-open/pulls{/number}","milestones_url":"https://api.github.com/repos/UziTech/atom-open/milestones{/number}","notifications_url":"https://api.github.com/repos/UziTech/atom-open/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UziTech/atom-open/labels{/name}","releases_url":"https://api.github.com/repos/UziTech/atom-open/releases{/id}","deployments_url":"https://api.github.com/repos/UziTech/atom-open/deployments","created_at":"2017-10-18T04:39:35Z","updated_at":"2021-12-17T23:53:38Z","pushed_at":"2022-01-01T01:00:05Z","git_url":"git://github.com/UziTech/atom-open.git","ssh_url":"git@github.com:UziTech/atom-open.git","clone_url":"https://github.com/UziTech/atom-open.git","svn_url":"https://github.com/UziTech/atom-open","homepage":"https://atom.io/packages/open","size":2247,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":2,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/UziTech/atom-open/pulls/190"},"html":{"href":"https://github.com/UziTech/atom-open/pull/190"},"issue":{"href":"https://api.github.com/repos/UziTech/atom-open/issues/190"},"comments":{"href":"https://api.github.com/repos/UziTech/atom-open/issues/190/comments"},"review_comments":{"href":"https://api.github.com/repos/UziTech/atom-open/pulls/190/comments"},"review_comment":{"href":"https://api.github.com/repos/UziTech/atom-open/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/UziTech/atom-open/pulls/190/commits"},"statuses":{"href":"https://api.github.com/repos/UziTech/atom-open/statuses/bb319fa585534f34ee240e09bdf9637969d3ad33"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":12,"deletions":12,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396073","type":"PushEvent","actor":{"id":1799947,"login":"yohabe","display_login":"yohabe","gravatar_id":"","url":"https://api.github.com/users/yohabe","avatar_url":"https://avatars.githubusercontent.com/u/1799947?"},"repo":{"id":294949687,"name":"yohabe/radio","url":"https://api.github.com/repos/yohabe/radio"},"payload":{"push_id":8732433281,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"eb4c7822581fb6456c2f07d9ed1fe992e7abb3a4","before":"d68a1bcfbfa83b1266fa7172b7a1cac84471357a","commits":[{"sha":"eb4c7822581fb6456c2f07d9ed1fe992e7abb3a4","author":{"email":"iehoy.eba+yohabe2@gmail.com","name":"yohabe"},"message":"a","distinct":true,"url":"https://api.github.com/repos/yohabe/radio/commits/eb4c7822581fb6456c2f07d9ed1fe992e7abb3a4"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396074","type":"PushEvent","actor":{"id":90582067,"login":"FedericoD3","display_login":"FedericoD3","gravatar_id":"","url":"https://api.github.com/users/FedericoD3","avatar_url":"https://avatars.githubusercontent.com/u/90582067?"},"repo":{"id":443186361,"name":"FedericoD3/LogsQM","url":"https://api.github.com/repos/FedericoD3/LogsQM"},"payload":{"push_id":8732433283,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c08fb9d89ffd8ef4803a86d50d12798208ae6af3","before":"dbcb6f25bbe5e5fd5e5a40af7ce53ea4be620324","commits":[{"sha":"c08fb9d89ffd8ef4803a86d50d12798208ae6af3","author":{"email":"your@email.com","name":"Federico Duran"},"message":"Update del 2021-12-31_21:00","distinct":true,"url":"https://api.github.com/repos/FedericoD3/LogsQM/commits/c08fb9d89ffd8ef4803a86d50d12798208ae6af3"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396075","type":"IssuesEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":426743472,"name":"githubfoam/zap-api-githubactions","url":"https://api.github.com/repos/githubfoam/zap-api-githubactions"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37","repository_url":"https://api.github.com/repos/githubfoam/zap-api-githubactions","labels_url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37/labels{/name}","comments_url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37/comments","events_url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37/events","html_url":"https://github.com/githubfoam/zap-api-githubactions/issues/37","id":1091703171,"node_id":"I_kwDOGW-WsM5BEhGD","number":37,"title":"ZAP API Scan Report","user":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:05Z","updated_at":"2022-01-01T01:00:05Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"- Site: [http://demo.testfire.net](http://demo.testfire.net) \n \t **New Alerts** \n\t- **Content Security Policy (CSP) Header Not Set** [10038] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **X-Frame-Options Header Not Set** [10020] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **Absence of Anti-CSRF Tokens** [10202] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **Cookie without SameSite Attribute** [10054] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **Permissions Policy Header Not Set** [10063] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **Server Leaks Version Information via \"Server\" HTTP Response Header Field** [10036] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **Unexpected Content-Type was returned** [100001] total: 5: \n\t\t- [http://demo.testfire.net](http://demo.testfire.net) \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t\t- [http://demo.testfire.net/.htaccess](http://demo.testfire.net/.htaccess) \n\t\t- [http://demo.testfire.net/3856731347618893599](http://demo.testfire.net/3856731347618893599) \n\t\t- [http://demo.testfire.net/elmah.axd](http://demo.testfire.net/elmah.axd) \n\t- **X-Content-Type-Options Header Missing** [10021] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\t- **A Client Error response code was returned by the server** [100000] total: 3: \n\t\t- [http://demo.testfire.net/.htaccess](http://demo.testfire.net/.htaccess) \n\t\t- [http://demo.testfire.net/3856731347618893599](http://demo.testfire.net/3856731347618893599) \n\t\t- [http://demo.testfire.net/elmah.axd](http://demo.testfire.net/elmah.axd) \n\t- **Storable and Cacheable Content** [10049] total: 1: \n\t\t- [http://demo.testfire.net/](http://demo.testfire.net/) \n\n\n\nView the [following link](https://github.com/githubfoam/zap-api-githubactions/actions/runs/1642180313) to download the report.\nRunnerID:1642180313","reactions":{"url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/githubfoam/zap-api-githubactions/issues/37/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396077","type":"PushEvent","actor":{"id":2673952,"login":"dongs365","display_login":"dongs365","gravatar_id":"","url":"https://api.github.com/users/dongs365","avatar_url":"https://avatars.githubusercontent.com/u/2673952?"},"repo":{"id":69203608,"name":"dongs365/docker","url":"https://api.github.com/repos/dongs365/docker"},"payload":{"push_id":8732433275,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1ef0f5a6a089871167b4cb85eaa92b8ef6517eca","before":"712c87851f23fbd47070370e50d8b41da64b0e04","commits":[{"sha":"1ef0f5a6a089871167b4cb85eaa92b8ef6517eca","author":{"email":"you@example.com","name":"dongs365"},"message":":whale: Sat Jan 1 09:00:01 CST 2022","distinct":true,"url":"https://api.github.com/repos/dongs365/docker/commits/1ef0f5a6a089871167b4cb85eaa92b8ef6517eca"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396079","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":430406927,"name":"DarkArtek/ahsubs","url":"https://api.github.com/repos/DarkArtek/ahsubs"},"payload":{"push_id":8732433279,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"ad2027b5bae50ab16751fca4c495dec1898877b8","before":"ae4821bc2821887c6f0cf62ba2664b2514b075bb","commits":[{"sha":"ad2027b5bae50ab16751fca4c495dec1898877b8","author":{"email":"DarkArtek@users.noreply.github.com","name":"DarkArtek"},"message":"jekyll build from Action 8f9ec16c3934fdf32f1877f8b2dd6247d36228ba","distinct":true,"url":"https://api.github.com/repos/DarkArtek/ahsubs/commits/ad2027b5bae50ab16751fca4c495dec1898877b8"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396082","type":"PushEvent","actor":{"id":845552,"login":"Thijn","display_login":"Thijn","gravatar_id":"","url":"https://api.github.com/users/Thijn","avatar_url":"https://avatars.githubusercontent.com/u/845552?"},"repo":{"id":435503196,"name":"Thijn/statuspage","url":"https://api.github.com/repos/Thijn/statuspage"},"payload":{"push_id":8732433289,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b11ec9caba5f940d27c5b51b2a0e56a6d948d121","before":"0843949f49ee0d3237251f2032858c4a8055ff17","commits":[{"sha":"b11ec9caba5f940d27c5b51b2a0e56a6d948d121","author":{"email":"monitoring@thijn.ovh","name":"Monitoring"},"message":"[Automated] Update Health Check Logs","distinct":true,"url":"https://api.github.com/repos/Thijn/statuspage/commits/b11ec9caba5f940d27c5b51b2a0e56a6d948d121"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396083","type":"PushEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"push_id":8732433294,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"854e2696e457ad55d2a63ec4973bb46403ba1327","before":"71a7eac821ea00731fa22bc4b48e37e7f21631f7","commits":[{"sha":"854e2696e457ad55d2a63ec4973bb46403ba1327","author":{"email":"marinus@mklasen.nl","name":"Marinus Klasen"},"message":"Automatically set new version to 1.0.8.7.7","distinct":true,"url":"https://api.github.com/repos/getpremia/premia-demo/commits/854e2696e457ad55d2a63ec4973bb46403ba1327"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396089","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433302,"size":0,"distinct_size":0,"ref":"refs/heads/issue/FINI-794","head":"416edc14a205a4b4fb22254a4ba19ae86e9d85a7","before":"416edc14a205a4b4fb22254a4ba19ae86e9d85a7","commits":[]},"public":true,"created_at":"2022-01-01T01:00:05Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541396092","type":"PushEvent","actor":{"id":7305117,"login":"johnrigler","display_login":"johnrigler","gravatar_id":"","url":"https://api.github.com/users/johnrigler","avatar_url":"https://avatars.githubusercontent.com/u/7305117?"},"repo":{"id":236354838,"name":"johnrigler/dnsalert","url":"https://api.github.com/repos/johnrigler/dnsalert"},"payload":{"push_id":8732433292,"size":1,"distinct_size":1,"ref":"refs/heads/THRU-1","head":"3bf87ced7a2e18db8a5574b864dc6c92b7a9f35d","before":"1e8537b6aa0ed443150f67adac13f016a530aeaf","commits":[{"sha":"3bf87ced7a2e18db8a5574b864dc6c92b7a9f35d","author":{"email":"john@rigler.org","name":"John Rigler"},"message":"Sat Jan 1 01:00:02 UTC 2022","distinct":true,"url":"https://api.github.com/repos/johnrigler/dnsalert/commits/3bf87ced7a2e18db8a5574b864dc6c92b7a9f35d"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396093","type":"PushEvent","actor":{"id":56313640,"login":"lhaslett","display_login":"lhaslett","gravatar_id":"","url":"https://api.github.com/users/lhaslett","avatar_url":"https://avatars.githubusercontent.com/u/56313640?"},"repo":{"id":442337477,"name":"lhaslett/lhaslett.github.io","url":"https://api.github.com/repos/lhaslett/lhaslett.github.io"},"payload":{"push_id":8732433299,"size":1,"distinct_size":1,"ref":"refs/heads/public","head":"7b5faf9fef73cca689a292338517f0f61b52252d","before":"ca24fd6a7eb39bf68982b84ca26fbd170b15a4ea","commits":[{"sha":"7b5faf9fef73cca689a292338517f0f61b52252d","author":{"email":"lhaslett@pobox.com","name":"Lee Haslett"},"message":"Auto-update conditions","distinct":true,"url":"https://api.github.com/repos/lhaslett/lhaslett.github.io/commits/7b5faf9fef73cca689a292338517f0f61b52252d"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396094","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433290,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"81e238338d0c3faa2d411b6102a4d8f6aacc68d2","before":"3d3d05c3b8da1515ceb6230143cebdaead9c0039","commits":[{"sha":"81e238338d0c3faa2d411b6102a4d8f6aacc68d2","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/81e238338d0c3faa2d411b6102a4d8f6aacc68d2"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396096","type":"PushEvent","actor":{"id":3379460,"login":"beanslee2012","display_login":"beanslee2012","gravatar_id":"","url":"https://api.github.com/users/beanslee2012","avatar_url":"https://avatars.githubusercontent.com/u/3379460?"},"repo":{"id":215003385,"name":"beanslee2012/games","url":"https://api.github.com/repos/beanslee2012/games"},"payload":{"push_id":8732433284,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0263e4a91a148a7f33183a2fe6eb785039891845","before":"4f2eb1ff61212bbc8f4bdfad12e5fd03cbd98dd7","commits":[{"sha":"0263e4a91a148a7f33183a2fe6eb785039891845","author":{"email":"beanslee2007@gmail.com","name":"beanslee2012"},"message":"daily update","distinct":true,"url":"https://api.github.com/repos/beanslee2012/games/commits/0263e4a91a148a7f33183a2fe6eb785039891845"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396105","type":"PushEvent","actor":{"id":60469054,"login":"friedbis","display_login":"friedbis","gravatar_id":"","url":"https://api.github.com/users/friedbis","avatar_url":"https://avatars.githubusercontent.com/u/60469054?"},"repo":{"id":368036642,"name":"friedbis/godthumbs-cake.github.io","url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io"},"payload":{"push_id":8732433291,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0495db029d179a19cea663e519de179156338119","before":"0699bcec3536cfbd0a63eccb7fa54151fc88650d","commits":[{"sha":"0495db029d179a19cea663e519de179156338119","author":{"email":"friedbiscuit@yf-19.net","name":"friedbis"},"message":"cleaning","distinct":true,"url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io/commits/0495db029d179a19cea663e519de179156338119"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396106","type":"PushEvent","actor":{"id":92172411,"login":"sansavec","display_login":"sansavec","gravatar_id":"","url":"https://api.github.com/users/sansavec","avatar_url":"https://avatars.githubusercontent.com/u/92172411?"},"repo":{"id":415037156,"name":"sansavec/main","url":"https://api.github.com/repos/sansavec/main"},"payload":{"push_id":8732433300,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"82d2a243726ca14feef1d9398459b1a0cb67b59c","before":"d20a9ad6164f0fd50047c2e1812ea32c250818be","commits":[{"sha":"82d2a243726ca14feef1d9398459b1a0cb67b59c","author":{"email":"sansavec1@gmail.com","name":"sansavec"},"message":"time updated","distinct":true,"url":"https://api.github.com/repos/sansavec/main/commits/82d2a243726ca14feef1d9398459b1a0cb67b59c"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396107","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":115189051,"name":"RoopeHakulinen/cheerful","url":"https://api.github.com/repos/RoopeHakulinen/cheerful"},"payload":{"action":"opened","number":199,"pull_request":{"url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199","id":812479597,"node_id":"PR_kwDOBt2lO84wbXRt","html_url":"https://github.com/RoopeHakulinen/cheerful/pull/199","diff_url":"https://github.com/RoopeHakulinen/cheerful/pull/199.diff","patch_url":"https://github.com/RoopeHakulinen/cheerful/pull/199.patch","issue_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/199","number":199,"state":"open","locked":false,"title":"Update dependency eslint to v8.6.0","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.5.0` -> `8.6.0`](https://renovatebot.com/diffs/npm/eslint/8.5.0/8.6.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/compatibility-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/confidence-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Release Notes\n\n
\neslint/eslint\n\n### [`v8.6.0`](https://togithub.com/eslint/eslint/releases/v8.6.0)\n\n[Compare Source](https://togithub.com/eslint/eslint/compare/v8.5.0...v8.6.0)\n\n#### Features\n\n- [`6802a54`](https://togithub.com/eslint/eslint/commit/6802a54837ea008bef4d5ae11522941693ba5ef6) feat: handle logical assignment in no-self-assign ([#​14152](https://togithub.com/eslint/eslint/issues/14152)) (Zzzen)\n- [`3b38018`](https://togithub.com/eslint/eslint/commit/3b38018ef5cb004ad5bc011de726bd2df2eb2f3f) feat: allow to define `eslint-disable-next-line` in multiple lines ([#​15436](https://togithub.com/eslint/eslint/issues/15436)) (Nitin Kumar)\n- [`9d6fe5a`](https://togithub.com/eslint/eslint/commit/9d6fe5a6b65f397bafc5eb0a995e96717cdc9b53) feat: false negative with `onlyDeclarations` + `properties` in id-match ([#​15431](https://togithub.com/eslint/eslint/issues/15431)) (Nitin Kumar)\n\n#### Documentation\n\n- [`6c4dee2`](https://togithub.com/eslint/eslint/commit/6c4dee2e87dac8d0751ce2426ded651ed0986112) docs: Document homedir is a configuration root ([#​15469](https://togithub.com/eslint/eslint/issues/15469)) (Bas Bosman)\n- [`51c37b1`](https://togithub.com/eslint/eslint/commit/51c37b118aed9c0d7a0efd40c491efca04c82ef9) docs: consistency changes ([#​15404](https://togithub.com/eslint/eslint/issues/15404)) (Bas Bosman)\n- [`775d181`](https://togithub.com/eslint/eslint/commit/775d18138244a28ebe1cb92849cd0f4e8cd27672) docs: Mention character classes in no-useless-escape ([#​15421](https://togithub.com/eslint/eslint/issues/15421)) (Sebastian Simon)\n\n#### Chores\n\n- [`3a384fc`](https://togithub.com/eslint/eslint/commit/3a384fc287cebb7be5fe5ed95497d578437a503a) chore: Upgrade espree to 9.3.0 ([#​15473](https://togithub.com/eslint/eslint/issues/15473)) (Brandon Mills)\n- [`1443cc2`](https://togithub.com/eslint/eslint/commit/1443cc2fc8785157936b864258924fe9bcd23210) chore: Update blogpost.md.ejs ([#​15468](https://togithub.com/eslint/eslint/issues/15468)) (Nicholas C. Zakas)\n- [`28e907a`](https://togithub.com/eslint/eslint/commit/28e907a4ca05a026d156f814f4118f8fe713e99d) refactor: remove unused parameter in `linter.js` ([#​15451](https://togithub.com/eslint/eslint/issues/15451)) (Milos Djermanovic)\n- [`eaa08d3`](https://togithub.com/eslint/eslint/commit/eaa08d3055b195bce59cc96bb63ac29038cd7c7d) test: add tests for `allowReserved` parser option with flat config ([#​15450](https://togithub.com/eslint/eslint/issues/15450)) (Milos Djermanovic)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/RoopeHakulinen/cheerful).","created_at":"2022-01-01T01:00:05Z","updated_at":"2022-01-01T01:00:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199/commits","review_comments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199/comments","review_comment_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/199/comments","statuses_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/statuses/2adc80e625ba67b0a9b4f420f31aacb09f1082d9","head":{"label":"RoopeHakulinen:renovate/eslint-8.x","ref":"renovate/eslint-8.x","sha":"2adc80e625ba67b0a9b4f420f31aacb09f1082d9","user":{"login":"RoopeHakulinen","id":2197974,"node_id":"MDQ6VXNlcjIxOTc5NzQ=","avatar_url":"https://avatars.githubusercontent.com/u/2197974?v=4","gravatar_id":"","url":"https://api.github.com/users/RoopeHakulinen","html_url":"https://github.com/RoopeHakulinen","followers_url":"https://api.github.com/users/RoopeHakulinen/followers","following_url":"https://api.github.com/users/RoopeHakulinen/following{/other_user}","gists_url":"https://api.github.com/users/RoopeHakulinen/gists{/gist_id}","starred_url":"https://api.github.com/users/RoopeHakulinen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoopeHakulinen/subscriptions","organizations_url":"https://api.github.com/users/RoopeHakulinen/orgs","repos_url":"https://api.github.com/users/RoopeHakulinen/repos","events_url":"https://api.github.com/users/RoopeHakulinen/events{/privacy}","received_events_url":"https://api.github.com/users/RoopeHakulinen/received_events","type":"User","site_admin":false},"repo":{"id":115189051,"node_id":"MDEwOlJlcG9zaXRvcnkxMTUxODkwNTE=","name":"cheerful","full_name":"RoopeHakulinen/cheerful","private":false,"owner":{"login":"RoopeHakulinen","id":2197974,"node_id":"MDQ6VXNlcjIxOTc5NzQ=","avatar_url":"https://avatars.githubusercontent.com/u/2197974?v=4","gravatar_id":"","url":"https://api.github.com/users/RoopeHakulinen","html_url":"https://github.com/RoopeHakulinen","followers_url":"https://api.github.com/users/RoopeHakulinen/followers","following_url":"https://api.github.com/users/RoopeHakulinen/following{/other_user}","gists_url":"https://api.github.com/users/RoopeHakulinen/gists{/gist_id}","starred_url":"https://api.github.com/users/RoopeHakulinen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoopeHakulinen/subscriptions","organizations_url":"https://api.github.com/users/RoopeHakulinen/orgs","repos_url":"https://api.github.com/users/RoopeHakulinen/repos","events_url":"https://api.github.com/users/RoopeHakulinen/events{/privacy}","received_events_url":"https://api.github.com/users/RoopeHakulinen/received_events","type":"User","site_admin":false},"html_url":"https://github.com/RoopeHakulinen/cheerful","description":null,"fork":false,"url":"https://api.github.com/repos/RoopeHakulinen/cheerful","forks_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/forks","keys_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/teams","hooks_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/hooks","issue_events_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/events{/number}","events_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/events","assignees_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/assignees{/user}","branches_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/branches{/branch}","tags_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/tags","blobs_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/refs{/sha}","trees_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/statuses/{sha}","languages_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/languages","stargazers_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/stargazers","contributors_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/contributors","subscribers_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/subscribers","subscription_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/subscription","commits_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/commits{/sha}","git_commits_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/commits{/sha}","comments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/comments{/number}","issue_comment_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/comments{/number}","contents_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/contents/{+path}","compare_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/merges","archive_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/downloads","issues_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues{/number}","pulls_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls{/number}","milestones_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/milestones{/number}","notifications_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/labels{/name}","releases_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/releases{/id}","deployments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/deployments","created_at":"2017-12-23T10:46:32Z","updated_at":"2021-12-31T01:34:45Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/RoopeHakulinen/cheerful.git","ssh_url":"git@github.com:RoopeHakulinen/cheerful.git","clone_url":"https://github.com/RoopeHakulinen/cheerful.git","svn_url":"https://github.com/RoopeHakulinen/cheerful","homepage":null,"size":14682,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":3,"watchers":0,"default_branch":"main"}},"base":{"label":"RoopeHakulinen:main","ref":"main","sha":"eabf76f2de34583b23861891d8ced5f3048e78a4","user":{"login":"RoopeHakulinen","id":2197974,"node_id":"MDQ6VXNlcjIxOTc5NzQ=","avatar_url":"https://avatars.githubusercontent.com/u/2197974?v=4","gravatar_id":"","url":"https://api.github.com/users/RoopeHakulinen","html_url":"https://github.com/RoopeHakulinen","followers_url":"https://api.github.com/users/RoopeHakulinen/followers","following_url":"https://api.github.com/users/RoopeHakulinen/following{/other_user}","gists_url":"https://api.github.com/users/RoopeHakulinen/gists{/gist_id}","starred_url":"https://api.github.com/users/RoopeHakulinen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoopeHakulinen/subscriptions","organizations_url":"https://api.github.com/users/RoopeHakulinen/orgs","repos_url":"https://api.github.com/users/RoopeHakulinen/repos","events_url":"https://api.github.com/users/RoopeHakulinen/events{/privacy}","received_events_url":"https://api.github.com/users/RoopeHakulinen/received_events","type":"User","site_admin":false},"repo":{"id":115189051,"node_id":"MDEwOlJlcG9zaXRvcnkxMTUxODkwNTE=","name":"cheerful","full_name":"RoopeHakulinen/cheerful","private":false,"owner":{"login":"RoopeHakulinen","id":2197974,"node_id":"MDQ6VXNlcjIxOTc5NzQ=","avatar_url":"https://avatars.githubusercontent.com/u/2197974?v=4","gravatar_id":"","url":"https://api.github.com/users/RoopeHakulinen","html_url":"https://github.com/RoopeHakulinen","followers_url":"https://api.github.com/users/RoopeHakulinen/followers","following_url":"https://api.github.com/users/RoopeHakulinen/following{/other_user}","gists_url":"https://api.github.com/users/RoopeHakulinen/gists{/gist_id}","starred_url":"https://api.github.com/users/RoopeHakulinen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RoopeHakulinen/subscriptions","organizations_url":"https://api.github.com/users/RoopeHakulinen/orgs","repos_url":"https://api.github.com/users/RoopeHakulinen/repos","events_url":"https://api.github.com/users/RoopeHakulinen/events{/privacy}","received_events_url":"https://api.github.com/users/RoopeHakulinen/received_events","type":"User","site_admin":false},"html_url":"https://github.com/RoopeHakulinen/cheerful","description":null,"fork":false,"url":"https://api.github.com/repos/RoopeHakulinen/cheerful","forks_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/forks","keys_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/teams","hooks_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/hooks","issue_events_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/events{/number}","events_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/events","assignees_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/assignees{/user}","branches_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/branches{/branch}","tags_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/tags","blobs_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/refs{/sha}","trees_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/statuses/{sha}","languages_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/languages","stargazers_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/stargazers","contributors_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/contributors","subscribers_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/subscribers","subscription_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/subscription","commits_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/commits{/sha}","git_commits_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/git/commits{/sha}","comments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/comments{/number}","issue_comment_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/comments{/number}","contents_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/contents/{+path}","compare_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/merges","archive_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/downloads","issues_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues{/number}","pulls_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls{/number}","milestones_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/milestones{/number}","notifications_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/labels{/name}","releases_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/releases{/id}","deployments_url":"https://api.github.com/repos/RoopeHakulinen/cheerful/deployments","created_at":"2017-12-23T10:46:32Z","updated_at":"2021-12-31T01:34:45Z","pushed_at":"2022-01-01T01:00:03Z","git_url":"git://github.com/RoopeHakulinen/cheerful.git","ssh_url":"git@github.com:RoopeHakulinen/cheerful.git","clone_url":"https://github.com/RoopeHakulinen/cheerful.git","svn_url":"https://github.com/RoopeHakulinen/cheerful","homepage":null,"size":14682,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":3,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199"},"html":{"href":"https://github.com/RoopeHakulinen/cheerful/pull/199"},"issue":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/199"},"comments":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/issues/199/comments"},"review_comments":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199/comments"},"review_comment":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/pulls/199/commits"},"statuses":{"href":"https://api.github.com/repos/RoopeHakulinen/cheerful/statuses/2adc80e625ba67b0a9b4f420f31aacb09f1082d9"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":48,"deletions":48,"changed_files":4}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396114","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433310,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f5bbd85a9d586c45aa339ec51252bbda856f4b45","before":"ae50bdef3954df1199bd0cbf0497498de6e57217","commits":[{"sha":"f5bbd85a9d586c45aa339ec51252bbda856f4b45","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update editor-pickup_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/f5bbd85a9d586c45aa339ec51252bbda856f4b45"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396120","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732433316,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0c4699a35055024805407711cfaea4bca38ab3a1","before":"29d87164c140c6043511494e62921b9e9c93b9ba","commits":[{"sha":"0c4699a35055024805407711cfaea4bca38ab3a1","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/0c4699a35055024805407711cfaea4bca38ab3a1"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396097","type":"ReleaseEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/getpremia/premia-demo/releases/56241589","assets_url":"https://api.github.com/repos/getpremia/premia-demo/releases/56241589/assets","upload_url":"https://uploads.github.com/repos/getpremia/premia-demo/releases/56241589/assets{?name,label}","html_url":"https://github.com/getpremia/premia-demo/releases/tag/1.0.8.7.7","id":56241589,"author":{"login":"getpremia","id":84419781,"node_id":"MDQ6VXNlcjg0NDE5Nzgx","avatar_url":"https://avatars.githubusercontent.com/u/84419781?v=4","gravatar_id":"","url":"https://api.github.com/users/getpremia","html_url":"https://github.com/getpremia","followers_url":"https://api.github.com/users/getpremia/followers","following_url":"https://api.github.com/users/getpremia/following{/other_user}","gists_url":"https://api.github.com/users/getpremia/gists{/gist_id}","starred_url":"https://api.github.com/users/getpremia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getpremia/subscriptions","organizations_url":"https://api.github.com/users/getpremia/orgs","repos_url":"https://api.github.com/users/getpremia/repos","events_url":"https://api.github.com/users/getpremia/events{/privacy}","received_events_url":"https://api.github.com/users/getpremia/received_events","type":"User","site_admin":false},"node_id":"RE_kwDOFgOjhc4DWi21","tag_name":"1.0.8.7.7","target_commitish":"master","name":"","draft":false,"prerelease":false,"created_at":"2022-01-01T01:00:01Z","published_at":"2022-01-01T01:00:05Z","assets":[],"tarball_url":"https://api.github.com/repos/getpremia/premia-demo/tarball/1.0.8.7.7","zipball_url":"https://api.github.com/repos/getpremia/premia-demo/zipball/1.0.8.7.7","body":"Automatically set new version to 1.0.8.7.7","short_description_html":"

Automatically set new version to 1.0.8.7.7

","is_short_description_html_truncated":false}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396109","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":310740410,"name":"nhomble/fdmi","url":"https://api.github.com/repos/nhomble/fdmi"},"payload":{"comment":{"url":"https://api.github.com/repos/nhomble/fdmi/comments/62749523","html_url":"https://github.com/nhomble/fdmi/commit/4f482fdff957c1fbecadf14084078caf03dcda5e#commitcomment-62749523","id":62749523,"node_id":"CC_kwDOEoWFus4DvXtT","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"4f482fdff957c1fbecadf14084078caf03dcda5e","created_at":"2022-01-01T01:00:05Z","updated_at":"2022-01-01T01:00:05Z","author_association":"NONE","body":"Successfully deployed to the following URLs:\n\n* [fdmi-nhomble.vercel.app](https://fdmi-nhomble.vercel.app) \n* [fdmi.hombro.space](https://fdmi.hombro.space) \n* [fdmi-git-master-nhomble.vercel.app](https://fdmi-git-master-nhomble.vercel.app) \n* [fdmi.vercel.app](https://fdmi.vercel.app) \n* [*.shop.vercel.hombro.space](https://*.shop.vercel.hombro.space)","reactions":{"url":"https://api.github.com/repos/nhomble/fdmi/comments/62749523/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396115","type":"WatchEvent","actor":{"id":89409996,"login":"Joao-Gabriel-Feres","display_login":"Joao-Gabriel-Feres","gravatar_id":"","url":"https://api.github.com/users/Joao-Gabriel-Feres","avatar_url":"https://avatars.githubusercontent.com/u/89409996?"},"repo":{"id":223073222,"name":"Ankit404butfound/PyWhatKit","url":"https://api.github.com/repos/Ankit404butfound/PyWhatKit"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396117","type":"PushEvent","actor":{"id":73521508,"login":"boundless1024","display_login":"boundless1024","gravatar_id":"","url":"https://api.github.com/users/boundless1024","avatar_url":"https://avatars.githubusercontent.com/u/73521508?"},"repo":{"id":363081117,"name":"boundless1024/hello-plugin","url":"https://api.github.com/repos/boundless1024/hello-plugin"},"payload":{"push_id":8732433306,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f66ebbce88859a919f6f2627fe77f77e7559d4f6","before":"300f9e275846f7957737bcb76341b92b5e9db973","commits":[{"sha":"f66ebbce88859a919f6f2627fe77f77e7559d4f6","author":{"email":"boundless1024@qq.com","name":"123456"},"message":"2022_01_01_09_00_01提交","distinct":true,"url":"https://api.github.com/repos/boundless1024/hello-plugin/commits/f66ebbce88859a919f6f2627fe77f77e7559d4f6"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396127","type":"CreateEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"ref":"1.0.8.7.7","ref_type":"tag","master_branch":"master","description":"This is a demo repository that automatically publishes new releases every half an hour.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396135","type":"PushEvent","actor":{"id":90948068,"login":"kakidevi","display_login":"kakidevi","gravatar_id":"","url":"https://api.github.com/users/kakidevi","avatar_url":"https://avatars.githubusercontent.com/u/90948068?"},"repo":{"id":407769602,"name":"kakidevi/bsc","url":"https://api.github.com/repos/kakidevi/bsc"},"payload":{"push_id":8732433323,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4c73fc7ca9ace276923fc631aa6b9b7324ce05c0","before":"1ad7afddcb837d7488c6a1d18e5e640a4e0f256a","commits":[{"sha":"4c73fc7ca9ace276923fc631aa6b9b7324ce05c0","author":{"email":"90948068+kakidevi@users.noreply.github.com","name":"kakidevi"},"message":"bsc","distinct":true,"url":"https://api.github.com/repos/kakidevi/bsc/commits/4c73fc7ca9ace276923fc631aa6b9b7324ce05c0"}]},"public":true,"created_at":"2022-01-01T01:00:05Z"} +{"id":"19541396141","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433334,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d2355541da592b11f2cf623204419dca6f780636","before":"3f372a98fe4e5e4182fa0213c6c22ef1e9572704","commits":[{"sha":"d2355541da592b11f2cf623204419dca6f780636","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:04 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/d2355541da592b11f2cf623204419dca6f780636"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396142","type":"IssueCommentEvent","actor":{"id":73139402,"login":"cloudflare-pages[bot]","display_login":"cloudflare-pages","gravatar_id":"","url":"https://api.github.com/users/cloudflare-pages[bot]","avatar_url":"https://avatars.githubusercontent.com/u/73139402?"},"repo":{"id":382187344,"name":"markelliot/allezgo-fe","url":"https://api.github.com/repos/markelliot/allezgo-fe"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24","repository_url":"https://api.github.com/repos/markelliot/allezgo-fe","labels_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/comments","events_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/events","html_url":"https://github.com/markelliot/allezgo-fe/pull/24","id":1091703167,"node_id":"PR_kwDOFse3UM4wbXRr","number":24,"title":"Auto-update dependencies and plugins","user":{"login":"mellbot","id":94683073,"node_id":"U_kgDOBaS_wQ","avatar_url":"https://avatars.githubusercontent.com/u/94683073?v=4","gravatar_id":"","url":"https://api.github.com/users/mellbot","html_url":"https://github.com/mellbot","followers_url":"https://api.github.com/users/mellbot/followers","following_url":"https://api.github.com/users/mellbot/following{/other_user}","gists_url":"https://api.github.com/users/mellbot/gists{/gist_id}","starred_url":"https://api.github.com/users/mellbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mellbot/subscriptions","organizations_url":"https://api.github.com/users/mellbot/orgs","repos_url":"https://api.github.com/users/mellbot/repos","events_url":"https://api.github.com/users/mellbot/events{/privacy}","received_events_url":"https://api.github.com/users/mellbot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:04Z","updated_at":"2022-01-01T01:00:05Z","closed_at":null,"author_association":"COLLABORATOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/pulls/24","html_url":"https://github.com/markelliot/allezgo-fe/pull/24","diff_url":"https://github.com/markelliot/allezgo-fe/pull/24.diff","patch_url":"https://github.com/markelliot/allezgo-fe/pull/24.patch","merged_at":null},"body":null,"reactions":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/comments/1003476349","html_url":"https://github.com/markelliot/allezgo-fe/pull/24#issuecomment-1003476349","issue_url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/24","id":1003476349,"node_id":"IC_kwDOFse3UM47z9V9","user":{"login":"cloudflare-pages[bot]","id":73139402,"node_id":"MDM6Qm90NzMxMzk0MDI=","avatar_url":"https://avatars.githubusercontent.com/in/85455?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D","html_url":"https://github.com/apps/cloudflare-pages","followers_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/followers","following_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/repos","events_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-01T01:00:05Z","updated_at":"2022-01-01T01:00:05Z","author_association":"NONE","body":"## Deploying with  
\"Cloudflare  Cloudflare Pages\n\n\n\n
Latest commit: \n08cd676\n
Status:⚡️  Build in progress...
\n\n[View logs](https://dash.cloudflare.com/?to=/:account/pages/view/allezgo-fe/ffa0fdf1-dd0e-4388-9caa-98c1fbf9335b)\n","reactions":{"url":"https://api.github.com/repos/markelliot/allezgo-fe/issues/comments/1003476349/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396144","type":"CreateEvent","actor":{"id":2064537,"login":"sosan","display_login":"sosan","gravatar_id":"","url":"https://api.github.com/users/sosan","avatar_url":"https://avatars.githubusercontent.com/u/2064537?"},"repo":{"id":349826174,"name":"sosan/Colaborador-rent-a-car-backend","url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend"},"payload":{"ref":"snyk-upgrade-966e64dbf91e2afbb8265474cf0a84c6","ref_type":"branch","master_branch":"backend","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396145","type":"PushEvent","actor":{"id":94685891,"login":"StazioneMeteoCocito","display_login":"StazioneMeteoCocito","gravatar_id":"","url":"https://api.github.com/users/StazioneMeteoCocito","avatar_url":"https://avatars.githubusercontent.com/u/94685891?"},"repo":{"id":432218507,"name":"StazioneMeteoCocito/dati","url":"https://api.github.com/repos/StazioneMeteoCocito/dati"},"payload":{"push_id":8732433321,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"36c295fbfb21d63c5e5e522616ec7578ed65e29d","before":"f1b2eb438b46e8124ae990a121bf59c1d1ca47a2","commits":[{"sha":"36c295fbfb21d63c5e5e522616ec7578ed65e29d","author":{"email":"antifurtodomotico@gmail.com","name":"StazioneMeteoCocito"},"message":"Regular data update","distinct":true,"url":"https://api.github.com/repos/StazioneMeteoCocito/dati/commits/36c295fbfb21d63c5e5e522616ec7578ed65e29d"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396147","type":"PushEvent","actor":{"id":4154978,"login":"Alexey-T","display_login":"Alexey-T","gravatar_id":"","url":"https://api.github.com/users/Alexey-T","avatar_url":"https://avatars.githubusercontent.com/u/4154978?"},"repo":{"id":208599155,"name":"Alexey-T/CudaText-lexers","url":"https://api.github.com/repos/Alexey-T/CudaText-lexers"},"payload":{"push_id":8732433326,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b0830e9d60b34953a2872fc3e9792019b301aef1","before":"79f10f4b6bc41f2d2e88de53694efeefbf360653","commits":[{"sha":"b0830e9d60b34953a2872fc3e9792019b301aef1","author":{"email":"support@uvviewsoft.com","name":"Alexey"},"message":"+","distinct":true,"url":"https://api.github.com/repos/Alexey-T/CudaText-lexers/commits/b0830e9d60b34953a2872fc3e9792019b301aef1"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396149","type":"PushEvent","actor":{"id":44823808,"login":"1103958779","display_login":"1103958779","gravatar_id":"","url":"https://api.github.com/users/1103958779","avatar_url":"https://avatars.githubusercontent.com/u/44823808?"},"repo":{"id":438320581,"name":"1103958779/xdh","url":"https://api.github.com/repos/1103958779/xdh"},"payload":{"push_id":8732433324,"size":4,"distinct_size":4,"ref":"refs/heads/1","head":"9485c6d3bfeaa9cb619611b45402474722413740","before":"e71e03ce4441031cc38be3e0ddf97ae43337aa95","commits":[{"sha":"55e176a8a0abf2a3f006c6b7652f7a2bdba22359","author":{"email":"94951545+xdhgsq@users.noreply.github.com","name":"xdhgsq"},"message":"Merge pull request #28 from 1103958779/1\n\nUpdate jd_dpqd.js","distinct":true,"url":"https://api.github.com/repos/1103958779/xdh/commits/55e176a8a0abf2a3f006c6b7652f7a2bdba22359"},{"sha":"c7c67cebfe840f48412eb9bf8ce5ecd20faefa94","author":{"email":"94951545+xdhgsq@users.noreply.github.com","name":"xdhgsq"},"message":"新增jd_m_sign.js\t\t\t#京东通天塔","distinct":true,"url":"https://api.github.com/repos/1103958779/xdh/commits/c7c67cebfe840f48412eb9bf8ce5ecd20faefa94"},{"sha":"7fba27013d9d4e5ccb9ba9edb023202dd018b29f","author":{"email":"94951545+xdhgsq@users.noreply.github.com","name":"xdhgsq"},"message":"Update jd.sh","distinct":true,"url":"https://api.github.com/repos/1103958779/xdh/commits/7fba27013d9d4e5ccb9ba9edb023202dd018b29f"},{"sha":"9485c6d3bfeaa9cb619611b45402474722413740","author":{"email":"94951545+xdhgsq@users.noreply.github.com","name":"xdhgsq"},"message":"版本更新为2.3,祝各位节日快乐又一年了","distinct":true,"url":"https://api.github.com/repos/1103958779/xdh/commits/9485c6d3bfeaa9cb619611b45402474722413740"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396155","type":"PushEvent","actor":{"id":5253690,"login":"weirdcalculator","display_login":"weirdcalculator","gravatar_id":"","url":"https://api.github.com/users/weirdcalculator","avatar_url":"https://avatars.githubusercontent.com/u/5253690?"},"repo":{"id":153466799,"name":"weirdcalculator/wptdolphin","url":"https://api.github.com/repos/weirdcalculator/wptdolphin"},"payload":{"push_id":8732433341,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f2655d593863c8a155d1627a4c708fd1b9243233","before":"ee8b53a1152e12be7d5a9909ef78feaa1c5d7f0f","commits":[{"sha":"f2655d593863c8a155d1627a4c708fd1b9243233","author":{"email":"weirdcalculator@gmail.com","name":"Amin"},"message":"test update","distinct":true,"url":"https://api.github.com/repos/weirdcalculator/wptdolphin/commits/f2655d593863c8a155d1627a4c708fd1b9243233"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396156","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724928,"name":"tenecq3145/www","url":"https://api.github.com/repos/tenecq3145/www"},"payload":{"push_id":8732433335,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"07f61ce8e90d4586d4483e9a53d432e74b7b7a9c","before":"c39f9fe31240c716a14f7918df9f35c794cd60a5","commits":[{"sha":"07f61ce8e90d4586d4483e9a53d432e74b7b7a9c","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update index.html","distinct":true,"url":"https://api.github.com/repos/tenecq3145/www/commits/07f61ce8e90d4586d4483e9a53d432e74b7b7a9c"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396157","type":"PushEvent","actor":{"id":8617595,"login":"eliocamp","display_login":"eliocamp","gravatar_id":"","url":"https://api.github.com/users/eliocamp","avatar_url":"https://avatars.githubusercontent.com/u/8617595?"},"repo":{"id":443440205,"name":"eliocamp/cortes","url":"https://api.github.com/repos/eliocamp/cortes"},"payload":{"push_id":8732433317,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"154b53cb547786de76732fbce1c068273d02a4b1","before":"a090d35be96b8221683c1e42a777a8ac3415df80","commits":[{"sha":"154b53cb547786de76732fbce1c068273d02a4b1","author":{"email":"eliocampitelli@gmail.com","name":"Elio Campitelli"},"message":"Agrega datos (automático)","distinct":true,"url":"https://api.github.com/repos/eliocamp/cortes/commits/154b53cb547786de76732fbce1c068273d02a4b1"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396159","type":"PushEvent","actor":{"id":2907374,"login":"AceChenX","display_login":"AceChenX","gravatar_id":"","url":"https://api.github.com/users/AceChenX","avatar_url":"https://avatars.githubusercontent.com/u/2907374?"},"repo":{"id":121562440,"name":"UltracoldAtomsLab/weather_log","url":"https://api.github.com/repos/UltracoldAtomsLab/weather_log"},"payload":{"push_id":8732433333,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"89cbee8a22ad69cd81c06d9e475b166ad4c788cf","before":"18a3e457c808cf1993913c519013b56f5654ff36","commits":[{"sha":"89cbee8a22ad69cd81c06d9e475b166ad4c788cf","author":{"email":"yjlinlab@gmail.com","name":"yjlinlab"},"message":"2022年01月01日 (週六) 09時00分01秒","distinct":true,"url":"https://api.github.com/repos/UltracoldAtomsLab/weather_log/commits/89cbee8a22ad69cd81c06d9e475b166ad4c788cf"}]},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":8256915,"login":"UltracoldAtomsLab","gravatar_id":"","url":"https://api.github.com/orgs/UltracoldAtomsLab","avatar_url":"https://avatars.githubusercontent.com/u/8256915?"}} +{"id":"19541396164","type":"PushEvent","actor":{"id":33041980,"login":"hebawom","display_login":"hebawom","gravatar_id":"","url":"https://api.github.com/users/hebawom","avatar_url":"https://avatars.githubusercontent.com/u/33041980?"},"repo":{"id":385861604,"name":"hebawom/hebawom.github.io","url":"https://api.github.com/repos/hebawom/hebawom.github.io"},"payload":{"push_id":8732433342,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d5a0cf665ca8ee98d4a2ec52ef750824b621165f","before":"7874860e0bf0c586dc0a380ba3d9dfe35860203c","commits":[{"sha":"d5a0cf665ca8ee98d4a2ec52ef750824b621165f","author":{"email":"33041980+hebawom@users.noreply.github.com","name":"hebawom"},"message":"python commit","distinct":true,"url":"https://api.github.com/repos/hebawom/hebawom.github.io/commits/d5a0cf665ca8ee98d4a2ec52ef750824b621165f"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396165","type":"PushEvent","actor":{"id":30046214,"login":"tranphuquy19","display_login":"tranphuquy19","gravatar_id":"","url":"https://api.github.com/users/tranphuquy19","avatar_url":"https://avatars.githubusercontent.com/u/30046214?"},"repo":{"id":284512772,"name":"tranphuquy19/tranphuquy19","url":"https://api.github.com/repos/tranphuquy19/tranphuquy19"},"payload":{"push_id":8732433345,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a404cfb63e4d2e13b68aa22687eb1a3d8d460570","before":"0a41dcde960aef893cdd9afb4f149b32d7921216","commits":[{"sha":"a404cfb63e4d2e13b68aa22687eb1a3d8d460570","author":{"email":"tranphuquy19@gmail.com","name":"tranphuquy19"},"message":"update README.md","distinct":true,"url":"https://api.github.com/repos/tranphuquy19/tranphuquy19/commits/a404cfb63e4d2e13b68aa22687eb1a3d8d460570"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396166","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449222,"name":"shalini-devgit/Shalini-PerfBlue1","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue1"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing1","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396171","type":"PushEvent","actor":{"id":4068,"login":"frafra","display_login":"frafra","gravatar_id":"","url":"https://api.github.com/users/frafra","avatar_url":"https://avatars.githubusercontent.com/u/4068?"},"repo":{"id":427741068,"name":"frafra/ohsome-api-upptime","url":"https://api.github.com/repos/frafra/ohsome-api-upptime"},"payload":{"push_id":8732433349,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3cbb917169b79db52c819c7c271f7ece5ac215d1","before":"79d12c2cee5a8fd43371caa0e8c3f9b8afb8e8b2","commits":[{"sha":"3cbb917169b79db52c819c7c271f7ece5ac215d1","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":bento: Update graphs [skip ci]","distinct":true,"url":"https://api.github.com/repos/frafra/ohsome-api-upptime/commits/3cbb917169b79db52c819c7c271f7ece5ac215d1"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396172","type":"PushEvent","actor":{"id":96804436,"login":"dfa54","display_login":"dfa54","gravatar_id":"","url":"https://api.github.com/users/dfa54","avatar_url":"https://avatars.githubusercontent.com/u/96804436?"},"repo":{"id":443408338,"name":"dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590","url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590"},"payload":{"push_id":8732433343,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"941dc044fa9ac8be312f211cf9758b4e6d0d5313","before":"6ee9b210048cdb28bd75b14e8f5ec2859bb6e5da","commits":[{"sha":"941dc044fa9ac8be312f211cf9758b4e6d0d5313","author":{"email":"96804436+dfa54@users.noreply.github.com","name":"dfa54"},"message":"upload file de92c699cccb07c4f2221ace5ca112983399d88e209431962893570dbef9738f57e268a6698a533f7ecf9ed3a3be712avideo_500_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590/commits/941dc044fa9ac8be312f211cf9758b4e6d0d5313"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396175","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8732433351,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4f55e1c4ae815bf1aed458533138db82987b3dfb","before":"caaac9e9c3097e2ec10755d5e5bf771e24d05a6b","commits":[{"sha":"4f55e1c4ae815bf1aed458533138db82987b3dfb","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/4f55e1c4ae815bf1aed458533138db82987b3dfb"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396176","type":"PushEvent","actor":{"id":93413739,"login":"cryptoYJ","display_login":"cryptoYJ","gravatar_id":"","url":"https://api.github.com/users/cryptoYJ","avatar_url":"https://avatars.githubusercontent.com/u/93413739?"},"repo":{"id":422770037,"name":"cryptoYJ/xyz-tools","url":"https://api.github.com/repos/cryptoYJ/xyz-tools"},"payload":{"push_id":8732433352,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5099c4fa6e2fc4e8b673a2a98b82175ff1f33c54","before":"af3f1dfd9dca0525779535a07eeb7f32cee85d52","commits":[{"sha":"5099c4fa6e2fc4e8b673a2a98b82175ff1f33c54","author":{"email":"cryptoyj1@gmail.com","name":"cryptoYJ"},"message":"update data","distinct":true,"url":"https://api.github.com/repos/cryptoYJ/xyz-tools/commits/5099c4fa6e2fc4e8b673a2a98b82175ff1f33c54"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396178","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":360802819,"name":"fredred375/fredred375","url":"https://api.github.com/repos/fredred375/fredred375"},"payload":{"push_id":8732433355,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8ddc2cb2ff1eefc6ec865baa9f49d271d1f770f0","before":"c2e212afb7333390ecc0751100864b37c8dafacf","commits":[{"sha":"8ddc2cb2ff1eefc6ec865baa9f49d271d1f770f0","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/fredred375/fredred375/commits/8ddc2cb2ff1eefc6ec865baa9f49d271d1f770f0"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396181","type":"PushEvent","actor":{"id":25694730,"login":"hamdyaea","display_login":"hamdyaea","gravatar_id":"","url":"https://api.github.com/users/hamdyaea","avatar_url":"https://avatars.githubusercontent.com/u/25694730?"},"repo":{"id":280520420,"name":"hamdyaea/RandomNumber","url":"https://api.github.com/repos/hamdyaea/RandomNumber"},"payload":{"push_id":8732433344,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a73b3cdfea1786e41afedb773653cdcecbbc875e","before":"6853d7c448eaf16ebbd5ffad29d096680edbdbb7","commits":[{"sha":"a73b3cdfea1786e41afedb773653cdcecbbc875e","author":{"email":"hamdy.aea@protonmail.com","name":"hamdyaea"},"message":"New random number","distinct":true,"url":"https://api.github.com/repos/hamdyaea/RandomNumber/commits/a73b3cdfea1786e41afedb773653cdcecbbc875e"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396186","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8732433367,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"388f2b9f0a9582007c257e75261c17e3bfa369b8","before":"4f55e1c4ae815bf1aed458533138db82987b3dfb","commits":[{"sha":"388f2b9f0a9582007c257e75261c17e3bfa369b8","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/388f2b9f0a9582007c257e75261c17e3bfa369b8"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396191","type":"CreateEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":32042756,"name":"feathersjs-ecosystem/feathers-sync","url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync"},"payload":{"ref":"update-dependencies-1642181565","ref_type":"branch","master_branch":"release","description":"Synchronize service events between Feathers application instances","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":32400533,"login":"feathersjs-ecosystem","gravatar_id":"","url":"https://api.github.com/orgs/feathersjs-ecosystem","avatar_url":"https://avatars.githubusercontent.com/u/32400533?"}} +{"id":"19541396192","type":"PushEvent","actor":{"id":3713580,"login":"hendisantika","display_login":"hendisantika","gravatar_id":"","url":"https://api.github.com/users/hendisantika","avatar_url":"https://avatars.githubusercontent.com/u/3713580?"},"repo":{"id":332908913,"name":"hendisantika/springboot-aws-s3","url":"https://api.github.com/repos/hendisantika/springboot-aws-s3"},"payload":{"push_id":8732433363,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f5bd8a4e0f9879c56e17987c1b74441de8b97f2d","before":"65762c1f00a8f38d753fcdb0478862dba9c515d0","commits":[{"sha":"f5bd8a4e0f9879c56e17987c1b74441de8b97f2d","author":{"email":"hendisantika@yahoo.co.id","name":"Hendi Santika"},"message":"#32 - Upgraded into Spring Boot 2.6.4 version\n\n#32 - Upgraded into Spring Boot 2.6.4 version","distinct":true,"url":"https://api.github.com/repos/hendisantika/springboot-aws-s3/commits/f5bd8a4e0f9879c56e17987c1b74441de8b97f2d"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396194","type":"PushEvent","actor":{"id":209139,"login":"friedcell","display_login":"friedcell","gravatar_id":"","url":"https://api.github.com/users/friedcell","avatar_url":"https://avatars.githubusercontent.com/u/209139?"},"repo":{"id":325311838,"name":"friedcell/git-scraping-arso","url":"https://api.github.com/repos/friedcell/git-scraping-arso"},"payload":{"push_id":8732433372,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f65ffdedda9d1e8ef81a38aa2091e322bdc2f957","before":"c9213ffc51e6a5d8d5eadd4114702261fcc8118f","commits":[{"sha":"f65ffdedda9d1e8ef81a38aa2091e322bdc2f957","author":{"email":"fry@skylined.org","name":"Marko Mrdjenovic"},"message":"2022-01-01 02:00:03+01:00","distinct":true,"url":"https://api.github.com/repos/friedcell/git-scraping-arso/commits/f65ffdedda9d1e8ef81a38aa2091e322bdc2f957"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396195","type":"PushEvent","actor":{"id":11726205,"login":"kapkic","display_login":"kapkic","gravatar_id":"","url":"https://api.github.com/users/kapkic","avatar_url":"https://avatars.githubusercontent.com/u/11726205?"},"repo":{"id":371742693,"name":"kapkic/lind_project","url":"https://api.github.com/repos/kapkic/lind_project"},"payload":{"push_id":8732433360,"size":1,"distinct_size":1,"ref":"refs/heads/develop","head":"04cc8be9f5af10c3c62577aee0aff4859bbb9e58","before":"0517e40b925b79a6963af6e0620821ed21429613","commits":[{"sha":"04cc8be9f5af10c3c62577aee0aff4859bbb9e58","author":{"email":"ahmetkapkic@gmail.com","name":"Ahmet Kapkic"},"message":"Rename .github/workflow/PR-trigger.yml to .github/workflows/PR-trigger.yml","distinct":true,"url":"https://api.github.com/repos/kapkic/lind_project/commits/04cc8be9f5af10c3c62577aee0aff4859bbb9e58"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396201","type":"PushEvent","actor":{"id":95848666,"login":"libaibaibaia","display_login":"libaibaibaia","gravatar_id":"","url":"https://api.github.com/users/libaibaibaia","avatar_url":"https://avatars.githubusercontent.com/u/95848666?"},"repo":{"id":443404766,"name":"libaibaibaia/ceec4401-be47-4e5f-8cc1-56d4b7f9eab3","url":"https://api.github.com/repos/libaibaibaia/ceec4401-be47-4e5f-8cc1-56d4b7f9eab3"},"payload":{"push_id":8732433365,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"63482aecf24e736f2271a9a7c3e6f9f41d016045","before":"468a893af39e01f10b6d440319e9dafefdc895cb","commits":[{"sha":"63482aecf24e736f2271a9a7c3e6f9f41d016045","author":{"email":"95848666+libaibaibaia@users.noreply.github.com","name":"libaibaibaia"},"message":"upload file 642a6f095b0bf7a9d24be03b3de037229e7f0ac0010a9830ccffaaa35bbd1b13c709b8ff456b687ed9dc544b1eba1d1fee7fd7f6db927e7896d258eaf1061becvideo_137_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/libaibaibaia/ceec4401-be47-4e5f-8cc1-56d4b7f9eab3/commits/63482aecf24e736f2271a9a7c3e6f9f41d016045"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396202","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433366,"size":0,"distinct_size":0,"ref":"refs/heads/issue/OSOE-49","head":"bc3ea5e36725f1690a8234e7b58c84820092c875","before":"bc3ea5e36725f1690a8234e7b58c84820092c875","commits":[]},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541396203","type":"PullRequestReviewEvent","actor":{"id":3137680,"login":"james7132","display_login":"james7132","gravatar_id":"","url":"https://api.github.com/users/james7132","avatar_url":"https://avatars.githubusercontent.com/u/3137680?"},"repo":{"id":234798675,"name":"bevyengine/bevy","url":"https://api.github.com/repos/bevyengine/bevy"},"payload":{"action":"created","review":{"id":842310486,"node_id":"PRR_kwDODf6-U84yNKNW","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"body":null,"commit_id":"c6236a3824dc04845c0ce4aef50aff895a18d4b8","submitted_at":"2022-01-01T01:00:06Z","state":"commented","html_url":"https://github.com/bevyengine/bevy/pull/3509#pullrequestreview-842310486","pull_request_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509","author_association":"CONTRIBUTOR","_links":{"html":{"href":"https://github.com/bevyengine/bevy/pull/3509#pullrequestreview-842310486"},"pull_request":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509"}}},"pull_request":{"url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509","id":812478055,"node_id":"PR_kwDODf6-U84wbW5n","html_url":"https://github.com/bevyengine/bevy/pull/3509","diff_url":"https://github.com/bevyengine/bevy/pull/3509.diff","patch_url":"https://github.com/bevyengine/bevy/pull/3509.patch","issue_url":"https://api.github.com/repos/bevyengine/bevy/issues/3509","number":3509,"state":"open","locked":false,"title":"Document bevy_tasks and enable #![warn(missing_docs)]","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"body":"This PR is part of the issue #3492.\r\n\r\n# Objective\r\n\r\n- Add and update the bevy_tasks documentation to achieve a 100% documentation coverage (sans `prelude` module)\r\n- Add the #![warn(missing_docs)] lint to keep the documentation coverage for the future.\r\n\r\n## Solution\r\n\r\n - Add and update the bevy_math documentation.\r\n - Add the #![warn(missing_docs)] lint.\r\n - Added doctest wherever there should be in the missing docs.","created_at":"2022-01-01T00:44:47Z","updated_at":"2022-01-01T01:00:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"70b592f8b7b1da14130c7f61ec27c49aec4e056d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2488007862,"node_id":"MDU6TGFiZWwyNDg4MDA3ODYy","url":"https://api.github.com/repos/bevyengine/bevy/labels/S-Needs-Triage","name":"S-Needs-Triage","color":"D876e3","default":false,"description":"This issue needs labels"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/commits","review_comments_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/comments","review_comment_url":"https://api.github.com/repos/bevyengine/bevy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bevyengine/bevy/issues/3509/comments","statuses_url":"https://api.github.com/repos/bevyengine/bevy/statuses/c6236a3824dc04845c0ce4aef50aff895a18d4b8","head":{"label":"james7132:doc-tasks","ref":"doc-tasks","sha":"c6236a3824dc04845c0ce4aef50aff895a18d4b8","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"repo":{"id":364361764,"node_id":"MDEwOlJlcG9zaXRvcnkzNjQzNjE3NjQ=","name":"bevy","full_name":"james7132/bevy","private":false,"owner":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"html_url":"https://github.com/james7132/bevy","description":"A refreshingly simple data-driven game engine built in Rust","fork":true,"url":"https://api.github.com/repos/james7132/bevy","forks_url":"https://api.github.com/repos/james7132/bevy/forks","keys_url":"https://api.github.com/repos/james7132/bevy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/james7132/bevy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/james7132/bevy/teams","hooks_url":"https://api.github.com/repos/james7132/bevy/hooks","issue_events_url":"https://api.github.com/repos/james7132/bevy/issues/events{/number}","events_url":"https://api.github.com/repos/james7132/bevy/events","assignees_url":"https://api.github.com/repos/james7132/bevy/assignees{/user}","branches_url":"https://api.github.com/repos/james7132/bevy/branches{/branch}","tags_url":"https://api.github.com/repos/james7132/bevy/tags","blobs_url":"https://api.github.com/repos/james7132/bevy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/james7132/bevy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/james7132/bevy/git/refs{/sha}","trees_url":"https://api.github.com/repos/james7132/bevy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/james7132/bevy/statuses/{sha}","languages_url":"https://api.github.com/repos/james7132/bevy/languages","stargazers_url":"https://api.github.com/repos/james7132/bevy/stargazers","contributors_url":"https://api.github.com/repos/james7132/bevy/contributors","subscribers_url":"https://api.github.com/repos/james7132/bevy/subscribers","subscription_url":"https://api.github.com/repos/james7132/bevy/subscription","commits_url":"https://api.github.com/repos/james7132/bevy/commits{/sha}","git_commits_url":"https://api.github.com/repos/james7132/bevy/git/commits{/sha}","comments_url":"https://api.github.com/repos/james7132/bevy/comments{/number}","issue_comment_url":"https://api.github.com/repos/james7132/bevy/issues/comments{/number}","contents_url":"https://api.github.com/repos/james7132/bevy/contents/{+path}","compare_url":"https://api.github.com/repos/james7132/bevy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/james7132/bevy/merges","archive_url":"https://api.github.com/repos/james7132/bevy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/james7132/bevy/downloads","issues_url":"https://api.github.com/repos/james7132/bevy/issues{/number}","pulls_url":"https://api.github.com/repos/james7132/bevy/pulls{/number}","milestones_url":"https://api.github.com/repos/james7132/bevy/milestones{/number}","notifications_url":"https://api.github.com/repos/james7132/bevy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/james7132/bevy/labels{/name}","releases_url":"https://api.github.com/repos/james7132/bevy/releases{/id}","deployments_url":"https://api.github.com/repos/james7132/bevy/deployments","created_at":"2021-05-04T19:17:01Z","updated_at":"2021-12-31T02:19:08Z","pushed_at":"2022-01-01T00:55:18Z","git_url":"git://github.com/james7132/bevy.git","ssh_url":"git@github.com:james7132/bevy.git","clone_url":"https://github.com/james7132/bevy.git","svn_url":"https://github.com/james7132/bevy","homepage":"https://bevyengine.org","size":37775,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"bevyengine:main","ref":"main","sha":"1d0d8a3397bd6fc2c14d42ffd0668d2443748912","user":{"login":"bevyengine","id":60047606,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDQ3NjA2","avatar_url":"https://avatars.githubusercontent.com/u/60047606?v=4","gravatar_id":"","url":"https://api.github.com/users/bevyengine","html_url":"https://github.com/bevyengine","followers_url":"https://api.github.com/users/bevyengine/followers","following_url":"https://api.github.com/users/bevyengine/following{/other_user}","gists_url":"https://api.github.com/users/bevyengine/gists{/gist_id}","starred_url":"https://api.github.com/users/bevyengine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bevyengine/subscriptions","organizations_url":"https://api.github.com/users/bevyengine/orgs","repos_url":"https://api.github.com/users/bevyengine/repos","events_url":"https://api.github.com/users/bevyengine/events{/privacy}","received_events_url":"https://api.github.com/users/bevyengine/received_events","type":"Organization","site_admin":false},"repo":{"id":234798675,"node_id":"MDEwOlJlcG9zaXRvcnkyMzQ3OTg2NzU=","name":"bevy","full_name":"bevyengine/bevy","private":false,"owner":{"login":"bevyengine","id":60047606,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDQ3NjA2","avatar_url":"https://avatars.githubusercontent.com/u/60047606?v=4","gravatar_id":"","url":"https://api.github.com/users/bevyengine","html_url":"https://github.com/bevyengine","followers_url":"https://api.github.com/users/bevyengine/followers","following_url":"https://api.github.com/users/bevyengine/following{/other_user}","gists_url":"https://api.github.com/users/bevyengine/gists{/gist_id}","starred_url":"https://api.github.com/users/bevyengine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bevyengine/subscriptions","organizations_url":"https://api.github.com/users/bevyengine/orgs","repos_url":"https://api.github.com/users/bevyengine/repos","events_url":"https://api.github.com/users/bevyengine/events{/privacy}","received_events_url":"https://api.github.com/users/bevyengine/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/bevyengine/bevy","description":"A refreshingly simple data-driven game engine built in Rust","fork":false,"url":"https://api.github.com/repos/bevyengine/bevy","forks_url":"https://api.github.com/repos/bevyengine/bevy/forks","keys_url":"https://api.github.com/repos/bevyengine/bevy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bevyengine/bevy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bevyengine/bevy/teams","hooks_url":"https://api.github.com/repos/bevyengine/bevy/hooks","issue_events_url":"https://api.github.com/repos/bevyengine/bevy/issues/events{/number}","events_url":"https://api.github.com/repos/bevyengine/bevy/events","assignees_url":"https://api.github.com/repos/bevyengine/bevy/assignees{/user}","branches_url":"https://api.github.com/repos/bevyengine/bevy/branches{/branch}","tags_url":"https://api.github.com/repos/bevyengine/bevy/tags","blobs_url":"https://api.github.com/repos/bevyengine/bevy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bevyengine/bevy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bevyengine/bevy/git/refs{/sha}","trees_url":"https://api.github.com/repos/bevyengine/bevy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bevyengine/bevy/statuses/{sha}","languages_url":"https://api.github.com/repos/bevyengine/bevy/languages","stargazers_url":"https://api.github.com/repos/bevyengine/bevy/stargazers","contributors_url":"https://api.github.com/repos/bevyengine/bevy/contributors","subscribers_url":"https://api.github.com/repos/bevyengine/bevy/subscribers","subscription_url":"https://api.github.com/repos/bevyengine/bevy/subscription","commits_url":"https://api.github.com/repos/bevyengine/bevy/commits{/sha}","git_commits_url":"https://api.github.com/repos/bevyengine/bevy/git/commits{/sha}","comments_url":"https://api.github.com/repos/bevyengine/bevy/comments{/number}","issue_comment_url":"https://api.github.com/repos/bevyengine/bevy/issues/comments{/number}","contents_url":"https://api.github.com/repos/bevyengine/bevy/contents/{+path}","compare_url":"https://api.github.com/repos/bevyengine/bevy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bevyengine/bevy/merges","archive_url":"https://api.github.com/repos/bevyengine/bevy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bevyengine/bevy/downloads","issues_url":"https://api.github.com/repos/bevyengine/bevy/issues{/number}","pulls_url":"https://api.github.com/repos/bevyengine/bevy/pulls{/number}","milestones_url":"https://api.github.com/repos/bevyengine/bevy/milestones{/number}","notifications_url":"https://api.github.com/repos/bevyengine/bevy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bevyengine/bevy/labels{/name}","releases_url":"https://api.github.com/repos/bevyengine/bevy/releases{/id}","deployments_url":"https://api.github.com/repos/bevyengine/bevy/deployments","created_at":"2020-01-18T21:13:55Z","updated_at":"2022-01-01T00:59:34Z","pushed_at":"2022-01-01T00:55:20Z","git_url":"git://github.com/bevyengine/bevy.git","ssh_url":"git@github.com:bevyengine/bevy.git","clone_url":"https://github.com/bevyengine/bevy.git","svn_url":"https://github.com/bevyengine/bevy","homepage":"https://bevyengine.org","size":37536,"stargazers_count":12574,"watchers_count":12574,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1104,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":826,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["bevy","game-engine","gamedev","hacktoberfest","open-source","rust"],"visibility":"public","forks":1104,"open_issues":826,"watchers":12574,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509"},"html":{"href":"https://github.com/bevyengine/bevy/pull/3509"},"issue":{"href":"https://api.github.com/repos/bevyengine/bevy/issues/3509"},"comments":{"href":"https://api.github.com/repos/bevyengine/bevy/issues/3509/comments"},"review_comments":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/comments"},"review_comment":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/commits"},"statuses":{"href":"https://api.github.com/repos/bevyengine/bevy/statuses/c6236a3824dc04845c0ce4aef50aff895a18d4b8"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":60047606,"login":"bevyengine","gravatar_id":"","url":"https://api.github.com/orgs/bevyengine","avatar_url":"https://avatars.githubusercontent.com/u/60047606?"}} +{"id":"19541396204","type":"PullRequestReviewCommentEvent","actor":{"id":3137680,"login":"james7132","display_login":"james7132","gravatar_id":"","url":"https://api.github.com/users/james7132","avatar_url":"https://avatars.githubusercontent.com/u/3137680?"},"repo":{"id":234798675,"name":"bevyengine/bevy","url":"https://api.github.com/repos/bevyengine/bevy"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/bevyengine/bevy/pulls/comments/777070055","pull_request_review_id":842310486,"id":777070055,"node_id":"PRRC_kwDODf6-U84uUSXn","diff_hunk":"@@ -16,6 +16,7 @@ where\n B: Iterator + Send,\n Self: Sized + Send,\n {\n+ /// The type of item that is being iterated over.\n type Item;","path":"crates/bevy_tasks/src/iter/mod.rs","position":5,"original_position":5,"commit_id":"c6236a3824dc04845c0ce4aef50aff895a18d4b8","original_commit_id":"cf82462c27ebb7cb5ae8b5e8e0be6b25ccb2c22f","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"body":"I can replace `Self::Item` with `B::Item` but technically that would be a breaking change, which I'm explicitly trying to avoid in a docs PR.","created_at":"2022-01-01T01:00:06Z","updated_at":"2022-01-01T01:00:06Z","html_url":"https://github.com/bevyengine/bevy/pull/3509#discussion_r777070055","pull_request_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/comments/777070055"},"html":{"href":"https://github.com/bevyengine/bevy/pull/3509#discussion_r777070055"},"pull_request":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509"}},"reactions":{"url":"https://api.github.com/repos/bevyengine/bevy/pulls/comments/777070055/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":20,"original_line":20,"side":"RIGHT","in_reply_to_id":777069541},"pull_request":{"url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509","id":812478055,"node_id":"PR_kwDODf6-U84wbW5n","html_url":"https://github.com/bevyengine/bevy/pull/3509","diff_url":"https://github.com/bevyengine/bevy/pull/3509.diff","patch_url":"https://github.com/bevyengine/bevy/pull/3509.patch","issue_url":"https://api.github.com/repos/bevyengine/bevy/issues/3509","number":3509,"state":"open","locked":false,"title":"Document bevy_tasks and enable #![warn(missing_docs)]","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"body":"This PR is part of the issue #3492.\r\n\r\n# Objective\r\n\r\n- Add and update the bevy_tasks documentation to achieve a 100% documentation coverage (sans `prelude` module)\r\n- Add the #![warn(missing_docs)] lint to keep the documentation coverage for the future.\r\n\r\n## Solution\r\n\r\n - Add and update the bevy_math documentation.\r\n - Add the #![warn(missing_docs)] lint.\r\n - Added doctest wherever there should be in the missing docs.","created_at":"2022-01-01T00:44:47Z","updated_at":"2022-01-01T01:00:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"70b592f8b7b1da14130c7f61ec27c49aec4e056d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2488007862,"node_id":"MDU6TGFiZWwyNDg4MDA3ODYy","url":"https://api.github.com/repos/bevyengine/bevy/labels/S-Needs-Triage","name":"S-Needs-Triage","color":"D876e3","default":false,"description":"This issue needs labels"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/commits","review_comments_url":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/comments","review_comment_url":"https://api.github.com/repos/bevyengine/bevy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bevyengine/bevy/issues/3509/comments","statuses_url":"https://api.github.com/repos/bevyengine/bevy/statuses/c6236a3824dc04845c0ce4aef50aff895a18d4b8","head":{"label":"james7132:doc-tasks","ref":"doc-tasks","sha":"c6236a3824dc04845c0ce4aef50aff895a18d4b8","user":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"repo":{"id":364361764,"node_id":"MDEwOlJlcG9zaXRvcnkzNjQzNjE3NjQ=","name":"bevy","full_name":"james7132/bevy","private":false,"owner":{"login":"james7132","id":3137680,"node_id":"MDQ6VXNlcjMxMzc2ODA=","avatar_url":"https://avatars.githubusercontent.com/u/3137680?v=4","gravatar_id":"","url":"https://api.github.com/users/james7132","html_url":"https://github.com/james7132","followers_url":"https://api.github.com/users/james7132/followers","following_url":"https://api.github.com/users/james7132/following{/other_user}","gists_url":"https://api.github.com/users/james7132/gists{/gist_id}","starred_url":"https://api.github.com/users/james7132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/james7132/subscriptions","organizations_url":"https://api.github.com/users/james7132/orgs","repos_url":"https://api.github.com/users/james7132/repos","events_url":"https://api.github.com/users/james7132/events{/privacy}","received_events_url":"https://api.github.com/users/james7132/received_events","type":"User","site_admin":false},"html_url":"https://github.com/james7132/bevy","description":"A refreshingly simple data-driven game engine built in Rust","fork":true,"url":"https://api.github.com/repos/james7132/bevy","forks_url":"https://api.github.com/repos/james7132/bevy/forks","keys_url":"https://api.github.com/repos/james7132/bevy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/james7132/bevy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/james7132/bevy/teams","hooks_url":"https://api.github.com/repos/james7132/bevy/hooks","issue_events_url":"https://api.github.com/repos/james7132/bevy/issues/events{/number}","events_url":"https://api.github.com/repos/james7132/bevy/events","assignees_url":"https://api.github.com/repos/james7132/bevy/assignees{/user}","branches_url":"https://api.github.com/repos/james7132/bevy/branches{/branch}","tags_url":"https://api.github.com/repos/james7132/bevy/tags","blobs_url":"https://api.github.com/repos/james7132/bevy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/james7132/bevy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/james7132/bevy/git/refs{/sha}","trees_url":"https://api.github.com/repos/james7132/bevy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/james7132/bevy/statuses/{sha}","languages_url":"https://api.github.com/repos/james7132/bevy/languages","stargazers_url":"https://api.github.com/repos/james7132/bevy/stargazers","contributors_url":"https://api.github.com/repos/james7132/bevy/contributors","subscribers_url":"https://api.github.com/repos/james7132/bevy/subscribers","subscription_url":"https://api.github.com/repos/james7132/bevy/subscription","commits_url":"https://api.github.com/repos/james7132/bevy/commits{/sha}","git_commits_url":"https://api.github.com/repos/james7132/bevy/git/commits{/sha}","comments_url":"https://api.github.com/repos/james7132/bevy/comments{/number}","issue_comment_url":"https://api.github.com/repos/james7132/bevy/issues/comments{/number}","contents_url":"https://api.github.com/repos/james7132/bevy/contents/{+path}","compare_url":"https://api.github.com/repos/james7132/bevy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/james7132/bevy/merges","archive_url":"https://api.github.com/repos/james7132/bevy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/james7132/bevy/downloads","issues_url":"https://api.github.com/repos/james7132/bevy/issues{/number}","pulls_url":"https://api.github.com/repos/james7132/bevy/pulls{/number}","milestones_url":"https://api.github.com/repos/james7132/bevy/milestones{/number}","notifications_url":"https://api.github.com/repos/james7132/bevy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/james7132/bevy/labels{/name}","releases_url":"https://api.github.com/repos/james7132/bevy/releases{/id}","deployments_url":"https://api.github.com/repos/james7132/bevy/deployments","created_at":"2021-05-04T19:17:01Z","updated_at":"2021-12-31T02:19:08Z","pushed_at":"2022-01-01T00:55:18Z","git_url":"git://github.com/james7132/bevy.git","ssh_url":"git@github.com:james7132/bevy.git","clone_url":"https://github.com/james7132/bevy.git","svn_url":"https://github.com/james7132/bevy","homepage":"https://bevyengine.org","size":37775,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"bevyengine:main","ref":"main","sha":"1d0d8a3397bd6fc2c14d42ffd0668d2443748912","user":{"login":"bevyengine","id":60047606,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDQ3NjA2","avatar_url":"https://avatars.githubusercontent.com/u/60047606?v=4","gravatar_id":"","url":"https://api.github.com/users/bevyengine","html_url":"https://github.com/bevyengine","followers_url":"https://api.github.com/users/bevyengine/followers","following_url":"https://api.github.com/users/bevyengine/following{/other_user}","gists_url":"https://api.github.com/users/bevyengine/gists{/gist_id}","starred_url":"https://api.github.com/users/bevyengine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bevyengine/subscriptions","organizations_url":"https://api.github.com/users/bevyengine/orgs","repos_url":"https://api.github.com/users/bevyengine/repos","events_url":"https://api.github.com/users/bevyengine/events{/privacy}","received_events_url":"https://api.github.com/users/bevyengine/received_events","type":"Organization","site_admin":false},"repo":{"id":234798675,"node_id":"MDEwOlJlcG9zaXRvcnkyMzQ3OTg2NzU=","name":"bevy","full_name":"bevyengine/bevy","private":false,"owner":{"login":"bevyengine","id":60047606,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYwMDQ3NjA2","avatar_url":"https://avatars.githubusercontent.com/u/60047606?v=4","gravatar_id":"","url":"https://api.github.com/users/bevyengine","html_url":"https://github.com/bevyengine","followers_url":"https://api.github.com/users/bevyengine/followers","following_url":"https://api.github.com/users/bevyengine/following{/other_user}","gists_url":"https://api.github.com/users/bevyengine/gists{/gist_id}","starred_url":"https://api.github.com/users/bevyengine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bevyengine/subscriptions","organizations_url":"https://api.github.com/users/bevyengine/orgs","repos_url":"https://api.github.com/users/bevyengine/repos","events_url":"https://api.github.com/users/bevyengine/events{/privacy}","received_events_url":"https://api.github.com/users/bevyengine/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/bevyengine/bevy","description":"A refreshingly simple data-driven game engine built in Rust","fork":false,"url":"https://api.github.com/repos/bevyengine/bevy","forks_url":"https://api.github.com/repos/bevyengine/bevy/forks","keys_url":"https://api.github.com/repos/bevyengine/bevy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bevyengine/bevy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bevyengine/bevy/teams","hooks_url":"https://api.github.com/repos/bevyengine/bevy/hooks","issue_events_url":"https://api.github.com/repos/bevyengine/bevy/issues/events{/number}","events_url":"https://api.github.com/repos/bevyengine/bevy/events","assignees_url":"https://api.github.com/repos/bevyengine/bevy/assignees{/user}","branches_url":"https://api.github.com/repos/bevyengine/bevy/branches{/branch}","tags_url":"https://api.github.com/repos/bevyengine/bevy/tags","blobs_url":"https://api.github.com/repos/bevyengine/bevy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bevyengine/bevy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bevyengine/bevy/git/refs{/sha}","trees_url":"https://api.github.com/repos/bevyengine/bevy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bevyengine/bevy/statuses/{sha}","languages_url":"https://api.github.com/repos/bevyengine/bevy/languages","stargazers_url":"https://api.github.com/repos/bevyengine/bevy/stargazers","contributors_url":"https://api.github.com/repos/bevyengine/bevy/contributors","subscribers_url":"https://api.github.com/repos/bevyengine/bevy/subscribers","subscription_url":"https://api.github.com/repos/bevyengine/bevy/subscription","commits_url":"https://api.github.com/repos/bevyengine/bevy/commits{/sha}","git_commits_url":"https://api.github.com/repos/bevyengine/bevy/git/commits{/sha}","comments_url":"https://api.github.com/repos/bevyengine/bevy/comments{/number}","issue_comment_url":"https://api.github.com/repos/bevyengine/bevy/issues/comments{/number}","contents_url":"https://api.github.com/repos/bevyengine/bevy/contents/{+path}","compare_url":"https://api.github.com/repos/bevyengine/bevy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bevyengine/bevy/merges","archive_url":"https://api.github.com/repos/bevyengine/bevy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bevyengine/bevy/downloads","issues_url":"https://api.github.com/repos/bevyengine/bevy/issues{/number}","pulls_url":"https://api.github.com/repos/bevyengine/bevy/pulls{/number}","milestones_url":"https://api.github.com/repos/bevyengine/bevy/milestones{/number}","notifications_url":"https://api.github.com/repos/bevyengine/bevy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bevyengine/bevy/labels{/name}","releases_url":"https://api.github.com/repos/bevyengine/bevy/releases{/id}","deployments_url":"https://api.github.com/repos/bevyengine/bevy/deployments","created_at":"2020-01-18T21:13:55Z","updated_at":"2022-01-01T00:59:34Z","pushed_at":"2022-01-01T00:55:20Z","git_url":"git://github.com/bevyengine/bevy.git","ssh_url":"git@github.com:bevyengine/bevy.git","clone_url":"https://github.com/bevyengine/bevy.git","svn_url":"https://github.com/bevyengine/bevy","homepage":"https://bevyengine.org","size":37536,"stargazers_count":12574,"watchers_count":12574,"language":"Rust","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1104,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":826,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["bevy","game-engine","gamedev","hacktoberfest","open-source","rust"],"visibility":"public","forks":1104,"open_issues":826,"watchers":12574,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509"},"html":{"href":"https://github.com/bevyengine/bevy/pull/3509"},"issue":{"href":"https://api.github.com/repos/bevyengine/bevy/issues/3509"},"comments":{"href":"https://api.github.com/repos/bevyengine/bevy/issues/3509/comments"},"review_comments":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/comments"},"review_comment":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bevyengine/bevy/pulls/3509/commits"},"statuses":{"href":"https://api.github.com/repos/bevyengine/bevy/statuses/c6236a3824dc04845c0ce4aef50aff895a18d4b8"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":60047606,"login":"bevyengine","gravatar_id":"","url":"https://api.github.com/orgs/bevyengine","avatar_url":"https://avatars.githubusercontent.com/u/60047606?"}} +{"id":"19541396210","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":315051780,"name":"Dienay/Dienay","url":"https://api.github.com/repos/Dienay/Dienay"},"payload":{"push_id":8732433379,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"fb97a4283c438ec39c04bd7063dc8bc5ce457861","before":"15830d901b110bdf029c6db8023530d909f6589a","commits":[{"sha":"fb97a4283c438ec39c04bd7063dc8bc5ce457861","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Dienay/Dienay/commits/fb97a4283c438ec39c04bd7063dc8bc5ce457861"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396213","type":"PushEvent","actor":{"id":29623356,"login":"climateamante","display_login":"climateamante","gravatar_id":"","url":"https://api.github.com/users/climateamante","avatar_url":"https://avatars.githubusercontent.com/u/29623356?"},"repo":{"id":97307931,"name":"climateamante/devlog.timestamp.archive","url":"https://api.github.com/repos/climateamante/devlog.timestamp.archive"},"payload":{"push_id":8732433392,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f4b870d0ba306a071bde12397535b5b9ae5651a8","before":"e5a74b8e1bc793141ff655b19dda3cd574bd3655","commits":[{"sha":"f4b870d0ba306a071bde12397535b5b9ae5651a8","author":{"email":"git.climate@amante.co","name":"climateamante"},"message":"updated 2021123119000000","distinct":true,"url":"https://api.github.com/repos/climateamante/devlog.timestamp.archive/commits/f4b870d0ba306a071bde12397535b5b9ae5651a8"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396214","type":"CreateEvent","actor":{"id":91225513,"login":"sai3639","display_login":"sai3639","gravatar_id":"","url":"https://api.github.com/users/sai3639","avatar_url":"https://avatars.githubusercontent.com/u/91225513?"},"repo":{"id":443449223,"name":"sai3639/website2","url":"https://api.github.com/repos/sai3639/website2"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Shows a homepage of a website ","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396218","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433383,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ef6423bf4c3de749ed34a4f03fb9691647946c62","before":"272bc74c98e3acd285b3cb4108e8f7806a15f062","commits":[{"sha":"ef6423bf4c3de749ed34a4f03fb9691647946c62","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nsc413.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/ef6423bf4c3de749ed34a4f03fb9691647946c62"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396219","type":"PushEvent","actor":{"id":18710147,"login":"njcx","display_login":"njcx","gravatar_id":"","url":"https://api.github.com/users/njcx","avatar_url":"https://avatars.githubusercontent.com/u/18710147?"},"repo":{"id":260698981,"name":"njcx/spark_cluster_by_docker","url":"https://api.github.com/repos/njcx/spark_cluster_by_docker"},"payload":{"push_id":8732433378,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"89b981b6da7e4c11871fe334fe0a6ddc308aeee6","before":"41ca758399e4d7f6b63a40328cacb2c4948a814e","commits":[{"sha":"89b981b6da7e4c11871fe334fe0a6ddc308aeee6","author":{"email":"njcx86@gmail.com","name":"nJcx"},"message":"init","distinct":true,"url":"https://api.github.com/repos/njcx/spark_cluster_by_docker/commits/89b981b6da7e4c11871fe334fe0a6ddc308aeee6"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396220","type":"PushEvent","actor":{"id":62742305,"login":"seagulltool","display_login":"seagulltool","gravatar_id":"","url":"https://api.github.com/users/seagulltool","avatar_url":"https://avatars.githubusercontent.com/u/62742305?"},"repo":{"id":250501046,"name":"seagulltool/seagulltool.github.io","url":"https://api.github.com/repos/seagulltool/seagulltool.github.io"},"payload":{"push_id":8732433384,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f799a6505de1247e5d0c197cad1f784b71787696","before":"d744bac8a2a9b41a6023d24e3f9933f6a8b98a02","commits":[{"sha":"f799a6505de1247e5d0c197cad1f784b71787696","author":{"email":"seagulltool@users.noreply.github.com","name":"Seagull"},"message":"update cache","distinct":true,"url":"https://api.github.com/repos/seagulltool/seagulltool.github.io/commits/f799a6505de1247e5d0c197cad1f784b71787696"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396222","type":"PushEvent","actor":{"id":79485442,"login":"brocjad","display_login":"brocjad","gravatar_id":"","url":"https://api.github.com/users/brocjad","avatar_url":"https://avatars.githubusercontent.com/u/79485442?"},"repo":{"id":353600147,"name":"brocjad/pub_hofs","url":"https://api.github.com/repos/brocjad/pub_hofs"},"payload":{"push_id":8732433380,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"aa90c86248aa00a6ee671b8578860e51f628ae9b","before":"3906458ef50db56c1d11865eda0a298c740f27a9","commits":[{"sha":"aa90c86248aa00a6ee671b8578860e51f628ae9b","author":{"email":"79485442+brocjad@users.noreply.github.com","name":"brocjad"},"message":"update_log","distinct":true,"url":"https://api.github.com/repos/brocjad/pub_hofs/commits/aa90c86248aa00a6ee671b8578860e51f628ae9b"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396223","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8732433393,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a1415803e6c9b405d5be6fe84eca2e50174303b6","before":"0c4699a35055024805407711cfaea4bca38ab3a1","commits":[{"sha":"a1415803e6c9b405d5be6fe84eca2e50174303b6","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/a1415803e6c9b405d5be6fe84eca2e50174303b6"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396224","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433368,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"51ce2f2b08644380f079242a53f8aeb7d9e4c3ba","before":"73e64b584c05a7e9ac1d46b146f4809824939205","commits":[{"sha":"51ce2f2b08644380f079242a53f8aeb7d9e4c3ba","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/net-tools for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/51ce2f2b08644380f079242a53f8aeb7d9e4c3ba"}]},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396225","type":"CreateEvent","actor":{"id":35976857,"login":"henryherrington","display_login":"henryherrington","gravatar_id":"","url":"https://api.github.com/users/henryherrington","avatar_url":"https://avatars.githubusercontent.com/u/35976857?"},"repo":{"id":443449224,"name":"henryherrington/henryh-online","url":"https://api.github.com/repos/henryherrington/henryh-online"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"My personal website","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396235","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":351217286,"name":"Sarrus1/Sarrus1","url":"https://api.github.com/repos/Sarrus1/Sarrus1"},"payload":{"push_id":8732433413,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"22776894bd0fd2fdd5b9f3523cf0a276cfeff3c1","before":"c53ab35f548ab9822de151cae69dcfe777067c0f","commits":[{"sha":"22776894bd0fd2fdd5b9f3523cf0a276cfeff3c1","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/Sarrus1/Sarrus1/commits/22776894bd0fd2fdd5b9f3523cf0a276cfeff3c1"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396231","type":"PushEvent","actor":{"id":82312550,"login":"CodeWithMyLife","display_login":"CodeWithMyLife","gravatar_id":"","url":"https://api.github.com/users/CodeWithMyLife","avatar_url":"https://avatars.githubusercontent.com/u/82312550?"},"repo":{"id":440193191,"name":"CodeWithMyLife/Proxy","url":"https://api.github.com/repos/CodeWithMyLife/Proxy"},"payload":{"push_id":8732433415,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ddc147f1f441b38ab73a6310524ac56c6a8463d8","before":"b4012305366124ae080c022db7556014fcb883c8","commits":[{"sha":"ddc147f1f441b38ab73a6310524ac56c6a8463d8","author":{"email":"codewithmylife@gmail.com","name":"CodeWithMyLife"},"message":"Commit","distinct":true,"url":"https://api.github.com/repos/CodeWithMyLife/Proxy/commits/ddc147f1f441b38ab73a6310524ac56c6a8463d8"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396232","type":"PushEvent","actor":{"id":1497628,"login":"qchateau","display_login":"qchateau","gravatar_id":"","url":"https://api.github.com/users/qchateau","avatar_url":"https://avatars.githubusercontent.com/u/1497628?"},"repo":{"id":240522528,"name":"qchateau/conan-center-index","url":"https://api.github.com/repos/qchateau/conan-center-index"},"payload":{"push_id":8732433391,"size":1,"distinct_size":1,"ref":"refs/heads/ccb-quazip-1.2","head":"aa5e14f69de5aac9fe3c9d3b2d752e3291201cc0","before":"ca2b868a4e68e52dfc82ef4d9739b7e03c78eea1","commits":[{"sha":"aa5e14f69de5aac9fe3c9d3b2d752e3291201cc0","author":{"email":"quentin.chateau@gmail.com","name":"Quentin Chateau via Conan Center Bot"},"message":"quazip: add version 1.2\n\nGenerated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot)\nFind more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/)","distinct":true,"url":"https://api.github.com/repos/qchateau/conan-center-index/commits/aa5e14f69de5aac9fe3c9d3b2d752e3291201cc0"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396233","type":"PushEvent","actor":{"id":50245,"login":"bkuhlmann","display_login":"bkuhlmann","gravatar_id":"","url":"https://api.github.com/users/bkuhlmann","avatar_url":"https://avatars.githubusercontent.com/u/50245?"},"repo":{"id":299130625,"name":"bkuhlmann/rubysmith","url":"https://api.github.com/repos/bkuhlmann/rubysmith"},"payload":{"push_id":8732433404,"size":5,"distinct_size":0,"ref":"refs/heads/main","head":"828a3111ec6b0627cd6e83dc94e7b2086447b419","before":"c15e34b7c4d66675b64f2d67554d0c5851b72513","commits":[{"sha":"720d38087e99a685e40ed3f47ed771e200468303","author":{"email":"brooke@alchemists.io","name":"Brooke Kuhlmann"},"message":"Fixed CLI shell specs to include all build options\n\nSome build options were missing so this brings the spec up-to-date.","distinct":false,"url":"https://api.github.com/repos/bkuhlmann/rubysmith/commits/720d38087e99a685e40ed3f47ed771e200468303"},{"sha":"f2c52d84e59294a774e1a447315d406cb69025ce","author":{"email":"brooke@alchemists.io","name":"Brooke Kuhlmann"},"message":"Fixed Rubocop builder adding Rake when not enabled\n\nNecessary to ensure the Rake configuration is only added when Rake is\nenabled which, previously, was not the case.","distinct":false,"url":"https://api.github.com/repos/bkuhlmann/rubysmith/commits/f2c52d84e59294a774e1a447315d406cb69025ce"},{"sha":"72ee693a3006073adcc17afc1b02403fb915953c","author":{"email":"brooke@alchemists.io","name":"Brooke Kuhlmann"},"message":"Fixed readme builder new line truncation\n\nMinor simplification to code since any new lines greater than two can\nbe truncated.","distinct":false,"url":"https://api.github.com/repos/bkuhlmann/rubysmith/commits/72ee693a3006073adcc17afc1b02403fb915953c"},{"sha":"698f8583614414bb7fffad91789fd8b578b2a14d","author":{"email":"brooke@alchemists.io","name":"Brooke Kuhlmann"},"message":"Removed code of conduct builder\n\nNecessary to reduce project maintenance since this documentation is the\nsame for every project. It is better to fall back to the URL provided\nin the README.","distinct":false,"url":"https://api.github.com/repos/bkuhlmann/rubysmith/commits/698f8583614414bb7fffad91789fd8b578b2a14d"},{"sha":"828a3111ec6b0627cd6e83dc94e7b2086447b419","author":{"email":"brooke@alchemists.io","name":"Brooke Kuhlmann"},"message":"Removed the contribution builder\n\nNecessary to reduce project maintenance since this documentation is the\nsame for every project. It is better to fall back to the URL provided\nin the README.","distinct":false,"url":"https://api.github.com/repos/bkuhlmann/rubysmith/commits/828a3111ec6b0627cd6e83dc94e7b2086447b419"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396237","type":"PushEvent","actor":{"id":8517910,"login":"LombiqBot","display_login":"LombiqBot","gravatar_id":"","url":"https://api.github.com/users/LombiqBot","avatar_url":"https://avatars.githubusercontent.com/u/8517910?"},"repo":{"id":265094381,"name":"Lombiq/Testing-Toolbox","url":"https://api.github.com/repos/Lombiq/Testing-Toolbox"},"payload":{"push_id":8732433406,"size":0,"distinct_size":0,"ref":"refs/heads/issue/OSOE-57","head":"53883911d6b3af9d1bff3ee53016f7bc4116239a","before":"53883911d6b3af9d1bff3ee53016f7bc4116239a","commits":[]},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":8158177,"login":"Lombiq","gravatar_id":"","url":"https://api.github.com/orgs/Lombiq","avatar_url":"https://avatars.githubusercontent.com/u/8158177?"}} +{"id":"19541396242","type":"PushEvent","actor":{"id":152281,"login":"luksan","display_login":"luksan","gravatar_id":"","url":"https://api.github.com/users/luksan","avatar_url":"https://avatars.githubusercontent.com/u/152281?"},"repo":{"id":222313330,"name":"luksan/ivt490","url":"https://api.github.com/repos/luksan/ivt490"},"payload":{"push_id":8732433407,"size":1,"distinct_size":1,"ref":"refs/heads/datalog","head":"2fc7ceca290f6298edb6bf6ea0baac04297202e0","before":"6641e5c2c4be905a44e58f4ca4e1e36140b4bf9d","commits":[{"sha":"2fc7ceca290f6298edb6bf6ea0baac04297202e0","author":{"email":"luksan+pi-ivt490@gmail.com","name":"pi-ivt940"},"message":"log update Sat 01 Jan 2022 02:00:03 AM CET","distinct":true,"url":"https://api.github.com/repos/luksan/ivt490/commits/2fc7ceca290f6298edb6bf6ea0baac04297202e0"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396245","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":240034297,"name":"rhinstaller/anaconda-l10n","url":"https://api.github.com/repos/rhinstaller/anaconda-l10n"},"payload":{"push_id":8732433396,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"70f34a759be039e1571b36f7798b16c20632a350","before":"ac2087600be31ef39bb0cfccf490c9ee4d80b7bd","commits":[{"sha":"70f34a759be039e1571b36f7798b16c20632a350","author":{"email":"github-actions@github.com","name":"github-actions"},"message":"update pot-file","distinct":true,"url":"https://api.github.com/repos/rhinstaller/anaconda-l10n/commits/70f34a759be039e1571b36f7798b16c20632a350"}]},"public":true,"created_at":"2022-01-01T01:00:06Z","org":{"id":10549274,"login":"rhinstaller","gravatar_id":"","url":"https://api.github.com/orgs/rhinstaller","avatar_url":"https://avatars.githubusercontent.com/u/10549274?"}} +{"id":"19541396248","type":"CreateEvent","actor":{"id":65275210,"login":"Mal-D","display_login":"Mal-D","gravatar_id":"","url":"https://api.github.com/users/Mal-D","avatar_url":"https://avatars.githubusercontent.com/u/65275210?"},"repo":{"id":443449225,"name":"Mal-D/Scorpions-Nest","url":"https://api.github.com/repos/Mal-D/Scorpions-Nest"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":"Scorpion's Nest was inspired by the recent unearthing of a cache of late 20th century Terran publications.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396249","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":278134832,"name":"s-arikawa/s-arikawa","url":"https://api.github.com/repos/s-arikawa/s-arikawa"},"payload":{"push_id":8732433403,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1df154e297a4870a7a10233675f7dae8f136a268","before":"3b7e013c133ca8863cb98e3f68eda844cc0580b9","commits":[{"sha":"1df154e297a4870a7a10233675f7dae8f136a268","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/s-arikawa/s-arikawa/commits/1df154e297a4870a7a10233675f7dae8f136a268"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396250","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":417335025,"name":"msineath/github-stats","url":"https://api.github.com/repos/msineath/github-stats"},"payload":{"push_id":8732433410,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8842979d6d99e3cb73bad7778f472684009ff401","before":"6d8a279d93d49d778dabdf7aaa4a3f6aea7f588d","commits":[{"sha":"8842979d6d99e3cb73bad7778f472684009ff401","author":{"email":"github-stats[bot]@jstrieb.github.io","name":"jstrieb/github-stats"},"message":"Update generated files","distinct":true,"url":"https://api.github.com/repos/msineath/github-stats/commits/8842979d6d99e3cb73bad7778f472684009ff401"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396251","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433397,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ba483e13749c9220f419949847a92df7811587e3","before":"81e238338d0c3faa2d411b6102a4d8f6aacc68d2","commits":[{"sha":"ba483e13749c9220f419949847a92df7811587e3","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/ba483e13749c9220f419949847a92df7811587e3"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396254","type":"PushEvent","actor":{"id":4447136,"login":"su-github-machine-user","display_login":"su-github-machine-user","gravatar_id":"","url":"https://api.github.com/users/su-github-machine-user","avatar_url":"https://avatars.githubusercontent.com/u/4447136?"},"repo":{"id":10314483,"name":"su-github-machine-user/github-nagios-check","url":"https://api.github.com/repos/su-github-machine-user/github-nagios-check"},"payload":{"push_id":8732433402,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0e9154046643b0f7a5aeae9e25014a7759b955f9","before":"c8ca19b3352303bc10046e185317f87d958fc9fd","commits":[{"sha":"0e9154046643b0f7a5aeae9e25014a7759b955f9","author":{"email":"noreply@su.se","name":"root"},"message":"currentTime: 1640998804","distinct":true,"url":"https://api.github.com/repos/su-github-machine-user/github-nagios-check/commits/0e9154046643b0f7a5aeae9e25014a7759b955f9"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396255","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431507951,"name":"znyt/oss22","url":"https://api.github.com/repos/znyt/oss22"},"payload":{"push_id":8732433401,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3ec68215e1588bf1fb90917ae6dfb1fd3a89f1f9","before":"0e40ea2a16400d089858fa32e7e4b3f0d3750346","commits":[{"sha":"3ec68215e1588bf1fb90917ae6dfb1fd3a89f1f9","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss22/commits/3ec68215e1588bf1fb90917ae6dfb1fd3a89f1f9"}]},"public":true,"created_at":"2022-01-01T01:00:06Z"} +{"id":"19541396259","type":"PullRequestEvent","actor":{"id":54470577,"login":"johansalusu","display_login":"johansalusu","gravatar_id":"","url":"https://api.github.com/users/johansalusu","avatar_url":"https://avatars.githubusercontent.com/u/54470577?"},"repo":{"id":426951422,"name":"PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo"},"payload":{"action":"closed","number":19,"pull_request":{"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19","id":812434123,"node_id":"PR_kwDOGXLC_s4wbMLL","html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pull/19","diff_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pull/19.diff","patch_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pull/19.patch","issue_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/19","number":19,"state":"closed","locked":false,"title":"Absensi/fe1101","user":{"login":"blekkk","id":54475861,"node_id":"MDQ6VXNlcjU0NDc1ODYx","avatar_url":"https://avatars.githubusercontent.com/u/54475861?v=4","gravatar_id":"","url":"https://api.github.com/users/blekkk","html_url":"https://github.com/blekkk","followers_url":"https://api.github.com/users/blekkk/followers","following_url":"https://api.github.com/users/blekkk/following{/other_user}","gists_url":"https://api.github.com/users/blekkk/gists{/gist_id}","starred_url":"https://api.github.com/users/blekkk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blekkk/subscriptions","organizations_url":"https://api.github.com/users/blekkk/orgs","repos_url":"https://api.github.com/users/blekkk/repos","events_url":"https://api.github.com/users/blekkk/events{/privacy}","received_events_url":"https://api.github.com/users/blekkk/received_events","type":"User","site_admin":false},"body":"vue.config.js jangan di exclude","created_at":"2021-12-31T18:50:30Z","updated_at":"2022-01-01T01:00:06Z","closed_at":"2022-01-01T01:00:06Z","merged_at":"2022-01-01T01:00:06Z","merge_commit_sha":"4603112f29defcb64a1e0c6a859610a2f64aa174","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19/commits","review_comments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19/comments","review_comment_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/19/comments","statuses_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/statuses/40831fd101e937e266cae12529b1e3ff0a0e6f27","head":{"label":"PengembanganWeb-D4-B-JTK-2019:Absensi/FE1101","ref":"Absensi/FE1101","sha":"40831fd101e937e266cae12529b1e3ff0a0e6f27","user":{"login":"PengembanganWeb-D4-B-JTK-2019","id":94108974,"node_id":"O_kgDOBZv9Lg","avatar_url":"https://avatars.githubusercontent.com/u/94108974?v=4","gravatar_id":"","url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019","html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019","followers_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/followers","following_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/following{/other_user}","gists_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/gists{/gist_id}","starred_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/subscriptions","organizations_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/orgs","repos_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/repos","events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/events{/privacy}","received_events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/received_events","type":"Organization","site_admin":false},"repo":{"id":426951422,"node_id":"R_kgDOGXLC_g","name":"proyek3-monorepo","full_name":"PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","private":false,"owner":{"login":"PengembanganWeb-D4-B-JTK-2019","id":94108974,"node_id":"O_kgDOBZv9Lg","avatar_url":"https://avatars.githubusercontent.com/u/94108974?v=4","gravatar_id":"","url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019","html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019","followers_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/followers","following_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/following{/other_user}","gists_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/gists{/gist_id}","starred_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/subscriptions","organizations_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/orgs","repos_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/repos","events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/events{/privacy}","received_events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","description":null,"fork":true,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","forks_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/forks","keys_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/teams","hooks_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/hooks","issue_events_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/events{/number}","events_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/events","assignees_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/assignees{/user}","branches_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/branches{/branch}","tags_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/tags","blobs_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/statuses/{sha}","languages_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/languages","stargazers_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/stargazers","contributors_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/contributors","subscribers_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/subscribers","subscription_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/subscription","commits_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/contents/{+path}","compare_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/merges","archive_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/downloads","issues_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues{/number}","pulls_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls{/number}","milestones_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/milestones{/number}","notifications_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/labels{/name}","releases_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/releases{/id}","deployments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/deployments","created_at":"2021-11-11T10:00:26Z","updated_at":"2021-12-31T04:30:36Z","pushed_at":"2022-01-01T01:00:06Z","git_url":"git://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","ssh_url":"git@github.com:PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","clone_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","svn_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","homepage":null,"size":10156,"stargazers_count":0,"watchers_count":0,"language":"Vue","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":7,"open_issues":0,"watchers":0,"default_branch":"main-HelloWorld"}},"base":{"label":"PengembanganWeb-D4-B-JTK-2019:main-HelloWorld","ref":"main-HelloWorld","sha":"02f6b1a495f49c981c7e078fb20b8bdc525ce2c4","user":{"login":"PengembanganWeb-D4-B-JTK-2019","id":94108974,"node_id":"O_kgDOBZv9Lg","avatar_url":"https://avatars.githubusercontent.com/u/94108974?v=4","gravatar_id":"","url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019","html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019","followers_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/followers","following_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/following{/other_user}","gists_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/gists{/gist_id}","starred_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/subscriptions","organizations_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/orgs","repos_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/repos","events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/events{/privacy}","received_events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/received_events","type":"Organization","site_admin":false},"repo":{"id":426951422,"node_id":"R_kgDOGXLC_g","name":"proyek3-monorepo","full_name":"PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","private":false,"owner":{"login":"PengembanganWeb-D4-B-JTK-2019","id":94108974,"node_id":"O_kgDOBZv9Lg","avatar_url":"https://avatars.githubusercontent.com/u/94108974?v=4","gravatar_id":"","url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019","html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019","followers_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/followers","following_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/following{/other_user}","gists_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/gists{/gist_id}","starred_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/subscriptions","organizations_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/orgs","repos_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/repos","events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/events{/privacy}","received_events_url":"https://api.github.com/users/PengembanganWeb-D4-B-JTK-2019/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","description":null,"fork":true,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","forks_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/forks","keys_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/teams","hooks_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/hooks","issue_events_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/events{/number}","events_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/events","assignees_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/assignees{/user}","branches_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/branches{/branch}","tags_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/tags","blobs_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/refs{/sha}","trees_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/statuses/{sha}","languages_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/languages","stargazers_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/stargazers","contributors_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/contributors","subscribers_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/subscribers","subscription_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/subscription","commits_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits{/sha}","git_commits_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/git/commits{/sha}","comments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/comments{/number}","issue_comment_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/comments{/number}","contents_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/contents/{+path}","compare_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/merges","archive_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/downloads","issues_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues{/number}","pulls_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls{/number}","milestones_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/milestones{/number}","notifications_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/labels{/name}","releases_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/releases{/id}","deployments_url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/deployments","created_at":"2021-11-11T10:00:26Z","updated_at":"2021-12-31T04:30:36Z","pushed_at":"2022-01-01T01:00:06Z","git_url":"git://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","ssh_url":"git@github.com:PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","clone_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo.git","svn_url":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","homepage":null,"size":10156,"stargazers_count":0,"watchers_count":0,"language":"Vue","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":7,"open_issues":0,"watchers":0,"default_branch":"main-HelloWorld"}},"_links":{"self":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19"},"html":{"href":"https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pull/19"},"issue":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/19"},"comments":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/issues/19/comments"},"review_comments":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19/comments"},"review_comment":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/pulls/19/commits"},"statuses":{"href":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/statuses/40831fd101e937e266cae12529b1e3ff0a0e6f27"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"johansalusu","id":54470577,"node_id":"MDQ6VXNlcjU0NDcwNTc3","avatar_url":"https://avatars.githubusercontent.com/u/54470577?v=4","gravatar_id":"","url":"https://api.github.com/users/johansalusu","html_url":"https://github.com/johansalusu","followers_url":"https://api.github.com/users/johansalusu/followers","following_url":"https://api.github.com/users/johansalusu/following{/other_user}","gists_url":"https://api.github.com/users/johansalusu/gists{/gist_id}","starred_url":"https://api.github.com/users/johansalusu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johansalusu/subscriptions","organizations_url":"https://api.github.com/users/johansalusu/orgs","repos_url":"https://api.github.com/users/johansalusu/repos","events_url":"https://api.github.com/users/johansalusu/events{/privacy}","received_events_url":"https://api.github.com/users/johansalusu/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":13,"additions":2129,"deletions":410,"changed_files":43}},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":94108974,"login":"PengembanganWeb-D4-B-JTK-2019","gravatar_id":"","url":"https://api.github.com/orgs/PengembanganWeb-D4-B-JTK-2019","avatar_url":"https://avatars.githubusercontent.com/u/94108974?"}} +{"id":"19541396260","type":"PushEvent","actor":{"id":83860022,"login":"kingcata","display_login":"kingcata","gravatar_id":"","url":"https://api.github.com/users/kingcata","avatar_url":"https://avatars.githubusercontent.com/u/83860022?"},"repo":{"id":421227200,"name":"kingcata/zhxx","url":"https://api.github.com/repos/kingcata/zhxx"},"payload":{"push_id":8732433419,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1c8239139bf926bb0900ad1935c189cf294c0b0e","before":"e4a29a1b39b0009c02e6779730f939eeac4bd185","commits":[{"sha":"1c8239139bf926bb0900ad1935c189cf294c0b0e","author":{"email":"83860022+kingcata@users.noreply.github.com","name":"kingcata"},"message":"*","distinct":true,"url":"https://api.github.com/repos/kingcata/zhxx/commits/1c8239139bf926bb0900ad1935c189cf294c0b0e"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396261","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433432,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"240585132b1b06d4eaf070110bf7594f9ddeeec3","before":"f5bbd85a9d586c45aa339ec51252bbda856f4b45","commits":[{"sha":"240585132b1b06d4eaf070110bf7594f9ddeeec3","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update editor-pickup_2.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/240585132b1b06d4eaf070110bf7594f9ddeeec3"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396263","type":"PushEvent","actor":{"id":94412535,"login":"nhsexposed","display_login":"nhsexposed","gravatar_id":"","url":"https://api.github.com/users/nhsexposed","avatar_url":"https://avatars.githubusercontent.com/u/94412535?"},"repo":{"id":428450913,"name":"nhsexposed/UK-Pagers","url":"https://api.github.com/repos/nhsexposed/UK-Pagers"},"payload":{"push_id":8732433431,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"408e23d64aa03166500123f47981265d2c3750be","before":"4361016be3befff355de66430f179d131dec6b0d","commits":[{"sha":"408e23d64aa03166500123f47981265d2c3750be","author":{"email":"nhsexposed@protonmail.com","name":"nhsexposed"},"message":"Periodic update Sat Jan 1 01:00:02 UTC 2022","distinct":true,"url":"https://api.github.com/repos/nhsexposed/UK-Pagers/commits/408e23d64aa03166500123f47981265d2c3750be"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396267","type":"PushEvent","actor":{"id":18269707,"login":"jlbl","display_login":"jlbl","gravatar_id":"","url":"https://api.github.com/users/jlbl","avatar_url":"https://avatars.githubusercontent.com/u/18269707?"},"repo":{"id":144954717,"name":"UCSF-HPC/wynton-slash","url":"https://api.github.com/repos/UCSF-HPC/wynton-slash"},"payload":{"push_id":8732433425,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"aeaa7cec8a3cc9f02ce0edb423f3e7ea646ff95f","before":"74dffcbc3d59266fdf7a164a64bdcda1f3e35e0d","commits":[{"sha":"aeaa7cec8a3cc9f02ce0edb423f3e7ea646ff95f","author":{"email":"jlb@salilab.org","name":"Joshua Baker-LePain"},"message":"STATUS: Updated figures","distinct":true,"url":"https://api.github.com/repos/UCSF-HPC/wynton-slash/commits/aeaa7cec8a3cc9f02ce0edb423f3e7ea646ff95f"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":16865370,"login":"UCSF-HPC","gravatar_id":"","url":"https://api.github.com/orgs/UCSF-HPC","avatar_url":"https://avatars.githubusercontent.com/u/16865370?"}} +{"id":"19541396269","type":"PushEvent","actor":{"id":533180,"login":"scriptzteam","display_login":"scriptzteam","gravatar_id":"","url":"https://api.github.com/users/scriptzteam","avatar_url":"https://avatars.githubusercontent.com/u/533180?"},"repo":{"id":106103843,"name":"scriptzteam/UseNet-Newsgroups-Stats-v3","url":"https://api.github.com/repos/scriptzteam/UseNet-Newsgroups-Stats-v3"},"payload":{"push_id":8732433433,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4c9fb9e58e5663e8f6969f93aa60d2b7c8a21156","before":"12a64a9131d771b75349ad21035e1bc084cb680a","commits":[{"sha":"4c9fb9e58e5663e8f6969f93aa60d2b7c8a21156","author":{"email":"scriptzteam@gmail.com","name":"scriptzteam"},"message":"Update ^^","distinct":true,"url":"https://api.github.com/repos/scriptzteam/UseNet-Newsgroups-Stats-v3/commits/4c9fb9e58e5663e8f6969f93aa60d2b7c8a21156"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396270","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8732433430,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d2cb55329936d718a0a2c56d4f27d91c9e8628ed","before":"f90ba624b811db018f03393a393f3e0b69d42b10","commits":[{"sha":"d2cb55329936d718a0a2c56d4f27d91c9e8628ed","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/d2cb55329936d718a0a2c56d4f27d91c9e8628ed"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396271","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449226,"name":"shalini-devgit/Shalini-PerfBlue2","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue2"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing2","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396272","type":"PushEvent","actor":{"id":2064537,"login":"sosan","display_login":"sosan","gravatar_id":"","url":"https://api.github.com/users/sosan","avatar_url":"https://avatars.githubusercontent.com/u/2064537?"},"repo":{"id":349826174,"name":"sosan/Colaborador-rent-a-car-backend","url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend"},"payload":{"push_id":8732433421,"size":1,"distinct_size":1,"ref":"refs/heads/snyk-upgrade-966e64dbf91e2afbb8265474cf0a84c6","head":"cd4fb172a58bd3ef2887d09815d9d540e552b691","before":"848fbe2fcd4e560e97ccc36965e9db098fdea18b","commits":[{"sha":"cd4fb172a58bd3ef2887d09815d9d540e552b691","author":{"email":"snyk-bot@snyk.io","name":"snyk-bot"},"message":"fix: upgrade body-parser from 1.19.0 to 1.19.1\n\nSnyk has created this PR to upgrade body-parser from 1.19.0 to 1.19.1.\n\nSee this package in npm:\nhttps://www.npmjs.com/package/body-parser\n\nSee this project in Snyk:\nhttps://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879?utm_source=github&utm_medium=referral&page=upgrade-pr","distinct":true,"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/commits/cd4fb172a58bd3ef2887d09815d9d540e552b691"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396273","type":"PullRequestEvent","actor":{"id":19733683,"login":"snyk-bot","display_login":"snyk-bot","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","avatar_url":"https://avatars.githubusercontent.com/u/19733683?"},"repo":{"id":349826174,"name":"sosan/Colaborador-rent-a-car-backend","url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend"},"payload":{"action":"opened","number":49,"pull_request":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49","id":812479599,"node_id":"PR_kwDOFNnsfs4wbXRv","html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49","diff_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49.diff","patch_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49.patch","issue_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49","number":49,"state":"open","locked":false,"title":"[Snyk] Upgrade body-parser from 1.19.0 to 1.19.1","user":{"login":"snyk-bot","id":19733683,"node_id":"MDQ6VXNlcjE5NzMzNjgz","avatar_url":"https://avatars.githubusercontent.com/u/19733683?v=4","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","html_url":"https://github.com/snyk-bot","followers_url":"https://api.github.com/users/snyk-bot/followers","following_url":"https://api.github.com/users/snyk-bot/following{/other_user}","gists_url":"https://api.github.com/users/snyk-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/snyk-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snyk-bot/subscriptions","organizations_url":"https://api.github.com/users/snyk-bot/orgs","repos_url":"https://api.github.com/users/snyk-bot/repos","events_url":"https://api.github.com/users/snyk-bot/events{/privacy}","received_events_url":"https://api.github.com/users/snyk-bot/received_events","type":"User","site_admin":false},"body":"

Snyk has created this PR to upgrade body-parser from 1.19.0 to 1.19.1.

\n\n:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.\n
\n\n- The recommended version is **1 version** ahead of your current version.\n- The recommended version was released **21 days ago**, on 2021-12-10.\n\n\n
\nRelease notes\n
\n
\n Package name: body-parser\n
    \n
  • \n 1.19.1 - 2021-12-10
      \n
    • deps: bytes@3.1.1
    • \n
    • deps: http-errors@1.8.1\n
        \n
      • deps: inherits@2.0.4
      • \n
      • deps: toidentifier@1.0.1
      • \n
      • deps: setprototypeof@1.2.0
      • \n
      \n
    • \n
    • deps: qs@6.9.6
    • \n
    • deps: raw-body@2.4.2\n
        \n
      • deps: bytes@3.1.1
      • \n
      • deps: http-errors@1.8.1
      • \n
      \n
    • \n
    • deps: safe-buffer@5.2.1
    • \n
    • deps: type-is@~1.6.18
    • \n
    \n
  • \n
  • \n 1.19.0 - 2019-04-26
      \n
    • deps: bytes@3.1.0\n
        \n
      • Add petabyte (pb) support
      • \n
      \n
    • \n
    • deps: http-errors@1.7.2\n
        \n
      • Set constructor name when possible
      • \n
      • deps: setprototypeof@1.1.1
      • \n
      • deps: statuses@'>= 1.5.0 < 2'
      • \n
      \n
    • \n
    • deps: iconv-lite@0.4.24\n
        \n
      • Added encoding MIK
      • \n
      \n
    • \n
    • deps: qs@6.7.0\n
        \n
      • Fix parsing array brackets after index
      • \n
      \n
    • \n
    • deps: raw-body@2.4.0\n
        \n
      • deps: bytes@3.1.0
      • \n
      • deps: http-errors@1.7.2
      • \n
      • deps: iconv-lite@0.4.24
      • \n
      \n
    • \n
    • deps: type-is@~1.6.17\n
        \n
      • deps: mime-types@~2.1.24
      • \n
      • perf: prevent internal throw on invalid type
      • \n
      \n
    • \n
    \n
  • \n
\n from body-parser GitHub release notes\n
\n
\n\n\n
\n Commit messages\n
\n
\n Package name: body-parser\n
    \n
  • d0a214b 1.19.1
  • \n
  • fb172d4 build: eslint-plugin-promise@5.2.0
  • \n
  • c5e63cb build: Node.js@17.2
  • \n
  • c6d43bd build: eslint-plugin-import@2.25.3
  • \n
  • 313ed6d build: eslint-plugin-promise@5.1.1
  • \n
  • 8389b51 deps: bytes@3.1.1
  • \n
  • aae94b2 deps: http-errors@1.8.1
  • \n
  • 7f84d4f deps: raw-body@2.4.2
  • \n
  • abbdfc4 build: fix run names in Github Actions
  • \n
  • c6d0648 docs: fix build badge link
  • \n
  • 8c728e8 deps: qs@6.9.6
  • \n
  • 9dd5f4a build: support Node.js 17.x
  • \n
  • e4381cf build: eslint-plugin-standard@4.1.0
  • \n
  • a33200f build: eslint-plugin-promise@4.3.1
  • \n
  • 44f6bc1 build: eslint-plugin-markdown@2.2.1
  • \n
  • 268d4a2 build: mocha@9.1.3
  • \n
  • 13f195f build: supertest@6.1.6
  • \n
  • 88ad521 build: eslint@7.32.0
  • \n
  • d229294 deps: safe-buffer@5.2.1
  • \n
  • 26b1638 build: eslint-plugin-node@11.1.0
  • \n
  • ba7861e build: nyc@15.1.0
  • \n
  • cd44381 build: support Node.js 16.x
  • \n
  • 49980c5 build: eslint-plugin-import@2.25.2
  • \n
  • 901dd77 build: mocha@8.4.0
  • \n
\n\n Compare\n
\n
\n
\n\n**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*\n\nFor more information: \n\n🧐 [View latest project report](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879?utm_source=github&utm_medium=referral&page=upgrade-pr)\n\n🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr)\n\n🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879/settings/integration?pkg=body-parser&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades)\n\n\n","created_at":"2022-01-01T01:00:06Z","updated_at":"2022-01-01T01:00:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49/commits","review_comments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49/comments","review_comment_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/comments","statuses_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/statuses/cd4fb172a58bd3ef2887d09815d9d540e552b691","head":{"label":"sosan:snyk-upgrade-966e64dbf91e2afbb8265474cf0a84c6","ref":"snyk-upgrade-966e64dbf91e2afbb8265474cf0a84c6","sha":"cd4fb172a58bd3ef2887d09815d9d540e552b691","user":{"login":"sosan","id":2064537,"node_id":"MDQ6VXNlcjIwNjQ1Mzc=","avatar_url":"https://avatars.githubusercontent.com/u/2064537?v=4","gravatar_id":"","url":"https://api.github.com/users/sosan","html_url":"https://github.com/sosan","followers_url":"https://api.github.com/users/sosan/followers","following_url":"https://api.github.com/users/sosan/following{/other_user}","gists_url":"https://api.github.com/users/sosan/gists{/gist_id}","starred_url":"https://api.github.com/users/sosan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sosan/subscriptions","organizations_url":"https://api.github.com/users/sosan/orgs","repos_url":"https://api.github.com/users/sosan/repos","events_url":"https://api.github.com/users/sosan/events{/privacy}","received_events_url":"https://api.github.com/users/sosan/received_events","type":"User","site_admin":false},"repo":{"id":349826174,"node_id":"MDEwOlJlcG9zaXRvcnkzNDk4MjYxNzQ=","name":"Colaborador-rent-a-car-backend","full_name":"sosan/Colaborador-rent-a-car-backend","private":false,"owner":{"login":"sosan","id":2064537,"node_id":"MDQ6VXNlcjIwNjQ1Mzc=","avatar_url":"https://avatars.githubusercontent.com/u/2064537?v=4","gravatar_id":"","url":"https://api.github.com/users/sosan","html_url":"https://github.com/sosan","followers_url":"https://api.github.com/users/sosan/followers","following_url":"https://api.github.com/users/sosan/following{/other_user}","gists_url":"https://api.github.com/users/sosan/gists{/gist_id}","starred_url":"https://api.github.com/users/sosan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sosan/subscriptions","organizations_url":"https://api.github.com/users/sosan/orgs","repos_url":"https://api.github.com/users/sosan/repos","events_url":"https://api.github.com/users/sosan/events{/privacy}","received_events_url":"https://api.github.com/users/sosan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend","description":null,"fork":false,"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend","forks_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/forks","keys_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/teams","hooks_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/hooks","issue_events_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/events{/number}","events_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/events","assignees_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/assignees{/user}","branches_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/branches{/branch}","tags_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/tags","blobs_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/refs{/sha}","trees_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/statuses/{sha}","languages_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/languages","stargazers_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/stargazers","contributors_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/contributors","subscribers_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/subscribers","subscription_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/subscription","commits_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/commits{/sha}","git_commits_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/commits{/sha}","comments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/comments{/number}","issue_comment_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/comments{/number}","contents_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/contents/{+path}","compare_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/merges","archive_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/downloads","issues_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues{/number}","pulls_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls{/number}","milestones_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/milestones{/number}","notifications_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/labels{/name}","releases_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/releases{/id}","deployments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/deployments","created_at":"2021-03-20T20:14:40Z","updated_at":"2021-12-12T19:36:14Z","pushed_at":"2022-01-01T01:00:07Z","git_url":"git://github.com/sosan/Colaborador-rent-a-car-backend.git","ssh_url":"git@github.com:sosan/Colaborador-rent-a-car-backend.git","clone_url":"https://github.com/sosan/Colaborador-rent-a-car-backend.git","svn_url":"https://github.com/sosan/Colaborador-rent-a-car-backend","homepage":"colaborador-rent-a-car-bakend-git-backend-sosan.vercel.app","size":82823,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"backend"}},"base":{"label":"sosan:backend","ref":"backend","sha":"848fbe2fcd4e560e97ccc36965e9db098fdea18b","user":{"login":"sosan","id":2064537,"node_id":"MDQ6VXNlcjIwNjQ1Mzc=","avatar_url":"https://avatars.githubusercontent.com/u/2064537?v=4","gravatar_id":"","url":"https://api.github.com/users/sosan","html_url":"https://github.com/sosan","followers_url":"https://api.github.com/users/sosan/followers","following_url":"https://api.github.com/users/sosan/following{/other_user}","gists_url":"https://api.github.com/users/sosan/gists{/gist_id}","starred_url":"https://api.github.com/users/sosan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sosan/subscriptions","organizations_url":"https://api.github.com/users/sosan/orgs","repos_url":"https://api.github.com/users/sosan/repos","events_url":"https://api.github.com/users/sosan/events{/privacy}","received_events_url":"https://api.github.com/users/sosan/received_events","type":"User","site_admin":false},"repo":{"id":349826174,"node_id":"MDEwOlJlcG9zaXRvcnkzNDk4MjYxNzQ=","name":"Colaborador-rent-a-car-backend","full_name":"sosan/Colaborador-rent-a-car-backend","private":false,"owner":{"login":"sosan","id":2064537,"node_id":"MDQ6VXNlcjIwNjQ1Mzc=","avatar_url":"https://avatars.githubusercontent.com/u/2064537?v=4","gravatar_id":"","url":"https://api.github.com/users/sosan","html_url":"https://github.com/sosan","followers_url":"https://api.github.com/users/sosan/followers","following_url":"https://api.github.com/users/sosan/following{/other_user}","gists_url":"https://api.github.com/users/sosan/gists{/gist_id}","starred_url":"https://api.github.com/users/sosan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sosan/subscriptions","organizations_url":"https://api.github.com/users/sosan/orgs","repos_url":"https://api.github.com/users/sosan/repos","events_url":"https://api.github.com/users/sosan/events{/privacy}","received_events_url":"https://api.github.com/users/sosan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend","description":null,"fork":false,"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend","forks_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/forks","keys_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/teams","hooks_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/hooks","issue_events_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/events{/number}","events_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/events","assignees_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/assignees{/user}","branches_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/branches{/branch}","tags_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/tags","blobs_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/refs{/sha}","trees_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/statuses/{sha}","languages_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/languages","stargazers_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/stargazers","contributors_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/contributors","subscribers_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/subscribers","subscription_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/subscription","commits_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/commits{/sha}","git_commits_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/git/commits{/sha}","comments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/comments{/number}","issue_comment_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/comments{/number}","contents_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/contents/{+path}","compare_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/merges","archive_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/downloads","issues_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues{/number}","pulls_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls{/number}","milestones_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/milestones{/number}","notifications_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/labels{/name}","releases_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/releases{/id}","deployments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/deployments","created_at":"2021-03-20T20:14:40Z","updated_at":"2021-12-12T19:36:14Z","pushed_at":"2022-01-01T01:00:07Z","git_url":"git://github.com/sosan/Colaborador-rent-a-car-backend.git","ssh_url":"git@github.com:sosan/Colaborador-rent-a-car-backend.git","clone_url":"https://github.com/sosan/Colaborador-rent-a-car-backend.git","svn_url":"https://github.com/sosan/Colaborador-rent-a-car-backend","homepage":"colaborador-rent-a-car-bakend-git-backend-sosan.vercel.app","size":82823,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"backend"}},"_links":{"self":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49"},"html":{"href":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49"},"issue":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49"},"comments":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/comments"},"review_comments":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49/comments"},"review_comment":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49/commits"},"statuses":{"href":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/statuses/cd4fb172a58bd3ef2887d09815d9d540e552b691"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":251,"deletions":34,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396274","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433418,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8218e7e613bbba217559b2be423e15d29671eb23","before":"d2355541da592b11f2cf623204419dca6f780636","commits":[{"sha":"8218e7e613bbba217559b2be423e15d29671eb23","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:05 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/8218e7e613bbba217559b2be423e15d29671eb23"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396275","type":"PushEvent","actor":{"id":96604041,"login":"fsdf232","display_login":"fsdf232","gravatar_id":"","url":"https://api.github.com/users/fsdf232","avatar_url":"https://avatars.githubusercontent.com/u/96604041?"},"repo":{"id":443448234,"name":"fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a","url":"https://api.github.com/repos/fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a"},"payload":{"push_id":8732433435,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fa8f57abee63cb49311730bc433519a2ae054c5a","before":"2954869db703f24f1914f2e89b60dc35b4074537","commits":[{"sha":"fa8f57abee63cb49311730bc433519a2ae054c5a","author":{"email":"96604041+fsdf232@users.noreply.github.com","name":"fsdf232"},"message":"upload file 11acbc47f7e97ebac0bdac8de275068bd6e8b9256639d45a5971010d474fe703fd0caefda0c45bc6597a3f0266c48c87video_1022_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a/commits/fa8f57abee63cb49311730bc433519a2ae054c5a"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396282","type":"PushEvent","actor":{"id":93711880,"login":"rahmanto1997","display_login":"rahmanto1997","gravatar_id":"","url":"https://api.github.com/users/rahmanto1997","avatar_url":"https://avatars.githubusercontent.com/u/93711880?"},"repo":{"id":436628221,"name":"alta-rentz/rentz-qa_api_autotesting","url":"https://api.github.com/repos/alta-rentz/rentz-qa_api_autotesting"},"payload":{"push_id":8732433434,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"a78744265c787134c12aa5a64a96bd6ad0807f3a","before":"1c50eb53417507b0880720b3da624af1fe9a6d6c","commits":[{"sha":"a78744265c787134c12aa5a64a96bd6ad0807f3a","author":{"email":"manto.otnamhar@gmail.com","name":"Rahmanto"},"message":"Update scenario goals/mvp","distinct":true,"url":"https://api.github.com/repos/alta-rentz/rentz-qa_api_autotesting/commits/a78744265c787134c12aa5a64a96bd6ad0807f3a"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":95849499,"login":"alta-rentz","gravatar_id":"","url":"https://api.github.com/orgs/alta-rentz","avatar_url":"https://avatars.githubusercontent.com/u/95849499?"}} +{"id":"19541396283","type":"WatchEvent","actor":{"id":8432037,"login":"StillOnMyWay","display_login":"StillOnMyWay","gravatar_id":"","url":"https://api.github.com/users/StillOnMyWay","avatar_url":"https://avatars.githubusercontent.com/u/8432037?"},"repo":{"id":94485056,"name":"stackblitz/core","url":"https://api.github.com/repos/stackblitz/core"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":28635252,"login":"stackblitz","gravatar_id":"","url":"https://api.github.com/orgs/stackblitz","avatar_url":"https://avatars.githubusercontent.com/u/28635252?"}} +{"id":"19541396287","type":"PushEvent","actor":{"id":39223861,"login":"chrismailer","display_login":"chrismailer","gravatar_id":"","url":"https://api.github.com/users/chrismailer","avatar_url":"https://avatars.githubusercontent.com/u/39223861?"},"repo":{"id":430211852,"name":"chrismailer/loadshedding-calendar","url":"https://api.github.com/repos/chrismailer/loadshedding-calendar"},"payload":{"push_id":8732433442,"size":1,"distinct_size":1,"ref":"refs/heads/feed","head":"b2b6809efad314a4263ed2ced6e862961888b9df","before":"d7e962353e5d0d8e65f7086587cc887c28c6287d","commits":[{"sha":"b2b6809efad314a4263ed2ced6e862961888b9df","author":{"email":"christophermailer@icloud.com","name":"Christopher Mailer"},"message":"committing files","distinct":true,"url":"https://api.github.com/repos/chrismailer/loadshedding-calendar/commits/b2b6809efad314a4263ed2ced6e862961888b9df"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396288","type":"PushEvent","actor":{"id":352441,"login":"ym","display_login":"ym","gravatar_id":"","url":"https://api.github.com/users/ym","avatar_url":"https://avatars.githubusercontent.com/u/352441?"},"repo":{"id":135142260,"name":"misakaio/chnroutes2","url":"https://api.github.com/repos/misakaio/chnroutes2"},"payload":{"push_id":8732433414,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cd9feda22c3946d12ebbe694d5a05daff8c69f8c","before":"d4fc8b9500300035a8d9d7ac2030efe961c52a9e","commits":[{"sha":"cd9feda22c3946d12ebbe694d5a05daff8c69f8c","author":{"email":"noc@misaka.io","name":"RouteBot"},"message":"auto update","distinct":true,"url":"https://api.github.com/repos/misakaio/chnroutes2/commits/cd9feda22c3946d12ebbe694d5a05daff8c69f8c"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":29917333,"login":"misakaio","gravatar_id":"","url":"https://api.github.com/orgs/misakaio","avatar_url":"https://avatars.githubusercontent.com/u/29917333?"}} +{"id":"19541396289","type":"CreateEvent","actor":{"id":91225513,"login":"sai3639","display_login":"sai3639","gravatar_id":"","url":"https://api.github.com/users/sai3639","avatar_url":"https://avatars.githubusercontent.com/u/91225513?"},"repo":{"id":443449223,"name":"sai3639/website2","url":"https://api.github.com/repos/sai3639/website2"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":"Shows a homepage of a website ","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396293","type":"PushEvent","actor":{"id":1616850,"login":"HenrikBengtsson","display_login":"HenrikBengtsson","gravatar_id":"","url":"https://api.github.com/users/HenrikBengtsson","avatar_url":"https://avatars.githubusercontent.com/u/1616850?"},"repo":{"id":94832006,"name":"UCSF-TI/TIPCC-slash","url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash"},"payload":{"push_id":8732433444,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bfdbe47a741d08d2a6a414980dcba8d5d72cea12","before":"e4f2f55819a5934c68ba74fff14136e3b48a967d","commits":[{"sha":"bfdbe47a741d08d2a6a414980dcba8d5d72cea12","author":{"email":"hbslash-github@h.braju.com","name":"hbslash"},"message":"STATUS: Updated figures","distinct":true,"url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash/commits/bfdbe47a741d08d2a6a414980dcba8d5d72cea12"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":14284214,"login":"UCSF-TI","gravatar_id":"","url":"https://api.github.com/orgs/UCSF-TI","avatar_url":"https://avatars.githubusercontent.com/u/14284214?"}} +{"id":"19541396294","type":"PushEvent","actor":{"id":49043380,"login":"Peter-Crawley","display_login":"Peter-Crawley","gravatar_id":"","url":"https://api.github.com/users/Peter-Crawley","avatar_url":"https://avatars.githubusercontent.com/u/49043380?"},"repo":{"id":437385202,"name":"HorizonsEndMC/Ion","url":"https://api.github.com/repos/HorizonsEndMC/Ion"},"payload":{"push_id":8732433436,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ccb5a0b789950db5f14d6ae2015cc4eb031b9185","before":"c6782b8759858a9996d657c715e5dd6f53c4a937","commits":[{"sha":"ccb5a0b789950db5f14d6ae2015cc4eb031b9185","author":{"email":"peterzcrawley@gmail.com","name":"Peter-Crawley"},"message":"Lets bring back the reflection rubbish and hope that fixes it","distinct":true,"url":"https://api.github.com/repos/HorizonsEndMC/Ion/commits/ccb5a0b789950db5f14d6ae2015cc4eb031b9185"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":95584275,"login":"HorizonsEndMC","gravatar_id":"","url":"https://api.github.com/orgs/HorizonsEndMC","avatar_url":"https://avatars.githubusercontent.com/u/95584275?"}} +{"id":"19541396295","type":"PushEvent","actor":{"id":693300,"login":"labeneko","display_login":"labeneko","gravatar_id":"","url":"https://api.github.com/users/labeneko","avatar_url":"https://avatars.githubusercontent.com/u/693300?"},"repo":{"id":411148177,"name":"labeneko/time","url":"https://api.github.com/repos/labeneko/time"},"payload":{"push_id":8732433450,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0d1486f7d45a39e0d4f6bdb93d85899217af9a5d","before":"a7ff65d4d2cc76d0305593e13762192a7a82742e","commits":[{"sha":"0d1486f7d45a39e0d4f6bdb93d85899217af9a5d","author":{"email":"ec2-user@example.com","name":"ec2-user"},"message":"時間を保存","distinct":true,"url":"https://api.github.com/repos/labeneko/time/commits/0d1486f7d45a39e0d4f6bdb93d85899217af9a5d"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396298","type":"CreateEvent","actor":{"id":65275210,"login":"Mal-D","display_login":"Mal-D","gravatar_id":"","url":"https://api.github.com/users/Mal-D","avatar_url":"https://avatars.githubusercontent.com/u/65275210?"},"repo":{"id":443449225,"name":"Mal-D/Scorpions-Nest","url":"https://api.github.com/repos/Mal-D/Scorpions-Nest"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":"Scorpion's Nest was inspired by the recent unearthing of a cache of late 20th century Terran publications.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396299","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":306721464,"name":"letieu/letieu","url":"https://api.github.com/repos/letieu/letieu"},"payload":{"push_id":8732433457,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"47978b0608f2ba9f7b24436e6b5aa03d951b1371","before":"0f704ae782508880f32a1f15598f6c3d4b305917","commits":[{"sha":"47978b0608f2ba9f7b24436e6b5aa03d951b1371","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update github-metrics.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/letieu/letieu/commits/47978b0608f2ba9f7b24436e6b5aa03d951b1371"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396300","type":"PushEvent","actor":{"id":61189092,"login":"ValenciaJCamilo","display_login":"ValenciaJCamilo","gravatar_id":"","url":"https://api.github.com/users/ValenciaJCamilo","avatar_url":"https://avatars.githubusercontent.com/u/61189092?"},"repo":{"id":442972910,"name":"ValenciaJCamilo/Platzi","url":"https://api.github.com/repos/ValenciaJCamilo/Platzi"},"payload":{"push_id":8732433452,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"dd861e3e3d21d20521865535a9b63bea698244ef","before":"8f776c3da4f84f0066349a28e86c75a9c2273eed","commits":[{"sha":"dd861e3e3d21d20521865535a9b63bea698244ef","author":{"email":"camilovalncias@gmail.com","name":"ValenciaJCamilo"},"message":"Ajuste de tamaño de letras","distinct":true,"url":"https://api.github.com/repos/ValenciaJCamilo/Platzi/commits/dd861e3e3d21d20521865535a9b63bea698244ef"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396301","type":"PushEvent","actor":{"id":82795154,"login":"rramoliya005","display_login":"rramoliya005","gravatar_id":"","url":"https://api.github.com/users/rramoliya005","avatar_url":"https://avatars.githubusercontent.com/u/82795154?"},"repo":{"id":436841915,"name":"rramoliya005/cs305_rr2282","url":"https://api.github.com/repos/rramoliya005/cs305_rr2282"},"payload":{"push_id":8732433463,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"2657a9ed20cd43356812b525865195754a513fbd","before":"f70a41ac046812dac8937932d6b795ebe4f6204c","commits":[{"sha":"2657a9ed20cd43356812b525865195754a513fbd","author":{"email":"rr2282@nau.edu","name":"rajkumar"},"message":"files updated at 01:00:03","distinct":true,"url":"https://api.github.com/repos/rramoliya005/cs305_rr2282/commits/2657a9ed20cd43356812b525865195754a513fbd"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396304","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433453,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"7b6869427a97abe6108d9342246666cb65126780","before":"51ce2f2b08644380f079242a53f8aeb7d9e4c3ba","commits":[{"sha":"7b6869427a97abe6108d9342246666cb65126780","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/plasma for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/7b6869427a97abe6108d9342246666cb65126780"}]},"public":true,"created_at":"2022-01-01T01:00:07Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396305","type":"PushEvent","actor":{"id":45486116,"login":"CurrencyKeypirinha","display_login":"CurrencyKeypirinha","gravatar_id":"","url":"https://api.github.com/users/CurrencyKeypirinha","avatar_url":"https://avatars.githubusercontent.com/u/45486116?"},"repo":{"id":155561633,"name":"CurrencyKeypirinha/currency-exchange","url":"https://api.github.com/repos/CurrencyKeypirinha/currency-exchange"},"payload":{"push_id":8732433464,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d080b5be6cd7d425056a80d2bafd0fb76800fe3f","before":"a4d4a4f42e50a43e26ea73698c8d5be7696944b2","commits":[{"sha":"d080b5be6cd7d425056a80d2bafd0fb76800fe3f","author":{"email":"agieselvedana@gmail.com","name":"Arthur Vedana"},"message":"Update currencies.json","distinct":true,"url":"https://api.github.com/repos/CurrencyKeypirinha/currency-exchange/commits/d080b5be6cd7d425056a80d2bafd0fb76800fe3f"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396306","type":"PushEvent","actor":{"id":9713112,"login":"taejoong","display_login":"taejoong","gravatar_id":"","url":"https://api.github.com/users/taejoong","avatar_url":"https://avatars.githubusercontent.com/u/9713112?"},"repo":{"id":327043790,"name":"kimchi-crypto/kimchi-crypto.github.io","url":"https://api.github.com/repos/kimchi-crypto/kimchi-crypto.github.io"},"payload":{"push_id":8732433465,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"40215ebfe834be6c725c66d01a41e9604e6ef03d","before":"a35ef8ca3760330847b150b2d652ee1bf96836d5","commits":[{"sha":"40215ebfe834be6c725c66d01a41e9604e6ef03d","author":{"email":"tijay00@gmail.com","name":"taejoong"},"message":"ho","distinct":true,"url":"https://api.github.com/repos/kimchi-crypto/kimchi-crypto.github.io/commits/40215ebfe834be6c725c66d01a41e9604e6ef03d"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396307","type":"PushEvent","actor":{"id":96906971,"login":"312fsd","display_login":"312fsd","gravatar_id":"","url":"https://api.github.com/users/312fsd","avatar_url":"https://avatars.githubusercontent.com/u/96906971?"},"repo":{"id":443422555,"name":"312fsd/1517bfc9-ecc8-4f12-bdfd-5183b771b402","url":"https://api.github.com/repos/312fsd/1517bfc9-ecc8-4f12-bdfd-5183b771b402"},"payload":{"push_id":8732433460,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d8472442793734aaf41673d18e0b4be868e91006","before":"09f00def8bfda9c8360148f68f0614b22f91d4f8","commits":[{"sha":"d8472442793734aaf41673d18e0b4be868e91006","author":{"email":"96906971+312fsd@users.noreply.github.com","name":"312fsd"},"message":"upload file b1fc394c3b18ce94f300553864215866ccf74d0cfbff971d5d60fbf5d9f9889d29fb8ea0f9b60c41216b04ea459a7b94video_5_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/312fsd/1517bfc9-ecc8-4f12-bdfd-5183b771b402/commits/d8472442793734aaf41673d18e0b4be868e91006"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396313","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431509057,"name":"znyt/oss29","url":"https://api.github.com/repos/znyt/oss29"},"payload":{"push_id":8732433468,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7b9898b6d01d1f1cf82c918e0204bdd9065f37be","before":"d3ef10a7daaa91c01e5bac55238159c03a37e80b","commits":[{"sha":"7b9898b6d01d1f1cf82c918e0204bdd9065f37be","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss29/commits/7b9898b6d01d1f1cf82c918e0204bdd9065f37be"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396314","type":"PushEvent","actor":{"id":96604041,"login":"fsdf232","display_login":"fsdf232","gravatar_id":"","url":"https://api.github.com/users/fsdf232","avatar_url":"https://avatars.githubusercontent.com/u/96604041?"},"repo":{"id":443448234,"name":"fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a","url":"https://api.github.com/repos/fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a"},"payload":{"push_id":8732433471,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"de2c26b5e04cbcae35708a26ca45f265892ce24f","before":"fa8f57abee63cb49311730bc433519a2ae054c5a","commits":[{"sha":"de2c26b5e04cbcae35708a26ca45f265892ce24f","author":{"email":"96604041+fsdf232@users.noreply.github.com","name":"fsdf232"},"message":"upload file 11acbc47f7e97ebac0bdac8de275068bd6e8b9256639d45a5971010d474fe703fd0caefda0c45bc6597a3f0266c48c87video_764_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/fsdf232/40ad4ad4-ac9d-4d8e-81c3-7ddedd39729a/commits/de2c26b5e04cbcae35708a26ca45f265892ce24f"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396316","type":"PushEvent","actor":{"id":87412134,"login":"vophu1991","display_login":"vophu1991","gravatar_id":"","url":"https://api.github.com/users/vophu1991","avatar_url":"https://avatars.githubusercontent.com/u/87412134?"},"repo":{"id":400809901,"name":"vophu1991/iptv1","url":"https://api.github.com/repos/vophu1991/iptv1"},"payload":{"push_id":8732433469,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9f89c26e2d9b55682a09b596252f6d654eb9823c","before":"495789b97b0b5f2fbc8bee41b89bd949cb5aac6f","commits":[{"sha":"9f89c26e2d9b55682a09b596252f6d654eb9823c","author":{"email":"87412134+vophu1991@users.noreply.github.com","name":"vophu1991"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/vophu1991/iptv1/commits/9f89c26e2d9b55682a09b596252f6d654eb9823c"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396318","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433479,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e3ff90ad648c12c7d85723b93e863aa577beab25","before":"ef6423bf4c3de749ed34a4f03fb9691647946c62","commits":[{"sha":"e3ff90ad648c12c7d85723b93e863aa577beab25","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nsc413_2.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/e3ff90ad648c12c7d85723b93e863aa577beab25"}]},"public":true,"created_at":"2022-01-01T01:00:07Z"} +{"id":"19541396326","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433475,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8645368888a3a3a6e129f7c7a7a67bf9d2febc82","before":"8218e7e613bbba217559b2be423e15d29671eb23","commits":[{"sha":"8645368888a3a3a6e129f7c7a7a67bf9d2febc82","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:06 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/8645368888a3a3a6e129f7c7a7a67bf9d2febc82"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396328","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732433466,"size":1,"distinct_size":1,"ref":"refs/heads/bump_dracut_system","head":"e1ab509ae3207e05f41df7a780112b68fa7c2ca7","before":"511a716915742977d98a6d28df54dc4257c03103","commits":[{"sha":"e1ab509ae3207e05f41df7a780112b68fa7c2ca7","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"Bump system/dracut to RHEL-7.2","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/e1ab509ae3207e05f41df7a780112b68fa7c2ca7"}]},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396329","type":"PushEvent","actor":{"id":5690934,"login":"Lars-","display_login":"Lars-","gravatar_id":"","url":"https://api.github.com/users/Lars-","avatar_url":"https://avatars.githubusercontent.com/u/5690934?"},"repo":{"id":297981397,"name":"Lars-/PIA-servers","url":"https://api.github.com/repos/Lars-/PIA-servers"},"payload":{"push_id":8732433474,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cc3a663358d7cdab27dc24a9377de36c1fd99469","before":"fc79cb3136051b9575974db014045f3f66f028af","commits":[{"sha":"cc3a663358d7cdab27dc24a9377de36c1fd99469","author":{"email":"lars@ljpc.nl","name":"Lars Jansen"},"message":"Scheduled update","distinct":true,"url":"https://api.github.com/repos/Lars-/PIA-servers/commits/cc3a663358d7cdab27dc24a9377de36c1fd99469"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396330","type":"CreateEvent","actor":{"id":59385365,"login":"navjotdadwal","display_login":"navjotdadwal","gravatar_id":"","url":"https://api.github.com/users/navjotdadwal","avatar_url":"https://avatars.githubusercontent.com/u/59385365?"},"repo":{"id":443449140,"name":"navjotdadwal/-DadwalSocialMedia","url":"https://api.github.com/repos/navjotdadwal/-DadwalSocialMedia"},"payload":{"ref":"master","ref_type":"branch","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396332","type":"PushEvent","actor":{"id":878993,"login":"dongri","display_login":"dongri","gravatar_id":"","url":"https://api.github.com/users/dongri","avatar_url":"https://avatars.githubusercontent.com/u/878993?"},"repo":{"id":49806758,"name":"dongri/pages","url":"https://api.github.com/repos/dongri/pages"},"payload":{"push_id":8732433492,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"092b7ccdcbe0ac3e157b322104d4dcd459fba579","before":"8458357c3aa2cf9014e2f26b20e490ad862aefaf","commits":[{"sha":"092b7ccdcbe0ac3e157b322104d4dcd459fba579","author":{"email":"dongrify@gmail.com","name":"Dongri Jin"},"message":"草","distinct":true,"url":"https://api.github.com/repos/dongri/pages/commits/092b7ccdcbe0ac3e157b322104d4dcd459fba579"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396333","type":"CreateEvent","actor":{"id":12321946,"login":"fanmingyu212","display_login":"fanmingyu212","gravatar_id":"","url":"https://api.github.com/users/fanmingyu212","avatar_url":"https://avatars.githubusercontent.com/u/12321946?"},"repo":{"id":414374095,"name":"Jayich-Lab/jax","url":"https://api.github.com/repos/Jayich-Lab/jax"},"payload":{"ref":"mf/default-profile-change","ref_type":"branch","master_branch":"main","description":"Jayich lab ARTIQ extension module","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":22992895,"login":"Jayich-Lab","gravatar_id":"","url":"https://api.github.com/orgs/Jayich-Lab","avatar_url":"https://avatars.githubusercontent.com/u/22992895?"}} +{"id":"19541396334","type":"PushEvent","actor":{"id":2687598,"login":"milesholt","display_login":"milesholt","gravatar_id":"","url":"https://api.github.com/users/milesholt","avatar_url":"https://avatars.githubusercontent.com/u/2687598?"},"repo":{"id":247480564,"name":"milesholt/autotrade1","url":"https://api.github.com/repos/milesholt/autotrade1"},"payload":{"push_id":8732433496,"size":1,"distinct_size":1,"ref":"refs/heads/version2","head":"53ab0051c6a6c8d4c00fa3b40d58605fc38ddb8a","before":"fb861c17f2a3cf825a4f99ed5f4689ee3832138c","commits":[{"sha":"53ab0051c6a6c8d4c00fa3b40d58605fc38ddb8a","author":{"email":"contact@milesholt.co.uk","name":"milesholt"},"message":"File updated - January 1, 2022 1:00 AM","distinct":true,"url":"https://api.github.com/repos/milesholt/autotrade1/commits/53ab0051c6a6c8d4c00fa3b40d58605fc38ddb8a"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396338","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":273793678,"name":"remal/tracing-spec","url":"https://api.github.com/repos/remal/tracing-spec"},"payload":{"push_id":8732433482,"size":2,"distinct_size":1,"ref":"refs/heads/renovate/major-2021-org.springframework","head":"7431c1e97c911de95f63a1030cf6436c0f8ac001","before":"45be4f986fa27a415b87771ea8690063cc63d199","commits":[{"sha":"d9ec48600bab6c42ff486140be1229938e258f9c","author":{"email":"mergify[bot]@users.noreply.github.com","name":"mergify[bot]"},"message":"[push-back] Push-back updated files during build","distinct":false,"url":"https://api.github.com/repos/remal/tracing-spec/commits/d9ec48600bab6c42ff486140be1229938e258f9c"},{"sha":"7431c1e97c911de95f63a1030cf6436c0f8ac001","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"Update dependency org.springframework.cloud:spring-cloud-dependencies to v2021","distinct":true,"url":"https://api.github.com/repos/remal/tracing-spec/commits/7431c1e97c911de95f63a1030cf6436c0f8ac001"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396340","type":"PushEvent","actor":{"id":43969715,"login":"vscode-issue-tracker-bot","display_login":"vscode-issue-tracker-bot","gravatar_id":"","url":"https://api.github.com/users/vscode-issue-tracker-bot","avatar_url":"https://avatars.githubusercontent.com/u/43969715?"},"repo":{"id":148243208,"name":"lannonbr/vscode-issue-tracker","url":"https://api.github.com/repos/lannonbr/vscode-issue-tracker"},"payload":{"push_id":8732433485,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"17814a482ccf27e4ce3f5b4cee5615ccfb7a87d4","before":"a49446438e60be4ade7210aac0599e0f7abdad56","commits":[{"sha":"17814a482ccf27e4ce3f5b4cee5615ccfb7a87d4","author":{"email":"vscodeissuetrackerbot@gmail.com","name":"VS Code Issue Tracker Bot"},"message":"Updated data source","distinct":true,"url":"https://api.github.com/repos/lannonbr/vscode-issue-tracker/commits/17814a482ccf27e4ce3f5b4cee5615ccfb7a87d4"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396343","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":384060474,"name":"ChinHongTan/ChinHongTan","url":"https://api.github.com/repos/ChinHongTan/ChinHongTan"},"payload":{"push_id":8732433502,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ae1ea8d7bc1b92db3442db277b2aa9750e84a1a8","before":"e85bbe7c866123da55be1495a42e66def00e1099","commits":[{"sha":"ae1ea8d7bc1b92db3442db277b2aa9750e84a1a8","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/ChinHongTan/ChinHongTan/commits/ae1ea8d7bc1b92db3442db277b2aa9750e84a1a8"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396346","type":"PushEvent","actor":{"id":20981261,"login":"Boatshoes24","display_login":"Boatshoes24","gravatar_id":"","url":"https://api.github.com/users/Boatshoes24","avatar_url":"https://avatars.githubusercontent.com/u/20981261?"},"repo":{"id":287565853,"name":"Boatshoes24/ShoesBot2","url":"https://api.github.com/repos/Boatshoes24/ShoesBot2"},"payload":{"push_id":8732433498,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2d05e34536334188a2bb52259eb65b767c0d66a4","before":"886a36db2587170dd0834a990a26114cbc8ad748","commits":[{"sha":"2d05e34536334188a2bb52259eb65b767c0d66a4","author":{"email":"wmoulton4@gmail.com","name":"Boatshoes24"},"message":"change reaction collection timer back to 1 week in event command","distinct":true,"url":"https://api.github.com/repos/Boatshoes24/ShoesBot2/commits/2d05e34536334188a2bb52259eb65b767c0d66a4"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396371","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433509,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"37142763d2f51f8f7cbe1c3a93c82538f7565ef0","before":"240585132b1b06d4eaf070110bf7594f9ddeeec3","commits":[{"sha":"37142763d2f51f8f7cbe1c3a93c82538f7565ef0","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update headline-news_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/37142763d2f51f8f7cbe1c3a93c82538f7565ef0"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396372","type":"PushEvent","actor":{"id":35032477,"login":"d2a-pnagel","display_login":"d2a-pnagel","gravatar_id":"","url":"https://api.github.com/users/d2a-pnagel","avatar_url":"https://avatars.githubusercontent.com/u/35032477?"},"repo":{"id":281976195,"name":"data2act/open-data","url":"https://api.github.com/repos/data2act/open-data"},"payload":{"push_id":8732433508,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1f235bfcbf53531edebe53e0a48ae1b97f8596b5","before":"ec747bfcbcb3c0f602c76f8e73beba4cfb476a44","commits":[{"sha":"1f235bfcbf53531edebe53e0a48ae1b97f8596b5","author":{"email":"ad@valuecare.nl","name":"Helmhaar"},"message":"Downloaded files","distinct":true,"url":"https://api.github.com/repos/data2act/open-data/commits/1f235bfcbf53531edebe53e0a48ae1b97f8596b5"}]},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":4310788,"login":"data2act","gravatar_id":"","url":"https://api.github.com/orgs/data2act","avatar_url":"https://avatars.githubusercontent.com/u/4310788?"}} +{"id":"19541396373","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":308494669,"name":"gagoar/ts-node-template","url":"https://api.github.com/repos/gagoar/ts-node-template"},"payload":{"push_id":8732433503,"size":2,"distinct_size":1,"ref":"refs/heads/renovate/eslint-8.x","head":"a1308303446a9aaa422f98625e22ebf933b6783b","before":"3e91c6433c69b3d27751e264f58c960abf7687d7","commits":[{"sha":"42f3e97c45a6000353209cbd71e833b99a1912c3","author":{"email":"29139614+renovate[bot]@users.noreply.github.com","name":"renovate[bot]"},"message":"Update dependency prettier-eslint to v13 (#92)\n\nCo-authored-by: Renovate Bot ","distinct":false,"url":"https://api.github.com/repos/gagoar/ts-node-template/commits/42f3e97c45a6000353209cbd71e833b99a1912c3"},{"sha":"a1308303446a9aaa422f98625e22ebf933b6783b","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"Update dependency eslint to v8","distinct":true,"url":"https://api.github.com/repos/gagoar/ts-node-template/commits/a1308303446a9aaa422f98625e22ebf933b6783b"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396374","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433519,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ccc20056def35ec817549f97b8876a7698d2be1e","before":"8645368888a3a3a6e129f7c7a7a67bf9d2febc82","commits":[{"sha":"ccc20056def35ec817549f97b8876a7698d2be1e","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:07 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/ccc20056def35ec817549f97b8876a7698d2be1e"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396376","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":108403134,"name":"TheChelsOrg/bot_tocfcws_news","url":"https://api.github.com/repos/TheChelsOrg/bot_tocfcws_news"},"payload":{"push_id":8732433522,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"48c3ba7fbbdb5a283457bd92037fa30ca26366ab","before":"9def2a52b0a560ff877422f2621c87f73f7250f7","commits":[{"sha":"48c3ba7fbbdb5a283457bd92037fa30ca26366ab","author":{"email":"actions@users.noreply.github.com","name":"Automated"},"message":"Updated with latest","distinct":true,"url":"https://api.github.com/repos/TheChelsOrg/bot_tocfcws_news/commits/48c3ba7fbbdb5a283457bd92037fa30ca26366ab"}]},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":70075151,"login":"TheChelsOrg","gravatar_id":"","url":"https://api.github.com/orgs/TheChelsOrg","avatar_url":"https://avatars.githubusercontent.com/u/70075151?"}} +{"id":"19541396381","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433525,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1ba4da2605879b65e36bc28af8710744422be6d1","before":"ba483e13749c9220f419949847a92df7811587e3","commits":[{"sha":"1ba4da2605879b65e36bc28af8710744422be6d1","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/1ba4da2605879b65e36bc28af8710744422be6d1"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396383","type":"PushEvent","actor":{"id":35780502,"login":"bthompson7","display_login":"bthompson7","gravatar_id":"","url":"https://api.github.com/users/bthompson7","avatar_url":"https://avatars.githubusercontent.com/u/35780502?"},"repo":{"id":237661423,"name":"bthompson7/pi-sensor","url":"https://api.github.com/repos/bthompson7/pi-sensor"},"payload":{"push_id":8732433528,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9bdff75eb33a74b96553b93f0fe80f8efe6a5b15","before":"e6ba7794f386c10eb560c859ec74ab792e9d957b","commits":[{"sha":"9bdff75eb33a74b96553b93f0fe80f8efe6a5b15","author":{"email":"splitoe@gmail.com","name":"bthompson7"},"message":"Nightly automatic database backup","distinct":true,"url":"https://api.github.com/repos/bthompson7/pi-sensor/commits/9bdff75eb33a74b96553b93f0fe80f8efe6a5b15"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396387","type":"ForkEvent","actor":{"id":27978407,"login":"chasejkal","display_login":"chasejkal","gravatar_id":"","url":"https://api.github.com/users/chasejkal","avatar_url":"https://avatars.githubusercontent.com/u/27978407?"},"repo":{"id":426715783,"name":"LunarClient/ServerMappings","url":"https://api.github.com/repos/LunarClient/ServerMappings"},"payload":{"forkee":{"id":443449230,"node_id":"R_kgDOGm5_jg","name":"ServerMappings","full_name":"chasejkal/ServerMappings","private":false,"owner":{"login":"chasejkal","id":27978407,"node_id":"MDQ6VXNlcjI3OTc4NDA3","avatar_url":"https://avatars.githubusercontent.com/u/27978407?v=4","gravatar_id":"","url":"https://api.github.com/users/chasejkal","html_url":"https://github.com/chasejkal","followers_url":"https://api.github.com/users/chasejkal/followers","following_url":"https://api.github.com/users/chasejkal/following{/other_user}","gists_url":"https://api.github.com/users/chasejkal/gists{/gist_id}","starred_url":"https://api.github.com/users/chasejkal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chasejkal/subscriptions","organizations_url":"https://api.github.com/users/chasejkal/orgs","repos_url":"https://api.github.com/users/chasejkal/repos","events_url":"https://api.github.com/users/chasejkal/events{/privacy}","received_events_url":"https://api.github.com/users/chasejkal/received_events","type":"User","site_admin":false},"html_url":"https://github.com/chasejkal/ServerMappings","description":"Public mapping of Minecraft server IPs <-> a pretty display name","fork":true,"url":"https://api.github.com/repos/chasejkal/ServerMappings","forks_url":"https://api.github.com/repos/chasejkal/ServerMappings/forks","keys_url":"https://api.github.com/repos/chasejkal/ServerMappings/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chasejkal/ServerMappings/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chasejkal/ServerMappings/teams","hooks_url":"https://api.github.com/repos/chasejkal/ServerMappings/hooks","issue_events_url":"https://api.github.com/repos/chasejkal/ServerMappings/issues/events{/number}","events_url":"https://api.github.com/repos/chasejkal/ServerMappings/events","assignees_url":"https://api.github.com/repos/chasejkal/ServerMappings/assignees{/user}","branches_url":"https://api.github.com/repos/chasejkal/ServerMappings/branches{/branch}","tags_url":"https://api.github.com/repos/chasejkal/ServerMappings/tags","blobs_url":"https://api.github.com/repos/chasejkal/ServerMappings/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chasejkal/ServerMappings/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chasejkal/ServerMappings/git/refs{/sha}","trees_url":"https://api.github.com/repos/chasejkal/ServerMappings/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chasejkal/ServerMappings/statuses/{sha}","languages_url":"https://api.github.com/repos/chasejkal/ServerMappings/languages","stargazers_url":"https://api.github.com/repos/chasejkal/ServerMappings/stargazers","contributors_url":"https://api.github.com/repos/chasejkal/ServerMappings/contributors","subscribers_url":"https://api.github.com/repos/chasejkal/ServerMappings/subscribers","subscription_url":"https://api.github.com/repos/chasejkal/ServerMappings/subscription","commits_url":"https://api.github.com/repos/chasejkal/ServerMappings/commits{/sha}","git_commits_url":"https://api.github.com/repos/chasejkal/ServerMappings/git/commits{/sha}","comments_url":"https://api.github.com/repos/chasejkal/ServerMappings/comments{/number}","issue_comment_url":"https://api.github.com/repos/chasejkal/ServerMappings/issues/comments{/number}","contents_url":"https://api.github.com/repos/chasejkal/ServerMappings/contents/{+path}","compare_url":"https://api.github.com/repos/chasejkal/ServerMappings/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chasejkal/ServerMappings/merges","archive_url":"https://api.github.com/repos/chasejkal/ServerMappings/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chasejkal/ServerMappings/downloads","issues_url":"https://api.github.com/repos/chasejkal/ServerMappings/issues{/number}","pulls_url":"https://api.github.com/repos/chasejkal/ServerMappings/pulls{/number}","milestones_url":"https://api.github.com/repos/chasejkal/ServerMappings/milestones{/number}","notifications_url":"https://api.github.com/repos/chasejkal/ServerMappings/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chasejkal/ServerMappings/labels{/name}","releases_url":"https://api.github.com/repos/chasejkal/ServerMappings/releases{/id}","deployments_url":"https://api.github.com/repos/chasejkal/ServerMappings/deployments","created_at":"2022-01-01T01:00:08Z","updated_at":"2022-01-01T00:04:20Z","pushed_at":"2021-12-31T23:38:35Z","git_url":"git://github.com/chasejkal/ServerMappings.git","ssh_url":"git@github.com:chasejkal/ServerMappings.git","clone_url":"https://github.com/chasejkal/ServerMappings.git","svn_url":"https://github.com/chasejkal/ServerMappings","homepage":"","size":15532,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":57332930,"login":"LunarClient","gravatar_id":"","url":"https://api.github.com/orgs/LunarClient","avatar_url":"https://avatars.githubusercontent.com/u/57332930?"}} +{"id":"19541396388","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433527,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"ce786fac3d7d6ccb0c6f82664ee8fd3b9483c86c","before":"7b6869427a97abe6108d9342246666cb65126780","commits":[{"sha":"ce786fac3d7d6ccb0c6f82664ee8fd3b9483c86c","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/qt for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/ce786fac3d7d6ccb0c6f82664ee8fd3b9483c86c"}]},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396390","type":"DeleteEvent","actor":{"id":21179028,"login":"paulsukow","display_login":"paulsukow","gravatar_id":"","url":"https://api.github.com/users/paulsukow","avatar_url":"https://avatars.githubusercontent.com/u/21179028?"},"repo":{"id":443437595,"name":"paulsukow/myconf","url":"https://api.github.com/repos/paulsukow/myconf"},"payload":{"ref":"master","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396389","type":"PushEvent","actor":{"id":1348006,"login":"stemnic","display_login":"stemnic","gravatar_id":"","url":"https://api.github.com/users/stemnic","avatar_url":"https://avatars.githubusercontent.com/u/1348006?"},"repo":{"id":278063790,"name":"stemnic/binutils-gdb","url":"https://api.github.com/repos/stemnic/binutils-gdb"},"payload":{"push_id":8732433530,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"63f8d12d6c85f114ca12c0c00f7b78000be9251f","before":"2e91308fb4b2d19c66203fcc2d8c43241fd101dd","commits":[{"sha":"e5b10c4079279db9aa86225a3b4b4c30280c322e","author":{"email":"tamar.christina@arm.com","name":"Tamar Christina"},"message":"ld: fix coff PE SEH\n\nCOFF_WITH_pex64 and COFF_WITH_peAArch64 can't be true at the same time.\nThat means that two conditionals that control the sorting of the .pdata section\nbecame a falsum.\n\nThe testsuite doesn't catch this because the linker does the sorting and to link\nyou require library support from the unwinder so we can't test from binutils in\nisolation.\n\nbfd/ChangeLog:\n\n2021-12-31 Tamar Christina \n\n\tPR ld/28682\n\t* peXXigen.c: Fix conditional.","distinct":true,"url":"https://api.github.com/repos/stemnic/binutils-gdb/commits/e5b10c4079279db9aa86225a3b4b4c30280c322e"},{"sha":"831083d300c9e7f5a224df60c3a059725fb04882","author":{"email":"hjl.tools@gmail.com","name":"H.J. Lu"},"message":"Define X86_PCREL_TYPE_P/X86_SIZE_TYPE_P in elfxx-x86.h\n\n\t* elf32-i386.c: Don't include \"elf/i386.h\".\n\t(X86_PCREL_TYPE_P): Removed.\n\t(X86_SIZE_TYPE_P): Likewise.\n\t(elf_i386_check_relocs): Pass false to NEED_DYNAMIC_RELOCATION_P.\n\t(elf_i386_relocate_section): Pass false to\n\tGENERATE_DYNAMIC_RELOCATION_P and COPY_INPUT_RELOC_P.\n\t* elf64-x86-64.c: Don't include \"elf/x86-64.h\".\n\t(X86_PCREL_TYPE_P): Removed.\n\t(X86_SIZE_TYPE_P): Likewise.\n\t(elf_x86_64_check_relocs): Pass true to NEED_DYNAMIC_RELOCATION_P\n\tand X86_PCREL_TYPE_P.\n\t(elf_x86_64_relocate_section): Pass true to X86_PCREL_TYPE_P,\n\tX86_SIZE_TYPE_P, GENERATE_DYNAMIC_RELOCATION_P and\n\tCOPY_INPUT_RELOC_P.\n\t* elfxx-x86.c: Don't include \"elf/i386.h\" nor \"elf/x86-64.h\".\n\t* elfxx-x86.h (X86_64_PCREL_TYPE_P): New.\n\t(I386_PCREL_TYPE_P): Likewise.\n\t(X86_PCREL_TYPE_P): Likewise.\n\t(X86_64_SIZE_TYPE_P): Likewise.\n\t(I386_SIZE_TYPE_P): Likewise.\n\t(X86_SIZE_TYPE_P): Likewise.\n\t(NEED_DYNAMIC_RELOCATION_P): Add IS_X86_64 and pass it to\n\tX86_PCREL_TYPE_P.\n\t(COPY_INPUT_RELOC_P): Likewise.\n\t(GENERATE_DYNAMIC_RELOCATION_P): Add IS_X86_64, pass it to\n\tX86_PCREL_TYPE_P and X86_SIZE_TYPE_P.","distinct":true,"url":"https://api.github.com/repos/stemnic/binutils-gdb/commits/831083d300c9e7f5a224df60c3a059725fb04882"},{"sha":"a321de3f5c526617705f96d25cd1f9b0cbe7dbda","author":{"email":"hjl.tools@gmail.com","name":"H.J. Lu"},"message":"x86: Define check_relocs_failed in elfxx-x86.h\n\n\t* elf32-i386.c (check_relocs_failed): Moved to ...\n\t* elfxx-x86.h (check_relocs_failed): Here. New.\n\t* elf64-x86-64.c (check_relocs_failed): Removed.","distinct":true,"url":"https://api.github.com/repos/stemnic/binutils-gdb/commits/a321de3f5c526617705f96d25cd1f9b0cbe7dbda"},{"sha":"e0037ba9121ca6cd45bc84205328a50fed23a432","author":{"email":"tom@tromey.com","name":"Tom Tromey"},"message":"Do not call reinitialize_more_filter from avr_io_reg_read_command\n\navr_io_reg_read_command is an ordinary gdb command, and so should not\nbe calling reinitialize_more_filter. This patch removes it. I'm\nchecking this in as obvious. Tested by rebuilding.","distinct":true,"url":"https://api.github.com/repos/stemnic/binutils-gdb/commits/e0037ba9121ca6cd45bc84205328a50fed23a432"},{"sha":"63f8d12d6c85f114ca12c0c00f7b78000be9251f","author":{"email":"gdbadmin@sourceware.org","name":"GDB Administrator"},"message":"Automatic date update in version.in","distinct":true,"url":"https://api.github.com/repos/stemnic/binutils-gdb/commits/63f8d12d6c85f114ca12c0c00f7b78000be9251f"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396391","type":"IssueCommentEvent","actor":{"id":73139402,"login":"cloudflare-pages[bot]","display_login":"cloudflare-pages","gravatar_id":"","url":"https://api.github.com/users/cloudflare-pages[bot]","avatar_url":"https://avatars.githubusercontent.com/u/73139402?"},"repo":{"id":349826174,"name":"sosan/Colaborador-rent-a-car-backend","url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49","repository_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend","labels_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/comments","events_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/events","html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49","id":1091703173,"node_id":"PR_kwDOFNnsfs4wbXRv","number":49,"title":"[Snyk] Upgrade body-parser from 1.19.0 to 1.19.1","user":{"login":"snyk-bot","id":19733683,"node_id":"MDQ6VXNlcjE5NzMzNjgz","avatar_url":"https://avatars.githubusercontent.com/u/19733683?v=4","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","html_url":"https://github.com/snyk-bot","followers_url":"https://api.github.com/users/snyk-bot/followers","following_url":"https://api.github.com/users/snyk-bot/following{/other_user}","gists_url":"https://api.github.com/users/snyk-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/snyk-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snyk-bot/subscriptions","organizations_url":"https://api.github.com/users/snyk-bot/orgs","repos_url":"https://api.github.com/users/snyk-bot/repos","events_url":"https://api.github.com/users/snyk-bot/events{/privacy}","received_events_url":"https://api.github.com/users/snyk-bot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-01T01:00:06Z","updated_at":"2022-01-01T01:00:08Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/pulls/49","html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49","diff_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49.diff","patch_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49.patch","merged_at":null},"body":"

Snyk has created this PR to upgrade body-parser from 1.19.0 to 1.19.1.

\n\n:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.\n
\n\n- The recommended version is **1 version** ahead of your current version.\n- The recommended version was released **21 days ago**, on 2021-12-10.\n\n\n
\nRelease notes\n
\n
\n Package name: body-parser\n
    \n
  • \n 1.19.1 - 2021-12-10
      \n
    • deps: bytes@3.1.1
    • \n
    • deps: http-errors@1.8.1\n
        \n
      • deps: inherits@2.0.4
      • \n
      • deps: toidentifier@1.0.1
      • \n
      • deps: setprototypeof@1.2.0
      • \n
      \n
    • \n
    • deps: qs@6.9.6
    • \n
    • deps: raw-body@2.4.2\n
        \n
      • deps: bytes@3.1.1
      • \n
      • deps: http-errors@1.8.1
      • \n
      \n
    • \n
    • deps: safe-buffer@5.2.1
    • \n
    • deps: type-is@~1.6.18
    • \n
    \n
  • \n
  • \n 1.19.0 - 2019-04-26
      \n
    • deps: bytes@3.1.0\n
        \n
      • Add petabyte (pb) support
      • \n
      \n
    • \n
    • deps: http-errors@1.7.2\n
        \n
      • Set constructor name when possible
      • \n
      • deps: setprototypeof@1.1.1
      • \n
      • deps: statuses@'>= 1.5.0 < 2'
      • \n
      \n
    • \n
    • deps: iconv-lite@0.4.24\n
        \n
      • Added encoding MIK
      • \n
      \n
    • \n
    • deps: qs@6.7.0\n
        \n
      • Fix parsing array brackets after index
      • \n
      \n
    • \n
    • deps: raw-body@2.4.0\n
        \n
      • deps: bytes@3.1.0
      • \n
      • deps: http-errors@1.7.2
      • \n
      • deps: iconv-lite@0.4.24
      • \n
      \n
    • \n
    • deps: type-is@~1.6.17\n
        \n
      • deps: mime-types@~2.1.24
      • \n
      • perf: prevent internal throw on invalid type
      • \n
      \n
    • \n
    \n
  • \n
\n from body-parser GitHub release notes\n
\n
\n\n\n
\n Commit messages\n
\n
\n Package name: body-parser\n
    \n
  • d0a214b 1.19.1
  • \n
  • fb172d4 build: eslint-plugin-promise@5.2.0
  • \n
  • c5e63cb build: Node.js@17.2
  • \n
  • c6d43bd build: eslint-plugin-import@2.25.3
  • \n
  • 313ed6d build: eslint-plugin-promise@5.1.1
  • \n
  • 8389b51 deps: bytes@3.1.1
  • \n
  • aae94b2 deps: http-errors@1.8.1
  • \n
  • 7f84d4f deps: raw-body@2.4.2
  • \n
  • abbdfc4 build: fix run names in Github Actions
  • \n
  • c6d0648 docs: fix build badge link
  • \n
  • 8c728e8 deps: qs@6.9.6
  • \n
  • 9dd5f4a build: support Node.js 17.x
  • \n
  • e4381cf build: eslint-plugin-standard@4.1.0
  • \n
  • a33200f build: eslint-plugin-promise@4.3.1
  • \n
  • 44f6bc1 build: eslint-plugin-markdown@2.2.1
  • \n
  • 268d4a2 build: mocha@9.1.3
  • \n
  • 13f195f build: supertest@6.1.6
  • \n
  • 88ad521 build: eslint@7.32.0
  • \n
  • d229294 deps: safe-buffer@5.2.1
  • \n
  • 26b1638 build: eslint-plugin-node@11.1.0
  • \n
  • ba7861e build: nyc@15.1.0
  • \n
  • cd44381 build: support Node.js 16.x
  • \n
  • 49980c5 build: eslint-plugin-import@2.25.2
  • \n
  • 901dd77 build: mocha@8.4.0
  • \n
\n\n Compare\n
\n
\n
\n\n**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*\n\nFor more information: \n\n🧐 [View latest project report](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879?utm_source=github&utm_medium=referral&page=upgrade-pr)\n\n🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr)\n\n🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/sosan/project/9a1b53fa-3165-414e-a693-114916508879/settings/integration?pkg=body-parser&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades)\n\n\n","reactions":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/comments/1003476350","html_url":"https://github.com/sosan/Colaborador-rent-a-car-backend/pull/49#issuecomment-1003476350","issue_url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/49","id":1003476350,"node_id":"IC_kwDOFNnsfs47z9V-","user":{"login":"cloudflare-pages[bot]","id":73139402,"node_id":"MDM6Qm90NzMxMzk0MDI=","avatar_url":"https://avatars.githubusercontent.com/in/85455?v=4","gravatar_id":"","url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D","html_url":"https://github.com/apps/cloudflare-pages","followers_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/followers","following_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/repos","events_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/cloudflare-pages%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-01T01:00:08Z","updated_at":"2022-01-01T01:00:08Z","author_association":"NONE","body":"## Deploying with  \"Cloudflare  Cloudflare Pages\n\n\n\n
Latest commit: \ncd4fb17\n
Status:⚡️  Build in progress...
\n\n[View logs](https://dash.cloudflare.com/?to=/:account/pages/view/colaborador-rent-a-car-backend/a530667a-010a-4951-9c00-7b307878dec0)\n","reactions":{"url":"https://api.github.com/repos/sosan/Colaborador-rent-a-car-backend/issues/comments/1003476350/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396395","type":"PushEvent","actor":{"id":83618193,"login":"contributor120","display_login":"contributor120","gravatar_id":"","url":"https://api.github.com/users/contributor120","avatar_url":"https://avatars.githubusercontent.com/u/83618193?"},"repo":{"id":364082962,"name":"contributor120/rthk_checker","url":"https://api.github.com/repos/contributor120/rthk_checker"},"payload":{"push_id":8732433533,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"105372cd11e4137599b5a824499d624678747b53","before":"10c104fd91798e56df816139e62ac5604222c235","commits":[{"sha":"105372cd11e4137599b5a824499d624678747b53","author":{"email":"contributor120@gmail.com","name":"contributor120"},"message":"\"CSV update\"","distinct":true,"url":"https://api.github.com/repos/contributor120/rthk_checker/commits/105372cd11e4137599b5a824499d624678747b53"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396396","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":405568926,"name":"atomlong/mingw-w64-gtk2","url":"https://api.github.com/repos/atomlong/mingw-w64-gtk2"},"payload":{"push_id":8732433537,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2c3b222bdeea0688ad9c5ed0d4ef0a38ded64f1c","before":"e5a3ff3c804199937e0080d479b8fd934af5461d","commits":[{"sha":"2c3b222bdeea0688ad9c5ed0d4ef0a38ded64f1c","author":{"email":"atom.long@hotmail.com","name":"atomlong"},"message":"add github action","distinct":true,"url":"https://api.github.com/repos/atomlong/mingw-w64-gtk2/commits/2c3b222bdeea0688ad9c5ed0d4ef0a38ded64f1c"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396397","type":"PushEvent","actor":{"id":218262,"login":"jonarbo","display_login":"jonarbo","gravatar_id":"","url":"https://api.github.com/users/jonarbo","avatar_url":"https://avatars.githubusercontent.com/u/218262?"},"repo":{"id":62302067,"name":"nyuad-hpc/dalman","url":"https://api.github.com/repos/nyuad-hpc/dalman"},"payload":{"push_id":8732433531,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"82129f0eba04a517cb6b1550ab9512489f6966dc","before":"df0040d866090e5b56082e3928e387d73a40db9e","commits":[{"sha":"82129f0eba04a517cb6b1550ab9512489f6966dc","author":{"email":"jn63@nyu.edu","name":"Jorge Naranjo"},"message":"dalma load updated on Sat Jan 1 05:00:02 GST 2022","distinct":true,"url":"https://api.github.com/repos/nyuad-hpc/dalman/commits/82129f0eba04a517cb6b1550ab9512489f6966dc"}]},"public":true,"created_at":"2022-01-01T01:00:08Z"} +{"id":"19541396399","type":"PushEvent","actor":{"id":7042,"login":"petertodd","display_login":"petertodd","gravatar_id":"","url":"https://api.github.com/users/petertodd","avatar_url":"https://avatars.githubusercontent.com/u/7042?"},"repo":{"id":164409575,"name":"opentimestamps/nist-inject","url":"https://api.github.com/repos/opentimestamps/nist-inject"},"payload":{"push_id":8732433538,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9cd86931e423e5c113257bfb14df06e8e71a9d3f","before":"9d99e3f3d79e31669bc005306fef537f0b13835d","commits":[{"sha":"9cd86931e423e5c113257bfb14df06e8e71a9d3f","author":{"email":"nist-inject@opentimestamps.org","name":"nist-injector-bot"},"message":".","distinct":true,"url":"https://api.github.com/repos/opentimestamps/nist-inject/commits/9cd86931e423e5c113257bfb14df06e8e71a9d3f"}]},"public":true,"created_at":"2022-01-01T01:00:08Z","org":{"id":2550462,"login":"opentimestamps","gravatar_id":"","url":"https://api.github.com/orgs/opentimestamps","avatar_url":"https://avatars.githubusercontent.com/u/2550462?"}} +{"id":"19541396409","type":"CreateEvent","actor":{"id":38587535,"login":"gdexwhite","display_login":"gdexwhite","gravatar_id":"","url":"https://api.github.com/users/gdexwhite","avatar_url":"https://avatars.githubusercontent.com/u/38587535?"},"repo":{"id":443449203,"name":"gdexwhite/project-62","url":"https://api.github.com/repos/gdexwhite/project-62"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396412","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433548,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"da131a775865c0664fea5e967db12e2b7afbfe08","before":"e3ff90ad648c12c7d85723b93e863aa577beab25","commits":[{"sha":"da131a775865c0664fea5e967db12e2b7afbfe08","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nsc413_3.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/da131a775865c0664fea5e967db12e2b7afbfe08"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396417","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8732433552,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"fffd9d84644b349561f44077e281fffd9a668454","before":"d2cb55329936d718a0a2c56d4f27d91c9e8628ed","commits":[{"sha":"fffd9d84644b349561f44077e281fffd9a668454","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/fffd9d84644b349561f44077e281fffd9a668454"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396418","type":"PushEvent","actor":{"id":74294005,"login":"wangbuera","display_login":"wangbuera","gravatar_id":"","url":"https://api.github.com/users/wangbuera","avatar_url":"https://avatars.githubusercontent.com/u/74294005?"},"repo":{"id":443447885,"name":"wangbuera/bc13c048-5dac-4e93-916a-a31b74dca3ec","url":"https://api.github.com/repos/wangbuera/bc13c048-5dac-4e93-916a-a31b74dca3ec"},"payload":{"push_id":8732433554,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f810dfabca63a2c36ef45663b39d8bde738dc66d","before":"b38377a6298a738449921f7720b6f68db88f7f26","commits":[{"sha":"f810dfabca63a2c36ef45663b39d8bde738dc66d","author":{"email":"74294005+wangbuera@users.noreply.github.com","name":"wangbuera"},"message":"upload file 5adea483edc211db13a8c9feb741bb87a2c9bed91ee5daa8bd68bfe8cbcd332d9148b3a34c8318bc58e22c73364bbc0cvideo_725_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/wangbuera/bc13c048-5dac-4e93-916a-a31b74dca3ec/commits/f810dfabca63a2c36ef45663b39d8bde738dc66d"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396419","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":432448173,"name":"znyt/oss70","url":"https://api.github.com/repos/znyt/oss70"},"payload":{"push_id":8732433560,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"68b4d3d700f837eca43f7b3b0ca3a0a993971950","before":"a54ddeb48d5ae74a1dc58f6c499498338ff6eb8f","commits":[{"sha":"68b4d3d700f837eca43f7b3b0ca3a0a993971950","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss70/commits/68b4d3d700f837eca43f7b3b0ca3a0a993971950"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396420","type":"PushEvent","actor":{"id":86298622,"login":"weaveworks-gitops-test-weave-gitops-bot","display_login":"weaveworks-gitops-test-weave-gitops-bot","gravatar_id":"","url":"https://api.github.com/users/weaveworks-gitops-test-weave-gitops-bot","avatar_url":"https://avatars.githubusercontent.com/u/86298622?"},"repo":{"id":443449149,"name":"weaveworks-gitops-test/test-app-cxodn4wg","url":"https://api.github.com/repos/weaveworks-gitops-test/test-app-cxodn4wg"},"payload":{"push_id":8732433557,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"54832845fe2e534dc838f09e49ac85a88d37d405","before":"5eb55c82da2c55e9b9ceee9e226f0c29177f5286","commits":[{"sha":"54832845fe2e534dc838f09e49ac85a88d37d405","author":{"email":"weave-gitops@weave.works","name":"Weave Gitops"},"message":"Add application manifests","distinct":true,"url":"https://api.github.com/repos/weaveworks-gitops-test/test-app-cxodn4wg/commits/54832845fe2e534dc838f09e49ac85a88d37d405"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":84581998,"login":"weaveworks-gitops-test","gravatar_id":"","url":"https://api.github.com/orgs/weaveworks-gitops-test","avatar_url":"https://avatars.githubusercontent.com/u/84581998?"}} +{"id":"19541396422","type":"PushEvent","actor":{"id":93787912,"login":"LazarDragutinovic","display_login":"LazarDragutinovic","gravatar_id":"","url":"https://api.github.com/users/LazarDragutinovic","avatar_url":"https://avatars.githubusercontent.com/u/93787912?"},"repo":{"id":434399088,"name":"LazarDragutinovic/WebProjekat","url":"https://api.github.com/repos/LazarDragutinovic/WebProjekat"},"payload":{"push_id":8732433567,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"825cbe0b0269bff1ba082fb69565edc9deef0740","before":"e118ee967e2546145b7a87dd75b59d146104e103","commits":[{"sha":"825cbe0b0269bff1ba082fb69565edc9deef0740","author":{"email":"lazadragutinovic2000@gmail.com","name":"lazar"},"message":"dodato mnogo sta","distinct":true,"url":"https://api.github.com/repos/LazarDragutinovic/WebProjekat/commits/825cbe0b0269bff1ba082fb69565edc9deef0740"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396423","type":"PushEvent","actor":{"id":96628723,"login":"fsafw","display_login":"fsafw","gravatar_id":"","url":"https://api.github.com/users/fsafw","avatar_url":"https://avatars.githubusercontent.com/u/96628723?"},"repo":{"id":443420454,"name":"fsafw/ece8ac48-22a3-4244-a7f4-2d9e059f94be","url":"https://api.github.com/repos/fsafw/ece8ac48-22a3-4244-a7f4-2d9e059f94be"},"payload":{"push_id":8732433556,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5917a9f7b8b315daf6f3a7c9e3f9485ed229f1df","before":"a64e223bb299a89a678b86ac956b6c8d278252ab","commits":[{"sha":"5917a9f7b8b315daf6f3a7c9e3f9485ed229f1df","author":{"email":"96628723+fsafw@users.noreply.github.com","name":"fsafw"},"message":"upload file 28caac0805063ea3ecef6db4ad47d8b26ff253350daf3ea39ed7e5b0cd3c43d11255f549df5a32cf173c232e296f23dcvideo_829_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/fsafw/ece8ac48-22a3-4244-a7f4-2d9e059f94be/commits/5917a9f7b8b315daf6f3a7c9e3f9485ed229f1df"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396424","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":415488198,"name":"Ammar-Raneez/Ammar-Raneez","url":"https://api.github.com/repos/Ammar-Raneez/Ammar-Raneez"},"payload":{"push_id":8732433565,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b7fa763756d310c27a0d84ef0546e88689aacea0","before":"ad478b957e605df1cc0d2dfd4a828f0b3cc70fff","commits":[{"sha":"b7fa763756d310c27a0d84ef0546e88689aacea0","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update devcard.svg","distinct":true,"url":"https://api.github.com/repos/Ammar-Raneez/Ammar-Raneez/commits/b7fa763756d310c27a0d84ef0546e88689aacea0"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396425","type":"PushEvent","actor":{"id":3126484,"login":"hakatashi","display_login":"hakatashi","gravatar_id":"","url":"https://api.github.com/users/hakatashi","avatar_url":"https://avatars.githubusercontent.com/u/3126484?"},"repo":{"id":372285142,"name":"hakatashi/word.hakatashi.com","url":"https://api.github.com/repos/hakatashi/word.hakatashi.com"},"payload":{"push_id":8732433561,"size":1,"distinct_size":1,"ref":"refs/heads/source","head":"123095eb74266001452a98e8ee280c4473c06cf1","before":"7afed0a8898a8d5edd917fc1879e9bb414821a51","commits":[{"sha":"123095eb74266001452a98e8ee280c4473c06cf1","author":{"email":"hakatasiloving@gmail.com","name":"Koki Takahashi"},"message":"BOT: Add source/_posts/妾腹.md","distinct":true,"url":"https://api.github.com/repos/hakatashi/word.hakatashi.com/commits/123095eb74266001452a98e8ee280c4473c06cf1"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396428","type":"PullRequestEvent","actor":{"id":338316,"login":"daffl","display_login":"daffl","gravatar_id":"","url":"https://api.github.com/users/daffl","avatar_url":"https://avatars.githubusercontent.com/u/338316?"},"repo":{"id":32042756,"name":"feathersjs-ecosystem/feathers-sync","url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync"},"payload":{"action":"opened","number":174,"pull_request":{"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174","id":812479601,"node_id":"PR_kwDOAejvBM4wbXRx","html_url":"https://github.com/feathersjs-ecosystem/feathers-sync/pull/174","diff_url":"https://github.com/feathersjs-ecosystem/feathers-sync/pull/174.diff","patch_url":"https://github.com/feathersjs-ecosystem/feathers-sync/pull/174.patch","issue_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/174","number":174,"state":"open","locked":false,"title":"chore(dependencies): Update all dependencies","user":{"login":"daffl","id":338316,"node_id":"MDQ6VXNlcjMzODMxNg==","avatar_url":"https://avatars.githubusercontent.com/u/338316?v=4","gravatar_id":"","url":"https://api.github.com/users/daffl","html_url":"https://github.com/daffl","followers_url":"https://api.github.com/users/daffl/followers","following_url":"https://api.github.com/users/daffl/following{/other_user}","gists_url":"https://api.github.com/users/daffl/gists{/gist_id}","starred_url":"https://api.github.com/users/daffl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daffl/subscriptions","organizations_url":"https://api.github.com/users/daffl/orgs","repos_url":"https://api.github.com/users/daffl/repos","events_url":"https://api.github.com/users/daffl/events{/privacy}","received_events_url":"https://api.github.com/users/daffl/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T01:00:08Z","updated_at":"2022-01-01T01:00:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174/commits","review_comments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174/comments","review_comment_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/comments{/number}","comments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/174/comments","statuses_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/statuses/9b6ed58fcb6703d5d0bae62dc28fbd3ceb0b7d91","head":{"label":"feathersjs-ecosystem:update-dependencies-1642181565","ref":"update-dependencies-1642181565","sha":"9b6ed58fcb6703d5d0bae62dc28fbd3ceb0b7d91","user":{"login":"feathersjs-ecosystem","id":32400533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyNDAwNTMz","avatar_url":"https://avatars.githubusercontent.com/u/32400533?v=4","gravatar_id":"","url":"https://api.github.com/users/feathersjs-ecosystem","html_url":"https://github.com/feathersjs-ecosystem","followers_url":"https://api.github.com/users/feathersjs-ecosystem/followers","following_url":"https://api.github.com/users/feathersjs-ecosystem/following{/other_user}","gists_url":"https://api.github.com/users/feathersjs-ecosystem/gists{/gist_id}","starred_url":"https://api.github.com/users/feathersjs-ecosystem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feathersjs-ecosystem/subscriptions","organizations_url":"https://api.github.com/users/feathersjs-ecosystem/orgs","repos_url":"https://api.github.com/users/feathersjs-ecosystem/repos","events_url":"https://api.github.com/users/feathersjs-ecosystem/events{/privacy}","received_events_url":"https://api.github.com/users/feathersjs-ecosystem/received_events","type":"Organization","site_admin":false},"repo":{"id":32042756,"node_id":"MDEwOlJlcG9zaXRvcnkzMjA0Mjc1Ng==","name":"feathers-sync","full_name":"feathersjs-ecosystem/feathers-sync","private":false,"owner":{"login":"feathersjs-ecosystem","id":32400533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyNDAwNTMz","avatar_url":"https://avatars.githubusercontent.com/u/32400533?v=4","gravatar_id":"","url":"https://api.github.com/users/feathersjs-ecosystem","html_url":"https://github.com/feathersjs-ecosystem","followers_url":"https://api.github.com/users/feathersjs-ecosystem/followers","following_url":"https://api.github.com/users/feathersjs-ecosystem/following{/other_user}","gists_url":"https://api.github.com/users/feathersjs-ecosystem/gists{/gist_id}","starred_url":"https://api.github.com/users/feathersjs-ecosystem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feathersjs-ecosystem/subscriptions","organizations_url":"https://api.github.com/users/feathersjs-ecosystem/orgs","repos_url":"https://api.github.com/users/feathersjs-ecosystem/repos","events_url":"https://api.github.com/users/feathersjs-ecosystem/events{/privacy}","received_events_url":"https://api.github.com/users/feathersjs-ecosystem/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/feathersjs-ecosystem/feathers-sync","description":"Synchronize service events between Feathers application instances","fork":false,"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync","forks_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/forks","keys_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/keys{/key_id}","collaborators_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/teams","hooks_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/hooks","issue_events_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/events{/number}","events_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/events","assignees_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/assignees{/user}","branches_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/branches{/branch}","tags_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/tags","blobs_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/refs{/sha}","trees_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/trees{/sha}","statuses_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/statuses/{sha}","languages_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/languages","stargazers_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/stargazers","contributors_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/contributors","subscribers_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/subscribers","subscription_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/subscription","commits_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/commits{/sha}","git_commits_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/commits{/sha}","comments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/comments{/number}","issue_comment_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/comments{/number}","contents_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/contents/{+path}","compare_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/compare/{base}...{head}","merges_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/merges","archive_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/downloads","issues_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues{/number}","pulls_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls{/number}","milestones_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/milestones{/number}","notifications_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/labels{/name}","releases_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/releases{/id}","deployments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/deployments","created_at":"2015-03-11T21:42:12Z","updated_at":"2021-11-18T00:08:55Z","pushed_at":"2022-01-01T01:00:05Z","git_url":"git://github.com/feathersjs-ecosystem/feathers-sync.git","ssh_url":"git@github.com:feathersjs-ecosystem/feathers-sync.git","clone_url":"https://github.com/feathersjs-ecosystem/feathers-sync.git","svn_url":"https://github.com/feathersjs-ecosystem/feathers-sync","homepage":"","size":1517,"stargazers_count":207,"watchers_count":207,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":41,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":41,"open_issues":7,"watchers":207,"default_branch":"release"}},"base":{"label":"feathersjs-ecosystem:release","ref":"release","sha":"d303798d46845c43ca61dded8fa386e1aa5d35f4","user":{"login":"feathersjs-ecosystem","id":32400533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyNDAwNTMz","avatar_url":"https://avatars.githubusercontent.com/u/32400533?v=4","gravatar_id":"","url":"https://api.github.com/users/feathersjs-ecosystem","html_url":"https://github.com/feathersjs-ecosystem","followers_url":"https://api.github.com/users/feathersjs-ecosystem/followers","following_url":"https://api.github.com/users/feathersjs-ecosystem/following{/other_user}","gists_url":"https://api.github.com/users/feathersjs-ecosystem/gists{/gist_id}","starred_url":"https://api.github.com/users/feathersjs-ecosystem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feathersjs-ecosystem/subscriptions","organizations_url":"https://api.github.com/users/feathersjs-ecosystem/orgs","repos_url":"https://api.github.com/users/feathersjs-ecosystem/repos","events_url":"https://api.github.com/users/feathersjs-ecosystem/events{/privacy}","received_events_url":"https://api.github.com/users/feathersjs-ecosystem/received_events","type":"Organization","site_admin":false},"repo":{"id":32042756,"node_id":"MDEwOlJlcG9zaXRvcnkzMjA0Mjc1Ng==","name":"feathers-sync","full_name":"feathersjs-ecosystem/feathers-sync","private":false,"owner":{"login":"feathersjs-ecosystem","id":32400533,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMyNDAwNTMz","avatar_url":"https://avatars.githubusercontent.com/u/32400533?v=4","gravatar_id":"","url":"https://api.github.com/users/feathersjs-ecosystem","html_url":"https://github.com/feathersjs-ecosystem","followers_url":"https://api.github.com/users/feathersjs-ecosystem/followers","following_url":"https://api.github.com/users/feathersjs-ecosystem/following{/other_user}","gists_url":"https://api.github.com/users/feathersjs-ecosystem/gists{/gist_id}","starred_url":"https://api.github.com/users/feathersjs-ecosystem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/feathersjs-ecosystem/subscriptions","organizations_url":"https://api.github.com/users/feathersjs-ecosystem/orgs","repos_url":"https://api.github.com/users/feathersjs-ecosystem/repos","events_url":"https://api.github.com/users/feathersjs-ecosystem/events{/privacy}","received_events_url":"https://api.github.com/users/feathersjs-ecosystem/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/feathersjs-ecosystem/feathers-sync","description":"Synchronize service events between Feathers application instances","fork":false,"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync","forks_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/forks","keys_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/keys{/key_id}","collaborators_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/teams","hooks_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/hooks","issue_events_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/events{/number}","events_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/events","assignees_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/assignees{/user}","branches_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/branches{/branch}","tags_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/tags","blobs_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/refs{/sha}","trees_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/trees{/sha}","statuses_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/statuses/{sha}","languages_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/languages","stargazers_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/stargazers","contributors_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/contributors","subscribers_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/subscribers","subscription_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/subscription","commits_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/commits{/sha}","git_commits_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/git/commits{/sha}","comments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/comments{/number}","issue_comment_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/comments{/number}","contents_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/contents/{+path}","compare_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/compare/{base}...{head}","merges_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/merges","archive_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/downloads","issues_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues{/number}","pulls_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls{/number}","milestones_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/milestones{/number}","notifications_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/labels{/name}","releases_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/releases{/id}","deployments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/deployments","created_at":"2015-03-11T21:42:12Z","updated_at":"2021-11-18T00:08:55Z","pushed_at":"2022-01-01T01:00:05Z","git_url":"git://github.com/feathersjs-ecosystem/feathers-sync.git","ssh_url":"git@github.com:feathersjs-ecosystem/feathers-sync.git","clone_url":"https://github.com/feathersjs-ecosystem/feathers-sync.git","svn_url":"https://github.com/feathersjs-ecosystem/feathers-sync","homepage":"","size":1517,"stargazers_count":207,"watchers_count":207,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":41,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":41,"open_issues":7,"watchers":207,"default_branch":"release"}},"_links":{"self":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174"},"html":{"href":"https://github.com/feathersjs-ecosystem/feathers-sync/pull/174"},"issue":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/174"},"comments":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/issues/174/comments"},"review_comments":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174/comments"},"review_comment":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/pulls/174/commits"},"statuses":{"href":"https://api.github.com/repos/feathersjs-ecosystem/feathers-sync/statuses/9b6ed58fcb6703d5d0bae62dc28fbd3ceb0b7d91"}},"author_association":"MEMBER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":622,"deletions":255,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":32400533,"login":"feathersjs-ecosystem","gravatar_id":"","url":"https://api.github.com/orgs/feathersjs-ecosystem","avatar_url":"https://avatars.githubusercontent.com/u/32400533?"}} +{"id":"19541396429","type":"PushEvent","actor":{"id":9958703,"login":"memk","display_login":"memk","gravatar_id":"","url":"https://api.github.com/users/memk","avatar_url":"https://avatars.githubusercontent.com/u/9958703?"},"repo":{"id":23534870,"name":"parkr/status","url":"https://api.github.com/repos/parkr/status"},"payload":{"push_id":8732433550,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b239607676515d81acf942a7951e3a36aef17c0c","before":"7c80ec7186d3715bc82ddd28bdfa318597974db6","commits":[{"sha":"b239607676515d81acf942a7951e3a36aef17c0c","author":{"email":"memke@hushmail.com","name":"memk"},"message":"[checkup] store updates/1640998806985858186-check.json [ci skip]","distinct":true,"url":"https://api.github.com/repos/parkr/status/commits/b239607676515d81acf942a7951e3a36aef17c0c"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396432","type":"PushEvent","actor":{"id":54470577,"login":"johansalusu","display_login":"johansalusu","gravatar_id":"","url":"https://api.github.com/users/johansalusu","avatar_url":"https://avatars.githubusercontent.com/u/54470577?"},"repo":{"id":426951422,"name":"PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo","url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo"},"payload":{"push_id":8732433564,"size":14,"distinct_size":1,"ref":"refs/heads/main-HelloWorld","head":"4603112f29defcb64a1e0c6a859610a2f64aa174","before":"02f6b1a495f49c981c7e078fb20b8bdc525ce2c4","commits":[{"sha":"43711f7d59f896a877ee19cc28f8a34f711df101","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"feat: Beberapa responsiveness page dan mulai mengerjakan BAP","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/43711f7d59f896a877ee19cc28f8a34f711df101"},{"sha":"58b479edc2696aa4a4a4bbe4f0db7c4b6aa5fdd6","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"Merge branch 'main-HelloWorld' into Absensi/FE1101","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/58b479edc2696aa4a4a4bbe4f0db7c4b6aa5fdd6"},{"sha":"583a59470b810e2a172682ce6e4a8d415dfb2088","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"added initial PWA","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/583a59470b810e2a172682ce6e4a8d415dfb2088"},{"sha":"16229eece600f7402d1ff37c47f694b75f73922f","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"style overhaul","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/16229eece600f7402d1ff37c47f694b75f73922f"},{"sha":"f64fc149b975402439a93056133c71fc21f9229f","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"more pwa fix, removed monitoring and logbook, PLEASE WORK ON THE MOBILE VIEW IM BEGGING YOU","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/f64fc149b975402439a93056133c71fc21f9229f"},{"sha":"cd7643dba5e0008803465747b174439f6d8c7e8e","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"Merge branch 'main-HelloWorld' into Absensi/FE1101","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/cd7643dba5e0008803465747b174439f6d8c7e8e"},{"sha":"004c68946b2d39cce673f04bb61f18fb8ac44681","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"Edited a bunch of things\n\nChanged PWA icons; Fixing responsive in Home; Fixing responsive in AbsensiDosen; Bugfix AbsenCardDosen; Fixing scrollable in PersentaseMengajar; Edited DaftarHadir; Styling DialogKetidakhadiran; Fixing TabelAbsensi; Redirects AbsensiMain, Fixing NavBar","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/004c68946b2d39cce673f04bb61f18fb8ac44681"},{"sha":"a3c6f46ad9712f312596d9b7afb540ead65f85b2","author":{"email":"putri.syalwa.tif419@polban.ac.id","name":"putrisylw"},"message":"Rekap Presensi Mhs (before) and Hover Button AbsenCardDosen","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/a3c6f46ad9712f312596d9b7afb540ead65f85b2"},{"sha":"b42b6458937b4dfed8b1140dc49daac6e06436f4","author":{"email":"putri.syalwa.tif419@polban.ac.id","name":"putrisylw"},"message":"Merge branch 'Absensi/FE1101' of https://github.com/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo into Absensi/FE1101","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/b42b6458937b4dfed8b1140dc49daac6e06436f4"},{"sha":"c7652a893b72e0cb5a71da16a06740ae59c6ce56","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"added UploadBAP modal\n\nusing modal instead of new page because perkuliahan page cannot be accessed by simply visiting the route, it must be accessed from PERKULIAHAN button in AbsensiDosen. This will cause issue if user want to goes back a page from upload BAP(still in progress)","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/c7652a893b72e0cb5a71da16a06740ae59c6ce56"},{"sha":"3a84d5ad1359f47158678a669907c65132e0ba54","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"continuing upload BAP\n\nstuck on file upload","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/3a84d5ad1359f47158678a669907c65132e0ba54"},{"sha":"e78bf51e7b5eab9782d4416221876844a09336d4","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"continuing upload BAP\n\nadded view when BAP is already submitted","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/e78bf51e7b5eab9782d4416221876844a09336d4"},{"sha":"40831fd101e937e266cae12529b1e3ff0a0e6f27","author":{"email":"fazailman992@gmail.com","name":"blekkk"},"message":"Merge branch 'main-HelloWorld' into Absensi/FE1101","distinct":false,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/40831fd101e937e266cae12529b1e3ff0a0e6f27"},{"sha":"4603112f29defcb64a1e0c6a859610a2f64aa174","author":{"email":"54470577+johansalusu@users.noreply.github.com","name":"johansalusu"},"message":"Merge pull request #19 from PengembanganWeb-D4-B-JTK-2019/Absensi/FE1101\n\nAbsensi/FE1101","distinct":true,"url":"https://api.github.com/repos/PengembanganWeb-D4-B-JTK-2019/proyek3-monorepo/commits/4603112f29defcb64a1e0c6a859610a2f64aa174"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":94108974,"login":"PengembanganWeb-D4-B-JTK-2019","gravatar_id":"","url":"https://api.github.com/orgs/PengembanganWeb-D4-B-JTK-2019","avatar_url":"https://avatars.githubusercontent.com/u/94108974?"}} +{"id":"19541396435","type":"IssuesEvent","actor":{"id":19870893,"login":"Piorosen","display_login":"Piorosen","gravatar_id":"","url":"https://api.github.com/users/Piorosen","avatar_url":"https://avatars.githubusercontent.com/u/19870893?"},"repo":{"id":304857494,"name":"Piorosen/github-Action-HangKik","url":"https://api.github.com/repos/Piorosen/github-Action-HangKik"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618","repository_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik","labels_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618/labels{/name}","comments_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618/comments","events_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618/events","html_url":"https://github.com/Piorosen/github-Action-HangKik/issues/618","id":1091487698,"node_id":"I_kwDOEivBls5BDsfS","number":618,"title":"날짜 발열 테스트 : (2021년 12월 31일 18시 10분 : 00초)","user":{"login":"Piorosen","id":19870893,"node_id":"MDQ6VXNlcjE5ODcwODkz","avatar_url":"https://avatars.githubusercontent.com/u/19870893?v=4","gravatar_id":"","url":"https://api.github.com/users/Piorosen","html_url":"https://github.com/Piorosen","followers_url":"https://api.github.com/users/Piorosen/followers","following_url":"https://api.github.com/users/Piorosen/following{/other_user}","gists_url":"https://api.github.com/users/Piorosen/gists{/gist_id}","starred_url":"https://api.github.com/users/Piorosen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piorosen/subscriptions","organizations_url":"https://api.github.com/users/Piorosen/orgs","repos_url":"https://api.github.com/users/Piorosen/repos","events_url":"https://api.github.com/users/Piorosen/events{/privacy}","received_events_url":"https://api.github.com/users/Piorosen/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2021-12-31T09:10:04Z","updated_at":"2022-01-01T01:00:08Z","closed_at":"2022-01-01T01:00:08Z","author_association":"OWNER","active_lock_reason":null,"body":"이름 : 박근민, 학번 : 20213056, 방번호 : A1028, 체온 : 36.7\n이름 : 오세영, 학번 : 20183206, 방번호 : A828, 체온 : 36.6\n","reactions":{"url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/618/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396436","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":175250222,"name":"EdisonJwa/Blog","url":"https://api.github.com/repos/EdisonJwa/Blog"},"payload":{"comment":{"url":"https://api.github.com/repos/EdisonJwa/Blog/comments/62749524","html_url":"https://github.com/EdisonJwa/Blog/commit/8dea8771f16dd227e61c1fcae01ffa88b148b56b#commitcomment-62749524","id":62749524,"node_id":"CC_kwDOCnIbLs4DvXtU","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"8dea8771f16dd227e61c1fcae01ffa88b148b56b","created_at":"2022-01-01T01:00:09Z","updated_at":"2022-01-01T01:00:09Z","author_association":"NONE","body":"Failed to assign a domain to your deployment due to the following error:\n\nAliasing the Deployment Timed Out","reactions":{"url":"https://api.github.com/repos/EdisonJwa/Blog/comments/62749524/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396438","type":"PushEvent","actor":{"id":53513,"login":"nsuan","display_login":"nsuan","gravatar_id":"","url":"https://api.github.com/users/nsuan","avatar_url":"https://avatars.githubusercontent.com/u/53513?"},"repo":{"id":370881581,"name":"nsuan/furry-fortnight","url":"https://api.github.com/repos/nsuan/furry-fortnight"},"payload":{"push_id":8732433559,"size":4,"distinct_size":4,"ref":"refs/heads/main","head":"1f4f0adfbcbfdb2753ed8f4dbdb0bd7bf345b0fa","before":"6edd752878de0cac7971a1b650d708c1a2a4adeb","commits":[{"sha":"5a098bf974124958fd8d2c48a6008ca843dcbfcb","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Fri Dec 31 19:10:51 EST 2021","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/5a098bf974124958fd8d2c48a6008ca843dcbfcb"},{"sha":"7d08d2443230d22c16948f95b4f1665159d2862c","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Fri Dec 31 19:26:59 EST 2021","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/7d08d2443230d22c16948f95b4f1665159d2862c"},{"sha":"b2a254ea7813085d360f98355aeb108229a49bda","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Fri Dec 31 19:43:11 EST 2021","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/b2a254ea7813085d360f98355aeb108229a49bda"},{"sha":"1f4f0adfbcbfdb2753ed8f4dbdb0bd7bf345b0fa","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Fri Dec 31 19:59:18 EST 2021","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/1f4f0adfbcbfdb2753ed8f4dbdb0bd7bf345b0fa"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396439","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":413182732,"name":"Vivianemelos/Vivianemelos","url":"https://api.github.com/repos/Vivianemelos/Vivianemelos"},"payload":{"push_id":8732433571,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"f3482e125986b85573bac2b29c75f99c6d72f374","before":"75337f34c36d56b50c235f966c987a6771c48919","commits":[{"sha":"f3482e125986b85573bac2b29c75f99c6d72f374","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Vivianemelos/Vivianemelos/commits/f3482e125986b85573bac2b29c75f99c6d72f374"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396442","type":"PushEvent","actor":{"id":82890183,"login":"Booster1212","display_login":"Booster1212","gravatar_id":"","url":"https://api.github.com/users/Booster1212","avatar_url":"https://avatars.githubusercontent.com/u/82890183?"},"repo":{"id":402478942,"name":"Booster1212/AthenaPlantsystem","url":"https://api.github.com/repos/Booster1212/AthenaPlantsystem"},"payload":{"push_id":8732433569,"size":1,"distinct_size":1,"ref":"refs/heads/development","head":"76705de6ce61c9a9a790ed0c3e97ed9d1252c717","before":"290cc6c7bccb7812ad20ec3176952ac3e1cbf12d","commits":[{"sha":"76705de6ce61c9a9a790ed0c3e97ed9d1252c717","author":{"email":"82890183+Booster1212@users.noreply.github.com","name":"Der Lord!"},"message":"Adding Controller Items.","distinct":true,"url":"https://api.github.com/repos/Booster1212/AthenaPlantsystem/commits/76705de6ce61c9a9a790ed0c3e97ed9d1252c717"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396443","type":"PushEvent","actor":{"id":18476318,"login":"IceTears1","display_login":"IceTears1","gravatar_id":"","url":"https://api.github.com/users/IceTears1","avatar_url":"https://avatars.githubusercontent.com/u/18476318?"},"repo":{"id":400091062,"name":"IceTears1/faker2","url":"https://api.github.com/repos/IceTears1/faker2"},"payload":{"push_id":8732433570,"size":2,"distinct_size":2,"ref":"refs/heads/main","head":"b7603546f4dea3efbc9da6921a38df906fc711fc","before":"4c7a983bcc654898b6a5cd075f7ce660330e77d2","commits":[{"sha":"893449412bcb4e03efcb54c9feb36ec806b07566","author":{"email":"574427728@qq.com","name":"shufflewzc"},"message":"Delete jd_speed.js","distinct":true,"url":"https://api.github.com/repos/IceTears1/faker2/commits/893449412bcb4e03efcb54c9feb36ec806b07566"},{"sha":"b7603546f4dea3efbc9da6921a38df906fc711fc","author":{"email":"642203775@qq.com","name":"ice138.128"},"message":"Merge remote-tracking branch 'upstream/main' into main","distinct":true,"url":"https://api.github.com/repos/IceTears1/faker2/commits/b7603546f4dea3efbc9da6921a38df906fc711fc"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396446","type":"PullRequestEvent","actor":{"id":73761016,"login":"cmmeyer1800","display_login":"cmmeyer1800","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","avatar_url":"https://avatars.githubusercontent.com/u/73761016?"},"repo":{"id":421218479,"name":"cmmeyer1800/diyDB","url":"https://api.github.com/repos/cmmeyer1800/diyDB"},"payload":{"action":"closed","number":2,"pull_request":{"url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2","id":812479441,"node_id":"PR_kwDOGRtIr84wbXPR","html_url":"https://github.com/cmmeyer1800/diyDB/pull/2","diff_url":"https://github.com/cmmeyer1800/diyDB/pull/2.diff","patch_url":"https://github.com/cmmeyer1800/diyDB/pull/2.patch","issue_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/2","number":2,"state":"closed","locked":false,"title":"String only implementation ready for use","user":{"login":"cmmeyer1800","id":73761016,"node_id":"MDQ6VXNlcjczNzYxMDE2","avatar_url":"https://avatars.githubusercontent.com/u/73761016?v=4","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","html_url":"https://github.com/cmmeyer1800","followers_url":"https://api.github.com/users/cmmeyer1800/followers","following_url":"https://api.github.com/users/cmmeyer1800/following{/other_user}","gists_url":"https://api.github.com/users/cmmeyer1800/gists{/gist_id}","starred_url":"https://api.github.com/users/cmmeyer1800/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmmeyer1800/subscriptions","organizations_url":"https://api.github.com/users/cmmeyer1800/orgs","repos_url":"https://api.github.com/users/cmmeyer1800/repos","events_url":"https://api.github.com/users/cmmeyer1800/events{/privacy}","received_events_url":"https://api.github.com/users/cmmeyer1800/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T00:58:35Z","updated_at":"2022-01-01T01:00:09Z","closed_at":"2022-01-01T01:00:09Z","merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2/commits","review_comments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2/comments","review_comment_url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/2/comments","statuses_url":"https://api.github.com/repos/cmmeyer1800/diyDB/statuses/2aa6f4cea8cdee7527c31266df099450e7b0926c","head":{"label":"cmmeyer1800:strings","ref":"strings","sha":"2aa6f4cea8cdee7527c31266df099450e7b0926c","user":{"login":"cmmeyer1800","id":73761016,"node_id":"MDQ6VXNlcjczNzYxMDE2","avatar_url":"https://avatars.githubusercontent.com/u/73761016?v=4","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","html_url":"https://github.com/cmmeyer1800","followers_url":"https://api.github.com/users/cmmeyer1800/followers","following_url":"https://api.github.com/users/cmmeyer1800/following{/other_user}","gists_url":"https://api.github.com/users/cmmeyer1800/gists{/gist_id}","starred_url":"https://api.github.com/users/cmmeyer1800/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmmeyer1800/subscriptions","organizations_url":"https://api.github.com/users/cmmeyer1800/orgs","repos_url":"https://api.github.com/users/cmmeyer1800/repos","events_url":"https://api.github.com/users/cmmeyer1800/events{/privacy}","received_events_url":"https://api.github.com/users/cmmeyer1800/received_events","type":"User","site_admin":false},"repo":{"id":421218479,"node_id":"R_kgDOGRtIrw","name":"diyDB","full_name":"cmmeyer1800/diyDB","private":false,"owner":{"login":"cmmeyer1800","id":73761016,"node_id":"MDQ6VXNlcjczNzYxMDE2","avatar_url":"https://avatars.githubusercontent.com/u/73761016?v=4","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","html_url":"https://github.com/cmmeyer1800","followers_url":"https://api.github.com/users/cmmeyer1800/followers","following_url":"https://api.github.com/users/cmmeyer1800/following{/other_user}","gists_url":"https://api.github.com/users/cmmeyer1800/gists{/gist_id}","starred_url":"https://api.github.com/users/cmmeyer1800/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmmeyer1800/subscriptions","organizations_url":"https://api.github.com/users/cmmeyer1800/orgs","repos_url":"https://api.github.com/users/cmmeyer1800/repos","events_url":"https://api.github.com/users/cmmeyer1800/events{/privacy}","received_events_url":"https://api.github.com/users/cmmeyer1800/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cmmeyer1800/diyDB","description":"Homemade DB written in c++","fork":false,"url":"https://api.github.com/repos/cmmeyer1800/diyDB","forks_url":"https://api.github.com/repos/cmmeyer1800/diyDB/forks","keys_url":"https://api.github.com/repos/cmmeyer1800/diyDB/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cmmeyer1800/diyDB/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cmmeyer1800/diyDB/teams","hooks_url":"https://api.github.com/repos/cmmeyer1800/diyDB/hooks","issue_events_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/events{/number}","events_url":"https://api.github.com/repos/cmmeyer1800/diyDB/events","assignees_url":"https://api.github.com/repos/cmmeyer1800/diyDB/assignees{/user}","branches_url":"https://api.github.com/repos/cmmeyer1800/diyDB/branches{/branch}","tags_url":"https://api.github.com/repos/cmmeyer1800/diyDB/tags","blobs_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/refs{/sha}","trees_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cmmeyer1800/diyDB/statuses/{sha}","languages_url":"https://api.github.com/repos/cmmeyer1800/diyDB/languages","stargazers_url":"https://api.github.com/repos/cmmeyer1800/diyDB/stargazers","contributors_url":"https://api.github.com/repos/cmmeyer1800/diyDB/contributors","subscribers_url":"https://api.github.com/repos/cmmeyer1800/diyDB/subscribers","subscription_url":"https://api.github.com/repos/cmmeyer1800/diyDB/subscription","commits_url":"https://api.github.com/repos/cmmeyer1800/diyDB/commits{/sha}","git_commits_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/commits{/sha}","comments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/comments{/number}","issue_comment_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/comments{/number}","contents_url":"https://api.github.com/repos/cmmeyer1800/diyDB/contents/{+path}","compare_url":"https://api.github.com/repos/cmmeyer1800/diyDB/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cmmeyer1800/diyDB/merges","archive_url":"https://api.github.com/repos/cmmeyer1800/diyDB/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cmmeyer1800/diyDB/downloads","issues_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues{/number}","pulls_url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls{/number}","milestones_url":"https://api.github.com/repos/cmmeyer1800/diyDB/milestones{/number}","notifications_url":"https://api.github.com/repos/cmmeyer1800/diyDB/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cmmeyer1800/diyDB/labels{/name}","releases_url":"https://api.github.com/repos/cmmeyer1800/diyDB/releases{/id}","deployments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/deployments","created_at":"2021-10-25T23:47:06Z","updated_at":"2021-12-31T07:32:37Z","pushed_at":"2022-01-01T00:58:35Z","git_url":"git://github.com/cmmeyer1800/diyDB.git","ssh_url":"git@github.com:cmmeyer1800/diyDB.git","clone_url":"https://github.com/cmmeyer1800/diyDB.git","svn_url":"https://github.com/cmmeyer1800/diyDB","homepage":null,"size":298,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"cmmeyer1800:main","ref":"main","sha":"629f864289e1865719b73212b59fcda5ecdfa1f7","user":{"login":"cmmeyer1800","id":73761016,"node_id":"MDQ6VXNlcjczNzYxMDE2","avatar_url":"https://avatars.githubusercontent.com/u/73761016?v=4","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","html_url":"https://github.com/cmmeyer1800","followers_url":"https://api.github.com/users/cmmeyer1800/followers","following_url":"https://api.github.com/users/cmmeyer1800/following{/other_user}","gists_url":"https://api.github.com/users/cmmeyer1800/gists{/gist_id}","starred_url":"https://api.github.com/users/cmmeyer1800/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmmeyer1800/subscriptions","organizations_url":"https://api.github.com/users/cmmeyer1800/orgs","repos_url":"https://api.github.com/users/cmmeyer1800/repos","events_url":"https://api.github.com/users/cmmeyer1800/events{/privacy}","received_events_url":"https://api.github.com/users/cmmeyer1800/received_events","type":"User","site_admin":false},"repo":{"id":421218479,"node_id":"R_kgDOGRtIrw","name":"diyDB","full_name":"cmmeyer1800/diyDB","private":false,"owner":{"login":"cmmeyer1800","id":73761016,"node_id":"MDQ6VXNlcjczNzYxMDE2","avatar_url":"https://avatars.githubusercontent.com/u/73761016?v=4","gravatar_id":"","url":"https://api.github.com/users/cmmeyer1800","html_url":"https://github.com/cmmeyer1800","followers_url":"https://api.github.com/users/cmmeyer1800/followers","following_url":"https://api.github.com/users/cmmeyer1800/following{/other_user}","gists_url":"https://api.github.com/users/cmmeyer1800/gists{/gist_id}","starred_url":"https://api.github.com/users/cmmeyer1800/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmmeyer1800/subscriptions","organizations_url":"https://api.github.com/users/cmmeyer1800/orgs","repos_url":"https://api.github.com/users/cmmeyer1800/repos","events_url":"https://api.github.com/users/cmmeyer1800/events{/privacy}","received_events_url":"https://api.github.com/users/cmmeyer1800/received_events","type":"User","site_admin":false},"html_url":"https://github.com/cmmeyer1800/diyDB","description":"Homemade DB written in c++","fork":false,"url":"https://api.github.com/repos/cmmeyer1800/diyDB","forks_url":"https://api.github.com/repos/cmmeyer1800/diyDB/forks","keys_url":"https://api.github.com/repos/cmmeyer1800/diyDB/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cmmeyer1800/diyDB/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cmmeyer1800/diyDB/teams","hooks_url":"https://api.github.com/repos/cmmeyer1800/diyDB/hooks","issue_events_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/events{/number}","events_url":"https://api.github.com/repos/cmmeyer1800/diyDB/events","assignees_url":"https://api.github.com/repos/cmmeyer1800/diyDB/assignees{/user}","branches_url":"https://api.github.com/repos/cmmeyer1800/diyDB/branches{/branch}","tags_url":"https://api.github.com/repos/cmmeyer1800/diyDB/tags","blobs_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/refs{/sha}","trees_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cmmeyer1800/diyDB/statuses/{sha}","languages_url":"https://api.github.com/repos/cmmeyer1800/diyDB/languages","stargazers_url":"https://api.github.com/repos/cmmeyer1800/diyDB/stargazers","contributors_url":"https://api.github.com/repos/cmmeyer1800/diyDB/contributors","subscribers_url":"https://api.github.com/repos/cmmeyer1800/diyDB/subscribers","subscription_url":"https://api.github.com/repos/cmmeyer1800/diyDB/subscription","commits_url":"https://api.github.com/repos/cmmeyer1800/diyDB/commits{/sha}","git_commits_url":"https://api.github.com/repos/cmmeyer1800/diyDB/git/commits{/sha}","comments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/comments{/number}","issue_comment_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/comments{/number}","contents_url":"https://api.github.com/repos/cmmeyer1800/diyDB/contents/{+path}","compare_url":"https://api.github.com/repos/cmmeyer1800/diyDB/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cmmeyer1800/diyDB/merges","archive_url":"https://api.github.com/repos/cmmeyer1800/diyDB/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cmmeyer1800/diyDB/downloads","issues_url":"https://api.github.com/repos/cmmeyer1800/diyDB/issues{/number}","pulls_url":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls{/number}","milestones_url":"https://api.github.com/repos/cmmeyer1800/diyDB/milestones{/number}","notifications_url":"https://api.github.com/repos/cmmeyer1800/diyDB/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cmmeyer1800/diyDB/labels{/name}","releases_url":"https://api.github.com/repos/cmmeyer1800/diyDB/releases{/id}","deployments_url":"https://api.github.com/repos/cmmeyer1800/diyDB/deployments","created_at":"2021-10-25T23:47:06Z","updated_at":"2021-12-31T07:32:37Z","pushed_at":"2022-01-01T00:58:35Z","git_url":"git://github.com/cmmeyer1800/diyDB.git","ssh_url":"git@github.com:cmmeyer1800/diyDB.git","clone_url":"https://github.com/cmmeyer1800/diyDB.git","svn_url":"https://github.com/cmmeyer1800/diyDB","homepage":null,"size":298,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2"},"html":{"href":"https://github.com/cmmeyer1800/diyDB/pull/2"},"issue":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/2"},"comments":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/cmmeyer1800/diyDB/statuses/2aa6f4cea8cdee7527c31266df099450e7b0926c"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":false,"rebaseable":false,"mergeable_state":"dirty","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":3,"additions":271,"deletions":236,"changed_files":14}},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396449","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":431569253,"name":"oliveirarod/oliveirarod","url":"https://api.github.com/repos/oliveirarod/oliveirarod"},"payload":{"push_id":8732433585,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"4ab4a254e50da1fbee8141c48bbb26122ba280a3","before":"3979847556a5af1e5ce2731662c9614a5101c518","commits":[{"sha":"4ab4a254e50da1fbee8141c48bbb26122ba280a3","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/oliveirarod/oliveirarod/commits/4ab4a254e50da1fbee8141c48bbb26122ba280a3"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396450","type":"PushEvent","actor":{"id":1207339,"login":"isharacomix","display_login":"isharacomix","gravatar_id":"","url":"https://api.github.com/users/isharacomix","avatar_url":"https://avatars.githubusercontent.com/u/1207339?"},"repo":{"id":160100520,"name":"isharacomix/mtgashare","url":"https://api.github.com/repos/isharacomix/mtgashare"},"payload":{"push_id":8732433588,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8e102378164c2947fead0649b156ca02d1c01b6f","before":"5fa76990c1dd1b3897e3f1b9c8459fa2827f7ab8","commits":[{"sha":"8e102378164c2947fead0649b156ca02d1c01b6f","author":{"email":"ishara@isharacomix.org","name":"isharacomix"},"message":"new lore","distinct":true,"url":"https://api.github.com/repos/isharacomix/mtgashare/commits/8e102378164c2947fead0649b156ca02d1c01b6f"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396451","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433586,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bf77f097b474e8727b998e27b31fa8f577b7fab4","before":"37142763d2f51f8f7cbe1c3a93c82538f7565ef0","commits":[{"sha":"bf77f097b474e8727b998e27b31fa8f577b7fab4","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update headline-news_2.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/bf77f097b474e8727b998e27b31fa8f577b7fab4"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396452","type":"PushEvent","actor":{"id":49270705,"login":"ledgernode","display_login":"ledgernode","gravatar_id":"","url":"https://api.github.com/users/ledgernode","avatar_url":"https://avatars.githubusercontent.com/u/49270705?"},"repo":{"id":183404103,"name":"traceoriginal/to_repo_1","url":"https://api.github.com/repos/traceoriginal/to_repo_1"},"payload":{"push_id":8732433577,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bd0e9c757f04101aa04250a1f049bc0651c4a7cc","before":"fc33d0315976fcf64ccab2108de2382dc7c5e87c","commits":[{"sha":"bd0e9c757f04101aa04250a1f049bc0651c4a7cc","author":{"email":"ledgernode.traceoriginal@enigio.com","name":"trace:original Ledgernode"},"message":"Ledger update at: 2022-01-01T01:00:07.512070Z","distinct":true,"url":"https://api.github.com/repos/traceoriginal/to_repo_1/commits/bd0e9c757f04101aa04250a1f049bc0651c4a7cc"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":47849388,"login":"traceoriginal","gravatar_id":"","url":"https://api.github.com/orgs/traceoriginal","avatar_url":"https://avatars.githubusercontent.com/u/47849388?"}} +{"id":"19541396454","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8732433589,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f826fe063adf30452533bb8a7efe9bf8b85dc765","before":"ccc20056def35ec817549f97b8876a7698d2be1e","commits":[{"sha":"f826fe063adf30452533bb8a7efe9bf8b85dc765","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-01 08:00:08 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/f826fe063adf30452533bb8a7efe9bf8b85dc765"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396456","type":"PushEvent","actor":{"id":68782815,"login":"sid-r-singh","display_login":"sid-r-singh","gravatar_id":"","url":"https://api.github.com/users/sid-r-singh","avatar_url":"https://avatars.githubusercontent.com/u/68782815?"},"repo":{"id":375009697,"name":"sid-r-singh/status","url":"https://api.github.com/repos/sid-r-singh/status"},"payload":{"push_id":8732433580,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"e5421165fffaaf7476485a413f3620e0634ca684","before":"0f434e94bfc575e8fb172f4f1a19b3d4de4df238","commits":[{"sha":"2ee5aca6924ca4817d28fe8c307ed93cf408361b","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/sid-r-singh/status/commits/2ee5aca6924ca4817d28fe8c307ed93cf408361b"},{"sha":"e5421165fffaaf7476485a413f3620e0634ca684","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/sid-r-singh/status/commits/e5421165fffaaf7476485a413f3620e0634ca684"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396457","type":"PushEvent","actor":{"id":2907374,"login":"AceChenX","display_login":"AceChenX","gravatar_id":"","url":"https://api.github.com/users/AceChenX","avatar_url":"https://avatars.githubusercontent.com/u/2907374?"},"repo":{"id":121541950,"name":"UltracoldAtomsLab/chamber_log","url":"https://api.github.com/repos/UltracoldAtomsLab/chamber_log"},"payload":{"push_id":8732433582,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1b7cecb22c8cec97ed08166dba50357dbbd1c915","before":"e10d075c61951c82b007122ec449a5b05da8d1b4","commits":[{"sha":"1b7cecb22c8cec97ed08166dba50357dbbd1c915","author":{"email":"yjlinlab@gmail.com","name":"yjlinlab"},"message":"2022年01月01日 (週六) 09時00分05秒","distinct":true,"url":"https://api.github.com/repos/UltracoldAtomsLab/chamber_log/commits/1b7cecb22c8cec97ed08166dba50357dbbd1c915"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":8256915,"login":"UltracoldAtomsLab","gravatar_id":"","url":"https://api.github.com/orgs/UltracoldAtomsLab","avatar_url":"https://avatars.githubusercontent.com/u/8256915?"}} +{"id":"19541396462","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449231,"name":"shalini-devgit/Shalini-PerfBlue5","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue5"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":"Blue Testing5","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396463","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":249856118,"name":"fattakbar/Ijo-Ijo","url":"https://api.github.com/repos/fattakbar/Ijo-Ijo"},"payload":{"push_id":8732433587,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"746ce013ca66993cb01ecfa70467b90dc94d81e4","before":"d50ad34ec3f34d4175a39e7bdbc263c97a14d381","commits":[{"sha":"746ce013ca66993cb01ecfa70467b90dc94d81e4","author":{"email":"akbarfattahul22@gmail.com","name":"fattakbar"},"message":"feat: 🐐 update","distinct":true,"url":"https://api.github.com/repos/fattakbar/Ijo-Ijo/commits/746ce013ca66993cb01ecfa70467b90dc94d81e4"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396465","type":"PushEvent","actor":{"id":4603539,"login":"scriptex","display_login":"scriptex","gravatar_id":"","url":"https://api.github.com/users/scriptex","avatar_url":"https://avatars.githubusercontent.com/u/4603539?"},"repo":{"id":326258652,"name":"scriptex/uptime","url":"https://api.github.com/repos/scriptex/uptime"},"payload":{"push_id":8732433591,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"19737e1ff27e29248e922689179173dda546bd7c","before":"b99cf1470de65b2ae7b36a564f2e1969aec1780d","commits":[{"sha":"19737e1ff27e29248e922689179173dda546bd7c","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":bento: Update graphs [skip ci]","distinct":true,"url":"https://api.github.com/repos/scriptex/uptime/commits/19737e1ff27e29248e922689179173dda546bd7c"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396467","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":420539234,"name":"Vinicius2m/Vinicius2m","url":"https://api.github.com/repos/Vinicius2m/Vinicius2m"},"payload":{"push_id":8732433592,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"25dc2c8a2d63aa02287b0b7e4a18f5bb357e7120","before":"f28ad49d8d6e4b23c855418fb0425cb0a9e0f673","commits":[{"sha":"25dc2c8a2d63aa02287b0b7e4a18f5bb357e7120","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Vinicius2m/Vinicius2m/commits/25dc2c8a2d63aa02287b0b7e4a18f5bb357e7120"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396468","type":"IssuesEvent","actor":{"id":19870893,"login":"Piorosen","display_login":"Piorosen","gravatar_id":"","url":"https://api.github.com/users/Piorosen","avatar_url":"https://avatars.githubusercontent.com/u/19870893?"},"repo":{"id":304857494,"name":"Piorosen/github-Action-HangKik","url":"https://api.github.com/repos/Piorosen/github-Action-HangKik"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619","repository_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik","labels_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619/labels{/name}","comments_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619/comments","events_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619/events","html_url":"https://github.com/Piorosen/github-Action-HangKik/issues/619","id":1091703179,"node_id":"I_kwDOEivBls5BEhGL","number":619,"title":"날짜 발열 테스트 : (2022년 01월 01일 10시 00분 : 05초)","user":{"login":"Piorosen","id":19870893,"node_id":"MDQ6VXNlcjE5ODcwODkz","avatar_url":"https://avatars.githubusercontent.com/u/19870893?v=4","gravatar_id":"","url":"https://api.github.com/users/Piorosen","html_url":"https://github.com/Piorosen","followers_url":"https://api.github.com/users/Piorosen/followers","following_url":"https://api.github.com/users/Piorosen/following{/other_user}","gists_url":"https://api.github.com/users/Piorosen/gists{/gist_id}","starred_url":"https://api.github.com/users/Piorosen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piorosen/subscriptions","organizations_url":"https://api.github.com/users/Piorosen/orgs","repos_url":"https://api.github.com/users/Piorosen/repos","events_url":"https://api.github.com/users/Piorosen/events{/privacy}","received_events_url":"https://api.github.com/users/Piorosen/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:09Z","updated_at":"2022-01-01T01:00:09Z","closed_at":null,"author_association":"OWNER","active_lock_reason":null,"body":"이름 : 박근민, 학번 : 20213056, 방번호 : A1028, 체온 : 36.5\n이름 : 오세영, 학번 : 20183206, 방번호 : A828, 체온 : 36.1\n","reactions":{"url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/Piorosen/github-Action-HangKik/issues/619/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396470","type":"PushEvent","actor":{"id":57270548,"login":"achim007","display_login":"achim007","gravatar_id":"","url":"https://api.github.com/users/achim007","avatar_url":"https://avatars.githubusercontent.com/u/57270548?"},"repo":{"id":395592479,"name":"achim007/MandalselvaData","url":"https://api.github.com/repos/achim007/MandalselvaData"},"payload":{"push_id":8732433594,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"dfb6a0fdd3501c10011a5446da0a433019d09bad","before":"729a88d8399aff9648e9aaff48ff0a4b8ea876c6","commits":[{"sha":"dfb6a0fdd3501c10011a5446da0a433019d09bad","author":{"email":"achim.helferich@solunow.com","name":"Achim Helferich"},"message":"update","distinct":true,"url":"https://api.github.com/repos/achim007/MandalselvaData/commits/dfb6a0fdd3501c10011a5446da0a433019d09bad"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396477","type":"PullRequestEvent","actor":{"id":19733683,"login":"snyk-bot","display_login":"snyk-bot","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","avatar_url":"https://avatars.githubusercontent.com/u/19733683?"},"repo":{"id":355320734,"name":"captainGeech42/beats","url":"https://api.github.com/repos/captainGeech42/beats"},"payload":{"action":"opened","number":287,"pull_request":{"url":"https://api.github.com/repos/captainGeech42/beats/pulls/287","id":812479602,"node_id":"PR_kwDOFS3Dns4wbXRy","html_url":"https://github.com/captainGeech42/beats/pull/287","diff_url":"https://github.com/captainGeech42/beats/pull/287.diff","patch_url":"https://github.com/captainGeech42/beats/pull/287.patch","issue_url":"https://api.github.com/repos/captainGeech42/beats/issues/287","number":287,"state":"open","locked":false,"title":"[Snyk] Security upgrade ubuntu from 16.04 to xenial-20210416","user":{"login":"snyk-bot","id":19733683,"node_id":"MDQ6VXNlcjE5NzMzNjgz","avatar_url":"https://avatars.githubusercontent.com/u/19733683?v=4","gravatar_id":"","url":"https://api.github.com/users/snyk-bot","html_url":"https://github.com/snyk-bot","followers_url":"https://api.github.com/users/snyk-bot/followers","following_url":"https://api.github.com/users/snyk-bot/following{/other_user}","gists_url":"https://api.github.com/users/snyk-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/snyk-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snyk-bot/subscriptions","organizations_url":"https://api.github.com/users/snyk-bot/orgs","repos_url":"https://api.github.com/users/snyk-bot/repos","events_url":"https://api.github.com/users/snyk-bot/events{/privacy}","received_events_url":"https://api.github.com/users/snyk-bot/received_events","type":"User","site_admin":false},"body":"Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.\n\n#### Changes included in this PR\n\n- metricbeat/module/munin/_meta/Dockerfile\n\nWe recommend upgrading to `ubuntu:xenial-20210416`, as this image has only 52 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.\n\n\n\nSome of the most important vulnerabilities in your base image include:\n\n| Severity | Priority Score / 1000 | Issue | Exploit Maturity |\n| :------: | :-------------------- | :---- | :--------------- |\n| ![medium severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/m.png \"medium severity\") | **514** | Use of a Broken or Risky Cryptographic Algorithm
[SNYK-UBUNTU1604-LIBGCRYPT20-1585790](https://snyk.io/vuln/SNYK-UBUNTU1604-LIBGCRYPT20-1585790) | No Known Exploit |\n| ![high severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png \"high severity\") | **614** | Allocation of Resources Without Limits or Throttling
[SNYK-UBUNTU1604-SYSTEMD-1320131](https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131) | No Known Exploit |\n| ![high severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png \"high severity\") | **614** | Allocation of Resources Without Limits or Throttling
[SNYK-UBUNTU1604-SYSTEMD-1320131](https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131) | No Known Exploit |\n| ![high severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png \"high severity\") | **614** | Allocation of Resources Without Limits or Throttling
[SNYK-UBUNTU1604-SYSTEMD-1320131](https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131) | No Known Exploit |\n| ![high severity](https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png \"high severity\") | **614** | Allocation of Resources Without Limits or Throttling
[SNYK-UBUNTU1604-SYSTEMD-1320131](https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131) | No Known Exploit |\n\n\n\n---\n\n**Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs._\n\nFor more information: \n🧐 [View latest project report](https://app.snyk.io/org/captaingeech42/project/0844d404-75f5-4e89-8105-c0443db59479?utm_source=github&utm_medium=referral&page=fix-pr)\n\n🛠 [Adjust project settings](https://app.snyk.io/org/captaingeech42/project/0844d404-75f5-4e89-8105-c0443db59479?utm_source=github&utm_medium=referral&page=fix-pr/settings)\n\n[//]: # 'snyk:metadata:{\"prId\":\"02ece5d9-172f-4382-90a9-ada3c1358aa0\",\"prPublicId\":\"02ece5d9-172f-4382-90a9-ada3c1358aa0\",\"dependencies\":[{\"name\":\"ubuntu\",\"from\":\"16.04\",\"to\":\"xenial-20210416\"}],\"packageManager\":\"dockerfile\",\"projectPublicId\":\"0844d404-75f5-4e89-8105-c0443db59479\",\"projectUrl\":\"https://app.snyk.io/org/captaingeech42/project/0844d404-75f5-4e89-8105-c0443db59479?utm_source=github&utm_medium=referral&page=fix-pr\",\"type\":\"auto\",\"patch\":[],\"vulns\":[\"SNYK-UBUNTU1604-SYSTEMD-1320131\",\"SNYK-UBUNTU1604-LIBGCRYPT20-1585790\"],\"upgrade\":[\"SNYK-UBUNTU1604-LIBGCRYPT20-1585790\",\"SNYK-UBUNTU1604-SYSTEMD-1320131\",\"SNYK-UBUNTU1604-SYSTEMD-1320131\",\"SNYK-UBUNTU1604-SYSTEMD-1320131\",\"SNYK-UBUNTU1604-SYSTEMD-1320131\"],\"isBreakingChange\":false,\"env\":\"prod\",\"prType\":\"fix\",\"templateVariants\":[\"updated-fix-title\",\"priorityScore\"],\"priorityScoreList\":[614,514]}'\n","created_at":"2022-01-01T01:00:09Z","updated_at":"2022-01-01T01:00:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/captainGeech42/beats/pulls/287/commits","review_comments_url":"https://api.github.com/repos/captainGeech42/beats/pulls/287/comments","review_comment_url":"https://api.github.com/repos/captainGeech42/beats/pulls/comments{/number}","comments_url":"https://api.github.com/repos/captainGeech42/beats/issues/287/comments","statuses_url":"https://api.github.com/repos/captainGeech42/beats/statuses/96bbfd764d0a66689dd5e5e7e98ed3be09141562","head":{"label":"captainGeech42:snyk-fix-66e5dfa1ae5b51873c088aa51a313658","ref":"snyk-fix-66e5dfa1ae5b51873c088aa51a313658","sha":"96bbfd764d0a66689dd5e5e7e98ed3be09141562","user":{"login":"captainGeech42","id":4255667,"node_id":"MDQ6VXNlcjQyNTU2Njc=","avatar_url":"https://avatars.githubusercontent.com/u/4255667?v=4","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","html_url":"https://github.com/captainGeech42","followers_url":"https://api.github.com/users/captainGeech42/followers","following_url":"https://api.github.com/users/captainGeech42/following{/other_user}","gists_url":"https://api.github.com/users/captainGeech42/gists{/gist_id}","starred_url":"https://api.github.com/users/captainGeech42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/captainGeech42/subscriptions","organizations_url":"https://api.github.com/users/captainGeech42/orgs","repos_url":"https://api.github.com/users/captainGeech42/repos","events_url":"https://api.github.com/users/captainGeech42/events{/privacy}","received_events_url":"https://api.github.com/users/captainGeech42/received_events","type":"User","site_admin":false},"repo":{"id":355320734,"node_id":"MDEwOlJlcG9zaXRvcnkzNTUzMjA3MzQ=","name":"beats","full_name":"captainGeech42/beats","private":false,"owner":{"login":"captainGeech42","id":4255667,"node_id":"MDQ6VXNlcjQyNTU2Njc=","avatar_url":"https://avatars.githubusercontent.com/u/4255667?v=4","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","html_url":"https://github.com/captainGeech42","followers_url":"https://api.github.com/users/captainGeech42/followers","following_url":"https://api.github.com/users/captainGeech42/following{/other_user}","gists_url":"https://api.github.com/users/captainGeech42/gists{/gist_id}","starred_url":"https://api.github.com/users/captainGeech42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/captainGeech42/subscriptions","organizations_url":"https://api.github.com/users/captainGeech42/orgs","repos_url":"https://api.github.com/users/captainGeech42/repos","events_url":"https://api.github.com/users/captainGeech42/events{/privacy}","received_events_url":"https://api.github.com/users/captainGeech42/received_events","type":"User","site_admin":false},"html_url":"https://github.com/captainGeech42/beats","description":":tropical_fish: Beats - Lightweight shippers for Elasticsearch & Logstash ","fork":true,"url":"https://api.github.com/repos/captainGeech42/beats","forks_url":"https://api.github.com/repos/captainGeech42/beats/forks","keys_url":"https://api.github.com/repos/captainGeech42/beats/keys{/key_id}","collaborators_url":"https://api.github.com/repos/captainGeech42/beats/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/captainGeech42/beats/teams","hooks_url":"https://api.github.com/repos/captainGeech42/beats/hooks","issue_events_url":"https://api.github.com/repos/captainGeech42/beats/issues/events{/number}","events_url":"https://api.github.com/repos/captainGeech42/beats/events","assignees_url":"https://api.github.com/repos/captainGeech42/beats/assignees{/user}","branches_url":"https://api.github.com/repos/captainGeech42/beats/branches{/branch}","tags_url":"https://api.github.com/repos/captainGeech42/beats/tags","blobs_url":"https://api.github.com/repos/captainGeech42/beats/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/captainGeech42/beats/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/captainGeech42/beats/git/refs{/sha}","trees_url":"https://api.github.com/repos/captainGeech42/beats/git/trees{/sha}","statuses_url":"https://api.github.com/repos/captainGeech42/beats/statuses/{sha}","languages_url":"https://api.github.com/repos/captainGeech42/beats/languages","stargazers_url":"https://api.github.com/repos/captainGeech42/beats/stargazers","contributors_url":"https://api.github.com/repos/captainGeech42/beats/contributors","subscribers_url":"https://api.github.com/repos/captainGeech42/beats/subscribers","subscription_url":"https://api.github.com/repos/captainGeech42/beats/subscription","commits_url":"https://api.github.com/repos/captainGeech42/beats/commits{/sha}","git_commits_url":"https://api.github.com/repos/captainGeech42/beats/git/commits{/sha}","comments_url":"https://api.github.com/repos/captainGeech42/beats/comments{/number}","issue_comment_url":"https://api.github.com/repos/captainGeech42/beats/issues/comments{/number}","contents_url":"https://api.github.com/repos/captainGeech42/beats/contents/{+path}","compare_url":"https://api.github.com/repos/captainGeech42/beats/compare/{base}...{head}","merges_url":"https://api.github.com/repos/captainGeech42/beats/merges","archive_url":"https://api.github.com/repos/captainGeech42/beats/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/captainGeech42/beats/downloads","issues_url":"https://api.github.com/repos/captainGeech42/beats/issues{/number}","pulls_url":"https://api.github.com/repos/captainGeech42/beats/pulls{/number}","milestones_url":"https://api.github.com/repos/captainGeech42/beats/milestones{/number}","notifications_url":"https://api.github.com/repos/captainGeech42/beats/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/captainGeech42/beats/labels{/name}","releases_url":"https://api.github.com/repos/captainGeech42/beats/releases{/id}","deployments_url":"https://api.github.com/repos/captainGeech42/beats/deployments","created_at":"2021-04-06T20:25:46Z","updated_at":"2021-04-06T20:25:48Z","pushed_at":"2022-01-01T01:00:09Z","git_url":"git://github.com/captainGeech42/beats.git","ssh_url":"git@github.com:captainGeech42/beats.git","clone_url":"https://github.com/captainGeech42/beats.git","svn_url":"https://github.com/captainGeech42/beats","homepage":"https://www.elastic.co/products/beats","size":314174,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":287,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":287,"watchers":0,"default_branch":"master"}},"base":{"label":"captainGeech42:master","ref":"master","sha":"6981ca378741fb00962b7d7fa5da1ea7dea0229f","user":{"login":"captainGeech42","id":4255667,"node_id":"MDQ6VXNlcjQyNTU2Njc=","avatar_url":"https://avatars.githubusercontent.com/u/4255667?v=4","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","html_url":"https://github.com/captainGeech42","followers_url":"https://api.github.com/users/captainGeech42/followers","following_url":"https://api.github.com/users/captainGeech42/following{/other_user}","gists_url":"https://api.github.com/users/captainGeech42/gists{/gist_id}","starred_url":"https://api.github.com/users/captainGeech42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/captainGeech42/subscriptions","organizations_url":"https://api.github.com/users/captainGeech42/orgs","repos_url":"https://api.github.com/users/captainGeech42/repos","events_url":"https://api.github.com/users/captainGeech42/events{/privacy}","received_events_url":"https://api.github.com/users/captainGeech42/received_events","type":"User","site_admin":false},"repo":{"id":355320734,"node_id":"MDEwOlJlcG9zaXRvcnkzNTUzMjA3MzQ=","name":"beats","full_name":"captainGeech42/beats","private":false,"owner":{"login":"captainGeech42","id":4255667,"node_id":"MDQ6VXNlcjQyNTU2Njc=","avatar_url":"https://avatars.githubusercontent.com/u/4255667?v=4","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","html_url":"https://github.com/captainGeech42","followers_url":"https://api.github.com/users/captainGeech42/followers","following_url":"https://api.github.com/users/captainGeech42/following{/other_user}","gists_url":"https://api.github.com/users/captainGeech42/gists{/gist_id}","starred_url":"https://api.github.com/users/captainGeech42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/captainGeech42/subscriptions","organizations_url":"https://api.github.com/users/captainGeech42/orgs","repos_url":"https://api.github.com/users/captainGeech42/repos","events_url":"https://api.github.com/users/captainGeech42/events{/privacy}","received_events_url":"https://api.github.com/users/captainGeech42/received_events","type":"User","site_admin":false},"html_url":"https://github.com/captainGeech42/beats","description":":tropical_fish: Beats - Lightweight shippers for Elasticsearch & Logstash ","fork":true,"url":"https://api.github.com/repos/captainGeech42/beats","forks_url":"https://api.github.com/repos/captainGeech42/beats/forks","keys_url":"https://api.github.com/repos/captainGeech42/beats/keys{/key_id}","collaborators_url":"https://api.github.com/repos/captainGeech42/beats/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/captainGeech42/beats/teams","hooks_url":"https://api.github.com/repos/captainGeech42/beats/hooks","issue_events_url":"https://api.github.com/repos/captainGeech42/beats/issues/events{/number}","events_url":"https://api.github.com/repos/captainGeech42/beats/events","assignees_url":"https://api.github.com/repos/captainGeech42/beats/assignees{/user}","branches_url":"https://api.github.com/repos/captainGeech42/beats/branches{/branch}","tags_url":"https://api.github.com/repos/captainGeech42/beats/tags","blobs_url":"https://api.github.com/repos/captainGeech42/beats/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/captainGeech42/beats/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/captainGeech42/beats/git/refs{/sha}","trees_url":"https://api.github.com/repos/captainGeech42/beats/git/trees{/sha}","statuses_url":"https://api.github.com/repos/captainGeech42/beats/statuses/{sha}","languages_url":"https://api.github.com/repos/captainGeech42/beats/languages","stargazers_url":"https://api.github.com/repos/captainGeech42/beats/stargazers","contributors_url":"https://api.github.com/repos/captainGeech42/beats/contributors","subscribers_url":"https://api.github.com/repos/captainGeech42/beats/subscribers","subscription_url":"https://api.github.com/repos/captainGeech42/beats/subscription","commits_url":"https://api.github.com/repos/captainGeech42/beats/commits{/sha}","git_commits_url":"https://api.github.com/repos/captainGeech42/beats/git/commits{/sha}","comments_url":"https://api.github.com/repos/captainGeech42/beats/comments{/number}","issue_comment_url":"https://api.github.com/repos/captainGeech42/beats/issues/comments{/number}","contents_url":"https://api.github.com/repos/captainGeech42/beats/contents/{+path}","compare_url":"https://api.github.com/repos/captainGeech42/beats/compare/{base}...{head}","merges_url":"https://api.github.com/repos/captainGeech42/beats/merges","archive_url":"https://api.github.com/repos/captainGeech42/beats/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/captainGeech42/beats/downloads","issues_url":"https://api.github.com/repos/captainGeech42/beats/issues{/number}","pulls_url":"https://api.github.com/repos/captainGeech42/beats/pulls{/number}","milestones_url":"https://api.github.com/repos/captainGeech42/beats/milestones{/number}","notifications_url":"https://api.github.com/repos/captainGeech42/beats/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/captainGeech42/beats/labels{/name}","releases_url":"https://api.github.com/repos/captainGeech42/beats/releases{/id}","deployments_url":"https://api.github.com/repos/captainGeech42/beats/deployments","created_at":"2021-04-06T20:25:46Z","updated_at":"2021-04-06T20:25:48Z","pushed_at":"2022-01-01T01:00:09Z","git_url":"git://github.com/captainGeech42/beats.git","ssh_url":"git@github.com:captainGeech42/beats.git","clone_url":"https://github.com/captainGeech42/beats.git","svn_url":"https://github.com/captainGeech42/beats","homepage":"https://www.elastic.co/products/beats","size":314174,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":287,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":287,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/captainGeech42/beats/pulls/287"},"html":{"href":"https://github.com/captainGeech42/beats/pull/287"},"issue":{"href":"https://api.github.com/repos/captainGeech42/beats/issues/287"},"comments":{"href":"https://api.github.com/repos/captainGeech42/beats/issues/287/comments"},"review_comments":{"href":"https://api.github.com/repos/captainGeech42/beats/pulls/287/comments"},"review_comment":{"href":"https://api.github.com/repos/captainGeech42/beats/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/captainGeech42/beats/pulls/287/commits"},"statuses":{"href":"https://api.github.com/repos/captainGeech42/beats/statuses/96bbfd764d0a66689dd5e5e7e98ed3be09141562"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":1,"changed_files":1}},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396479","type":"CreateEvent","actor":{"id":91643649,"login":"sugeshc389","display_login":"sugeshc389","gravatar_id":"","url":"https://api.github.com/users/sugeshc389","avatar_url":"https://avatars.githubusercontent.com/u/91643649?"},"repo":{"id":443449232,"name":"sugeshc389/money_management","url":"https://api.github.com/repos/sugeshc389/money_management"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396472","type":"PushEvent","actor":{"id":70243256,"login":"Virusuki","display_login":"Virusuki","gravatar_id":"","url":"https://api.github.com/users/Virusuki","avatar_url":"https://avatars.githubusercontent.com/u/70243256?"},"repo":{"id":439206443,"name":"Virusuki/Kubernetes","url":"https://api.github.com/repos/Virusuki/Kubernetes"},"payload":{"push_id":8732433590,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"db30c4726f3ffaaf65d3e52055f28fd46f037afb","before":"43af33bfd7b15154062085d4139a4c7c426f8483","commits":[{"sha":"db30c4726f3ffaaf65d3e52055f28fd46f037afb","author":{"email":"70243256+Virusuki@users.noreply.github.com","name":"Virusuk"},"message":"Update 오토 스케일링 HPA워크스루.md","distinct":true,"url":"https://api.github.com/repos/Virusuki/Kubernetes/commits/db30c4726f3ffaaf65d3e52055f28fd46f037afb"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396481","type":"PushEvent","actor":{"id":250071,"login":"dvershinin","display_login":"dvershinin","gravatar_id":"","url":"https://api.github.com/users/dvershinin","avatar_url":"https://avatars.githubusercontent.com/u/250071?"},"repo":{"id":386787455,"name":"GetPageSpeed/telegram-desktop-rpm","url":"https://api.github.com/repos/GetPageSpeed/telegram-desktop-rpm"},"payload":{"push_id":8732433603,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"095d2610cb1ffc9c0b50a525e4a18d3182244277","before":"8f1405b2fc2b101d0d83c2dca3ce32cc4abc2a74","commits":[{"sha":"095d2610cb1ffc9c0b50a525e4a18d3182244277","author":{"email":"info@getpagespeed.com","name":"GetPageSpeed Builder"},"message":"Auto-building from latest upstream GitHub release 3.4.2","distinct":true,"url":"https://api.github.com/repos/GetPageSpeed/telegram-desktop-rpm/commits/095d2610cb1ffc9c0b50a525e4a18d3182244277"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":20408455,"login":"GetPageSpeed","gravatar_id":"","url":"https://api.github.com/orgs/GetPageSpeed","avatar_url":"https://avatars.githubusercontent.com/u/20408455?"}} +{"id":"19541396483","type":"PushEvent","actor":{"id":7587960,"login":"weng-pang","display_login":"weng-pang","gravatar_id":"","url":"https://api.github.com/users/weng-pang","avatar_url":"https://avatars.githubusercontent.com/u/7587960?"},"repo":{"id":414192976,"name":"Fluffy-Pan/fp-sauces","url":"https://api.github.com/repos/Fluffy-Pan/fp-sauces"},"payload":{"push_id":8732433601,"size":1,"distinct_size":1,"ref":"refs/heads/golf","head":"60d61ebf3892337214d7ccbe03e32497fa81af51","before":"fdc7e2ba98171f30f9db7f41c8fbc1227f1277d8","commits":[{"sha":"60d61ebf3892337214d7ccbe03e32497fa81af51","author":{"email":"warren@valentine-flowershop.com","name":"Weng Long Pang (GOLF)"},"message":"golf.json Updated","distinct":true,"url":"https://api.github.com/repos/Fluffy-Pan/fp-sauces/commits/60d61ebf3892337214d7ccbe03e32497fa81af51"}]},"public":true,"created_at":"2022-01-01T01:00:09Z","org":{"id":91823622,"login":"Fluffy-Pan","gravatar_id":"","url":"https://api.github.com/orgs/Fluffy-Pan","avatar_url":"https://avatars.githubusercontent.com/u/91823622?"}} +{"id":"19541396484","type":"PushEvent","actor":{"id":621412,"login":"shitchell","display_login":"shitchell","gravatar_id":"","url":"https://api.github.com/users/shitchell","avatar_url":"https://avatars.githubusercontent.com/u/621412?"},"repo":{"id":420502250,"name":"shitchell/mu-mee6","url":"https://api.github.com/repos/shitchell/mu-mee6"},"payload":{"push_id":8732433598,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"2bb79e028219400a054afa3cd5c0ff47e9e2f1f2","before":"be3ea9b559fe96718208fc0a99d0ad730f073113","commits":[{"sha":"2bb79e028219400a054afa3cd5c0ff47e9e2f1f2","author":{"email":"shaun@shitchell.com","name":"guy"},"message":"auto-updated db","distinct":true,"url":"https://api.github.com/repos/shitchell/mu-mee6/commits/2bb79e028219400a054afa3cd5c0ff47e9e2f1f2"}]},"public":true,"created_at":"2022-01-01T01:00:09Z"} +{"id":"19541396485","type":"ReleaseEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":152876761,"name":"AndriousSolutions/mvc_pattern","url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern/releases/56241591","assets_url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern/releases/56241591/assets","upload_url":"https://uploads.github.com/repos/AndriousSolutions/mvc_pattern/releases/56241591/assets{?name,label}","html_url":"https://github.com/AndriousSolutions/mvc_pattern/releases/tag/refs/heads/master","id":56241591,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"node_id":"RE_kwDOCRy22c4DWi23","tag_name":"refs/heads/master","target_commitish":"c05cefb2fe38e5e61392b3a2be3eef92ada72ae9","name":"Release refs/heads/master","draft":false,"prerelease":false,"created_at":"2022-01-01T00:58:55Z","published_at":"2022-01-01T01:00:09Z","assets":[],"tarball_url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern/tarball/refs/heads/master","zipball_url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern/zipball/refs/heads/master","body":"\n\n## 8.2.2.+03\n December 31, 2021\n- Update .github/workflows/\n\n## 8.2.2\n December 25, 2021\n- Future didPopRoute() async => false; Future didPushRoute(String route) async => false;\n\n## 8.2.1\n December 10, 2021\n- context?.findAncestorStateOfType();\n\n## 8.2.0\n November 24, 2021\n- Replaced setStatesInherited with inheritedNeedsBuild();\n\n## 8.1.2\n November 22, 2021\n- In void deactivate() { for (final con in _beforeList) {\n\n## 8.1.1\n November 10, 2021\n- // Don't if the widget is not in the widget tree.\n- if (mounted) {\n\n## 8.1.0\n November 04, 2021\n- StateMVC? get state => _stateMVC; replaces getter, stateMVC\n- pedantic 1.11.1 (discontinued replaced by lints)\n\n## 8.0.0\n October 30, 2021\n- Remove deprecated function, removeState()\n- Removed from mixin StateListener: initAsync() & onAsyncError()\n- Renamed ViewMVC to AppStateMVC\n- Renamed AppConMVC to AppControllerMVC\n- AppControllerMVC is now a mixin\n- Renamed AppMVC to AppStatefulWidgetMVC\n- Nullify ControllerMVC? get controller => _controller ??= firstCon;\n- Nullify ControllerMVC? get firstCon => _asList.first;\n- Rewritten class _InheritedMVC extends StatefulWidget {\n\n## 7.4.0\n July 08, 2021\n- StateMVC.of(context);\n\n## 7.3.3\n June 24, 2021\n- if (_statePushed) { // Retain the 'right' State object.\n\n## 7.3.2\n June 24, 2021\n- _stateMVCSet.retainWhere((state) => state.mounted);\n\n## 7.3.1\n June 24, 2021\n- setState() only if (mounted) {\n\n## 7.3.0+2\n June 11, 2021\n- Introduced ofState() in mixin StateSets\n\n## 7.2.0\n May 01, 2021\n- _inTester = WidgetsBinding.instance is TestWidgetsFlutterBinding;\n\n## 7.1.4\n April 19, 2021\n- Don't continue app if !con.initAsync();\n\n## 7.1.3\n March 30, 2021\n- Corrected _removeStateMVC(StateMVC? state)\n- Enhanced BuildContext? get context\n- Removed deprecated function, popState().\n\n## 7.1.2\n March 27, 2021\n- class _InheritedMVC with Object? object;\n- catchError() has WidgetsBinding.instance is WidgetsFlutterBinding\n- Unit Tests for class ViewMVC & class _InheritedMVC\n- Separate tests files.\n\n## 7.1.1\n March 26, 2021\n- Further Unit Tests\n- Corrected beforeList() & afterList() with for (final listener in set) {\n\n## 7.1.0\n March 21, 2021\n- **BREAKING CHANGE** addState() returns State object's unique identifier; not the controller's\n- Corrected AppMVC._addStateMVC(this as StateMVC);\n- Removed deprecated function, popState()\n- Improved test widget\n- Introduced CI/CD with Github Actions\n- Introduced Test coverage with Codecov\n\n## 7.0.1\n March 21, 2021\n- for (final listener in set) {\n\n## 7.0.0 Null safety\n March 04, 2021\n- Migrated to Dart SDK 2.12.0\n\n## 6.6.4+2\n January 25, 2021\n- AppMVC._removeStateMVC(this);\n- BuildContext get context\n\n## 6.6.3+2\n January 08, 2021\n- Updated README.md to include mvc_application.\n\n## 6.6.3\n January 08, 2021\n- _rebuildAllowed = true; in dispose();\n\n## 6.6.2\n November 21, 2020\n- **Critical fix** _rebuildAllowed = true; in initAsync()\n\n## 6.6.1\n November 21, 2020\n- Commented out , if (mounted), in refresh()\n\n## 6.6.0\n November 09, 2020\n- New method onAsyncError(FlutterErrorDetails details)\n\n## 6.5.0\n October 10, 2020\n- Removed deprecated function, buildView();\n\n## 6.4.0\n September 07, 2020\n- Introduced class, ModelMVC\n- Introduced class, StateSetter\n- Introduced mixin, StateSets\n- Removed key from class, ViewMVC\n\n## 6.3.0\n August 14, 2020\n- Remove import 'package:flutter_test/flutter_test.dart' to support Flutter Web \n\n## 6.2.0+1\n August 14, 2020\n- ControllerMVC controller in class, ViewMVC\n\n## 6.2.0\n August 13, 2020\n- Strict Flutter Lint Rules following Dart Style Guide.\n- Introduced analysis_options.yaml\n\n## 6.1.3+2\n July 10, 2020\n- Corrected the README.md\n \n## 6.1.0\n July 09, 2020\n- @deprecated Widget buildView(BuildContext context);\n- README Note, there is now the 'MVC framework' which wraps around this\n- Remove 'author' section from pubspec.yaml\n\n## 6.0.0\n May 18, 2020\n- Fixed controllerByType(); AppMVC.controllers to AppMVC._controllers\n\n## 5.1.1\n May 02, 2020\n- @mustCallSuper to didChangeMetrics() didChangeTextScaleFactor() didChangeLocale() \n- didHaveMemoryPressure() didChangeAccessibilityFeatures() didChangeDependencies() reassemble() \n\n## 5.1.0\n April 26, 2020\n- AppConMVC(state) provide the state parameter.\n- AppState should not rebuild.\n\n## 5.0.0\n April 19, 2020\n- Future initAsync() async in mixin StateListener\n- Removed Future init() async in class AppConMVC\n- Replaced Future.value(true) in didPopRoute(), didPushRoute(), \n \n## 4.0.0\n April 07, 2020\n- Introduced integrated error handling. \n- ViewMVC remove errorScreen, \n- AppConMVC stateMVC?.onError(details)\n- AppMVC void onError(details)\n\n## 3.8.0\n February 26, 2020\n- Returned the getter, context, to the Controller.\n \n## 3.7.2\n January 22, 2019\n- **Correction** Don't call Controller's dispose in StateMVC if it's in other State objects.\n\n## 3.7.1\n January 16, 2020\n- errorScreen == null\n\n## 3.7.0\n January 16, 2020\n- Custom 'Error Screen' instead of 'Red Screen of Death'\n\n## 3.6.1\n December 30, 2019\n- Don't dispose Controller if it's in other State objects.\n\n## 3.6.0\n December 06, 2019\n- void catchError(Exception ex)\n- context.dependOnInheritedWidgetOfExactType\n- assert(this.mounted, \"StateMVC is not instantiated properly.\");\n- SDK constraints sdk: \">=2.3.0 <3.0.0\"\n\n## 3.5.0\n Sept. 20, 2019\n- New functions, rebuild() notifyListeners() calls refresh()\n- T controllerByType(\n- abstract class ViewMVC extends StateMVC {\n- class _InheritedMVC extends InheritedWidget {\n- class SetState extends StatelessWidget {\n \n## 3.4.3\n Sept. 02, 2019\n- _AppState super.initState();\n- SDK constraints sdk: \">=2.2.2 <3.0.0\"\n \n## 3.4.2\n August 23, 2019\n- states property in AppMVC set to private, _states.\n\n## 3.4.1\n July 02, 2019\n- Flutter upgrade\n- _rebuildAllowed = true; after super.deactivate(); super.didUpdateWidget(oldWidget); super.reassemble();\n\n## 3.4.0\n July 02, 2019\n- of() function introduced. \n- expect() functions in mvc_pattern_test.dart\n\n## 3.3.8\n June 28, 2019\n- **Bug fix** _rebuildAllowed = true; in StateMVC.deactivate()\n\n## 3.3.7\n May 11, 2019\n- StateMVC.dispose() will only run once. Removed if(_disposed) return;\n\n## 3.3.6\n Apr. 21, 2019\n- Ensure StateMVC.dispose() is runs only once. if(_disposed) return;\n\n## 3.3.5\n Apr. 12, 2019\n- Return _rebuildAllowed = true; in didUpdateWidget() & reassemble()\n\n## 3.3.4\n Apr. 03, 2019\n- **Correction** Controllers and Listeners dispose calls in the StateMVC were not an issue after all.\n\n## 3.3.3\n Apr. 02, 2019\n- Call _disposeState() on all controllers when StateMVC is disposed.\n\n## 3.3.2\n Apr. 02, 2019\n- Proven prudent to not dispose any Controllers or Listeners in the StateMVC.\n \n## 3.3.1\n Apr. 02, 2019\n- ControllerMVC getter 'states' returns a 'copy' of the Set of State objects. \n- Only dispose a Controller if no longer relied on by a view.\n\n## 3.3.0 \n Mar. 16, 2019. \n- Removed abstract from class ControllerMVC\n- Add didPopRoute() didPushRoute() to StateListener\n\n## 3.2.4 \n Mar. 02, 2019. \n- No 'setState()' function is necessary; in some events.\n\n## 3.2.3 \n Feb. 20, 2019. \n- await (con as AppConMVC)?.init();\n\n## 3.2.2 \n Feb. 17, 2019. \n- _oldOnError = _recOnError()\n\n## 3.2.1 \n Feb. 06, 2019. \n- Update the upper bound of the SDK constraint to <3.0.0\n\n## 3.2.0 \n Jan. 30, 2019. \n- Deprecated Error Handler from Controller. Removed refresh(); from initState() & deactiveate\n\n## 3.1.0 \n Jan. 26, 2019. \n- StateViewMVC implements StateListener & get controller \n \n## 3.0.0 \n Jan. 25, 2019. \n- Changed class StateListener to a mixin\n- addState() in Controller and Listener adding any number of Views\n- abstract class StateViewMVC extends StateMVC\n- class ViewMVC extends _StateObserver with _ControllerListing \n- void didChangeDependencies() will not refresh() on first build\n- Removed from Controllers the getters: widget, context, mounted\n- stateView getter is deprecated. Replaced by stateMVC. Removed stateMVC setter.\n- Removed controller setter in class ViewMVC\n- if (con is AppConMVC) //bool addBeforeListener(StateListener listener)\n\n## 2.0.2 \n Jan. 19, 2019. \n- void addState(StateMVC state) {\n\n## 2.0.1 \n Jan. 16, 2019. \n- AppMVC({this.con, Key key}) : super(key: key);\n\n## 2.0.0 \n Jan. 16, 2019. \n- ControllerMVC(State state)\n- class _StateView with StateListener\n- _StateView() : _oldOnError = _recOnError() {\n- abstract class StateMVC extends State\n- remove setter, controller\n- _StateListener.disposeStateEventList() use clear();\n- Removed StatefulWidgetMVC\n- Removed StatedWidget\n- abstract class AppMVC extends StatefulWidget {\n- Removed StatelessWidgetMVC\n\n## 1.3.6 \n Jan. 12, 2019. \n- StateListener to replace StateEvents. addState() disposedState()\n\n## 1.3.5 \n Jan. 11, 2019. \n- remove StateListener\n\n## 1.3.4 \n Jan. 11, 2019. \n- StateListener as a mixin for StateEvents\n\n## 1.3.3 \n Jan. 01, 2019. \n- Removed @protected from ViewMVC.build() Private _ControllerListing._con(String keyId)\n\n\n## 1.3.2 \n Dec. 28, 2018. \n- if(mounted) in refresh()\n\n## 1.3.1 \n Dec. 10, 2018. \n- sdk: \">=2.0.0 <5.0.0\"\n\n## 1.3.0 \n Dec. 03, 2018. \n- Updated README.md\n\n## 1.3.0 \n Nov. 18, 2018. \n- add some further examples under test folder\n\n## 1.2.4 \n Nov. 17, 2018. \n- fix on StateEvents assign on keyId\n\n## 1.2.3 \n Nov. 13, 2018. \n- test for TestWidgetsFlutterBinding\n\n## 1.2.2 \n Nov. 02, 2018. \n- fix on StatedWidget\n\n## 1.2.1 \n Nov. 02, 2018. \n- fix on StateViewMVC\n\n## 1.2.0 \n Oct. 29, 2018. \n- enhance AppMVC\n\n## 1.1.1 \n Oct. 27, 2018. \n- StatefulWidgetMVC deemed deprecated\n\n## 1.1.0 \n Oct. 25, 2018. \n- keyId in StateEvents\n\n## 1.0.0 \n Oct. 24, 2018. \n- Official Production Release\n\n## 0.0.14 \n Oct. 24, 2018. \n- fix on StateViewMVC & AppMVC & @protected\n\n## 0.0.13 \n Oct. 23, 2018. \n- fix on _ControllerListing\n\n## 0.0.12 \n Oct. 23, 2018. \n- class ViewMVC with _ControllerListing\n\n## 0.0.11 \n Oct. 23, 2018. \n- class StateMVC with _ControllerListing, _StateEventList\n\n## 0.0.10 \n Oct. 22, 2018. \n- include travis.yml\n\n## 0.0.9 \n Oct. 21, 2018. \n- fix on ViewMVC & StateViewMVC\n\n## 0.0.8 \n Oct. 20, 2018. \n- Updated the README.md\n\n## 0.0.7 \n Oct. 19, 2018. \n- Provide example/main.dart\n\n## 0.0.6 \n Oct. 18, 2018. \n- fix on StateMVC.con()\n\n## 0.0.5 \n Oct. 18, 2018. \n- fix on StatedWidget\n\n## 0.0.4 \n Oct. 18, 2018. \n- fix on StateMVC.add()\n\n## 0.0.3 \n Oct. 18, 2018. \n- fix on AppMVC and StateEvents\n\n## 0.0.1 \n Oct. 13, 2018. \n- Initial Release","mentions_count":2,"mentions":[{"avatar_url":"https://avatars.githubusercontent.com/u/1270823?v=4","login":"Protected","profile_name":null,"profile_url":"https://github.com/Protected","avatar_user_actor":true},{"avatar_url":"https://avatars.githubusercontent.com/u/7106212?v=4","login":"deprecated","profile_name":"Daniel Edeling","profile_url":"https://github.com/deprecated","avatar_user_actor":true}],"short_description_html":"

8.2.2.+03

\n

December 31, 2021

\n
    \n
  • Update .github/workflows/
  • \n
\n

8.2.2

\n

December 25, 2021

\n
    \n
  • Future didPopRoute() async => false; Future didPushRoute(String route) async => false;
  • \n
\n

8.2.1

\n

December 10, 2021

\n
    \n
  • con…
  • \n
","is_short_description_html_truncated":true}},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":32497507,"login":"AndriousSolutions","gravatar_id":"","url":"https://api.github.com/orgs/AndriousSolutions","avatar_url":"https://avatars.githubusercontent.com/u/32497507?"}} +{"id":"19541396488","type":"CreateEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":152876761,"name":"AndriousSolutions/mvc_pattern","url":"https://api.github.com/repos/AndriousSolutions/mvc_pattern"},"payload":{"ref":"refs/heads/master","ref_type":"tag","master_branch":"master","description":"Flutter Plugin to implement one of many variations of the MVC design pattern.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":32497507,"login":"AndriousSolutions","gravatar_id":"","url":"https://api.github.com/orgs/AndriousSolutions","avatar_url":"https://avatars.githubusercontent.com/u/32497507?"}} +{"id":"19541396493","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433600,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"942d8b49e0daaf18efbd1f86967b9eca4e02a6fd","before":"ce786fac3d7d6ccb0c6f82664ee8fd3b9483c86c","commits":[{"sha":"942d8b49e0daaf18efbd1f86967b9eca4e02a6fd","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/sys-fs for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/942d8b49e0daaf18efbd1f86967b9eca4e02a6fd"}]},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396495","type":"ReleaseEvent","actor":{"id":25272842,"login":"AndreAugustoAAQ","display_login":"AndreAugustoAAQ","gravatar_id":"","url":"https://api.github.com/users/AndreAugustoAAQ","avatar_url":"https://avatars.githubusercontent.com/u/25272842?"},"repo":{"id":340653577,"name":"AndreAugustoAAQ/chocolatey-packages","url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages/releases/56241592","assets_url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages/releases/56241592/assets","upload_url":"https://uploads.github.com/repos/AndreAugustoAAQ/chocolatey-packages/releases/56241592/assets{?name,label}","html_url":"https://github.com/AndreAugustoAAQ/chocolatey-packages/releases/tag/kdeconnect-kde-21.12.0.833","id":56241592,"author":{"login":"AndreAugustoAAQ","id":25272842,"node_id":"MDQ6VXNlcjI1MjcyODQy","avatar_url":"https://avatars.githubusercontent.com/u/25272842?v=4","gravatar_id":"","url":"https://api.github.com/users/AndreAugustoAAQ","html_url":"https://github.com/AndreAugustoAAQ","followers_url":"https://api.github.com/users/AndreAugustoAAQ/followers","following_url":"https://api.github.com/users/AndreAugustoAAQ/following{/other_user}","gists_url":"https://api.github.com/users/AndreAugustoAAQ/gists{/gist_id}","starred_url":"https://api.github.com/users/AndreAugustoAAQ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AndreAugustoAAQ/subscriptions","organizations_url":"https://api.github.com/users/AndreAugustoAAQ/orgs","repos_url":"https://api.github.com/users/AndreAugustoAAQ/repos","events_url":"https://api.github.com/users/AndreAugustoAAQ/events{/privacy}","received_events_url":"https://api.github.com/users/AndreAugustoAAQ/received_events","type":"User","site_admin":false},"node_id":"MDc6UmVsZWFzZTU2MjQxNTky","tag_name":"kdeconnect-kde-21.12.0.833","target_commitish":"master","name":"kdeconnect-kde 21.12.0.833","draft":false,"prerelease":false,"created_at":"2021-06-02T00:02:45Z","published_at":"2022-01-01T01:00:09Z","assets":[],"tarball_url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages/tarball/kdeconnect-kde-21.12.0.833","zipball_url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages/zipball/kdeconnect-kde-21.12.0.833","body":"kdeconnect-kde was updated from version 1.4.507 to 21.12.0.833","short_description_html":"

kdeconnect-kde was updated from version 1.4.507 to 21.12.0.833

","is_short_description_html_truncated":false}},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396496","type":"PushEvent","actor":{"id":39223861,"login":"chrismailer","display_login":"chrismailer","gravatar_id":"","url":"https://api.github.com/users/chrismailer","avatar_url":"https://avatars.githubusercontent.com/u/39223861?"},"repo":{"id":430211852,"name":"chrismailer/loadshedding-calendar","url":"https://api.github.com/repos/chrismailer/loadshedding-calendar"},"payload":{"push_id":8732433606,"size":1,"distinct_size":1,"ref":"refs/heads/feed","head":"e5aa814c7071b93f76a4ec4401ad8f9868050b34","before":"b2b6809efad314a4263ed2ced6e862961888b9df","commits":[{"sha":"e5aa814c7071b93f76a4ec4401ad8f9868050b34","author":{"email":"christophermailer@icloud.com","name":"Christopher Mailer"},"message":"committing files","distinct":true,"url":"https://api.github.com/repos/chrismailer/loadshedding-calendar/commits/e5aa814c7071b93f76a4ec4401ad8f9868050b34"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396500","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732433604,"size":1,"distinct_size":1,"ref":"refs/heads/bump_utmps_init","head":"2d3ecb35683ebd5fb7e807a7b002e78f1eead7bb","before":"2ea71a8f1c99edce7942fe998d33756a58964bb0","commits":[{"sha":"2d3ecb35683ebd5fb7e807a7b002e78f1eead7bb","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"Bump init/utmps to 0.1.1.0","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/2d3ecb35683ebd5fb7e807a7b002e78f1eead7bb"}]},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396503","type":"PushEvent","actor":{"id":92909812,"login":"YUNCHANYEONG","display_login":"YUNCHANYEONG","gravatar_id":"","url":"https://api.github.com/users/YUNCHANYEONG","avatar_url":"https://avatars.githubusercontent.com/u/92909812?"},"repo":{"id":437497819,"name":"YUNCHANYEONG/YUNCHANYEONG.github.io","url":"https://api.github.com/repos/YUNCHANYEONG/YUNCHANYEONG.github.io"},"payload":{"push_id":8732433616,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"18332f06e8af8c6b8295b872a328be9d73d6691d","before":"b83d1d547993368d54713b8d8188874c968d9724","commits":[{"sha":"18332f06e8af8c6b8295b872a328be9d73d6691d","author":{"email":"92909812+YUNCHANYEONG@users.noreply.github.com","name":"CHANYEONG YUN"},"message":"Update 2022-01-01-HTML-day1.md","distinct":true,"url":"https://api.github.com/repos/YUNCHANYEONG/YUNCHANYEONG.github.io/commits/18332f06e8af8c6b8295b872a328be9d73d6691d"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396505","type":"CreateEvent","actor":{"id":25272842,"login":"AndreAugustoAAQ","display_login":"AndreAugustoAAQ","gravatar_id":"","url":"https://api.github.com/users/AndreAugustoAAQ","avatar_url":"https://avatars.githubusercontent.com/u/25272842?"},"repo":{"id":340653577,"name":"AndreAugustoAAQ/chocolatey-packages","url":"https://api.github.com/repos/AndreAugustoAAQ/chocolatey-packages"},"payload":{"ref":"kdeconnect-kde-21.12.0.833","ref_type":"tag","master_branch":"main","description":"Chocolatey Packages Source Code by AndreAugustoAAQ","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396506","type":"PullRequestEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":364608196,"name":"boost-entropy-golang/porter","url":"https://api.github.com/repos/boost-entropy-golang/porter"},"payload":{"action":"opened","number":100,"pull_request":{"url":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100","id":812479603,"node_id":"PR_kwDOFbt6xM4wbXRz","html_url":"https://github.com/boost-entropy-golang/porter/pull/100","diff_url":"https://github.com/boost-entropy-golang/porter/pull/100.diff","patch_url":"https://github.com/boost-entropy-golang/porter/pull/100.patch","issue_url":"https://api.github.com/repos/boost-entropy-golang/porter/issues/100","number":100,"state":"open","locked":false,"title":"[pull] master from porter-dev:master","user":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"See Commits and Changes for more details.\n\n-----\nCreated by [ **pull[bot]**](https://github.com/wei/pull)\n\n_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_","created_at":"2022-01-01T01:00:09Z","updated_at":"2022-01-01T01:00:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100/commits","review_comments_url":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100/comments","review_comment_url":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/comments{/number}","comments_url":"https://api.github.com/repos/boost-entropy-golang/porter/issues/100/comments","statuses_url":"https://api.github.com/repos/boost-entropy-golang/porter/statuses/2f5ea6ccb883773cf51271560f0a3bafbb5d2f7a","head":{"label":"porter-dev:master","ref":"master","sha":"2f5ea6ccb883773cf51271560f0a3bafbb5d2f7a","user":{"login":"porter-dev","id":62078005,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDc4MDA1","avatar_url":"https://avatars.githubusercontent.com/u/62078005?v=4","gravatar_id":"","url":"https://api.github.com/users/porter-dev","html_url":"https://github.com/porter-dev","followers_url":"https://api.github.com/users/porter-dev/followers","following_url":"https://api.github.com/users/porter-dev/following{/other_user}","gists_url":"https://api.github.com/users/porter-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/porter-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/porter-dev/subscriptions","organizations_url":"https://api.github.com/users/porter-dev/orgs","repos_url":"https://api.github.com/users/porter-dev/repos","events_url":"https://api.github.com/users/porter-dev/events{/privacy}","received_events_url":"https://api.github.com/users/porter-dev/received_events","type":"Organization","site_admin":false},"repo":{"id":297436961,"node_id":"MDEwOlJlcG9zaXRvcnkyOTc0MzY5NjE=","name":"porter","full_name":"porter-dev/porter","private":false,"owner":{"login":"porter-dev","id":62078005,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYyMDc4MDA1","avatar_url":"https://avatars.githubusercontent.com/u/62078005?v=4","gravatar_id":"","url":"https://api.github.com/users/porter-dev","html_url":"https://github.com/porter-dev","followers_url":"https://api.github.com/users/porter-dev/followers","following_url":"https://api.github.com/users/porter-dev/following{/other_user}","gists_url":"https://api.github.com/users/porter-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/porter-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/porter-dev/subscriptions","organizations_url":"https://api.github.com/users/porter-dev/orgs","repos_url":"https://api.github.com/users/porter-dev/repos","events_url":"https://api.github.com/users/porter-dev/events{/privacy}","received_events_url":"https://api.github.com/users/porter-dev/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/porter-dev/porter","description":"Kubernetes powered PaaS that runs in your own cloud.","fork":false,"url":"https://api.github.com/repos/porter-dev/porter","forks_url":"https://api.github.com/repos/porter-dev/porter/forks","keys_url":"https://api.github.com/repos/porter-dev/porter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/porter-dev/porter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/porter-dev/porter/teams","hooks_url":"https://api.github.com/repos/porter-dev/porter/hooks","issue_events_url":"https://api.github.com/repos/porter-dev/porter/issues/events{/number}","events_url":"https://api.github.com/repos/porter-dev/porter/events","assignees_url":"https://api.github.com/repos/porter-dev/porter/assignees{/user}","branches_url":"https://api.github.com/repos/porter-dev/porter/branches{/branch}","tags_url":"https://api.github.com/repos/porter-dev/porter/tags","blobs_url":"https://api.github.com/repos/porter-dev/porter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/porter-dev/porter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/porter-dev/porter/git/refs{/sha}","trees_url":"https://api.github.com/repos/porter-dev/porter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/porter-dev/porter/statuses/{sha}","languages_url":"https://api.github.com/repos/porter-dev/porter/languages","stargazers_url":"https://api.github.com/repos/porter-dev/porter/stargazers","contributors_url":"https://api.github.com/repos/porter-dev/porter/contributors","subscribers_url":"https://api.github.com/repos/porter-dev/porter/subscribers","subscription_url":"https://api.github.com/repos/porter-dev/porter/subscription","commits_url":"https://api.github.com/repos/porter-dev/porter/commits{/sha}","git_commits_url":"https://api.github.com/repos/porter-dev/porter/git/commits{/sha}","comments_url":"https://api.github.com/repos/porter-dev/porter/comments{/number}","issue_comment_url":"https://api.github.com/repos/porter-dev/porter/issues/comments{/number}","contents_url":"https://api.github.com/repos/porter-dev/porter/contents/{+path}","compare_url":"https://api.github.com/repos/porter-dev/porter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/porter-dev/porter/merges","archive_url":"https://api.github.com/repos/porter-dev/porter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/porter-dev/porter/downloads","issues_url":"https://api.github.com/repos/porter-dev/porter/issues{/number}","pulls_url":"https://api.github.com/repos/porter-dev/porter/pulls{/number}","milestones_url":"https://api.github.com/repos/porter-dev/porter/milestones{/number}","notifications_url":"https://api.github.com/repos/porter-dev/porter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/porter-dev/porter/labels{/name}","releases_url":"https://api.github.com/repos/porter-dev/porter/releases{/id}","deployments_url":"https://api.github.com/repos/porter-dev/porter/deployments","created_at":"2020-09-21T19:11:53Z","updated_at":"2021-12-31T22:12:11Z","pushed_at":"2021-12-31T23:20:38Z","git_url":"git://github.com/porter-dev/porter.git","ssh_url":"git@github.com:porter-dev/porter.git","clone_url":"https://github.com/porter-dev/porter.git","svn_url":"https://github.com/porter-dev/porter","homepage":"https://porter.run","size":32975,"stargazers_count":2879,"watchers_count":2879,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":108,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":82,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":["aws","containers","devops","digitalocean","docker","gcp","golang","helm","heroku","kubernetes","paas","react"],"visibility":"public","forks":108,"open_issues":82,"watchers":2879,"default_branch":"master"}},"base":{"label":"boost-entropy-golang:master","ref":"master","sha":"c75a959a7ad34fa071d8e44eed8cd78149a59859","user":{"login":"boost-entropy-golang","id":83460139,"node_id":"MDEyOk9yZ2FuaXphdGlvbjgzNDYwMTM5","avatar_url":"https://avatars.githubusercontent.com/u/83460139?v=4","gravatar_id":"","url":"https://api.github.com/users/boost-entropy-golang","html_url":"https://github.com/boost-entropy-golang","followers_url":"https://api.github.com/users/boost-entropy-golang/followers","following_url":"https://api.github.com/users/boost-entropy-golang/following{/other_user}","gists_url":"https://api.github.com/users/boost-entropy-golang/gists{/gist_id}","starred_url":"https://api.github.com/users/boost-entropy-golang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boost-entropy-golang/subscriptions","organizations_url":"https://api.github.com/users/boost-entropy-golang/orgs","repos_url":"https://api.github.com/users/boost-entropy-golang/repos","events_url":"https://api.github.com/users/boost-entropy-golang/events{/privacy}","received_events_url":"https://api.github.com/users/boost-entropy-golang/received_events","type":"Organization","site_admin":false},"repo":{"id":364608196,"node_id":"MDEwOlJlcG9zaXRvcnkzNjQ2MDgxOTY=","name":"porter","full_name":"boost-entropy-golang/porter","private":false,"owner":{"login":"boost-entropy-golang","id":83460139,"node_id":"MDEyOk9yZ2FuaXphdGlvbjgzNDYwMTM5","avatar_url":"https://avatars.githubusercontent.com/u/83460139?v=4","gravatar_id":"","url":"https://api.github.com/users/boost-entropy-golang","html_url":"https://github.com/boost-entropy-golang","followers_url":"https://api.github.com/users/boost-entropy-golang/followers","following_url":"https://api.github.com/users/boost-entropy-golang/following{/other_user}","gists_url":"https://api.github.com/users/boost-entropy-golang/gists{/gist_id}","starred_url":"https://api.github.com/users/boost-entropy-golang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boost-entropy-golang/subscriptions","organizations_url":"https://api.github.com/users/boost-entropy-golang/orgs","repos_url":"https://api.github.com/users/boost-entropy-golang/repos","events_url":"https://api.github.com/users/boost-entropy-golang/events{/privacy}","received_events_url":"https://api.github.com/users/boost-entropy-golang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/boost-entropy-golang/porter","description":"Kubernetes powered PaaS that runs in your own cloud.","fork":true,"url":"https://api.github.com/repos/boost-entropy-golang/porter","forks_url":"https://api.github.com/repos/boost-entropy-golang/porter/forks","keys_url":"https://api.github.com/repos/boost-entropy-golang/porter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/boost-entropy-golang/porter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/boost-entropy-golang/porter/teams","hooks_url":"https://api.github.com/repos/boost-entropy-golang/porter/hooks","issue_events_url":"https://api.github.com/repos/boost-entropy-golang/porter/issues/events{/number}","events_url":"https://api.github.com/repos/boost-entropy-golang/porter/events","assignees_url":"https://api.github.com/repos/boost-entropy-golang/porter/assignees{/user}","branches_url":"https://api.github.com/repos/boost-entropy-golang/porter/branches{/branch}","tags_url":"https://api.github.com/repos/boost-entropy-golang/porter/tags","blobs_url":"https://api.github.com/repos/boost-entropy-golang/porter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/boost-entropy-golang/porter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/boost-entropy-golang/porter/git/refs{/sha}","trees_url":"https://api.github.com/repos/boost-entropy-golang/porter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/boost-entropy-golang/porter/statuses/{sha}","languages_url":"https://api.github.com/repos/boost-entropy-golang/porter/languages","stargazers_url":"https://api.github.com/repos/boost-entropy-golang/porter/stargazers","contributors_url":"https://api.github.com/repos/boost-entropy-golang/porter/contributors","subscribers_url":"https://api.github.com/repos/boost-entropy-golang/porter/subscribers","subscription_url":"https://api.github.com/repos/boost-entropy-golang/porter/subscription","commits_url":"https://api.github.com/repos/boost-entropy-golang/porter/commits{/sha}","git_commits_url":"https://api.github.com/repos/boost-entropy-golang/porter/git/commits{/sha}","comments_url":"https://api.github.com/repos/boost-entropy-golang/porter/comments{/number}","issue_comment_url":"https://api.github.com/repos/boost-entropy-golang/porter/issues/comments{/number}","contents_url":"https://api.github.com/repos/boost-entropy-golang/porter/contents/{+path}","compare_url":"https://api.github.com/repos/boost-entropy-golang/porter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/boost-entropy-golang/porter/merges","archive_url":"https://api.github.com/repos/boost-entropy-golang/porter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/boost-entropy-golang/porter/downloads","issues_url":"https://api.github.com/repos/boost-entropy-golang/porter/issues{/number}","pulls_url":"https://api.github.com/repos/boost-entropy-golang/porter/pulls{/number}","milestones_url":"https://api.github.com/repos/boost-entropy-golang/porter/milestones{/number}","notifications_url":"https://api.github.com/repos/boost-entropy-golang/porter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/boost-entropy-golang/porter/labels{/name}","releases_url":"https://api.github.com/repos/boost-entropy-golang/porter/releases{/id}","deployments_url":"https://api.github.com/repos/boost-entropy-golang/porter/deployments","created_at":"2021-05-05T14:40:24Z","updated_at":"2021-12-31T13:00:11Z","pushed_at":"2021-12-31T13:00:08Z","git_url":"git://github.com/boost-entropy-golang/porter.git","ssh_url":"git@github.com:boost-entropy-golang/porter.git","clone_url":"https://github.com/boost-entropy-golang/porter.git","svn_url":"https://github.com/boost-entropy-golang/porter","homepage":"https://dashboard.getporter.dev","size":32128,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100"},"html":{"href":"https://github.com/boost-entropy-golang/porter/pull/100"},"issue":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/issues/100"},"comments":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/issues/100/comments"},"review_comments":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100/comments"},"review_comment":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/pulls/100/commits"},"statuses":{"href":"https://api.github.com/repos/boost-entropy-golang/porter/statuses/2f5ea6ccb883773cf51271560f0a3bafbb5d2f7a"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":6,"additions":65,"deletions":45,"changed_files":4}},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":83460139,"login":"boost-entropy-golang","gravatar_id":"","url":"https://api.github.com/orgs/boost-entropy-golang","avatar_url":"https://avatars.githubusercontent.com/u/83460139?"}} +{"id":"19541396511","type":"PushEvent","actor":{"id":96756473,"login":"56456f","display_login":"56456f","gravatar_id":"","url":"https://api.github.com/users/56456f","avatar_url":"https://avatars.githubusercontent.com/u/96756473?"},"repo":{"id":443414085,"name":"56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c","url":"https://api.github.com/repos/56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c"},"payload":{"push_id":8732433623,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6364278fd10a7aeb78c9b5d56740b644ab47d194","before":"5420d0b2d6b218c42244fa92ae5e97ce69922303","commits":[{"sha":"6364278fd10a7aeb78c9b5d56740b644ab47d194","author":{"email":"96756473+56456f@users.noreply.github.com","name":"56456f"},"message":"upload file 469b2162a1868a25c75cb0eb733330bbebe4a1ff33c1f7e01fc101b1da6a49cb95ee26e58cfc99e030292d3507aa26d1video_1220_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/56456f/8ac584aa-8a4a-4bcb-b183-4f8f23d8ef0c/commits/6364278fd10a7aeb78c9b5d56740b644ab47d194"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396512","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433622,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"978e4324a72a181c587f553f0f54f888625e59df","before":"da131a775865c0664fea5e967db12e2b7afbfe08","commits":[{"sha":"978e4324a72a181c587f553f0f54f888625e59df","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update nscrw413.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/978e4324a72a181c587f553f0f54f888625e59df"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396514","type":"IssuesEvent","actor":{"id":92182796,"login":"GithubContributor832","display_login":"GithubContributor832","gravatar_id":"","url":"https://api.github.com/users/GithubContributor832","avatar_url":"https://avatars.githubusercontent.com/u/92182796?"},"repo":{"id":31138452,"name":"moezbhatti/qksms","url":"https://api.github.com/repos/moezbhatti/qksms"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844","repository_url":"https://api.github.com/repos/moezbhatti/qksms","labels_url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844/labels{/name}","comments_url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844/comments","events_url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844/events","html_url":"https://github.com/moezbhatti/qksms/issues/1844","id":1091703182,"node_id":"I_kwDOAdsilM5BEhGO","number":1844,"title":"QKSMS Doesn't Import Blocked Numbers From Phone App","user":{"login":"GithubContributor832","id":92182796,"node_id":"U_kgDOBX6ZDA","avatar_url":"https://avatars.githubusercontent.com/u/92182796?v=4","gravatar_id":"","url":"https://api.github.com/users/GithubContributor832","html_url":"https://github.com/GithubContributor832","followers_url":"https://api.github.com/users/GithubContributor832/followers","following_url":"https://api.github.com/users/GithubContributor832/following{/other_user}","gists_url":"https://api.github.com/users/GithubContributor832/gists{/gist_id}","starred_url":"https://api.github.com/users/GithubContributor832/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GithubContributor832/subscriptions","organizations_url":"https://api.github.com/users/GithubContributor832/orgs","repos_url":"https://api.github.com/users/GithubContributor832/repos","events_url":"https://api.github.com/users/GithubContributor832/events{/privacy}","received_events_url":"https://api.github.com/users/GithubContributor832/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:10Z","updated_at":"2022-01-01T01:00:10Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### DESCRIPTION\r\nAll blocked numbers from phone don't import to SMS app. \r\n\r\n### STEPS\r\n1. Open QKSMS\r\n2. Go to blocked numbers\r\n3. No blocked numbers there imported from phone app like other SMS apps\r\n\r\n### EXPECTED\r\nAll blocked numbers should show and be imported from phone app. I shouldn't have to add individually between two apps. \r\n\r\n### OBSERVATIONS\r\nQKSMS doesn't show blocked numbers blocked with other app.\r\n\r\n","reactions":{"url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/moezbhatti/qksms/issues/1844/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396516","type":"PushEvent","actor":{"id":143744,"login":"milesj","display_login":"milesj","gravatar_id":"","url":"https://api.github.com/users/milesj","avatar_url":"https://avatars.githubusercontent.com/u/143744?"},"repo":{"id":420489845,"name":"milesj/moon","url":"https://api.github.com/repos/milesj/moon"},"payload":{"push_id":8732433613,"size":1,"distinct_size":1,"ref":"refs/heads/vcs","head":"31d2fb67ba21825486bb0b4e224d780236ca32cf","before":"a706eee80a28156ef223b31848f347a1bb047f47","commits":[{"sha":"31d2fb67ba21825486bb0b4e224d780236ca32cf","author":{"email":"mileswjohnson@gmail.com","name":"Miles Johnson"},"message":"Fix lints.","distinct":true,"url":"https://api.github.com/repos/milesj/moon/commits/31d2fb67ba21825486bb0b4e224d780236ca32cf"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396518","type":"PushEvent","actor":{"id":125509,"login":"winder","display_login":"winder","gravatar_id":"","url":"https://api.github.com/users/winder","avatar_url":"https://avatars.githubusercontent.com/u/125509?"},"repo":{"id":191266671,"name":"algorand/go-algorand","url":"https://api.github.com/repos/algorand/go-algorand"},"payload":{"push_id":8732433624,"size":1,"distinct_size":1,"ref":"refs/heads/rel/nightly","head":"ad63110749a1da77479e458c988331ac4e5b00dc","before":"90b4645cf1c09e5b30a775bfaa69d9b593501cbe","commits":[{"sha":"ad63110749a1da77479e458c988331ac4e5b00dc","author":{"email":"ci-bot@algorand.com","name":"ci-bot"},"message":"Build 1110 Data","distinct":true,"url":"https://api.github.com/repos/algorand/go-algorand/commits/ad63110749a1da77479e458c988331ac4e5b00dc"}]},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":23182699,"login":"algorand","gravatar_id":"","url":"https://api.github.com/orgs/algorand","avatar_url":"https://avatars.githubusercontent.com/u/23182699?"}} +{"id":"19541396519","type":"PushEvent","actor":{"id":47844,"login":"kiang","display_login":"kiang","gravatar_id":"","url":"https://api.github.com/users/kiang","avatar_url":"https://avatars.githubusercontent.com/u/47844?"},"repo":{"id":238189243,"name":"kiang/pharmacies","url":"https://api.github.com/repos/kiang/pharmacies"},"payload":{"push_id":8732433620,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9df1dcac4e5bef9827d1e1b2b3a76e64d6646281","before":"4fb8b50076bebf9396f9fc9184bb519888ea98aa","commits":[{"sha":"9df1dcac4e5bef9827d1e1b2b3a76e64d6646281","author":{"email":"noreply@localhost","name":"auto commit"},"message":"auto update @ 2022-01-01 09:00:01","distinct":true,"url":"https://api.github.com/repos/kiang/pharmacies/commits/9df1dcac4e5bef9827d1e1b2b3a76e64d6646281"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396522","type":"PushEvent","actor":{"id":85432009,"login":"herokutests","display_login":"herokutests","gravatar_id":"","url":"https://api.github.com/users/herokutests","avatar_url":"https://avatars.githubusercontent.com/u/85432009?"},"repo":{"id":380776959,"name":"herokutests/provideip","url":"https://api.github.com/repos/herokutests/provideip"},"payload":{"push_id":8732433625,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"dc731019d7a2591b1b7c956f519650c763981b84","before":"28f0fadc9dba4feb8f181e079fe972dbb49e627e","commits":[{"sha":"dc731019d7a2591b1b7c956f519650c763981b84","author":{"email":"85432009+herokutests@users.noreply.github.com","name":"herokutests"},"message":"commitmessage","distinct":true,"url":"https://api.github.com/repos/herokutests/provideip/commits/dc731019d7a2591b1b7c956f519650c763981b84"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396524","type":"WatchEvent","actor":{"id":30217195,"login":"Avangarde2225","display_login":"Avangarde2225","gravatar_id":"","url":"https://api.github.com/users/Avangarde2225","avatar_url":"https://avatars.githubusercontent.com/u/30217195?"},"repo":{"id":289040634,"name":"PacktPublishing/Azure-Data-Scientist-Associate-Certification-Guide","url":"https://api.github.com/repos/PacktPublishing/Azure-Data-Scientist-Associate-Certification-Guide"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":10974906,"login":"PacktPublishing","gravatar_id":"","url":"https://api.github.com/orgs/PacktPublishing","avatar_url":"https://avatars.githubusercontent.com/u/10974906?"}} +{"id":"19541396528","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433628,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"47c9a7a7a1e7e83b6c272f95023b115dea9c8100","before":"1ba4da2605879b65e36bc28af8710744422be6d1","commits":[{"sha":"47c9a7a7a1e7e83b6c272f95023b115dea9c8100","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/47c9a7a7a1e7e83b6c272f95023b115dea9c8100"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396529","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":329966512,"name":"product-os/transformer-worker","url":"https://api.github.com/repos/product-os/transformer-worker"},"payload":{"ref":"renovate/external-non-major","ref_type":"branch","master_branch":"master","description":"Transformer Worker","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:10Z","org":{"id":56742327,"login":"product-os","gravatar_id":"","url":"https://api.github.com/orgs/product-os","avatar_url":"https://avatars.githubusercontent.com/u/56742327?"}} +{"id":"19541396530","type":"PushEvent","actor":{"id":74298055,"login":"210000blk-bot","display_login":"210000blk-bot","gravatar_id":"","url":"https://api.github.com/users/210000blk-bot","avatar_url":"https://avatars.githubusercontent.com/u/74298055?"},"repo":{"id":283538441,"name":"redoules/210000blocktheory","url":"https://api.github.com/repos/redoules/210000blocktheory"},"payload":{"push_id":8732433627,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7c05f2849770d936e1ab764cb667ed1c26706d7f","before":"78658681e79d86d74e6692d7ac3c2fe9c8a8e448","commits":[{"sha":"7c05f2849770d936e1ab764cb667ed1c26706d7f","author":{"email":"networkdust@gmail.com","name":"root"},"message":"updating index file","distinct":true,"url":"https://api.github.com/repos/redoules/210000blocktheory/commits/7c05f2849770d936e1ab764cb667ed1c26706d7f"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396531","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":378729624,"name":"sudokar/nx-serverless","url":"https://api.github.com/repos/sudokar/nx-serverless"},"payload":{"push_id":8732433631,"size":1,"distinct_size":1,"ref":"refs/heads/renovate/eslint-8.x","head":"ab5db37adce262d141017a75560cbc554afe2bc2","before":"5bb1b9eb275a18546d24e2b9ecfb12592c12ee33","commits":[{"sha":"ab5db37adce262d141017a75560cbc554afe2bc2","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"Update dependency eslint to v8","distinct":true,"url":"https://api.github.com/repos/sudokar/nx-serverless/commits/ab5db37adce262d141017a75560cbc554afe2bc2"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396533","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449234,"name":"shalini-devgit/Shalini-PerfBlue6","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue6"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing6","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396535","type":"PushEvent","actor":{"id":90906683,"login":"ESM1431","display_login":"ESM1431","gravatar_id":"","url":"https://api.github.com/users/ESM1431","avatar_url":"https://avatars.githubusercontent.com/u/90906683?"},"repo":{"id":443442778,"name":"ESM1431/kurusaki_voice","url":"https://api.github.com/repos/ESM1431/kurusaki_voice"},"payload":{"push_id":8732433645,"size":1,"distinct_size":1,"ref":"refs/heads/re-write(master)","head":"739f9dda95ea4ad039583bc5680a78e8053b4a1a","before":"9e137fd26d9d8a55e2246e8e34066ea4fd1d1ff9","commits":[{"sha":"739f9dda95ea4ad039583bc5680a78e8053b4a1a","author":{"email":"90906683+ESM1431@users.noreply.github.com","name":"ESM1431"},"message":"Update requirements.txt","distinct":true,"url":"https://api.github.com/repos/ESM1431/kurusaki_voice/commits/739f9dda95ea4ad039583bc5680a78e8053b4a1a"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396537","type":"PushEvent","actor":{"id":475860,"login":"TheNewGuy2","display_login":"TheNewGuy2","gravatar_id":"","url":"https://api.github.com/users/TheNewGuy2","avatar_url":"https://avatars.githubusercontent.com/u/475860?"},"repo":{"id":440000149,"name":"TheNewGuy2/sunset-skulls","url":"https://api.github.com/repos/TheNewGuy2/sunset-skulls"},"payload":{"push_id":8732433633,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"9a4d1dde31a23f680aba4fc24c5c2ef9f999a753","before":"d318b7e61650674d2bbaca58c4aacdce051dc2b4","commits":[{"sha":"9a4d1dde31a23f680aba4fc24c5c2ef9f999a753","author":{"email":"gethermc@gmail.com","name":"Matt Gethers"},"message":"update sketch 4","distinct":true,"url":"https://api.github.com/repos/TheNewGuy2/sunset-skulls/commits/9a4d1dde31a23f680aba4fc24c5c2ef9f999a753"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396542","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":370829093,"name":"prisantos/prisantos","url":"https://api.github.com/repos/prisantos/prisantos"},"payload":{"push_id":8732433637,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"bfd88dc52677b8a05a17f9af46ca636e5dc30673","before":"4ca12b95d62607ed61aa0e4d22791119006f2842","commits":[{"sha":"bfd88dc52677b8a05a17f9af46ca636e5dc30673","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/prisantos/prisantos/commits/bfd88dc52677b8a05a17f9af46ca636e5dc30673"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396546","type":"PushEvent","actor":{"id":96629288,"login":"dfdsa434","display_login":"dfdsa434","gravatar_id":"","url":"https://api.github.com/users/dfdsa434","avatar_url":"https://avatars.githubusercontent.com/u/96629288?"},"repo":{"id":443427056,"name":"dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f","url":"https://api.github.com/repos/dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f"},"payload":{"push_id":8732433641,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d95e02ea26d56932649d018d446f1615d9782d83","before":"4eea3cb8653bcb53645cdd9950fad866c60b6661","commits":[{"sha":"d95e02ea26d56932649d018d446f1615d9782d83","author":{"email":"96629288+dfdsa434@users.noreply.github.com","name":"dfdsa434"},"message":"upload file 85a893793b49fec015d1b4c4f69a59891abb4f871798eb78e4fd17afd00367b924f45ec5234b05193f8d401cc9a5f666video_1223_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/dfdsa434/ebdc0bce-734d-470c-a0c2-1cbd893eac1f/commits/d95e02ea26d56932649d018d446f1615d9782d83"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396549","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431508943,"name":"znyt/oss27","url":"https://api.github.com/repos/znyt/oss27"},"payload":{"push_id":8732433640,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f33e5ee2a10eeadae78e3af1bc4d1d84a8fc6363","before":"1f212d48a259ab7fae5be14bd17309865996e4c1","commits":[{"sha":"f33e5ee2a10eeadae78e3af1bc4d1d84a8fc6363","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss27/commits/f33e5ee2a10eeadae78e3af1bc4d1d84a8fc6363"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396552","type":"PushEvent","actor":{"id":53069675,"login":"codebydom","display_login":"codebydom","gravatar_id":"","url":"https://api.github.com/users/codebydom","avatar_url":"https://avatars.githubusercontent.com/u/53069675?"},"repo":{"id":365043036,"name":"codebydom/git-some","url":"https://api.github.com/repos/codebydom/git-some"},"payload":{"push_id":8732433648,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b0bd58cda28e0738952d0558a80d5852cc48fde2","before":"072a803e565884b3cda5d572d4e07a606f10d06c","commits":[{"sha":"b0bd58cda28e0738952d0558a80d5852cc48fde2","author":{"email":"code.by.dom@gmail.com","name":"codebydom"},"message":"fixed the time to 12-31-2021 @ 18:00","distinct":true,"url":"https://api.github.com/repos/codebydom/git-some/commits/b0bd58cda28e0738952d0558a80d5852cc48fde2"}]},"public":true,"created_at":"2022-01-01T01:00:10Z"} +{"id":"19541396555","type":"PushEvent","actor":{"id":6826762,"login":"clockworkgr","display_login":"clockworkgr","gravatar_id":"","url":"https://api.github.com/users/clockworkgr","avatar_url":"https://avatars.githubusercontent.com/u/6826762?"},"repo":{"id":432378656,"name":"clockworkgr/validator","url":"https://api.github.com/repos/clockworkgr/validator"},"payload":{"push_id":8732433653,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3a7aa78f628065170ed961005717d7d43fc50b42","before":"e38cd4e51037f3f194414022a6355b2d8a9b9fef","commits":[{"sha":"3a7aa78f628065170ed961005717d7d43fc50b42","author":{"email":"validator@clockwork.gr","name":"Clockwork Validator"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/clockworkgr/validator/commits/3a7aa78f628065170ed961005717d7d43fc50b42"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396560","type":"PushEvent","actor":{"id":47586961,"login":"jingjiecb","display_login":"jingjiecb","gravatar_id":"","url":"https://api.github.com/users/jingjiecb","avatar_url":"https://avatars.githubusercontent.com/u/47586961?"},"repo":{"id":359029863,"name":"jingjiecb/mc_backup","url":"https://api.github.com/repos/jingjiecb/mc_backup"},"payload":{"push_id":8732433663,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a335a32aed67c3aebb19693258e3c23e5d16b33a","before":"026be9d982a0c93c822b1e1556b449c8e7f6aa84","commits":[{"sha":"a335a32aed67c3aebb19693258e3c23e5d16b33a","author":{"email":"jingjiecb@gmail.com","name":"claws"},"message":"update mc world at Sat 01 Jan 2022 01:00:02 AM UTC","distinct":true,"url":"https://api.github.com/repos/jingjiecb/mc_backup/commits/a335a32aed67c3aebb19693258e3c23e5d16b33a"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396561","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433654,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"77637fec2953ec775af338f385f86958b7d28c36","before":"bf77f097b474e8727b998e27b31fa8f577b7fab4","commits":[{"sha":"77637fec2953ec775af338f385f86958b7d28c36","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update prog1135_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/77637fec2953ec775af338f385f86958b7d28c36"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396565","type":"PushEvent","actor":{"id":213795,"login":"onedr0p","display_login":"onedr0p","gravatar_id":"","url":"https://api.github.com/users/onedr0p","avatar_url":"https://avatars.githubusercontent.com/u/213795?"},"repo":{"id":230999826,"name":"onedr0p/home-ops","url":"https://api.github.com/repos/onedr0p/home-ops"},"payload":{"push_id":8732433662,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c40841789fbb489e02f68dfbf42f61b2fa2f97e9","before":"05902e7a5dfc1f32e4419dc5bc1948e0d5f1a7be","commits":[{"sha":"c40841789fbb489e02f68dfbf42f61b2fa2f97e9","author":{"email":"devin@buhl.casa","name":"Devin Buhl"},"message":"feat(cluster): add snapshot controller\n\nSigned-off-by: Devin Buhl ","distinct":true,"url":"https://api.github.com/repos/onedr0p/home-ops/commits/c40841789fbb489e02f68dfbf42f61b2fa2f97e9"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396566","type":"PushEvent","actor":{"id":13391129,"login":"xhiroga","display_login":"xhiroga","gravatar_id":"","url":"https://api.github.com/users/xhiroga","avatar_url":"https://avatars.githubusercontent.com/u/13391129?"},"repo":{"id":415509306,"name":"xhiroga/ansible-roles","url":"https://api.github.com/repos/xhiroga/ansible-roles"},"payload":{"push_id":8732433664,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"27fd1bcebdc7ee3bbb615ac5cfa89e812672bbd3","before":"6f2bfbfb490475615c8952ea1ea82108fe461b80","commits":[{"sha":"27fd1bcebdc7ee3bbb615ac5cfa89e812672bbd3","author":{"email":"13391129+xhiroga@users.noreply.github.com","name":"xhiroga"},"message":"fix: nvm node var as overridable vars","distinct":true,"url":"https://api.github.com/repos/xhiroga/ansible-roles/commits/27fd1bcebdc7ee3bbb615ac5cfa89e812672bbd3"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396568","type":"PushEvent","actor":{"id":96756216,"login":"fsadfsda","display_login":"fsadfsda","gravatar_id":"","url":"https://api.github.com/users/fsadfsda","avatar_url":"https://avatars.githubusercontent.com/u/96756216?"},"repo":{"id":443430570,"name":"fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9","url":"https://api.github.com/repos/fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9"},"payload":{"push_id":8732433667,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"98e4fa7c8a4d5fe1a11c76981398e496822b9d1f","before":"4421efcdb4b40b8601a980761156b7db0caf49ad","commits":[{"sha":"98e4fa7c8a4d5fe1a11c76981398e496822b9d1f","author":{"email":"96756216+fsadfsda@users.noreply.github.com","name":"fsadfsda"},"message":"upload file f04b5b4ad8cd21a638fdb71adafc19d1ece58907a126144aed6d84fbc4425b2cc13ba320917e3765a3298c9c318368e9video_907_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/fsadfsda/1b3e4849-3e00-4a62-ae3d-ed6d5448dfb9/commits/98e4fa7c8a4d5fe1a11c76981398e496822b9d1f"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396569","type":"PushEvent","actor":{"id":96603710,"login":"li123v","display_login":"li123v","gravatar_id":"","url":"https://api.github.com/users/li123v","avatar_url":"https://avatars.githubusercontent.com/u/96603710?"},"repo":{"id":443418518,"name":"li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5","url":"https://api.github.com/repos/li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5"},"payload":{"push_id":8732433657,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f1eb5c71574c4747c96c7ed8e45ada65e383b8c9","before":"5cd5a639a66f26e5f8fb5d55b2137ebd0719f081","commits":[{"sha":"f1eb5c71574c4747c96c7ed8e45ada65e383b8c9","author":{"email":"96603710+li123v@users.noreply.github.com","name":"li123v"},"message":"upload file 6482578c4fcf378a657e9a7a1ad417f3ce0f9040421ed816d71fec23a0a72e006f8345fcacd6e9135d7140be26f14e53video_411_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/li123v/a23011ca-49c2-4098-884d-a35c0fbe9bd5/commits/f1eb5c71574c4747c96c7ed8e45ada65e383b8c9"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396571","type":"PushEvent","actor":{"id":154010,"login":"robertream","display_login":"robertream","gravatar_id":"","url":"https://api.github.com/users/robertream","avatar_url":"https://avatars.githubusercontent.com/u/154010?"},"repo":{"id":232415142,"name":"robertream/srt-rs","url":"https://api.github.com/repos/robertream/srt-rs"},"payload":{"push_id":8732433656,"size":7,"distinct_size":7,"ref":"refs/heads/main","head":"8b65aa3578122cf2dfc70e90ab1ab602bb676558","before":"50dfb6ea119aafc187c5ff315160f7bdcab02909","commits":[{"sha":"e2e5a096cc2334f36362783bfc776351cc585633","author":{"email":"robertream@gmail.com","name":"Robert Ream"},"message":"fix weird srt-trasmit build error","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/e2e5a096cc2334f36362783bfc776351cc585633"},{"sha":"1b04d5119d920f9325ea249e836eff5c9efb9923","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"try today's nightly (#158)","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/1b04d5119d920f9325ea249e836eff5c9efb9923"},{"sha":"7dfaee10b926dfaae4eb439315928d34b396ffbb","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"C API (#157)\n\n* start on C API\r\n\r\n* get test-c-server to work too\r\n\r\n* split listen and listen_on\r\n\r\n* get more code to compile, add unit tests\r\n\r\n* fix dealock, small build system changes\r\n\r\n* some listener changes to support concurrent close/accept\r\n\r\n* allow close during accpe tin C api\r\n\r\n* another unit tests passes\r\n\r\n* fix broken tests+examples\r\n\r\n* get the rest of the relevant tests to work\r\n\r\n* remove accidental duplicate default member\r\n\r\n* fix test panic\r\n\r\n* set error codes\r\n\r\n* start on getsockflag\r\n\r\n* split SrtListener to SrtIncoming and SrtListener\r\n\r\n* add missing files\r\n\r\n* fix StreamerServer\r\n\r\n* implment sockadd_from_c on windows properly\r\n\r\n* check length in sockaddr_from_c\r\n\r\n* fix doc tests\r\n\r\n* run c++ tests on CI\r\n\r\n* check in srtrs.h, add CI pass to make sure it's up to date\r\n\r\n* fix yml\r\n\r\n* fix accidentally commented line\r\n\r\n* download cbindgen instead of compiling\r\n\r\n* apparently curl doesn't work\r\n\r\n* add actions checkout and toolchain\r\n\r\n* just do checkout\r\n\r\n* install gtest when doing coverage\r\n\r\n* add srt-protocol to default-members","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/7dfaee10b926dfaae4eb439315928d34b396ffbb"},{"sha":"17d63bac3392c147d52f1a780dc3a99662c06d44","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"implement SRTO_CONNTIMEO (#159)\n\n* implement SRTO_CONNTIMEO\r\n\r\n* allow multiple connect calls, disable the tests","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/17d63bac3392c147d52f1a780dc3a99662c06d44"},{"sha":"96247d0ffaf27e0cca9138342d1cb2e91345e362","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"get ListenCallback unit test to pass, revamp accesscontrol tests (#160)\n\n* get ListenCallback unit test to pass, revamp accesscontrol tests\r\n\r\n* clippy\r\n\r\n* fix windows build\r\n\r\n* enable test\r\n\r\n* use cc's cpp flag to link to the right stuff\r\n\r\n* update header\r\n\r\n* use the right compiler driver\r\n\r\n* install c++stdlib for 32-bit\r\n\r\n* install the right package for 32-bit","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/96247d0ffaf27e0cca9138342d1cb2e91345e362"},{"sha":"853b45537a43b165e6c0e3b31ab5811c51bdfab8","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"get streamid tests to pass, have sockets correctly close synchronously (#161)\n\n* get streamid tests to pass, have sockets correctly close synchronously\r\n\r\n* clippy","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/853b45537a43b165e6c0e3b31ab5811c51bdfab8"},{"sha":"8b65aa3578122cf2dfc70e90ab1ab602bb676558","author":{"email":"russellgreene8@gmail.com","name":"Russell Greene"},"message":"implement bw and latency (#162)","distinct":true,"url":"https://api.github.com/repos/robertream/srt-rs/commits/8b65aa3578122cf2dfc70e90ab1ab602bb676558"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396572","type":"PushEvent","actor":{"id":47494140,"login":"Anzodroid","display_login":"Anzodroid","gravatar_id":"","url":"https://api.github.com/users/Anzodroid","avatar_url":"https://avatars.githubusercontent.com/u/47494140?"},"repo":{"id":431053567,"name":"Anzodroid/SpeedTest","url":"https://api.github.com/repos/Anzodroid/SpeedTest"},"payload":{"push_id":8732433668,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"45d02ebee3d92bc25834c0d8c0eff8845da712df","before":"c598faa21e101c6ce5f17f7e09f361c095d2d06e","commits":[{"sha":"45d02ebee3d92bc25834c0d8c0eff8845da712df","author":{"email":"anzodroid@gmail.com","name":"anzodroid"},"message":"Speedtest results updated at 2022-01-01 12:00:02","distinct":true,"url":"https://api.github.com/repos/Anzodroid/SpeedTest/commits/45d02ebee3d92bc25834c0d8c0eff8845da712df"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396574","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":434439418,"name":"wallace-almeida/wallace-almeida","url":"https://api.github.com/repos/wallace-almeida/wallace-almeida"},"payload":{"push_id":8732433665,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"fedc031f22bb300b6755999eda50ad2601335fd9","before":"3ec0af18bc1d3a54a804cb5343d86474dd1e7527","commits":[{"sha":"fedc031f22bb300b6755999eda50ad2601335fd9","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/wallace-almeida/wallace-almeida/commits/fedc031f22bb300b6755999eda50ad2601335fd9"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396575","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433658,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"41e56facb63f7221496aeb724132fe0602a9bb29","before":"942d8b49e0daaf18efbd1f86967b9eca4e02a6fd","commits":[{"sha":"41e56facb63f7221496aeb724132fe0602a9bb29","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/system-x for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/41e56facb63f7221496aeb724132fe0602a9bb29"}]},"public":true,"created_at":"2022-01-01T01:00:11Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396576","type":"PushEvent","actor":{"id":95619030,"login":"asami-8627","display_login":"asami-8627","gravatar_id":"","url":"https://api.github.com/users/asami-8627","avatar_url":"https://avatars.githubusercontent.com/u/95619030?"},"repo":{"id":435777806,"name":"asami-8627/JPfoundryvtt","url":"https://api.github.com/repos/asami-8627/JPfoundryvtt"},"payload":{"push_id":8732433659,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"09a00c3d7630815821858a03c59109026c409f2d","before":"f67a3561c983dc0c295cedfaadd0266b8711e015","commits":[{"sha":"09a00c3d7630815821858a03c59109026c409f2d","author":{"email":"95619030+asami-8627@users.noreply.github.com","name":"Asami"},"message":"Add files via upload","distinct":true,"url":"https://api.github.com/repos/asami-8627/JPfoundryvtt/commits/09a00c3d7630815821858a03c59109026c409f2d"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396577","type":"PushEvent","actor":{"id":9958703,"login":"memk","display_login":"memk","gravatar_id":"","url":"https://api.github.com/users/memk","avatar_url":"https://avatars.githubusercontent.com/u/9958703?"},"repo":{"id":23534870,"name":"parkr/status","url":"https://api.github.com/repos/parkr/status"},"payload":{"push_id":8732433670,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f5911d496f011b76d1a797209a2efa843d8451d3","before":"b239607676515d81acf942a7951e3a36aef17c0c","commits":[{"sha":"f5911d496f011b76d1a797209a2efa843d8451d3","author":{"email":"memke@hushmail.com","name":"memk"},"message":"[checkup] store updates/index.json [ci skip]","distinct":true,"url":"https://api.github.com/repos/parkr/status/commits/f5911d496f011b76d1a797209a2efa843d8451d3"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396579","type":"CreateEvent","actor":{"id":50245,"login":"bkuhlmann","display_login":"bkuhlmann","gravatar_id":"","url":"https://api.github.com/users/bkuhlmann","avatar_url":"https://avatars.githubusercontent.com/u/50245?"},"repo":{"id":89075183,"name":"bkuhlmann/test","url":"https://api.github.com/repos/bkuhlmann/test"},"payload":{"ref":"1.2.3","ref_type":"tag","master_branch":"main","description":"A project used for testing purposes only.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396585","type":"PushEvent","actor":{"id":75946299,"login":"waykom","display_login":"waykom","gravatar_id":"","url":"https://api.github.com/users/waykom","avatar_url":"https://avatars.githubusercontent.com/u/75946299?"},"repo":{"id":438238394,"name":"waykom/weibo_top","url":"https://api.github.com/repos/waykom/weibo_top"},"payload":{"push_id":8732433674,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"357e72136e5520f8a97513fb29997844b57e36c9","before":"ecfeab51b0505ec50f168f856e25b05e315a4ae8","commits":[{"sha":"357e72136e5520f8a97513fb29997844b57e36c9","author":{"email":"waykom1@gmail.com","name":"weibo_top"},"message":"upload-bot","distinct":true,"url":"https://api.github.com/repos/waykom/weibo_top/commits/357e72136e5520f8a97513fb29997844b57e36c9"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396589","type":"PushEvent","actor":{"id":96052245,"login":"liiiib","display_login":"liiiib","gravatar_id":"","url":"https://api.github.com/users/liiiib","avatar_url":"https://avatars.githubusercontent.com/u/96052245?"},"repo":{"id":443431211,"name":"liiiib/497a8625-86da-4051-900b-b29f09f7a6f2","url":"https://api.github.com/repos/liiiib/497a8625-86da-4051-900b-b29f09f7a6f2"},"payload":{"push_id":8732433678,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"91cf7ffca8139b07d59fbb9e1efdd5f5922124d5","before":"6760949d738e870ed72637d73cda3ddb893ea873","commits":[{"sha":"91cf7ffca8139b07d59fbb9e1efdd5f5922124d5","author":{"email":"96052245+liiiib@users.noreply.github.com","name":"liiiib"},"message":"upload file a719e5511d98721dec4928e117ce033505b22fbcc2b2ad917d460532695ee3c78b9d060b69304c2dfce2d60bb56aa207video_1072_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/liiiib/497a8625-86da-4051-900b-b29f09f7a6f2/commits/91cf7ffca8139b07d59fbb9e1efdd5f5922124d5"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396590","type":"PushEvent","actor":{"id":96756392,"login":"2342321","display_login":"2342321","gravatar_id":"","url":"https://api.github.com/users/2342321","avatar_url":"https://avatars.githubusercontent.com/u/96756392?"},"repo":{"id":443410793,"name":"2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e","url":"https://api.github.com/repos/2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e"},"payload":{"push_id":8732433676,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b0edbc172d8f121f42dc9d6c4acccf790d447073","before":"bcdbf1f818237ae67ba0cee62e7a32f3ab39f0c0","commits":[{"sha":"b0edbc172d8f121f42dc9d6c4acccf790d447073","author":{"email":"96756392+2342321@users.noreply.github.com","name":"2342321"},"message":"upload file 1b6b18cd2826a9ced10cf16a52d5280aeef04af5958bbd9c52069301b7af6a83eed52b5705da0443798c073e85171418video_31_0_2356528.ts","distinct":true,"url":"https://api.github.com/repos/2342321/1052f2a8-1390-4eaa-9176-3701b708cf8e/commits/b0edbc172d8f121f42dc9d6c4acccf790d447073"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396595","type":"ForkEvent","actor":{"id":96924613,"login":"jma920129","display_login":"jma920129","gravatar_id":"","url":"https://api.github.com/users/jma920129","avatar_url":"https://avatars.githubusercontent.com/u/96924613?"},"repo":{"id":186785276,"name":"romeokienzler/TensorFlow","url":"https://api.github.com/repos/romeokienzler/TensorFlow"},"payload":{"forkee":{"id":443449235,"node_id":"R_kgDOGm5_kw","name":"TensorFlow","full_name":"jma920129/TensorFlow","private":false,"owner":{"login":"jma920129","id":96924613,"node_id":"U_kgDOBcbzxQ","avatar_url":"https://avatars.githubusercontent.com/u/96924613?v=4","gravatar_id":"","url":"https://api.github.com/users/jma920129","html_url":"https://github.com/jma920129","followers_url":"https://api.github.com/users/jma920129/followers","following_url":"https://api.github.com/users/jma920129/following{/other_user}","gists_url":"https://api.github.com/users/jma920129/gists{/gist_id}","starred_url":"https://api.github.com/users/jma920129/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jma920129/subscriptions","organizations_url":"https://api.github.com/users/jma920129/orgs","repos_url":"https://api.github.com/users/jma920129/repos","events_url":"https://api.github.com/users/jma920129/events{/privacy}","received_events_url":"https://api.github.com/users/jma920129/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jma920129/TensorFlow","description":"Project containig related material for my TensorFlow articles","fork":true,"url":"https://api.github.com/repos/jma920129/TensorFlow","forks_url":"https://api.github.com/repos/jma920129/TensorFlow/forks","keys_url":"https://api.github.com/repos/jma920129/TensorFlow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jma920129/TensorFlow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jma920129/TensorFlow/teams","hooks_url":"https://api.github.com/repos/jma920129/TensorFlow/hooks","issue_events_url":"https://api.github.com/repos/jma920129/TensorFlow/issues/events{/number}","events_url":"https://api.github.com/repos/jma920129/TensorFlow/events","assignees_url":"https://api.github.com/repos/jma920129/TensorFlow/assignees{/user}","branches_url":"https://api.github.com/repos/jma920129/TensorFlow/branches{/branch}","tags_url":"https://api.github.com/repos/jma920129/TensorFlow/tags","blobs_url":"https://api.github.com/repos/jma920129/TensorFlow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jma920129/TensorFlow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jma920129/TensorFlow/git/refs{/sha}","trees_url":"https://api.github.com/repos/jma920129/TensorFlow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jma920129/TensorFlow/statuses/{sha}","languages_url":"https://api.github.com/repos/jma920129/TensorFlow/languages","stargazers_url":"https://api.github.com/repos/jma920129/TensorFlow/stargazers","contributors_url":"https://api.github.com/repos/jma920129/TensorFlow/contributors","subscribers_url":"https://api.github.com/repos/jma920129/TensorFlow/subscribers","subscription_url":"https://api.github.com/repos/jma920129/TensorFlow/subscription","commits_url":"https://api.github.com/repos/jma920129/TensorFlow/commits{/sha}","git_commits_url":"https://api.github.com/repos/jma920129/TensorFlow/git/commits{/sha}","comments_url":"https://api.github.com/repos/jma920129/TensorFlow/comments{/number}","issue_comment_url":"https://api.github.com/repos/jma920129/TensorFlow/issues/comments{/number}","contents_url":"https://api.github.com/repos/jma920129/TensorFlow/contents/{+path}","compare_url":"https://api.github.com/repos/jma920129/TensorFlow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jma920129/TensorFlow/merges","archive_url":"https://api.github.com/repos/jma920129/TensorFlow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jma920129/TensorFlow/downloads","issues_url":"https://api.github.com/repos/jma920129/TensorFlow/issues{/number}","pulls_url":"https://api.github.com/repos/jma920129/TensorFlow/pulls{/number}","milestones_url":"https://api.github.com/repos/jma920129/TensorFlow/milestones{/number}","notifications_url":"https://api.github.com/repos/jma920129/TensorFlow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jma920129/TensorFlow/labels{/name}","releases_url":"https://api.github.com/repos/jma920129/TensorFlow/releases{/id}","deployments_url":"https://api.github.com/repos/jma920129/TensorFlow/deployments","created_at":"2022-01-01T01:00:10Z","updated_at":"2021-12-31T21:35:12Z","pushed_at":"2021-12-31T05:10:31Z","git_url":"git://github.com/jma920129/TensorFlow.git","ssh_url":"git@github.com:jma920129/TensorFlow.git","clone_url":"https://github.com/jma920129/TensorFlow.git","svn_url":"https://github.com/jma920129/TensorFlow","homepage":null,"size":207,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396597","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":378546077,"name":"int128/kustomize-action","url":"https://api.github.com/repos/int128/kustomize-action"},"payload":{"ref":"renovate/eslint","ref_type":"branch","master_branch":"main","description":"GitHub Action to run kustomize build in parallel","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396600","type":"PushEvent","actor":{"id":60825784,"login":"predictcrypto","display_login":"predictcrypto","gravatar_id":"","url":"https://api.github.com/users/predictcrypto","avatar_url":"https://avatars.githubusercontent.com/u/60825784?"},"repo":{"id":411428751,"name":"predictcrypto/pins","url":"https://api.github.com/repos/predictcrypto/pins"},"payload":{"push_id":8732433694,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9040a8721d091f74a818ac5745d9a0855b372d35","before":"7638ad59a891389cbb86d68eecca7634afe9b5d3","commits":[{"sha":"9040a8721d091f74a818ac5745d9a0855b372d35","author":{"email":"60825784+predictcrypto@users.noreply.github.com","name":"predictcrypto"},"message":"update hdao_price","distinct":true,"url":"https://api.github.com/repos/predictcrypto/pins/commits/9040a8721d091f74a818ac5745d9a0855b372d35"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396601","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8732433696,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"20b9235acd4df234e6b473421e1c9ebb22b51f93","before":"fffd9d84644b349561f44077e281fffd9a668454","commits":[{"sha":"20b9235acd4df234e6b473421e1c9ebb22b51f93","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/20b9235acd4df234e6b473421e1c9ebb22b51f93"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396602","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":431508125,"name":"znyt/oss24","url":"https://api.github.com/repos/znyt/oss24"},"payload":{"push_id":8732433681,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"66cdf0910fde0a3f8012d7ad7c0e3f92e7019523","before":"cdd0d4694e0f0505bb1b848cbebe146db3432c80","commits":[{"sha":"66cdf0910fde0a3f8012d7ad7c0e3f92e7019523","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss24/commits/66cdf0910fde0a3f8012d7ad7c0e3f92e7019523"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396603","type":"PushEvent","actor":{"id":47494140,"login":"Anzodroid","display_login":"Anzodroid","gravatar_id":"","url":"https://api.github.com/users/Anzodroid","avatar_url":"https://avatars.githubusercontent.com/u/47494140?"},"repo":{"id":269486421,"name":"Anzodroid/speedtest-cli-bash-1","url":"https://api.github.com/repos/Anzodroid/speedtest-cli-bash-1"},"payload":{"push_id":8732433698,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"2adbeaba4583378f99b3b39ad5b5d6d7763f11a1","before":"567dd7af273e020e3e9d2c1ea439e46c29ec4596","commits":[{"sha":"6b1486381a2981b8d1e2ed7dd0fa2025ad612833","author":{"email":"anzodroid@gmail.com","name":"anzodroid"},"message":"CPU results updated at 2022-01-01 12:00:00","distinct":true,"url":"https://api.github.com/repos/Anzodroid/speedtest-cli-bash-1/commits/6b1486381a2981b8d1e2ed7dd0fa2025ad612833"},{"sha":"2adbeaba4583378f99b3b39ad5b5d6d7763f11a1","author":{"email":"anzodroid@gmail.com","name":"anzodroid"},"message":"Speedtest results updated at 2022-01-01 12:00:00","distinct":true,"url":"https://api.github.com/repos/Anzodroid/speedtest-cli-bash-1/commits/2adbeaba4583378f99b3b39ad5b5d6d7763f11a1"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396604","type":"PushEvent","actor":{"id":13820022,"login":"Aerosand","display_login":"Aerosand","gravatar_id":"","url":"https://api.github.com/users/Aerosand","avatar_url":"https://avatars.githubusercontent.com/u/13820022?"},"repo":{"id":443217675,"name":"Aerosand/Aerosand.github.io","url":"https://api.github.com/repos/Aerosand/Aerosand.github.io"},"payload":{"push_id":8732433683,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ef30697c937094021df259f84729b6745a892d54","before":"21442162c9cfbd380c380ead11010adbda8bdde4","commits":[{"sha":"ef30697c937094021df259f84729b6745a892d54","author":{"email":"aerosand@outlook.com","name":"Aerosand"},"message":"Site updated: 2022-01-01 09:00:05","distinct":true,"url":"https://api.github.com/repos/Aerosand/Aerosand.github.io/commits/ef30697c937094021df259f84729b6745a892d54"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396606","type":"PushEvent","actor":{"id":3930214,"login":"MadMakz","display_login":"MadMakz","gravatar_id":"","url":"https://api.github.com/users/MadMakz","avatar_url":"https://avatars.githubusercontent.com/u/3930214?"},"repo":{"id":443426077,"name":"MadMakz/Snippets","url":"https://api.github.com/repos/MadMakz/Snippets"},"payload":{"push_id":8732433692,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a6686d23ac20973f987b51bfb66e6a1e0f3623f9","before":"28862dbc084d2bf1be54b1edeafdcd8b9aa49f49","commits":[{"sha":"a6686d23ac20973f987b51bfb66e6a1e0f3623f9","author":{"email":"madmakz.net@gmx.net","name":"MadMakz"},"message":"up","distinct":true,"url":"https://api.github.com/repos/MadMakz/Snippets/commits/a6686d23ac20973f987b51bfb66e6a1e0f3623f9"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396608","type":"PushEvent","actor":{"id":96092173,"login":"tjaplicativos","display_login":"tjaplicativos","gravatar_id":"","url":"https://api.github.com/users/tjaplicativos","avatar_url":"https://avatars.githubusercontent.com/u/96092173?"},"repo":{"id":438068108,"name":"tjaplicativos/privacy-policy","url":"https://api.github.com/repos/tjaplicativos/privacy-policy"},"payload":{"push_id":8732433691,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"280c498c0dd37ecfeb83164e4c86caa8d9c0f7b3","before":"f87ef265acddb75491558ad8fe6f56b3d57d6eaa","commits":[{"sha":"280c498c0dd37ecfeb83164e4c86caa8d9c0f7b3","author":{"email":"96092173+tjaplicativos@users.noreply.github.com","name":"tjaplicativos"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/tjaplicativos/privacy-policy/commits/280c498c0dd37ecfeb83164e4c86caa8d9c0f7b3"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396609","type":"PushEvent","actor":{"id":8221099,"login":"bepsvpt","display_login":"bepsvpt","gravatar_id":"","url":"https://api.github.com/users/bepsvpt","avatar_url":"https://avatars.githubusercontent.com/u/8221099?"},"repo":{"id":107020163,"name":"bepsvpt-fork/homebrew-core","url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core"},"payload":{"push_id":8732433685,"size":50,"distinct_size":50,"ref":"refs/heads/master","head":"ae2b016f774bbe8dc57fcd18e2e1984b0a78a06b","before":"512e9dcd192c3917e5e8275037393c8fa95c4dc5","commits":[{"sha":"4cbbf9e3607b328680f736c9740248262290e0fa","author":{"email":"9948149+katrinleinweber@users.noreply.github.com","name":"Katrin Leinweber"},"message":"duplicity: reflect move to GitLab (#92292)\n\nNote their \"Duplicity has moved…\" message on Launchpad","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/4cbbf9e3607b328680f736c9740248262290e0fa"},{"sha":"1fce877d778d8224ed2acc37b03a71dee87bf1d5","author":{"email":"mcmigliore@gmail.Com","name":"Michael Migliore"},"message":"f3d 1.2.1\n\nf3d 1.2.0\n\nCloses #92288.\n\nSigned-off-by: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/1fce877d778d8224ed2acc37b03a71dee87bf1d5"},{"sha":"5d8ac266f1e1f8dca7191354aa5d474bf3725488","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"f3d: update 1.2.1 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/5d8ac266f1e1f8dca7191354aa5d474bf3725488"},{"sha":"55530d8641640b35b848858c2ae1d89a575f53da","author":{"email":"bepsvpt/homebrew-updater","name":"homebrew-updater"},"message":"composer 2.2.3\n\nCloses #92295.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/55530d8641640b35b848858c2ae1d89a575f53da"},{"sha":"2def20a15b8d4846785897e1697f9071f23be28d","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"composer: update 2.2.3 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/2def20a15b8d4846785897e1697f9071f23be28d"},{"sha":"b8035d7de34c3f17ec3fc63335bd1d7524ebd4f1","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"esptool: update python resources\n\nCloses #92296.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/b8035d7de34c3f17ec3fc63335bd1d7524ebd4f1"},{"sha":"0fd2f59fcbb5fc7ec039cd392ccb7a04d91f96db","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"esptool: update 3.2_1 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/0fd2f59fcbb5fc7ec039cd392ccb7a04d91f96db"},{"sha":"5a8541da3ba61c0df1a1636fdeecd30eca2bdc1a","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"molecule: update python resources\n\nCloses #92297.\n\nSigned-off-by: Branch Vincent <19800529+branchvincent@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/5a8541da3ba61c0df1a1636fdeecd30eca2bdc1a"},{"sha":"16f2e7b8813f58c3ae8f4915a8decdf2bafb8e52","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"molecule: update 3.5.2_3 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/16f2e7b8813f58c3ae8f4915a8decdf2bafb8e52"},{"sha":"bef0b4afaddc606272318da8fbf74dd8a8371915","author":{"email":"smillerdev@me.com","name":"Sean Molenaar"},"message":"percona-server: remove datadir references\n\nCloses #92294.\n\nSigned-off-by: Branch Vincent <19800529+branchvincent@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/bef0b4afaddc606272318da8fbf74dd8a8371915"},{"sha":"59508c3897f3f516f7e374cf5cd8d293b68b7144","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"percona-server: update 8.0.25-15_2 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/59508c3897f3f516f7e374cf5cd8d293b68b7144"},{"sha":"933479005c0313988b37d496f16390a8c82c3124","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"zoro 20211230 (new formula)\n\nzoro: rename from mr2\n\nCloses #92140.\n\nSigned-off-by: Rui Chen \nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/933479005c0313988b37d496f16390a8c82c3124"},{"sha":"84dfdb346657177a3a8dc34ca0d3a955d301e9af","author":{"email":"rui@chenrui.dev","name":"rui"},"message":"zoro: add 20211230 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/84dfdb346657177a3a8dc34ca0d3a955d301e9af"},{"sha":"5c3c36e5c99037e5c2ef3e70dc87a92f3c624c83","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"aws-elasticbeanstalk: update python resources\n\nCloses #92299.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/5c3c36e5c99037e5c2ef3e70dc87a92f3c624c83"},{"sha":"0e343aa055f8cc3d69b8c73558021ea8f64da444","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"aws-elasticbeanstalk: update 3.20.2_2 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/0e343aa055f8cc3d69b8c73558021ea8f64da444"},{"sha":"3aeb6a8c9c390f2cbf452035ce59618db5c9c7dc","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"ansible@2.9: update python resources\n\nCloses #92298.\n\nSigned-off-by: Branch Vincent <19800529+branchvincent@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/3aeb6a8c9c390f2cbf452035ce59618db5c9c7dc"},{"sha":"1d7ea893721a14b134a828c40376cae54f0b18df","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"ansible@2.9: update 2.9.27_2 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/1d7ea893721a14b134a828c40376cae54f0b18df"},{"sha":"1f006fa6806db72a981299ffc4d9ded445cf64d6","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"fabric: update python dependencies\n\nCloses #92302.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/1f006fa6806db72a981299ffc4d9ded445cf64d6"},{"sha":"16593944c77fe26966425cf17f6fdcf881947fcb","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"fabric: update 2.6.0_4 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/16593944c77fe26966425cf17f6fdcf881947fcb"},{"sha":"14db61a91eb3947f3e968270dcd65e90ae611e23","author":{"email":"alex.gaynor@gmail.com","name":"Alex Gaynor"},"message":"stormssh: update python resources\n\nCloses #92300.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/14db61a91eb3947f3e968270dcd65e90ae611e23"}]},"public":true,"created_at":"2022-01-01T01:00:11Z","org":{"id":23422726,"login":"bepsvpt-fork","gravatar_id":"","url":"https://api.github.com/orgs/bepsvpt-fork","avatar_url":"https://avatars.githubusercontent.com/u/23422726?"}} +{"id":"19541396611","type":"PushEvent","actor":{"id":6717350,"login":"mu-arch","display_login":"mu-arch","gravatar_id":"","url":"https://api.github.com/users/mu-arch","avatar_url":"https://avatars.githubusercontent.com/u/6717350?"},"repo":{"id":368744823,"name":"mu-arch/valheimlist.org","url":"https://api.github.com/repos/mu-arch/valheimlist.org"},"payload":{"push_id":8732433695,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0ee8b03a9e88d89b415aadbe493bcf2250326eb8","before":"fd35a314b4323ac46edb81ddbb1253b1f44758c1","commits":[{"sha":"0ee8b03a9e88d89b415aadbe493bcf2250326eb8","author":{"email":"debian@packer-output-f010df36-349c-4327-bffc-9b0304510dc4","name":"Debian"},"message":"automated script push","distinct":true,"url":"https://api.github.com/repos/mu-arch/valheimlist.org/commits/0ee8b03a9e88d89b415aadbe493bcf2250326eb8"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396615","type":"IssueCommentEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":4520196,"name":"PKRoma/ReactiveUI","url":"https://api.github.com/repos/PKRoma/ReactiveUI"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254","repository_url":"https://api.github.com/repos/PKRoma/ReactiveUI","labels_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254/labels{/name}","comments_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254/comments","events_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254/events","html_url":"https://github.com/PKRoma/ReactiveUI/pull/254","id":1080414660,"node_id":"PR_kwDOAET5BM4v26e7","number":254,"title":"build(deps): bump Verify.Xunit from 14.10.1 to 14.11.1 in /src","user":{"login":"dependabot[bot]","id":49699333,"node_id":"MDM6Qm90NDk2OTkzMzM=","avatar_url":"https://avatars.githubusercontent.com/in/29110?v=4","gravatar_id":"","url":"https://api.github.com/users/dependabot%5Bbot%5D","html_url":"https://github.com/apps/dependabot","followers_url":"https://api.github.com/users/dependabot%5Bbot%5D/followers","following_url":"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/dependabot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/dependabot%5Bbot%5D/repos","events_url":"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/dependabot%5Bbot%5D/received_events","type":"Bot","site_admin":false},"labels":[{"id":2590430331,"node_id":"MDU6TGFiZWwyNTkwNDMwMzMx","url":"https://api.github.com/repos/PKRoma/ReactiveUI/labels/dependencies","name":"dependencies","color":"0366d6","default":false,"description":"Pull requests that update a dependency file"},{"id":3376828207,"node_id":"LA_kwDOAET5BM7JRk8v","url":"https://api.github.com/repos/PKRoma/ReactiveUI/labels/.NET","name":".NET","color":"7121c6","default":false,"description":"Pull requests that update .net code"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-12-15T00:05:40Z","updated_at":"2022-01-01T01:00:11Z","closed_at":"2021-12-17T07:28:35Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/pulls/254","html_url":"https://github.com/PKRoma/ReactiveUI/pull/254","diff_url":"https://github.com/PKRoma/ReactiveUI/pull/254.diff","patch_url":"https://github.com/PKRoma/ReactiveUI/pull/254.patch","merged_at":null},"body":"Bumps [Verify.Xunit](https://github.com/VerifyTests/Verify) from 14.10.1 to 14.11.1.\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Verify.Xunit&package-manager=nuget&previous-version=14.10.1&new-version=14.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
","reactions":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/comments/1003476356","html_url":"https://github.com/PKRoma/ReactiveUI/pull/254#issuecomment-1003476356","issue_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/254","id":1003476356,"node_id":"IC_kwDOAET5BM47z9WE","user":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","author_association":"NONE","body":"This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.","reactions":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/comments/1003476356/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396620","type":"IssueCommentEvent","actor":{"id":16344077,"login":"mattermod","display_login":"mattermod","gravatar_id":"","url":"https://api.github.com/users/mattermod","avatar_url":"https://avatars.githubusercontent.com/u/16344077?"},"repo":{"id":46522468,"name":"mattermost/docs","url":"https://api.github.com/repos/mattermost/docs"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/mattermost/docs/issues/5330","repository_url":"https://api.github.com/repos/mattermost/docs","labels_url":"https://api.github.com/repos/mattermost/docs/issues/5330/labels{/name}","comments_url":"https://api.github.com/repos/mattermost/docs/issues/5330/comments","events_url":"https://api.github.com/repos/mattermost/docs/issues/5330/events","html_url":"https://github.com/mattermost/docs/pull/5330","id":1082598316,"node_id":"PR_kwDOAsXgZM4v-EN1","number":5330,"title":"Fix slack-advanced-exporter order of operations","user":{"login":"Mercbot7","id":42525173,"node_id":"MDQ6VXNlcjQyNTI1MTcz","avatar_url":"https://avatars.githubusercontent.com/u/42525173?v=4","gravatar_id":"","url":"https://api.github.com/users/Mercbot7","html_url":"https://github.com/Mercbot7","followers_url":"https://api.github.com/users/Mercbot7/followers","following_url":"https://api.github.com/users/Mercbot7/following{/other_user}","gists_url":"https://api.github.com/users/Mercbot7/gists{/gist_id}","starred_url":"https://api.github.com/users/Mercbot7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mercbot7/subscriptions","organizations_url":"https://api.github.com/users/Mercbot7/orgs","repos_url":"https://api.github.com/users/Mercbot7/repos","events_url":"https://api.github.com/users/Mercbot7/events{/privacy}","received_events_url":"https://api.github.com/users/Mercbot7/received_events","type":"User","site_admin":false},"labels":[{"id":327057837,"node_id":"MDU6TGFiZWwzMjcwNTc4Mzc=","url":"https://api.github.com/repos/mattermost/docs/labels/Awaiting%20Submitter%20Action","name":"Awaiting Submitter Action","color":"b60205","default":false,"description":"Blocked on the author"},{"id":382876973,"node_id":"MDU6TGFiZWwzODI4NzY5NzM=","url":"https://api.github.com/repos/mattermost/docs/labels/3:%20Reviews%20Complete","name":"3: Reviews Complete","color":"0e8a16","default":false,"description":"All reviewers have approved the pull request"},{"id":1268712507,"node_id":"MDU6TGFiZWwxMjY4NzEyNTA3","url":"https://api.github.com/repos/mattermost/docs/labels/Lifecycle/1:stale","name":"Lifecycle/1:stale","color":"5319e7","default":false,"description":""},{"id":3388332314,"node_id":"LA_kwDOAsXgZM7J9dka","url":"https://api.github.com/repos/mattermost/docs/labels/Contributor","name":"Contributor","color":"ededed","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2021-12-16T20:04:15Z","updated_at":"2022-01-01T01:00:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/mattermost/docs/pulls/5330","html_url":"https://github.com/mattermost/docs/pull/5330","diff_url":"https://github.com/mattermost/docs/pull/5330.diff","patch_url":"https://github.com/mattermost/docs/pull/5330.patch","merged_at":null},"body":"We found that the repo: https://github.com/grundleborg/slack-advanced-exporter has the proper order of operations for exporting slack resources. When we ran with the current order we received an error about a bad zip file for the last step for the slack-advanced-exporter.\r\n\r\n\r\n\r\n#### Summary\r\n\r\n\r\n#### Ticket Link\r\n\r\n\r\n","reactions":{"url":"https://api.github.com/repos/mattermost/docs/issues/5330/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/mattermost/docs/issues/5330/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/mattermost/docs/issues/comments/1003476354","html_url":"https://github.com/mattermost/docs/pull/5330#issuecomment-1003476354","issue_url":"https://api.github.com/repos/mattermost/docs/issues/5330","id":1003476354,"node_id":"IC_kwDOAsXgZM47z9WC","user":{"login":"mattermod","id":16344077,"node_id":"MDQ6VXNlcjE2MzQ0MDc3","avatar_url":"https://avatars.githubusercontent.com/u/16344077?v=4","gravatar_id":"","url":"https://api.github.com/users/mattermod","html_url":"https://github.com/mattermod","followers_url":"https://api.github.com/users/mattermod/followers","following_url":"https://api.github.com/users/mattermod/following{/other_user}","gists_url":"https://api.github.com/users/mattermod/gists{/gist_id}","starred_url":"https://api.github.com/users/mattermod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattermod/subscriptions","organizations_url":"https://api.github.com/users/mattermod/orgs","repos_url":"https://api.github.com/users/mattermod/repos","events_url":"https://api.github.com/users/mattermod/events{/privacy}","received_events_url":"https://api.github.com/users/mattermod/received_events","type":"User","site_admin":false},"created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","author_association":"CONTRIBUTOR","body":"This PR has been automatically labelled \"stale\" because it hasn't had recent activity.\nA core team member will check in on the status of the PR to help with questions.\nThank you for your contribution!\n\n/cc @aspleenic","reactions":{"url":"https://api.github.com/repos/mattermost/docs/issues/comments/1003476354/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:11Z","org":{"id":9828093,"login":"mattermost","gravatar_id":"","url":"https://api.github.com/orgs/mattermost","avatar_url":"https://avatars.githubusercontent.com/u/9828093?"}} +{"id":"19541396625","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":329966512,"name":"product-os/transformer-worker","url":"https://api.github.com/repos/product-os/transformer-worker"},"payload":{"action":"opened","number":494,"pull_request":{"url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494","id":812479606,"node_id":"PR_kwDOE6rjsM4wbXR2","html_url":"https://github.com/product-os/transformer-worker/pull/494","diff_url":"https://github.com/product-os/transformer-worker/pull/494.diff","patch_url":"https://github.com/product-os/transformer-worker/pull/494.patch","issue_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494","number":494,"state":"open","locked":false,"title":"patch: Update external-non-major","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [@types/dockerode](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^3.3.0` -> `^3.3.1`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.0/3.3.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) |\n| timberio/vector | [`0.18.1-debian` -> `0.19.0-debian`](https://renovatebot.com/diffs/npm/timberio%2fvector/0.18.1/0.19.0) | [![age](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/compatibility-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/confidence-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Configuration\n\n📅 **Schedule**: \"every weekend\" (UTC).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/product-os/transformer-worker).","created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits","review_comments_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments","review_comment_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849","head":{"label":"product-os:renovate/external-non-major","ref":"renovate/external-non-major","sha":"331392cf8188d5f918ea820d13a9d488cd749849","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"base":{"label":"product-os:master","ref":"master","sha":"91c8f2a6c01f4cd7c177973a57d2e72c8e774fec","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494"},"html":{"href":"https://github.com/product-os/transformer-worker/pull/494"},"issue":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494"},"comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments"},"review_comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments"},"review_comment":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits"},"statuses":{"href":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":8,"deletions":8,"changed_files":3}},"public":true,"created_at":"2022-01-01T01:00:11Z","org":{"id":56742327,"login":"product-os","gravatar_id":"","url":"https://api.github.com/orgs/product-os","avatar_url":"https://avatars.githubusercontent.com/u/56742327?"}} +{"id":"19541396627","type":"DeleteEvent","actor":{"id":50245,"login":"bkuhlmann","display_login":"bkuhlmann","gravatar_id":"","url":"https://api.github.com/users/bkuhlmann","avatar_url":"https://avatars.githubusercontent.com/u/50245?"},"repo":{"id":89075183,"name":"bkuhlmann/test","url":"https://api.github.com/repos/bkuhlmann/test"},"payload":{"ref":"1.2.3","ref_type":"tag","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396630","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":96005427,"name":"GuyKh/10bis.Slackbot","url":"https://api.github.com/repos/GuyKh/10bis.Slackbot"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"master","description":"A slackbot for looking for restaurants in 10bis","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396634","type":"PushEvent","actor":{"id":4255667,"login":"captainGeech42","display_login":"captainGeech42","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","avatar_url":"https://avatars.githubusercontent.com/u/4255667?"},"repo":{"id":355320734,"name":"captainGeech42/beats","url":"https://api.github.com/repos/captainGeech42/beats"},"payload":{"push_id":8732433714,"size":1,"distinct_size":1,"ref":"refs/heads/snyk-fix-66e5dfa1ae5b51873c088aa51a313658","head":"96bbfd764d0a66689dd5e5e7e98ed3be09141562","before":"6981ca378741fb00962b7d7fa5da1ea7dea0229f","commits":[{"sha":"96bbfd764d0a66689dd5e5e7e98ed3be09141562","author":{"email":"snyk-bot@snyk.io","name":"snyk-bot"},"message":"fix: metricbeat/module/munin/_meta/Dockerfile to reduce vulnerabilities\n\nThe following vulnerabilities are fixed with an upgrade:\n- https://snyk.io/vuln/SNYK-UBUNTU1604-LIBGCRYPT20-1585790\n- https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131\n- https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131\n- https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131\n- https://snyk.io/vuln/SNYK-UBUNTU1604-SYSTEMD-1320131","distinct":true,"url":"https://api.github.com/repos/captainGeech42/beats/commits/96bbfd764d0a66689dd5e5e7e98ed3be09141562"}]},"public":true,"created_at":"2022-01-01T01:00:11Z"} +{"id":"19541396635","type":"IssuesEvent","actor":{"id":9993122,"login":"bigdatamoore","display_login":"bigdatamoore","gravatar_id":"","url":"https://api.github.com/users/bigdatamoore","avatar_url":"https://avatars.githubusercontent.com/u/9993122?"},"repo":{"id":435046857,"name":"py-az-cli/py-az-cli-generator","url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12","repository_url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator","labels_url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12/comments","events_url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12/events","html_url":"https://github.com/py-az-cli/py-az-cli-generator/issues/12","id":1091703188,"node_id":"I_kwDOGe5Jyc5BEhGU","number":12,"title":"set up Github Actions pipeline for the generator","user":{"login":"bigdatamoore","id":9993122,"node_id":"MDQ6VXNlcjk5OTMxMjI=","avatar_url":"https://avatars.githubusercontent.com/u/9993122?v=4","gravatar_id":"","url":"https://api.github.com/users/bigdatamoore","html_url":"https://github.com/bigdatamoore","followers_url":"https://api.github.com/users/bigdatamoore/followers","following_url":"https://api.github.com/users/bigdatamoore/following{/other_user}","gists_url":"https://api.github.com/users/bigdatamoore/gists{/gist_id}","starred_url":"https://api.github.com/users/bigdatamoore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigdatamoore/subscriptions","organizations_url":"https://api.github.com/users/bigdatamoore/orgs","repos_url":"https://api.github.com/users/bigdatamoore/repos","events_url":"https://api.github.com/users/bigdatamoore/events{/privacy}","received_events_url":"https://api.github.com/users/bigdatamoore/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":null,"reactions":{"url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/py-az-cli/py-az-cli-generator/issues/12/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:11Z","org":{"id":92175516,"login":"py-az-cli","gravatar_id":"","url":"https://api.github.com/orgs/py-az-cli","avatar_url":"https://avatars.githubusercontent.com/u/92175516?"}} +{"id":"19541396640","type":"PushEvent","actor":{"id":12084677,"login":"martijn-heil","display_login":"martijn-heil","gravatar_id":"","url":"https://api.github.com/users/martijn-heil","avatar_url":"https://avatars.githubusercontent.com/u/12084677?"},"repo":{"id":135597119,"name":"martijn-heil/9front","url":"https://api.github.com/repos/martijn-heil/9front"},"payload":{"push_id":8732433713,"size":0,"distinct_size":0,"ref":"refs/heads/master","head":"32f37b5c7763451bf9b4979cccab817bfa5453ce","before":"32f37b5c7763451bf9b4979cccab817bfa5453ce","commits":[]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396641","type":"PushEvent","actor":{"id":20679825,"login":"acid-chicken","display_login":"acid-chicken","gravatar_id":"","url":"https://api.github.com/users/acid-chicken","avatar_url":"https://avatars.githubusercontent.com/u/20679825?"},"repo":{"id":77326607,"name":"misskey-dev/misskey","url":"https://api.github.com/repos/misskey-dev/misskey"},"payload":{"push_id":8732433704,"size":1,"distinct_size":1,"ref":"refs/heads/patch/autogen/v11","head":"53e8d67f1ea66c02783d5267e1f474779dd752de","before":"0d1a5e282cf236251beb9c9c3cb05246dbd16d8a","commits":[{"sha":"53e8d67f1ea66c02783d5267e1f474779dd752de","author":{"email":"root@acid-chicken.com","name":"Acid Chicken (硫酸鶏)"},"message":"Update README.md [AUTOGEN]","distinct":true,"url":"https://api.github.com/repos/misskey-dev/misskey/commits/53e8d67f1ea66c02783d5267e1f474779dd752de"}]},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":81036415,"login":"misskey-dev","gravatar_id":"","url":"https://api.github.com/orgs/misskey-dev","avatar_url":"https://avatars.githubusercontent.com/u/81036415?"}} +{"id":"19541396650","type":"PushEvent","actor":{"id":25180681,"login":"renovate-bot","display_login":"renovate-bot","gravatar_id":"","url":"https://api.github.com/users/renovate-bot","avatar_url":"https://avatars.githubusercontent.com/u/25180681?"},"repo":{"id":262140952,"name":"renovate-bot/python-org-policy","url":"https://api.github.com/repos/renovate-bot/python-org-policy"},"payload":{"push_id":8732433720,"size":0,"distinct_size":0,"ref":"refs/heads/main","head":"e0beb540edfc8593974a8031e0ee85678df56bcf","before":"e0beb540edfc8593974a8031e0ee85678df56bcf","commits":[]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396651","type":"IssuesEvent","actor":{"id":70066044,"login":"matcher-ice","display_login":"matcher-ice","gravatar_id":"","url":"https://api.github.com/users/matcher-ice","avatar_url":"https://avatars.githubusercontent.com/u/70066044?"},"repo":{"id":281975310,"name":"type-challenges/type-challenges","url":"https://api.github.com/repos/type-challenges/type-challenges"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579","repository_url":"https://api.github.com/repos/type-challenges/type-challenges","labels_url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579/labels{/name}","comments_url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579/comments","events_url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579/events","html_url":"https://github.com/type-challenges/type-challenges/issues/5579","id":1091703189,"node_id":"I_kwDOEM6aDs5BEhGV","number":5579,"title":"4518 - Fill","user":{"login":"matcher-ice","id":70066044,"node_id":"MDQ6VXNlcjcwMDY2MDQ0","avatar_url":"https://avatars.githubusercontent.com/u/70066044?v=4","gravatar_id":"","url":"https://api.github.com/users/matcher-ice","html_url":"https://github.com/matcher-ice","followers_url":"https://api.github.com/users/matcher-ice/followers","following_url":"https://api.github.com/users/matcher-ice/following{/other_user}","gists_url":"https://api.github.com/users/matcher-ice/gists{/gist_id}","starred_url":"https://api.github.com/users/matcher-ice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matcher-ice/subscriptions","organizations_url":"https://api.github.com/users/matcher-ice/orgs","repos_url":"https://api.github.com/users/matcher-ice/repos","events_url":"https://api.github.com/users/matcher-ice/events{/privacy}","received_events_url":"https://api.github.com/users/matcher-ice/received_events","type":"User","site_admin":false},"labels":[{"id":2229439607,"node_id":"MDU6TGFiZWwyMjI5NDM5NjA3","url":"https://api.github.com/repos/type-challenges/type-challenges/labels/answer","name":"answer","color":"e99695","default":false,"description":"Share answers/solutions to a question"},{"id":2230644168,"node_id":"MDU6TGFiZWwyMjMwNjQ0MTY4","url":"https://api.github.com/repos/type-challenges/type-challenges/labels/en","name":"en","color":"eeeeee","default":false,"description":"in English"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"\r\n\r\n```ts\r\n// your answers\r\ntype Fill<\r\n T extends unknown[],\r\n V,\r\n Start extends number = 0,\r\n End extends number = T['length'],\r\n B extends boolean = false,\r\n R extends unknown[] = []\r\n> = T extends [infer First, ...infer Rest]\r\n? R[\"length\"] extends End\r\n ? Fill\r\n : R[\"length\"] extends Start\r\n ? Fill\r\n : Fill\r\n: R;\r\n```\r\n","reactions":{"url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/type-challenges/type-challenges/issues/5579/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":68700335,"login":"type-challenges","gravatar_id":"","url":"https://api.github.com/orgs/type-challenges","avatar_url":"https://avatars.githubusercontent.com/u/68700335?"}} +{"id":"19541396654","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433725,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"6b0c190b6796c2e3282d797734d520d285b0657b","before":"41e56facb63f7221496aeb724132fe0602a9bb29","commits":[{"sha":"6b0c190b6796c2e3282d797734d520d285b0657b","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/system-x-devel for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/6b0c190b6796c2e3282d797734d520d285b0657b"}]},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396655","type":"PushEvent","actor":{"id":96603937,"login":"gdfg22","display_login":"gdfg22","gravatar_id":"","url":"https://api.github.com/users/gdfg22","avatar_url":"https://avatars.githubusercontent.com/u/96603937?"},"repo":{"id":443425724,"name":"gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f","url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f"},"payload":{"push_id":8732433727,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7fe6d29203f8f9eaba29b17ac5bab13998a6ff01","before":"cb597f239adf8ee56204868a8f078a0b22fd2e9b","commits":[{"sha":"7fe6d29203f8f9eaba29b17ac5bab13998a6ff01","author":{"email":"96603937+gdfg22@users.noreply.github.com","name":"gdfg22"},"message":"upload file 17cae3b61bf3eb936be213fd7441c2dd58deb41e53a0fed358b3dc29a7e91242789ac8d0f5ce1ba22993a005953c9377video_536_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f/commits/7fe6d29203f8f9eaba29b17ac5bab13998a6ff01"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396659","type":"PushEvent","actor":{"id":12084677,"login":"martijn-heil","display_login":"martijn-heil","gravatar_id":"","url":"https://api.github.com/users/martijn-heil","avatar_url":"https://avatars.githubusercontent.com/u/12084677?"},"repo":{"id":135597119,"name":"martijn-heil/9front","url":"https://api.github.com/repos/martijn-heil/9front"},"payload":{"push_id":8732433729,"size":0,"distinct_size":0,"ref":"refs/heads/spew","head":"c9a9f75d84a8a5031cfdd48d14feb302cbcfba65","before":"c9a9f75d84a8a5031cfdd48d14feb302cbcfba65","commits":[]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396661","type":"IssuesEvent","actor":{"id":39687477,"login":"kn0wmad","display_login":"kn0wmad","gravatar_id":"","url":"https://api.github.com/users/kn0wmad","avatar_url":"https://avatars.githubusercontent.com/u/39687477?"},"repo":{"id":255540087,"name":"BeamMW/beam-ui","url":"https://api.github.com/repos/BeamMW/beam-ui"},"payload":{"action":"opened","issue":{"url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886","repository_url":"https://api.github.com/repos/BeamMW/beam-ui","labels_url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886/labels{/name}","comments_url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886/comments","events_url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886/events","html_url":"https://github.com/BeamMW/beam-ui/issues/886","id":1091703190,"node_id":"I_kwDODzs7d85BEhGW","number":886,"title":"Proxy (Tor) Support","user":{"login":"kn0wmad","id":39687477,"node_id":"MDQ6VXNlcjM5Njg3NDc3","avatar_url":"https://avatars.githubusercontent.com/u/39687477?v=4","gravatar_id":"","url":"https://api.github.com/users/kn0wmad","html_url":"https://github.com/kn0wmad","followers_url":"https://api.github.com/users/kn0wmad/followers","following_url":"https://api.github.com/users/kn0wmad/following{/other_user}","gists_url":"https://api.github.com/users/kn0wmad/gists{/gist_id}","starred_url":"https://api.github.com/users/kn0wmad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kn0wmad/subscriptions","organizations_url":"https://api.github.com/users/kn0wmad/orgs","repos_url":"https://api.github.com/users/kn0wmad/repos","events_url":"https://api.github.com/users/kn0wmad/events{/privacy}","received_events_url":"https://api.github.com/users/kn0wmad/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"I understand there is a proxy flag for the cli; would love to see Tor support added to the UI","reactions":{"url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/BeamMW/beam-ui/issues/886/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":44614894,"login":"BeamMW","gravatar_id":"","url":"https://api.github.com/orgs/BeamMW","avatar_url":"https://avatars.githubusercontent.com/u/44614894?"}} +{"id":"19541396668","type":"CreateEvent","actor":{"id":4255667,"login":"captainGeech42","display_login":"captainGeech42","gravatar_id":"","url":"https://api.github.com/users/captainGeech42","avatar_url":"https://avatars.githubusercontent.com/u/4255667?"},"repo":{"id":355320734,"name":"captainGeech42/beats","url":"https://api.github.com/repos/captainGeech42/beats"},"payload":{"ref":"snyk-fix-66e5dfa1ae5b51873c088aa51a313658","ref_type":"branch","master_branch":"master","description":":tropical_fish: Beats - Lightweight shippers for Elasticsearch & Logstash ","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396669","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433735,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d1d1d1c4c0361c59e4f70d616cfabd0697d14c47","before":"47c9a7a7a1e7e83b6c272f95023b115dea9c8100","commits":[{"sha":"d1d1d1c4c0361c59e4f70d616cfabd0697d14c47","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/d1d1d1c4c0361c59e4f70d616cfabd0697d14c47"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396672","type":"PushEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":206643743,"name":"diegomais/gobarber","url":"https://api.github.com/repos/diegomais/gobarber"},"payload":{"push_id":8732433732,"size":1,"distinct_size":1,"ref":"refs/heads/renovate/eslint-8.x","head":"209331481c16c3a673ab8e763fb27089f9faa110","before":"49ab002ec376b7d5ba1a0ed5a85ef6f66391f82a","commits":[{"sha":"209331481c16c3a673ab8e763fb27089f9faa110","author":{"email":"bot@renovateapp.com","name":"Renovate Bot"},"message":"chore(deps): update dependency eslint to v8","distinct":true,"url":"https://api.github.com/repos/diegomais/gobarber/commits/209331481c16c3a673ab8e763fb27089f9faa110"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396674","type":"PushEvent","actor":{"id":75816501,"login":"Argon-av","display_login":"Argon-av","gravatar_id":"","url":"https://api.github.com/users/Argon-av","avatar_url":"https://avatars.githubusercontent.com/u/75816501?"},"repo":{"id":403450956,"name":"Argon-av/backup","url":"https://api.github.com/repos/Argon-av/backup"},"payload":{"push_id":8732433742,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"2ec92acfab5bbad97aad859f08af72ecae0b8828","before":"7dc824949602a3bc5b447caba8b5608ecb2c38d7","commits":[{"sha":"2ec92acfab5bbad97aad859f08af72ecae0b8828","author":{"email":"75816501+Argon-av@users.noreply.github.com","name":"Argon"},"message":"Update jd_cleancart.js","distinct":true,"url":"https://api.github.com/repos/Argon-av/backup/commits/2ec92acfab5bbad97aad859f08af72ecae0b8828"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396675","type":"PushEvent","actor":{"id":1505226,"login":"thestinger","display_login":"thestinger","gravatar_id":"","url":"https://api.github.com/users/thestinger","avatar_url":"https://avatars.githubusercontent.com/u/1505226?"},"repo":{"id":413591272,"name":"GrapheneOS/platform_external_Camera","url":"https://api.github.com/repos/GrapheneOS/platform_external_Camera"},"payload":{"push_id":8732433739,"size":1,"distinct_size":1,"ref":"refs/heads/12","head":"81594d0fcb58674b5953c2bed5fb635524d59e44","before":"94595efb80a7c3fd114fd1b77270f6e6af2d0f84","commits":[{"sha":"81594d0fcb58674b5953c2bed5fb635524d59e44","author":{"email":"danielmicay@gmail.com","name":"Daniel Micay"},"message":"new beta build","distinct":true,"url":"https://api.github.com/repos/GrapheneOS/platform_external_Camera/commits/81594d0fcb58674b5953c2bed5fb635524d59e44"}]},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":48847184,"login":"GrapheneOS","gravatar_id":"","url":"https://api.github.com/orgs/GrapheneOS","avatar_url":"https://avatars.githubusercontent.com/u/48847184?"}} +{"id":"19541396678","type":"PullRequestReviewEvent","actor":{"id":34475974,"login":"renovate-approve[bot]","display_login":"renovate-approve","gravatar_id":"","url":"https://api.github.com/users/renovate-approve[bot]","avatar_url":"https://avatars.githubusercontent.com/u/34475974?"},"repo":{"id":329966512,"name":"product-os/transformer-worker","url":"https://api.github.com/repos/product-os/transformer-worker"},"payload":{"action":"created","review":{"id":842310493,"node_id":"PRR_kwDOE6rjsM4yNKNd","user":{"login":"renovate-approve[bot]","id":34475974,"node_id":"MDM6Qm90MzQ0NzU5NzQ=","avatar_url":"https://avatars.githubusercontent.com/in/7394?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate-approve%5Bbot%5D","html_url":"https://github.com/apps/renovate-approve","followers_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate-approve%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"331392cf8188d5f918ea820d13a9d488cd749849","submitted_at":"2022-01-01T01:00:12Z","state":"approved","html_url":"https://github.com/product-os/transformer-worker/pull/494#pullrequestreview-842310493","pull_request_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494","author_association":"NONE","_links":{"html":{"href":"https://github.com/product-os/transformer-worker/pull/494#pullrequestreview-842310493"},"pull_request":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494"}}},"pull_request":{"url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494","id":812479606,"node_id":"PR_kwDOE6rjsM4wbXR2","html_url":"https://github.com/product-os/transformer-worker/pull/494","diff_url":"https://github.com/product-os/transformer-worker/pull/494.diff","patch_url":"https://github.com/product-os/transformer-worker/pull/494.patch","issue_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494","number":494,"state":"open","locked":false,"title":"patch: Update external-non-major","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [@types/dockerode](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^3.3.0` -> `^3.3.1`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.0/3.3.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) |\n| timberio/vector | [`0.18.1-debian` -> `0.19.0-debian`](https://renovatebot.com/diffs/npm/timberio%2fvector/0.18.1/0.19.0) | [![age](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/compatibility-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/confidence-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Configuration\n\n📅 **Schedule**: \"every weekend\" (UTC).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/product-os/transformer-worker).","created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bc98af0b80e1d36b86a39a6f9665ff7311b1572c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2831998804,"node_id":"MDU6TGFiZWwyODMxOTk4ODA0","url":"https://api.github.com/repos/product-os/transformer-worker/labels/dependencies","name":"dependencies","color":"ededed","default":false,"description":null}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits","review_comments_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments","review_comment_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849","head":{"label":"product-os:renovate/external-non-major","ref":"renovate/external-non-major","sha":"331392cf8188d5f918ea820d13a9d488cd749849","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"base":{"label":"product-os:master","ref":"master","sha":"91c8f2a6c01f4cd7c177973a57d2e72c8e774fec","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494"},"html":{"href":"https://github.com/product-os/transformer-worker/pull/494"},"issue":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494"},"comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments"},"review_comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments"},"review_comment":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits"},"statuses":{"href":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":56742327,"login":"product-os","gravatar_id":"","url":"https://api.github.com/orgs/product-os","avatar_url":"https://avatars.githubusercontent.com/u/56742327?"}} +{"id":"19541396679","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433733,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"71f82edd855de8ff5ac39e473c11693849c1ce97","before":"77637fec2953ec775af338f385f86958b7d28c36","commits":[{"sha":"71f82edd855de8ff5ac39e473c11693849c1ce97","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update prog1138_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/71f82edd855de8ff5ac39e473c11693849c1ce97"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396681","type":"IssueCommentEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":4520196,"name":"PKRoma/ReactiveUI","url":"https://api.github.com/repos/PKRoma/ReactiveUI"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252","repository_url":"https://api.github.com/repos/PKRoma/ReactiveUI","labels_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252/labels{/name}","comments_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252/comments","events_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252/events","html_url":"https://github.com/PKRoma/ReactiveUI/pull/252","id":1080414480,"node_id":"PR_kwDOAET5BM4v26cS","number":252,"title":"build(deps): bump Verify.Xunit from 14.10.1 to 14.11.1 in /integrationtests","user":{"login":"dependabot[bot]","id":49699333,"node_id":"MDM6Qm90NDk2OTkzMzM=","avatar_url":"https://avatars.githubusercontent.com/in/29110?v=4","gravatar_id":"","url":"https://api.github.com/users/dependabot%5Bbot%5D","html_url":"https://github.com/apps/dependabot","followers_url":"https://api.github.com/users/dependabot%5Bbot%5D/followers","following_url":"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/dependabot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/dependabot%5Bbot%5D/repos","events_url":"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/dependabot%5Bbot%5D/received_events","type":"Bot","site_admin":false},"labels":[{"id":2590430331,"node_id":"MDU6TGFiZWwyNTkwNDMwMzMx","url":"https://api.github.com/repos/PKRoma/ReactiveUI/labels/dependencies","name":"dependencies","color":"0366d6","default":false,"description":"Pull requests that update a dependency file"},{"id":3376828207,"node_id":"LA_kwDOAET5BM7JRk8v","url":"https://api.github.com/repos/PKRoma/ReactiveUI/labels/.NET","name":".NET","color":"7121c6","default":false,"description":"Pull requests that update .net code"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2021-12-15T00:05:26Z","updated_at":"2022-01-01T01:00:12Z","closed_at":"2021-12-17T07:28:34Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/pulls/252","html_url":"https://github.com/PKRoma/ReactiveUI/pull/252","diff_url":"https://github.com/PKRoma/ReactiveUI/pull/252.diff","patch_url":"https://github.com/PKRoma/ReactiveUI/pull/252.patch","merged_at":null},"body":"Bumps [Verify.Xunit](https://github.com/VerifyTests/Verify) from 14.10.1 to 14.11.1.\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Verify.Xunit&package-manager=nuget&previous-version=14.10.1&new-version=14.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
","reactions":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/comments/1003476357","html_url":"https://github.com/PKRoma/ReactiveUI/pull/252#issuecomment-1003476357","issue_url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/252","id":1003476357,"node_id":"IC_kwDOAET5BM47z9WF","user":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-01T01:00:12Z","updated_at":"2022-01-01T01:00:12Z","author_association":"NONE","body":"This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.","reactions":{"url":"https://api.github.com/repos/PKRoma/ReactiveUI/issues/comments/1003476357/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396685","type":"PullRequestReviewEvent","actor":{"id":64245729,"login":"renovate-approve-2[bot]","display_login":"renovate-approve-2","gravatar_id":"","url":"https://api.github.com/users/renovate-approve-2[bot]","avatar_url":"https://avatars.githubusercontent.com/u/64245729?"},"repo":{"id":329966512,"name":"product-os/transformer-worker","url":"https://api.github.com/repos/product-os/transformer-worker"},"payload":{"action":"created","review":{"id":842310492,"node_id":"PRR_kwDOE6rjsM4yNKNc","user":{"login":"renovate-approve-2[bot]","id":64245729,"node_id":"MDM6Qm90NjQyNDU3Mjk=","avatar_url":"https://avatars.githubusercontent.com/in/62175?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D","html_url":"https://github.com/apps/renovate-approve-2","followers_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate-approve-2%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"331392cf8188d5f918ea820d13a9d488cd749849","submitted_at":"2022-01-01T01:00:12Z","state":"approved","html_url":"https://github.com/product-os/transformer-worker/pull/494#pullrequestreview-842310492","pull_request_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494","author_association":"NONE","_links":{"html":{"href":"https://github.com/product-os/transformer-worker/pull/494#pullrequestreview-842310492"},"pull_request":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494"}}},"pull_request":{"url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494","id":812479606,"node_id":"PR_kwDOE6rjsM4wbXR2","html_url":"https://github.com/product-os/transformer-worker/pull/494","diff_url":"https://github.com/product-os/transformer-worker/pull/494.diff","patch_url":"https://github.com/product-os/transformer-worker/pull/494.patch","issue_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494","number":494,"state":"open","locked":false,"title":"patch: Update external-non-major","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [@types/dockerode](https://togithub.com/DefinitelyTyped/DefinitelyTyped) | [`^3.3.0` -> `^3.3.1`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.0/3.3.1) | [![age](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@types%2fdockerode/3.3.1/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) |\n| timberio/vector | [`0.18.1-debian` -> `0.19.0-debian`](https://renovatebot.com/diffs/npm/timberio%2fvector/0.18.1/0.19.0) | [![age](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/compatibility-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/docker/timberio%2fvector/0.19.0/confidence-slim/0.18.1)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Configuration\n\n📅 **Schedule**: \"every weekend\" (UTC).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/product-os/transformer-worker).","created_at":"2022-01-01T01:00:11Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bc98af0b80e1d36b86a39a6f9665ff7311b1572c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":2831998804,"node_id":"MDU6TGFiZWwyODMxOTk4ODA0","url":"https://api.github.com/repos/product-os/transformer-worker/labels/dependencies","name":"dependencies","color":"ededed","default":false,"description":null}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits","review_comments_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments","review_comment_url":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849","head":{"label":"product-os:renovate/external-non-major","ref":"renovate/external-non-major","sha":"331392cf8188d5f918ea820d13a9d488cd749849","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"base":{"label":"product-os:master","ref":"master","sha":"91c8f2a6c01f4cd7c177973a57d2e72c8e774fec","user":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"repo":{"id":329966512,"node_id":"MDEwOlJlcG9zaXRvcnkzMjk5NjY1MTI=","name":"transformer-worker","full_name":"product-os/transformer-worker","private":false,"owner":{"login":"product-os","id":56742327,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU2NzQyMzI3","avatar_url":"https://avatars.githubusercontent.com/u/56742327?v=4","gravatar_id":"","url":"https://api.github.com/users/product-os","html_url":"https://github.com/product-os","followers_url":"https://api.github.com/users/product-os/followers","following_url":"https://api.github.com/users/product-os/following{/other_user}","gists_url":"https://api.github.com/users/product-os/gists{/gist_id}","starred_url":"https://api.github.com/users/product-os/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/product-os/subscriptions","organizations_url":"https://api.github.com/users/product-os/orgs","repos_url":"https://api.github.com/users/product-os/repos","events_url":"https://api.github.com/users/product-os/events{/privacy}","received_events_url":"https://api.github.com/users/product-os/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/product-os/transformer-worker","description":"Transformer Worker","fork":false,"url":"https://api.github.com/repos/product-os/transformer-worker","forks_url":"https://api.github.com/repos/product-os/transformer-worker/forks","keys_url":"https://api.github.com/repos/product-os/transformer-worker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/product-os/transformer-worker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/product-os/transformer-worker/teams","hooks_url":"https://api.github.com/repos/product-os/transformer-worker/hooks","issue_events_url":"https://api.github.com/repos/product-os/transformer-worker/issues/events{/number}","events_url":"https://api.github.com/repos/product-os/transformer-worker/events","assignees_url":"https://api.github.com/repos/product-os/transformer-worker/assignees{/user}","branches_url":"https://api.github.com/repos/product-os/transformer-worker/branches{/branch}","tags_url":"https://api.github.com/repos/product-os/transformer-worker/tags","blobs_url":"https://api.github.com/repos/product-os/transformer-worker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/product-os/transformer-worker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/product-os/transformer-worker/git/refs{/sha}","trees_url":"https://api.github.com/repos/product-os/transformer-worker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/product-os/transformer-worker/statuses/{sha}","languages_url":"https://api.github.com/repos/product-os/transformer-worker/languages","stargazers_url":"https://api.github.com/repos/product-os/transformer-worker/stargazers","contributors_url":"https://api.github.com/repos/product-os/transformer-worker/contributors","subscribers_url":"https://api.github.com/repos/product-os/transformer-worker/subscribers","subscription_url":"https://api.github.com/repos/product-os/transformer-worker/subscription","commits_url":"https://api.github.com/repos/product-os/transformer-worker/commits{/sha}","git_commits_url":"https://api.github.com/repos/product-os/transformer-worker/git/commits{/sha}","comments_url":"https://api.github.com/repos/product-os/transformer-worker/comments{/number}","issue_comment_url":"https://api.github.com/repos/product-os/transformer-worker/issues/comments{/number}","contents_url":"https://api.github.com/repos/product-os/transformer-worker/contents/{+path}","compare_url":"https://api.github.com/repos/product-os/transformer-worker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/product-os/transformer-worker/merges","archive_url":"https://api.github.com/repos/product-os/transformer-worker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/product-os/transformer-worker/downloads","issues_url":"https://api.github.com/repos/product-os/transformer-worker/issues{/number}","pulls_url":"https://api.github.com/repos/product-os/transformer-worker/pulls{/number}","milestones_url":"https://api.github.com/repos/product-os/transformer-worker/milestones{/number}","notifications_url":"https://api.github.com/repos/product-os/transformer-worker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/product-os/transformer-worker/labels{/name}","releases_url":"https://api.github.com/repos/product-os/transformer-worker/releases{/id}","deployments_url":"https://api.github.com/repos/product-os/transformer-worker/deployments","created_at":"2021-01-15T16:34:40Z","updated_at":"2021-12-26T14:32:40Z","pushed_at":"2022-01-01T01:00:11Z","git_url":"git://github.com/product-os/transformer-worker.git","ssh_url":"git@github.com:product-os/transformer-worker.git","clone_url":"https://github.com/product-os/transformer-worker.git","svn_url":"https://github.com/product-os/transformer-worker","homepage":"","size":2272,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":["product-os","transformers"],"visibility":"public","forks":0,"open_issues":7,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494"},"html":{"href":"https://github.com/product-os/transformer-worker/pull/494"},"issue":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494"},"comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/issues/494/comments"},"review_comments":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/comments"},"review_comment":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/product-os/transformer-worker/pulls/494/commits"},"statuses":{"href":"https://api.github.com/repos/product-os/transformer-worker/statuses/331392cf8188d5f918ea820d13a9d488cd749849"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":56742327,"login":"product-os","gravatar_id":"","url":"https://api.github.com/orgs/product-os","avatar_url":"https://avatars.githubusercontent.com/u/56742327?"}} +{"id":"19541396687","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":378546077,"name":"int128/kustomize-action","url":"https://api.github.com/repos/int128/kustomize-action"},"payload":{"action":"opened","number":151,"pull_request":{"url":"https://api.github.com/repos/int128/kustomize-action/pulls/151","id":812479609,"node_id":"PR_kwDOFpAnnc4wbXR5","html_url":"https://github.com/int128/kustomize-action/pull/151","diff_url":"https://github.com/int128/kustomize-action/pull/151.diff","patch_url":"https://github.com/int128/kustomize-action/pull/151.patch","issue_url":"https://api.github.com/repos/int128/kustomize-action/issues/151","number":151,"state":"open","locked":false,"title":"chore(deps): update dependency eslint to v8.6.0","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.5.0` -> `8.6.0`](https://renovatebot.com/diffs/npm/eslint/8.5.0/8.6.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/compatibility-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/confidence-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Release Notes\n\n
\neslint/eslint\n\n### [`v8.6.0`](https://togithub.com/eslint/eslint/releases/v8.6.0)\n\n[Compare Source](https://togithub.com/eslint/eslint/compare/v8.5.0...v8.6.0)\n\n#### Features\n\n- [`6802a54`](https://togithub.com/eslint/eslint/commit/6802a54837ea008bef4d5ae11522941693ba5ef6) feat: handle logical assignment in no-self-assign ([#​14152](https://togithub.com/eslint/eslint/issues/14152)) (Zzzen)\n- [`3b38018`](https://togithub.com/eslint/eslint/commit/3b38018ef5cb004ad5bc011de726bd2df2eb2f3f) feat: allow to define `eslint-disable-next-line` in multiple lines ([#​15436](https://togithub.com/eslint/eslint/issues/15436)) (Nitin Kumar)\n- [`9d6fe5a`](https://togithub.com/eslint/eslint/commit/9d6fe5a6b65f397bafc5eb0a995e96717cdc9b53) feat: false negative with `onlyDeclarations` + `properties` in id-match ([#​15431](https://togithub.com/eslint/eslint/issues/15431)) (Nitin Kumar)\n\n#### Documentation\n\n- [`6c4dee2`](https://togithub.com/eslint/eslint/commit/6c4dee2e87dac8d0751ce2426ded651ed0986112) docs: Document homedir is a configuration root ([#​15469](https://togithub.com/eslint/eslint/issues/15469)) (Bas Bosman)\n- [`51c37b1`](https://togithub.com/eslint/eslint/commit/51c37b118aed9c0d7a0efd40c491efca04c82ef9) docs: consistency changes ([#​15404](https://togithub.com/eslint/eslint/issues/15404)) (Bas Bosman)\n- [`775d181`](https://togithub.com/eslint/eslint/commit/775d18138244a28ebe1cb92849cd0f4e8cd27672) docs: Mention character classes in no-useless-escape ([#​15421](https://togithub.com/eslint/eslint/issues/15421)) (Sebastian Simon)\n\n#### Chores\n\n- [`3a384fc`](https://togithub.com/eslint/eslint/commit/3a384fc287cebb7be5fe5ed95497d578437a503a) chore: Upgrade espree to 9.3.0 ([#​15473](https://togithub.com/eslint/eslint/issues/15473)) (Brandon Mills)\n- [`1443cc2`](https://togithub.com/eslint/eslint/commit/1443cc2fc8785157936b864258924fe9bcd23210) chore: Update blogpost.md.ejs ([#​15468](https://togithub.com/eslint/eslint/issues/15468)) (Nicholas C. Zakas)\n- [`28e907a`](https://togithub.com/eslint/eslint/commit/28e907a4ca05a026d156f814f4118f8fe713e99d) refactor: remove unused parameter in `linter.js` ([#​15451](https://togithub.com/eslint/eslint/issues/15451)) (Milos Djermanovic)\n- [`eaa08d3`](https://togithub.com/eslint/eslint/commit/eaa08d3055b195bce59cc96bb63ac29038cd7c7d) test: add tests for `allowReserved` parser option with flat config ([#​15450](https://togithub.com/eslint/eslint/issues/15450)) (Milos Djermanovic)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/int128/kustomize-action).","created_at":"2022-01-01T01:00:12Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/int128/kustomize-action/pulls/151/commits","review_comments_url":"https://api.github.com/repos/int128/kustomize-action/pulls/151/comments","review_comment_url":"https://api.github.com/repos/int128/kustomize-action/pulls/comments{/number}","comments_url":"https://api.github.com/repos/int128/kustomize-action/issues/151/comments","statuses_url":"https://api.github.com/repos/int128/kustomize-action/statuses/dce57a2d6b7d81462748f28d06e6e87205d6ea5a","head":{"label":"int128:renovate/eslint","ref":"renovate/eslint","sha":"dce57a2d6b7d81462748f28d06e6e87205d6ea5a","user":{"login":"int128","id":321266,"node_id":"MDQ6VXNlcjMyMTI2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/321266?v=4","gravatar_id":"","url":"https://api.github.com/users/int128","html_url":"https://github.com/int128","followers_url":"https://api.github.com/users/int128/followers","following_url":"https://api.github.com/users/int128/following{/other_user}","gists_url":"https://api.github.com/users/int128/gists{/gist_id}","starred_url":"https://api.github.com/users/int128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int128/subscriptions","organizations_url":"https://api.github.com/users/int128/orgs","repos_url":"https://api.github.com/users/int128/repos","events_url":"https://api.github.com/users/int128/events{/privacy}","received_events_url":"https://api.github.com/users/int128/received_events","type":"User","site_admin":false},"repo":{"id":378546077,"node_id":"MDEwOlJlcG9zaXRvcnkzNzg1NDYwNzc=","name":"kustomize-action","full_name":"int128/kustomize-action","private":false,"owner":{"login":"int128","id":321266,"node_id":"MDQ6VXNlcjMyMTI2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/321266?v=4","gravatar_id":"","url":"https://api.github.com/users/int128","html_url":"https://github.com/int128","followers_url":"https://api.github.com/users/int128/followers","following_url":"https://api.github.com/users/int128/following{/other_user}","gists_url":"https://api.github.com/users/int128/gists{/gist_id}","starred_url":"https://api.github.com/users/int128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int128/subscriptions","organizations_url":"https://api.github.com/users/int128/orgs","repos_url":"https://api.github.com/users/int128/repos","events_url":"https://api.github.com/users/int128/events{/privacy}","received_events_url":"https://api.github.com/users/int128/received_events","type":"User","site_admin":false},"html_url":"https://github.com/int128/kustomize-action","description":"GitHub Action to run kustomize build in parallel","fork":false,"url":"https://api.github.com/repos/int128/kustomize-action","forks_url":"https://api.github.com/repos/int128/kustomize-action/forks","keys_url":"https://api.github.com/repos/int128/kustomize-action/keys{/key_id}","collaborators_url":"https://api.github.com/repos/int128/kustomize-action/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/int128/kustomize-action/teams","hooks_url":"https://api.github.com/repos/int128/kustomize-action/hooks","issue_events_url":"https://api.github.com/repos/int128/kustomize-action/issues/events{/number}","events_url":"https://api.github.com/repos/int128/kustomize-action/events","assignees_url":"https://api.github.com/repos/int128/kustomize-action/assignees{/user}","branches_url":"https://api.github.com/repos/int128/kustomize-action/branches{/branch}","tags_url":"https://api.github.com/repos/int128/kustomize-action/tags","blobs_url":"https://api.github.com/repos/int128/kustomize-action/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/int128/kustomize-action/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/int128/kustomize-action/git/refs{/sha}","trees_url":"https://api.github.com/repos/int128/kustomize-action/git/trees{/sha}","statuses_url":"https://api.github.com/repos/int128/kustomize-action/statuses/{sha}","languages_url":"https://api.github.com/repos/int128/kustomize-action/languages","stargazers_url":"https://api.github.com/repos/int128/kustomize-action/stargazers","contributors_url":"https://api.github.com/repos/int128/kustomize-action/contributors","subscribers_url":"https://api.github.com/repos/int128/kustomize-action/subscribers","subscription_url":"https://api.github.com/repos/int128/kustomize-action/subscription","commits_url":"https://api.github.com/repos/int128/kustomize-action/commits{/sha}","git_commits_url":"https://api.github.com/repos/int128/kustomize-action/git/commits{/sha}","comments_url":"https://api.github.com/repos/int128/kustomize-action/comments{/number}","issue_comment_url":"https://api.github.com/repos/int128/kustomize-action/issues/comments{/number}","contents_url":"https://api.github.com/repos/int128/kustomize-action/contents/{+path}","compare_url":"https://api.github.com/repos/int128/kustomize-action/compare/{base}...{head}","merges_url":"https://api.github.com/repos/int128/kustomize-action/merges","archive_url":"https://api.github.com/repos/int128/kustomize-action/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/int128/kustomize-action/downloads","issues_url":"https://api.github.com/repos/int128/kustomize-action/issues{/number}","pulls_url":"https://api.github.com/repos/int128/kustomize-action/pulls{/number}","milestones_url":"https://api.github.com/repos/int128/kustomize-action/milestones{/number}","notifications_url":"https://api.github.com/repos/int128/kustomize-action/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/int128/kustomize-action/labels{/name}","releases_url":"https://api.github.com/repos/int128/kustomize-action/releases{/id}","deployments_url":"https://api.github.com/repos/int128/kustomize-action/deployments","created_at":"2021-06-20T02:59:49Z","updated_at":"2021-12-31T02:12:10Z","pushed_at":"2022-01-01T01:00:12Z","git_url":"git://github.com/int128/kustomize-action.git","ssh_url":"git@github.com:int128/kustomize-action.git","clone_url":"https://github.com/int128/kustomize-action.git","svn_url":"https://github.com/int128/kustomize-action","homepage":"","size":946,"stargazers_count":5,"watchers_count":5,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":["github-actions","kustomize"],"visibility":"public","forks":0,"open_issues":2,"watchers":5,"default_branch":"main"}},"base":{"label":"int128:main","ref":"main","sha":"914f591e7534cf70573f8676c3e6b30d44df3f1f","user":{"login":"int128","id":321266,"node_id":"MDQ6VXNlcjMyMTI2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/321266?v=4","gravatar_id":"","url":"https://api.github.com/users/int128","html_url":"https://github.com/int128","followers_url":"https://api.github.com/users/int128/followers","following_url":"https://api.github.com/users/int128/following{/other_user}","gists_url":"https://api.github.com/users/int128/gists{/gist_id}","starred_url":"https://api.github.com/users/int128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int128/subscriptions","organizations_url":"https://api.github.com/users/int128/orgs","repos_url":"https://api.github.com/users/int128/repos","events_url":"https://api.github.com/users/int128/events{/privacy}","received_events_url":"https://api.github.com/users/int128/received_events","type":"User","site_admin":false},"repo":{"id":378546077,"node_id":"MDEwOlJlcG9zaXRvcnkzNzg1NDYwNzc=","name":"kustomize-action","full_name":"int128/kustomize-action","private":false,"owner":{"login":"int128","id":321266,"node_id":"MDQ6VXNlcjMyMTI2Ng==","avatar_url":"https://avatars.githubusercontent.com/u/321266?v=4","gravatar_id":"","url":"https://api.github.com/users/int128","html_url":"https://github.com/int128","followers_url":"https://api.github.com/users/int128/followers","following_url":"https://api.github.com/users/int128/following{/other_user}","gists_url":"https://api.github.com/users/int128/gists{/gist_id}","starred_url":"https://api.github.com/users/int128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/int128/subscriptions","organizations_url":"https://api.github.com/users/int128/orgs","repos_url":"https://api.github.com/users/int128/repos","events_url":"https://api.github.com/users/int128/events{/privacy}","received_events_url":"https://api.github.com/users/int128/received_events","type":"User","site_admin":false},"html_url":"https://github.com/int128/kustomize-action","description":"GitHub Action to run kustomize build in parallel","fork":false,"url":"https://api.github.com/repos/int128/kustomize-action","forks_url":"https://api.github.com/repos/int128/kustomize-action/forks","keys_url":"https://api.github.com/repos/int128/kustomize-action/keys{/key_id}","collaborators_url":"https://api.github.com/repos/int128/kustomize-action/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/int128/kustomize-action/teams","hooks_url":"https://api.github.com/repos/int128/kustomize-action/hooks","issue_events_url":"https://api.github.com/repos/int128/kustomize-action/issues/events{/number}","events_url":"https://api.github.com/repos/int128/kustomize-action/events","assignees_url":"https://api.github.com/repos/int128/kustomize-action/assignees{/user}","branches_url":"https://api.github.com/repos/int128/kustomize-action/branches{/branch}","tags_url":"https://api.github.com/repos/int128/kustomize-action/tags","blobs_url":"https://api.github.com/repos/int128/kustomize-action/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/int128/kustomize-action/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/int128/kustomize-action/git/refs{/sha}","trees_url":"https://api.github.com/repos/int128/kustomize-action/git/trees{/sha}","statuses_url":"https://api.github.com/repos/int128/kustomize-action/statuses/{sha}","languages_url":"https://api.github.com/repos/int128/kustomize-action/languages","stargazers_url":"https://api.github.com/repos/int128/kustomize-action/stargazers","contributors_url":"https://api.github.com/repos/int128/kustomize-action/contributors","subscribers_url":"https://api.github.com/repos/int128/kustomize-action/subscribers","subscription_url":"https://api.github.com/repos/int128/kustomize-action/subscription","commits_url":"https://api.github.com/repos/int128/kustomize-action/commits{/sha}","git_commits_url":"https://api.github.com/repos/int128/kustomize-action/git/commits{/sha}","comments_url":"https://api.github.com/repos/int128/kustomize-action/comments{/number}","issue_comment_url":"https://api.github.com/repos/int128/kustomize-action/issues/comments{/number}","contents_url":"https://api.github.com/repos/int128/kustomize-action/contents/{+path}","compare_url":"https://api.github.com/repos/int128/kustomize-action/compare/{base}...{head}","merges_url":"https://api.github.com/repos/int128/kustomize-action/merges","archive_url":"https://api.github.com/repos/int128/kustomize-action/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/int128/kustomize-action/downloads","issues_url":"https://api.github.com/repos/int128/kustomize-action/issues{/number}","pulls_url":"https://api.github.com/repos/int128/kustomize-action/pulls{/number}","milestones_url":"https://api.github.com/repos/int128/kustomize-action/milestones{/number}","notifications_url":"https://api.github.com/repos/int128/kustomize-action/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/int128/kustomize-action/labels{/name}","releases_url":"https://api.github.com/repos/int128/kustomize-action/releases{/id}","deployments_url":"https://api.github.com/repos/int128/kustomize-action/deployments","created_at":"2021-06-20T02:59:49Z","updated_at":"2021-12-31T02:12:10Z","pushed_at":"2022-01-01T01:00:12Z","git_url":"git://github.com/int128/kustomize-action.git","ssh_url":"git@github.com:int128/kustomize-action.git","clone_url":"https://github.com/int128/kustomize-action.git","svn_url":"https://github.com/int128/kustomize-action","homepage":"","size":946,"stargazers_count":5,"watchers_count":5,"language":"TypeScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":["github-actions","kustomize"],"visibility":"public","forks":0,"open_issues":2,"watchers":5,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/int128/kustomize-action/pulls/151"},"html":{"href":"https://github.com/int128/kustomize-action/pull/151"},"issue":{"href":"https://api.github.com/repos/int128/kustomize-action/issues/151"},"comments":{"href":"https://api.github.com/repos/int128/kustomize-action/issues/151/comments"},"review_comments":{"href":"https://api.github.com/repos/int128/kustomize-action/pulls/151/comments"},"review_comment":{"href":"https://api.github.com/repos/int128/kustomize-action/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/int128/kustomize-action/pulls/151/commits"},"statuses":{"href":"https://api.github.com/repos/int128/kustomize-action/statuses/dce57a2d6b7d81462748f28d06e6e87205d6ea5a"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":20,"deletions":6,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396689","type":"PushEvent","actor":{"id":39223861,"login":"chrismailer","display_login":"chrismailer","gravatar_id":"","url":"https://api.github.com/users/chrismailer","avatar_url":"https://avatars.githubusercontent.com/u/39223861?"},"repo":{"id":430211852,"name":"chrismailer/loadshedding-calendar","url":"https://api.github.com/repos/chrismailer/loadshedding-calendar"},"payload":{"push_id":8732433747,"size":1,"distinct_size":1,"ref":"refs/heads/feed","head":"13655239816781fa2befa481b5200c7bcc6032b7","before":"e5aa814c7071b93f76a4ec4401ad8f9868050b34","commits":[{"sha":"13655239816781fa2befa481b5200c7bcc6032b7","author":{"email":"christophermailer@icloud.com","name":"Christopher Mailer"},"message":"committing files","distinct":true,"url":"https://api.github.com/repos/chrismailer/loadshedding-calendar/commits/13655239816781fa2befa481b5200c7bcc6032b7"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396693","type":"PushEvent","actor":{"id":1090838,"login":"bsamadi","display_login":"bsamadi","gravatar_id":"","url":"https://api.github.com/users/bsamadi","avatar_url":"https://avatars.githubusercontent.com/u/1090838?"},"repo":{"id":171754338,"name":"wikihub/wikihub-website","url":"https://api.github.com/repos/wikihub/wikihub-website"},"payload":{"push_id":8732433745,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3acc383c77904baa9ba35ae7ab52ee6a9d0c936f","before":"93b915326ab52b4898ea24254d2bd7ad053320d5","commits":[{"sha":"3acc383c77904baa9ba35ae7ab52ee6a9d0c936f","author":{"email":"behzad.samadi@gmail.com","name":"Behzad Samadi"},"message":"Update Kubernetes.md","distinct":true,"url":"https://api.github.com/repos/wikihub/wikihub-website/commits/3acc383c77904baa9ba35ae7ab52ee6a9d0c936f"}]},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":5275126,"login":"wikihub","gravatar_id":"","url":"https://api.github.com/orgs/wikihub","avatar_url":"https://avatars.githubusercontent.com/u/5275126?"}} +{"id":"19541396694","type":"PushEvent","actor":{"id":96603937,"login":"gdfg22","display_login":"gdfg22","gravatar_id":"","url":"https://api.github.com/users/gdfg22","avatar_url":"https://avatars.githubusercontent.com/u/96603937?"},"repo":{"id":443425724,"name":"gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f","url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f"},"payload":{"push_id":8732433753,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0994358440ca036123a334e6bc09320263a28647","before":"7fe6d29203f8f9eaba29b17ac5bab13998a6ff01","commits":[{"sha":"0994358440ca036123a334e6bc09320263a28647","author":{"email":"96603937+gdfg22@users.noreply.github.com","name":"gdfg22"},"message":"upload file 17cae3b61bf3eb936be213fd7441c2dd58deb41e53a0fed358b3dc29a7e91242789ac8d0f5ce1ba22993a005953c9377video_1082_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/gdfg22/90486bce-3a02-4e4a-bcf4-775bbe67fc8f/commits/0994358440ca036123a334e6bc09320263a28647"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396696","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":295927961,"name":"togashi/togashi","url":"https://api.github.com/repos/togashi/togashi"},"payload":{"push_id":8732433749,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a77eb83ef97d89fb3c9f09c115265726fe2c08d2","before":"3d31b64f7457348960a3916b1fe63621abc8b093","commits":[{"sha":"a77eb83ef97d89fb3c9f09c115265726fe2c08d2","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/togashi/togashi/commits/a77eb83ef97d89fb3c9f09c115265726fe2c08d2"}]},"public":true,"created_at":"2022-01-01T01:00:12Z"} +{"id":"19541396697","type":"PushEvent","actor":{"id":32802713,"login":"mamutal91","display_login":"mamutal91","gravatar_id":"","url":"https://api.github.com/users/mamutal91","avatar_url":"https://avatars.githubusercontent.com/u/32802713?"},"repo":{"id":376279592,"name":"AOSPK-Devices/device_xiaomi_sm8250-common","url":"https://api.github.com/repos/AOSPK-Devices/device_xiaomi_sm8250-common"},"payload":{"push_id":8732433756,"size":1,"distinct_size":1,"ref":"refs/heads/twelve-rs","head":"ec95e157ea83dc6cf3617245f59505a90de59dee","before":"def5f28aece1bd9879dfe37a57517df453d803dd","commits":[{"sha":"ec95e157ea83dc6cf3617245f59505a90de59dee","author":{"email":"mamutal91@gmail.com","name":"Alexandre Rangel"},"message":"sm8250-common: Bringup to Kraken\n\nSigned-off-by: Alexandre Rangel ","distinct":true,"url":"https://api.github.com/repos/AOSPK-Devices/device_xiaomi_sm8250-common/commits/ec95e157ea83dc6cf3617245f59505a90de59dee"}]},"public":true,"created_at":"2022-01-01T01:00:12Z","org":{"id":85781440,"login":"AOSPK-Devices","gravatar_id":"","url":"https://api.github.com/orgs/AOSPK-Devices","avatar_url":"https://avatars.githubusercontent.com/u/85781440?"}} +{"id":"19541396702","type":"PushEvent","actor":{"id":15090643,"login":"kx1t","display_login":"kx1t","gravatar_id":"","url":"https://api.github.com/users/kx1t","avatar_url":"https://avatars.githubusercontent.com/u/15090643?"},"repo":{"id":347419011,"name":"kx1t/planefence-airlinecodes","url":"https://api.github.com/repos/kx1t/planefence-airlinecodes"},"payload":{"push_id":8732433752,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"40b78c0985e746a917770c3402acbd23a3f610a0","before":"b562a4014c6960fa692427bd77534482c374449f","commits":[{"sha":"40b78c0985e746a917770c3402acbd23a3f610a0","author":{"email":"kx1t@amsat.org","name":"kx1t"},"message":"auto-upload Sat 01 Jan 2022 01:00:04 AM UTC","distinct":true,"url":"https://api.github.com/repos/kx1t/planefence-airlinecodes/commits/40b78c0985e746a917770c3402acbd23a3f610a0"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396703","type":"PushEvent","actor":{"id":49128144,"login":"brandonngz","display_login":"brandonngz","gravatar_id":"","url":"https://api.github.com/users/brandonngz","avatar_url":"https://avatars.githubusercontent.com/u/49128144?"},"repo":{"id":443448881,"name":"brandonngz/Coffee-Machine-Python","url":"https://api.github.com/repos/brandonngz/Coffee-Machine-Python"},"payload":{"push_id":8732433748,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ceeae5d278b31241bfa387e7e94c44f04cc61ce7","before":"b3f3ff1c61c3254e89f94e24eae9dcfa7120ef91","commits":[{"sha":"ceeae5d278b31241bfa387e7e94c44f04cc61ce7","author":{"email":"49128144+brandonngz@users.noreply.github.com","name":"Brandon"},"message":"Create README.md","distinct":true,"url":"https://api.github.com/repos/brandonngz/Coffee-Machine-Python/commits/ceeae5d278b31241bfa387e7e94c44f04cc61ce7"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396706","type":"PullRequestEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":96005427,"name":"GuyKh/10bis.Slackbot","url":"https://api.github.com/repos/GuyKh/10bis.Slackbot"},"payload":{"action":"opened","number":616,"pull_request":{"url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616","id":812479610,"node_id":"PR_kwDOBbjtM84wbXR6","html_url":"https://github.com/GuyKh/10bis.Slackbot/pull/616","diff_url":"https://github.com/GuyKh/10bis.Slackbot/pull/616.diff","patch_url":"https://github.com/GuyKh/10bis.Slackbot/pull/616.patch","issue_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/616","number":616,"state":"open","locked":false,"title":"chore(deps): update dependency eslint to v8.6.0","user":{"login":"renovate[bot]","id":29139614,"node_id":"MDM6Qm90MjkxMzk2MTQ=","avatar_url":"https://avatars.githubusercontent.com/in/2740?v=4","gravatar_id":"","url":"https://api.github.com/users/renovate%5Bbot%5D","html_url":"https://github.com/apps/renovate","followers_url":"https://api.github.com/users/renovate%5Bbot%5D/followers","following_url":"https://api.github.com/users/renovate%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/renovate%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/renovate%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renovate%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/renovate%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/renovate%5Bbot%5D/repos","events_url":"https://api.github.com/users/renovate%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/renovate%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)\n\nThis PR contains the following updates:\n\n| Package | Change | Age | Adoption | Passing | Confidence |\n|---|---|---|---|---|---|\n| [eslint](https://eslint.org) ([source](https://togithub.com/eslint/eslint)) | [`8.5.0` -> `8.6.0`](https://renovatebot.com/diffs/npm/eslint/8.5.0/8.6.0) | [![age](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/compatibility-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/eslint/8.6.0/confidence-slim/8.5.0)](https://docs.renovatebot.com/merge-confidence/) |\n\n---\n\n### Release Notes\n\n
\neslint/eslint\n\n### [`v8.6.0`](https://togithub.com/eslint/eslint/releases/v8.6.0)\n\n[Compare Source](https://togithub.com/eslint/eslint/compare/v8.5.0...v8.6.0)\n\n#### Features\n\n- [`6802a54`](https://togithub.com/eslint/eslint/commit/6802a54837ea008bef4d5ae11522941693ba5ef6) feat: handle logical assignment in no-self-assign ([#​14152](https://togithub.com/eslint/eslint/issues/14152)) (Zzzen)\n- [`3b38018`](https://togithub.com/eslint/eslint/commit/3b38018ef5cb004ad5bc011de726bd2df2eb2f3f) feat: allow to define `eslint-disable-next-line` in multiple lines ([#​15436](https://togithub.com/eslint/eslint/issues/15436)) (Nitin Kumar)\n- [`9d6fe5a`](https://togithub.com/eslint/eslint/commit/9d6fe5a6b65f397bafc5eb0a995e96717cdc9b53) feat: false negative with `onlyDeclarations` + `properties` in id-match ([#​15431](https://togithub.com/eslint/eslint/issues/15431)) (Nitin Kumar)\n\n#### Documentation\n\n- [`6c4dee2`](https://togithub.com/eslint/eslint/commit/6c4dee2e87dac8d0751ce2426ded651ed0986112) docs: Document homedir is a configuration root ([#​15469](https://togithub.com/eslint/eslint/issues/15469)) (Bas Bosman)\n- [`51c37b1`](https://togithub.com/eslint/eslint/commit/51c37b118aed9c0d7a0efd40c491efca04c82ef9) docs: consistency changes ([#​15404](https://togithub.com/eslint/eslint/issues/15404)) (Bas Bosman)\n- [`775d181`](https://togithub.com/eslint/eslint/commit/775d18138244a28ebe1cb92849cd0f4e8cd27672) docs: Mention character classes in no-useless-escape ([#​15421](https://togithub.com/eslint/eslint/issues/15421)) (Sebastian Simon)\n\n#### Chores\n\n- [`3a384fc`](https://togithub.com/eslint/eslint/commit/3a384fc287cebb7be5fe5ed95497d578437a503a) chore: Upgrade espree to 9.3.0 ([#​15473](https://togithub.com/eslint/eslint/issues/15473)) (Brandon Mills)\n- [`1443cc2`](https://togithub.com/eslint/eslint/commit/1443cc2fc8785157936b864258924fe9bcd23210) chore: Update blogpost.md.ejs ([#​15468](https://togithub.com/eslint/eslint/issues/15468)) (Nicholas C. Zakas)\n- [`28e907a`](https://togithub.com/eslint/eslint/commit/28e907a4ca05a026d156f814f4118f8fe713e99d) refactor: remove unused parameter in `linter.js` ([#​15451](https://togithub.com/eslint/eslint/issues/15451)) (Milos Djermanovic)\n- [`eaa08d3`](https://togithub.com/eslint/eslint/commit/eaa08d3055b195bce59cc96bb63ac29038cd7c7d) test: add tests for `allowReserved` parser option with flat config ([#​15450](https://togithub.com/eslint/eslint/issues/15450)) (Milos Djermanovic)\n\n
\n\n---\n\n### Configuration\n\n📅 **Schedule**: At any time (no schedule defined).\n\n🚦 **Automerge**: Enabled.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n - [ ] If you want to rebase/retry this PR, click this checkbox.\n\n---\n\nThis PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/GuyKh/10bis.Slackbot).","created_at":"2022-01-01T01:00:12Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616/commits","review_comments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616/comments","review_comment_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/616/comments","statuses_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/statuses/f96e5f30d65d0b54dddc2a5b7ddf43c1a8efea54","head":{"label":"GuyKh:renovate/eslint-8.x","ref":"renovate/eslint-8.x","sha":"f96e5f30d65d0b54dddc2a5b7ddf43c1a8efea54","user":{"login":"GuyKh","id":3136012,"node_id":"MDQ6VXNlcjMxMzYwMTI=","avatar_url":"https://avatars.githubusercontent.com/u/3136012?v=4","gravatar_id":"","url":"https://api.github.com/users/GuyKh","html_url":"https://github.com/GuyKh","followers_url":"https://api.github.com/users/GuyKh/followers","following_url":"https://api.github.com/users/GuyKh/following{/other_user}","gists_url":"https://api.github.com/users/GuyKh/gists{/gist_id}","starred_url":"https://api.github.com/users/GuyKh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuyKh/subscriptions","organizations_url":"https://api.github.com/users/GuyKh/orgs","repos_url":"https://api.github.com/users/GuyKh/repos","events_url":"https://api.github.com/users/GuyKh/events{/privacy}","received_events_url":"https://api.github.com/users/GuyKh/received_events","type":"User","site_admin":false},"repo":{"id":96005427,"node_id":"MDEwOlJlcG9zaXRvcnk5NjAwNTQyNw==","name":"10bis.Slackbot","full_name":"GuyKh/10bis.Slackbot","private":false,"owner":{"login":"GuyKh","id":3136012,"node_id":"MDQ6VXNlcjMxMzYwMTI=","avatar_url":"https://avatars.githubusercontent.com/u/3136012?v=4","gravatar_id":"","url":"https://api.github.com/users/GuyKh","html_url":"https://github.com/GuyKh","followers_url":"https://api.github.com/users/GuyKh/followers","following_url":"https://api.github.com/users/GuyKh/following{/other_user}","gists_url":"https://api.github.com/users/GuyKh/gists{/gist_id}","starred_url":"https://api.github.com/users/GuyKh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuyKh/subscriptions","organizations_url":"https://api.github.com/users/GuyKh/orgs","repos_url":"https://api.github.com/users/GuyKh/repos","events_url":"https://api.github.com/users/GuyKh/events{/privacy}","received_events_url":"https://api.github.com/users/GuyKh/received_events","type":"User","site_admin":false},"html_url":"https://github.com/GuyKh/10bis.Slackbot","description":"A slackbot for looking for restaurants in 10bis","fork":false,"url":"https://api.github.com/repos/GuyKh/10bis.Slackbot","forks_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/forks","keys_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/teams","hooks_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/hooks","issue_events_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/events{/number}","events_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/events","assignees_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/assignees{/user}","branches_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/branches{/branch}","tags_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/tags","blobs_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/statuses/{sha}","languages_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/languages","stargazers_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/stargazers","contributors_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/contributors","subscribers_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/subscribers","subscription_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/subscription","commits_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/comments{/number}","contents_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/contents/{+path}","compare_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/merges","archive_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/downloads","issues_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues{/number}","pulls_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls{/number}","milestones_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/milestones{/number}","notifications_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/labels{/name}","releases_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/releases{/id}","deployments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/deployments","created_at":"2017-07-02T06:00:44Z","updated_at":"2021-12-27T21:53:35Z","pushed_at":"2022-01-01T01:00:13Z","git_url":"git://github.com/GuyKh/10bis.Slackbot.git","ssh_url":"git@github.com:GuyKh/10bis.Slackbot.git","clone_url":"https://github.com/GuyKh/10bis.Slackbot.git","svn_url":"https://github.com/GuyKh/10bis.Slackbot","homepage":null,"size":1713,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":["api","food","israel","israeli","ordering","slack-bot","slackbot","slackbots"],"visibility":"public","forks":0,"open_issues":3,"watchers":1,"default_branch":"master"}},"base":{"label":"GuyKh:master","ref":"master","sha":"53a76381859d279740cd4c0edba4183e9563815f","user":{"login":"GuyKh","id":3136012,"node_id":"MDQ6VXNlcjMxMzYwMTI=","avatar_url":"https://avatars.githubusercontent.com/u/3136012?v=4","gravatar_id":"","url":"https://api.github.com/users/GuyKh","html_url":"https://github.com/GuyKh","followers_url":"https://api.github.com/users/GuyKh/followers","following_url":"https://api.github.com/users/GuyKh/following{/other_user}","gists_url":"https://api.github.com/users/GuyKh/gists{/gist_id}","starred_url":"https://api.github.com/users/GuyKh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuyKh/subscriptions","organizations_url":"https://api.github.com/users/GuyKh/orgs","repos_url":"https://api.github.com/users/GuyKh/repos","events_url":"https://api.github.com/users/GuyKh/events{/privacy}","received_events_url":"https://api.github.com/users/GuyKh/received_events","type":"User","site_admin":false},"repo":{"id":96005427,"node_id":"MDEwOlJlcG9zaXRvcnk5NjAwNTQyNw==","name":"10bis.Slackbot","full_name":"GuyKh/10bis.Slackbot","private":false,"owner":{"login":"GuyKh","id":3136012,"node_id":"MDQ6VXNlcjMxMzYwMTI=","avatar_url":"https://avatars.githubusercontent.com/u/3136012?v=4","gravatar_id":"","url":"https://api.github.com/users/GuyKh","html_url":"https://github.com/GuyKh","followers_url":"https://api.github.com/users/GuyKh/followers","following_url":"https://api.github.com/users/GuyKh/following{/other_user}","gists_url":"https://api.github.com/users/GuyKh/gists{/gist_id}","starred_url":"https://api.github.com/users/GuyKh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuyKh/subscriptions","organizations_url":"https://api.github.com/users/GuyKh/orgs","repos_url":"https://api.github.com/users/GuyKh/repos","events_url":"https://api.github.com/users/GuyKh/events{/privacy}","received_events_url":"https://api.github.com/users/GuyKh/received_events","type":"User","site_admin":false},"html_url":"https://github.com/GuyKh/10bis.Slackbot","description":"A slackbot for looking for restaurants in 10bis","fork":false,"url":"https://api.github.com/repos/GuyKh/10bis.Slackbot","forks_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/forks","keys_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/teams","hooks_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/hooks","issue_events_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/events{/number}","events_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/events","assignees_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/assignees{/user}","branches_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/branches{/branch}","tags_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/tags","blobs_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/statuses/{sha}","languages_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/languages","stargazers_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/stargazers","contributors_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/contributors","subscribers_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/subscribers","subscription_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/subscription","commits_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/comments{/number}","contents_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/contents/{+path}","compare_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/merges","archive_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/downloads","issues_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues{/number}","pulls_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls{/number}","milestones_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/milestones{/number}","notifications_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/labels{/name}","releases_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/releases{/id}","deployments_url":"https://api.github.com/repos/GuyKh/10bis.Slackbot/deployments","created_at":"2017-07-02T06:00:44Z","updated_at":"2021-12-27T21:53:35Z","pushed_at":"2022-01-01T01:00:13Z","git_url":"git://github.com/GuyKh/10bis.Slackbot.git","ssh_url":"git@github.com:GuyKh/10bis.Slackbot.git","clone_url":"https://github.com/GuyKh/10bis.Slackbot.git","svn_url":"https://github.com/GuyKh/10bis.Slackbot","homepage":null,"size":1713,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":["api","food","israel","israeli","ordering","slack-bot","slackbot","slackbots"],"visibility":"public","forks":0,"open_issues":3,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616"},"html":{"href":"https://github.com/GuyKh/10bis.Slackbot/pull/616"},"issue":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/616"},"comments":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/issues/616/comments"},"review_comments":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616/comments"},"review_comment":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/pulls/616/commits"},"statuses":{"href":"https://api.github.com/repos/GuyKh/10bis.Slackbot/statuses/f96e5f30d65d0b54dddc2a5b7ddf43c1a8efea54"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":24,"deletions":24,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396707","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":432364596,"name":"AllJonesFB/AllJonesFB","url":"https://api.github.com/repos/AllJonesFB/AllJonesFB"},"payload":{"push_id":8732433758,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"137288917e410fbe4e261a82eeae0e7ce838b1ab","before":"1acca6547e8ad5104f6609cefde6ad72ccbc9bb8","commits":[{"sha":"137288917e410fbe4e261a82eeae0e7ce838b1ab","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/AllJonesFB/AllJonesFB/commits/137288917e410fbe4e261a82eeae0e7ce838b1ab"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396709","type":"PushEvent","actor":{"id":4175191,"login":"amzeratul","display_login":"amzeratul","gravatar_id":"","url":"https://api.github.com/users/amzeratul","avatar_url":"https://avatars.githubusercontent.com/u/4175191?"},"repo":{"id":43295328,"name":"amzeratul/halley","url":"https://api.github.com/repos/amzeratul/halley"},"payload":{"push_id":8732433759,"size":1,"distinct_size":1,"ref":"refs/heads/develop","head":"11ab6fce7b2d42e1bfba1ab0f3a864d2a7380a09","before":"041a38584d0be5f8143190487a1ae991f20578ce","commits":[{"sha":"11ab6fce7b2d42e1bfba1ab0f3a864d2a7380a09","author":{"email":"archmagezeratul@gmail.com","name":"Rodrigo Braz Monteiro"},"message":"Debug group support","distinct":true,"url":"https://api.github.com/repos/amzeratul/halley/commits/11ab6fce7b2d42e1bfba1ab0f3a864d2a7380a09"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396720","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449243,"name":"shalini-devgit/Shalini-PerfBlue9","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue9"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing9","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396722","type":"PushEvent","actor":{"id":18721203,"login":"mvancanneyt","display_login":"mvancanneyt","gravatar_id":"","url":"https://api.github.com/users/mvancanneyt","avatar_url":"https://avatars.githubusercontent.com/u/18721203?"},"repo":{"id":389544051,"name":"fpc/pas2js","url":"https://api.github.com/repos/fpc/pas2js"},"payload":{"push_id":8732433757,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3d8618499eebd248f9449795fd3583ed684f5038","before":"ff86703cc91e5ba790a147d2319113ced58e636d","commits":[{"sha":"3d8618499eebd248f9449795fd3583ed684f5038","author":{"email":"michael.vancanneyt+fpcadmin@gmail.com","name":"FPC_Admin"},"message":"* updated","distinct":true,"url":"https://api.github.com/repos/fpc/pas2js/commits/3d8618499eebd248f9449795fd3583ed684f5038"}]},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":1084840,"login":"fpc","gravatar_id":"","url":"https://api.github.com/orgs/fpc","avatar_url":"https://avatars.githubusercontent.com/u/1084840?"}} +{"id":"19541396723","type":"CreateEvent","actor":{"id":64850245,"login":"AlexDominguez18","display_login":"AlexDominguez18","gravatar_id":"","url":"https://api.github.com/users/AlexDominguez18","avatar_url":"https://avatars.githubusercontent.com/u/64850245?"},"repo":{"id":443448951,"name":"AlexDominguez18/SISTEMAS-DISTRIBUIDOS-2021B","url":"https://api.github.com/repos/AlexDominguez18/SISTEMAS-DISTRIBUIDOS-2021B"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396724","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":408649299,"name":"sufiyansaboowala/sufiyansaboowala","url":"https://api.github.com/repos/sufiyansaboowala/sufiyansaboowala"},"payload":{"push_id":8732433762,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"c08179045ea1929a3047576bf07f8e4d199d7fa7","before":"43037fc58c91442ddf0ce2bf79f59d0a20ed9b84","commits":[{"sha":"c08179045ea1929a3047576bf07f8e4d199d7fa7","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/sufiyansaboowala/sufiyansaboowala/commits/c08179045ea1929a3047576bf07f8e4d199d7fa7"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396726","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":424479520,"name":"ArjanJ/arjanjassal","url":"https://api.github.com/repos/ArjanJ/arjanjassal"},"payload":{"comment":{"url":"https://api.github.com/repos/ArjanJ/arjanjassal/comments/62749525","html_url":"https://github.com/ArjanJ/arjanjassal/commit/c2ce9f7aa2f7fbcf4f0ed2bca297bda3832f3f6c#commitcomment-62749525","id":62749525,"node_id":"CC_kwDOGU0LIM4DvXtV","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"c2ce9f7aa2f7fbcf4f0ed2bca297bda3832f3f6c","created_at":"2022-01-01T01:00:13Z","updated_at":"2022-01-01T01:00:13Z","author_association":"NONE","body":"Successfully deployed to the following URLs:\n\n* [arjanjassal.vercel.app](https://arjanjassal.vercel.app) \n* [arjanjassal-git-main-arjanjassal27.vercel.app](https://arjanjassal-git-main-arjanjassal27.vercel.app) \n* [arjanjassal-arjanjassal27.vercel.app](https://arjanjassal-arjanjassal27.vercel.app)","reactions":{"url":"https://api.github.com/repos/ArjanJ/arjanjassal/comments/62749525/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396727","type":"CreateEvent","actor":{"id":12568,"login":"sleistner","display_login":"sleistner","gravatar_id":"","url":"https://api.github.com/users/sleistner","avatar_url":"https://avatars.githubusercontent.com/u/12568?"},"repo":{"id":281630197,"name":"enter-at/eslint-config-typescript-prettier","url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier"},"payload":{"ref":"github-actions/auto-readme-1640998812","ref_type":"branch","master_branch":"master","description":"ESLint config with TypeScript and Prettier support","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":26741341,"login":"enter-at","gravatar_id":"","url":"https://api.github.com/orgs/enter-at","avatar_url":"https://avatars.githubusercontent.com/u/26741341?"}} +{"id":"19541396728","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":436248093,"name":"hallefcoelho/hallefcoelho","url":"https://api.github.com/repos/hallefcoelho/hallefcoelho"},"payload":{"push_id":8732433770,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"db9b5ad660c95d98b7dcc0a8238728b1f6bea654","before":"523eb1c5a266fdc0692b090b3629a34ab356c4e5","commits":[{"sha":"db9b5ad660c95d98b7dcc0a8238728b1f6bea654","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/hallefcoelho/hallefcoelho/commits/db9b5ad660c95d98b7dcc0a8238728b1f6bea654"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396729","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433760,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"56a4ef7f64206ab3968cf72be1c08661b1651173","before":"6b0c190b6796c2e3282d797734d520d285b0657b","commits":[{"sha":"56a4ef7f64206ab3968cf72be1c08661b1651173","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/trinity for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/56a4ef7f64206ab3968cf72be1c08661b1651173"}]},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396730","type":"PushEvent","actor":{"id":96767297,"login":"647gdfg","display_login":"647gdfg","gravatar_id":"","url":"https://api.github.com/users/647gdfg","avatar_url":"https://avatars.githubusercontent.com/u/96767297?"},"repo":{"id":443421617,"name":"647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf","url":"https://api.github.com/repos/647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf"},"payload":{"push_id":8732433777,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d74e115822040d075b513745ae34283211a1726c","before":"ff5a011ec5146030b014bb12713486921685a7c3","commits":[{"sha":"d74e115822040d075b513745ae34283211a1726c","author":{"email":"96767297+647gdfg@users.noreply.github.com","name":"647gdfg"},"message":"upload file 8b3297b986d9dc2bb554feac6a5ed7503af4607110beef6fc0ee0ccf8a2467b9ead859b464a2fd66d27688f5c97736ddvideo_1285_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/647gdfg/e1c1e335-5b2c-47b3-900a-2ca8b50d7bcf/commits/d74e115822040d075b513745ae34283211a1726c"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396733","type":"PullRequestEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":313766539,"name":"Andyworldclub/surge-list","url":"https://api.github.com/repos/Andyworldclub/surge-list"},"payload":{"action":"opened","number":415,"pull_request":{"url":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415","id":812479613,"node_id":"PR_kwDOErOyi84wbXR9","html_url":"https://github.com/Andyworldclub/surge-list/pull/415","diff_url":"https://github.com/Andyworldclub/surge-list/pull/415.diff","patch_url":"https://github.com/Andyworldclub/surge-list/pull/415.patch","issue_url":"https://api.github.com/repos/Andyworldclub/surge-list/issues/415","number":415,"state":"open","locked":false,"title":"[pull] master from geekdada:master","user":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"See Commits and Changes for more details.\n\n-----\nCreated by [ **pull[bot]**](https://github.com/wei/pull)\n\n_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_","created_at":"2022-01-01T01:00:12Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415/commits","review_comments_url":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415/comments","review_comment_url":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Andyworldclub/surge-list/issues/415/comments","statuses_url":"https://api.github.com/repos/Andyworldclub/surge-list/statuses/2eb28dcf63c1a239e418717d2a5866353eb08c5c","head":{"label":"geekdada:master","ref":"master","sha":"2eb28dcf63c1a239e418717d2a5866353eb08c5c","user":{"login":"geekdada","id":3274850,"node_id":"MDQ6VXNlcjMyNzQ4NTA=","avatar_url":"https://avatars.githubusercontent.com/u/3274850?v=4","gravatar_id":"","url":"https://api.github.com/users/geekdada","html_url":"https://github.com/geekdada","followers_url":"https://api.github.com/users/geekdada/followers","following_url":"https://api.github.com/users/geekdada/following{/other_user}","gists_url":"https://api.github.com/users/geekdada/gists{/gist_id}","starred_url":"https://api.github.com/users/geekdada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geekdada/subscriptions","organizations_url":"https://api.github.com/users/geekdada/orgs","repos_url":"https://api.github.com/users/geekdada/repos","events_url":"https://api.github.com/users/geekdada/events{/privacy}","received_events_url":"https://api.github.com/users/geekdada/received_events","type":"User","site_admin":false},"repo":{"id":152534525,"node_id":"MDEwOlJlcG9zaXRvcnkxNTI1MzQ1MjU=","name":"surge-list","full_name":"geekdada/surge-list","private":false,"owner":{"login":"geekdada","id":3274850,"node_id":"MDQ6VXNlcjMyNzQ4NTA=","avatar_url":"https://avatars.githubusercontent.com/u/3274850?v=4","gravatar_id":"","url":"https://api.github.com/users/geekdada","html_url":"https://github.com/geekdada","followers_url":"https://api.github.com/users/geekdada/followers","following_url":"https://api.github.com/users/geekdada/following{/other_user}","gists_url":"https://api.github.com/users/geekdada/gists{/gist_id}","starred_url":"https://api.github.com/users/geekdada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geekdada/subscriptions","organizations_url":"https://api.github.com/users/geekdada/orgs","repos_url":"https://api.github.com/users/geekdada/repos","events_url":"https://api.github.com/users/geekdada/events{/privacy}","received_events_url":"https://api.github.com/users/geekdada/received_events","type":"User","site_admin":false},"html_url":"https://github.com/geekdada/surge-list","description":"Rules for Surge. DOMAIN-SET update daily.","fork":true,"url":"https://api.github.com/repos/geekdada/surge-list","forks_url":"https://api.github.com/repos/geekdada/surge-list/forks","keys_url":"https://api.github.com/repos/geekdada/surge-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/geekdada/surge-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/geekdada/surge-list/teams","hooks_url":"https://api.github.com/repos/geekdada/surge-list/hooks","issue_events_url":"https://api.github.com/repos/geekdada/surge-list/issues/events{/number}","events_url":"https://api.github.com/repos/geekdada/surge-list/events","assignees_url":"https://api.github.com/repos/geekdada/surge-list/assignees{/user}","branches_url":"https://api.github.com/repos/geekdada/surge-list/branches{/branch}","tags_url":"https://api.github.com/repos/geekdada/surge-list/tags","blobs_url":"https://api.github.com/repos/geekdada/surge-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/geekdada/surge-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/geekdada/surge-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/geekdada/surge-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/geekdada/surge-list/statuses/{sha}","languages_url":"https://api.github.com/repos/geekdada/surge-list/languages","stargazers_url":"https://api.github.com/repos/geekdada/surge-list/stargazers","contributors_url":"https://api.github.com/repos/geekdada/surge-list/contributors","subscribers_url":"https://api.github.com/repos/geekdada/surge-list/subscribers","subscription_url":"https://api.github.com/repos/geekdada/surge-list/subscription","commits_url":"https://api.github.com/repos/geekdada/surge-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/geekdada/surge-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/geekdada/surge-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/geekdada/surge-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/geekdada/surge-list/contents/{+path}","compare_url":"https://api.github.com/repos/geekdada/surge-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/geekdada/surge-list/merges","archive_url":"https://api.github.com/repos/geekdada/surge-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/geekdada/surge-list/downloads","issues_url":"https://api.github.com/repos/geekdada/surge-list/issues{/number}","pulls_url":"https://api.github.com/repos/geekdada/surge-list/pulls{/number}","milestones_url":"https://api.github.com/repos/geekdada/surge-list/milestones{/number}","notifications_url":"https://api.github.com/repos/geekdada/surge-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/geekdada/surge-list/labels{/name}","releases_url":"https://api.github.com/repos/geekdada/surge-list/releases{/id}","deployments_url":"https://api.github.com/repos/geekdada/surge-list/deployments","created_at":"2018-10-11T05:12:57Z","updated_at":"2022-01-01T00:38:37Z","pushed_at":"2022-01-01T00:38:34Z","git_url":"git://github.com/geekdada/surge-list.git","ssh_url":"git@github.com:geekdada/surge-list.git","clone_url":"https://github.com/geekdada/surge-list.git","svn_url":"https://github.com/geekdada/surge-list","homepage":"","size":35207,"stargazers_count":99,"watchers_count":99,"language":"Smarty","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":["adguard","surge"],"visibility":"public","forks":17,"open_issues":0,"watchers":99,"default_branch":"master"}},"base":{"label":"Andyworldclub:master","ref":"master","sha":"f7991996e602d6f20f239f2484233e6cb92acf28","user":{"login":"Andyworldclub","id":32363796,"node_id":"MDQ6VXNlcjMyMzYzNzk2","avatar_url":"https://avatars.githubusercontent.com/u/32363796?v=4","gravatar_id":"","url":"https://api.github.com/users/Andyworldclub","html_url":"https://github.com/Andyworldclub","followers_url":"https://api.github.com/users/Andyworldclub/followers","following_url":"https://api.github.com/users/Andyworldclub/following{/other_user}","gists_url":"https://api.github.com/users/Andyworldclub/gists{/gist_id}","starred_url":"https://api.github.com/users/Andyworldclub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Andyworldclub/subscriptions","organizations_url":"https://api.github.com/users/Andyworldclub/orgs","repos_url":"https://api.github.com/users/Andyworldclub/repos","events_url":"https://api.github.com/users/Andyworldclub/events{/privacy}","received_events_url":"https://api.github.com/users/Andyworldclub/received_events","type":"User","site_admin":false},"repo":{"id":313766539,"node_id":"MDEwOlJlcG9zaXRvcnkzMTM3NjY1Mzk=","name":"surge-list","full_name":"Andyworldclub/surge-list","private":false,"owner":{"login":"Andyworldclub","id":32363796,"node_id":"MDQ6VXNlcjMyMzYzNzk2","avatar_url":"https://avatars.githubusercontent.com/u/32363796?v=4","gravatar_id":"","url":"https://api.github.com/users/Andyworldclub","html_url":"https://github.com/Andyworldclub","followers_url":"https://api.github.com/users/Andyworldclub/followers","following_url":"https://api.github.com/users/Andyworldclub/following{/other_user}","gists_url":"https://api.github.com/users/Andyworldclub/gists{/gist_id}","starred_url":"https://api.github.com/users/Andyworldclub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Andyworldclub/subscriptions","organizations_url":"https://api.github.com/users/Andyworldclub/orgs","repos_url":"https://api.github.com/users/Andyworldclub/repos","events_url":"https://api.github.com/users/Andyworldclub/events{/privacy}","received_events_url":"https://api.github.com/users/Andyworldclub/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Andyworldclub/surge-list","description":"Rules for Surge. DOMAIN-SET update daily.","fork":true,"url":"https://api.github.com/repos/Andyworldclub/surge-list","forks_url":"https://api.github.com/repos/Andyworldclub/surge-list/forks","keys_url":"https://api.github.com/repos/Andyworldclub/surge-list/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Andyworldclub/surge-list/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Andyworldclub/surge-list/teams","hooks_url":"https://api.github.com/repos/Andyworldclub/surge-list/hooks","issue_events_url":"https://api.github.com/repos/Andyworldclub/surge-list/issues/events{/number}","events_url":"https://api.github.com/repos/Andyworldclub/surge-list/events","assignees_url":"https://api.github.com/repos/Andyworldclub/surge-list/assignees{/user}","branches_url":"https://api.github.com/repos/Andyworldclub/surge-list/branches{/branch}","tags_url":"https://api.github.com/repos/Andyworldclub/surge-list/tags","blobs_url":"https://api.github.com/repos/Andyworldclub/surge-list/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Andyworldclub/surge-list/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Andyworldclub/surge-list/git/refs{/sha}","trees_url":"https://api.github.com/repos/Andyworldclub/surge-list/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Andyworldclub/surge-list/statuses/{sha}","languages_url":"https://api.github.com/repos/Andyworldclub/surge-list/languages","stargazers_url":"https://api.github.com/repos/Andyworldclub/surge-list/stargazers","contributors_url":"https://api.github.com/repos/Andyworldclub/surge-list/contributors","subscribers_url":"https://api.github.com/repos/Andyworldclub/surge-list/subscribers","subscription_url":"https://api.github.com/repos/Andyworldclub/surge-list/subscription","commits_url":"https://api.github.com/repos/Andyworldclub/surge-list/commits{/sha}","git_commits_url":"https://api.github.com/repos/Andyworldclub/surge-list/git/commits{/sha}","comments_url":"https://api.github.com/repos/Andyworldclub/surge-list/comments{/number}","issue_comment_url":"https://api.github.com/repos/Andyworldclub/surge-list/issues/comments{/number}","contents_url":"https://api.github.com/repos/Andyworldclub/surge-list/contents/{+path}","compare_url":"https://api.github.com/repos/Andyworldclub/surge-list/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Andyworldclub/surge-list/merges","archive_url":"https://api.github.com/repos/Andyworldclub/surge-list/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Andyworldclub/surge-list/downloads","issues_url":"https://api.github.com/repos/Andyworldclub/surge-list/issues{/number}","pulls_url":"https://api.github.com/repos/Andyworldclub/surge-list/pulls{/number}","milestones_url":"https://api.github.com/repos/Andyworldclub/surge-list/milestones{/number}","notifications_url":"https://api.github.com/repos/Andyworldclub/surge-list/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Andyworldclub/surge-list/labels{/name}","releases_url":"https://api.github.com/repos/Andyworldclub/surge-list/releases{/id}","deployments_url":"https://api.github.com/repos/Andyworldclub/surge-list/deployments","created_at":"2020-11-17T23:12:29Z","updated_at":"2021-12-31T01:00:23Z","pushed_at":"2021-12-31T01:00:20Z","git_url":"git://github.com/Andyworldclub/surge-list.git","ssh_url":"git@github.com:Andyworldclub/surge-list.git","clone_url":"https://github.com/Andyworldclub/surge-list.git","svn_url":"https://github.com/Andyworldclub/surge-list","homepage":"","size":35207,"stargazers_count":0,"watchers_count":0,"language":"Smarty","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415"},"html":{"href":"https://github.com/Andyworldclub/surge-list/pull/415"},"issue":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/issues/415"},"comments":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/issues/415/comments"},"review_comments":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415/comments"},"review_comment":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/pulls/415/commits"},"statuses":{"href":"https://api.github.com/repos/Andyworldclub/surge-list/statuses/2eb28dcf63c1a239e418717d2a5866353eb08c5c"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":25,"deletions":4,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396734","type":"PullRequestEvent","actor":{"id":12568,"login":"sleistner","display_login":"sleistner","gravatar_id":"","url":"https://api.github.com/users/sleistner","avatar_url":"https://avatars.githubusercontent.com/u/12568?"},"repo":{"id":281630197,"name":"enter-at/eslint-config-typescript-prettier","url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier"},"payload":{"action":"opened","number":490,"pull_request":{"url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490","id":812479612,"node_id":"PR_kwDOEMlV9c4wbXR8","html_url":"https://github.com/enter-at/eslint-config-typescript-prettier/pull/490","diff_url":"https://github.com/enter-at/eslint-config-typescript-prettier/pull/490.diff","patch_url":"https://github.com/enter-at/eslint-config-typescript-prettier/pull/490.patch","issue_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/490","number":490,"state":"open","locked":false,"title":"Automatic Update of README.md","user":{"login":"sleistner","id":12568,"node_id":"MDQ6VXNlcjEyNTY4","avatar_url":"https://avatars.githubusercontent.com/u/12568?v=4","gravatar_id":"","url":"https://api.github.com/users/sleistner","html_url":"https://github.com/sleistner","followers_url":"https://api.github.com/users/sleistner/followers","following_url":"https://api.github.com/users/sleistner/following{/other_user}","gists_url":"https://api.github.com/users/sleistner/gists{/gist_id}","starred_url":"https://api.github.com/users/sleistner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sleistner/subscriptions","organizations_url":"https://api.github.com/users/sleistner/orgs","repos_url":"https://api.github.com/users/sleistner/repos","events_url":"https://api.github.com/users/sleistner/events{/privacy}","received_events_url":"https://api.github.com/users/sleistner/received_events","type":"User","site_admin":false},"body":"This is an auto-generated PR which updates the `README.md` from the `README.yaml`\nusing the [`cloudposse/build-harness`](https://github.com/cloudposse/build-harness).","created_at":"2022-01-01T01:00:12Z","updated_at":"2022-01-01T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490/commits","review_comments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490/comments","review_comment_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/comments{/number}","comments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/490/comments","statuses_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/statuses/f7ae0426e2ac4e39536888ce8b609ba687a8a091","head":{"label":"enter-at:github-actions/auto-readme-1640998812","ref":"github-actions/auto-readme-1640998812","sha":"f7ae0426e2ac4e39536888ce8b609ba687a8a091","user":{"login":"enter-at","id":26741341,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzQxMzQx","avatar_url":"https://avatars.githubusercontent.com/u/26741341?v=4","gravatar_id":"","url":"https://api.github.com/users/enter-at","html_url":"https://github.com/enter-at","followers_url":"https://api.github.com/users/enter-at/followers","following_url":"https://api.github.com/users/enter-at/following{/other_user}","gists_url":"https://api.github.com/users/enter-at/gists{/gist_id}","starred_url":"https://api.github.com/users/enter-at/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enter-at/subscriptions","organizations_url":"https://api.github.com/users/enter-at/orgs","repos_url":"https://api.github.com/users/enter-at/repos","events_url":"https://api.github.com/users/enter-at/events{/privacy}","received_events_url":"https://api.github.com/users/enter-at/received_events","type":"Organization","site_admin":false},"repo":{"id":281630197,"node_id":"MDEwOlJlcG9zaXRvcnkyODE2MzAxOTc=","name":"eslint-config-typescript-prettier","full_name":"enter-at/eslint-config-typescript-prettier","private":false,"owner":{"login":"enter-at","id":26741341,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzQxMzQx","avatar_url":"https://avatars.githubusercontent.com/u/26741341?v=4","gravatar_id":"","url":"https://api.github.com/users/enter-at","html_url":"https://github.com/enter-at","followers_url":"https://api.github.com/users/enter-at/followers","following_url":"https://api.github.com/users/enter-at/following{/other_user}","gists_url":"https://api.github.com/users/enter-at/gists{/gist_id}","starred_url":"https://api.github.com/users/enter-at/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enter-at/subscriptions","organizations_url":"https://api.github.com/users/enter-at/orgs","repos_url":"https://api.github.com/users/enter-at/repos","events_url":"https://api.github.com/users/enter-at/events{/privacy}","received_events_url":"https://api.github.com/users/enter-at/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/enter-at/eslint-config-typescript-prettier","description":"ESLint config with TypeScript and Prettier support","fork":false,"url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier","forks_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/forks","keys_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/keys{/key_id}","collaborators_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/teams","hooks_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/hooks","issue_events_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/events{/number}","events_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/events","assignees_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/assignees{/user}","branches_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/branches{/branch}","tags_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/tags","blobs_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/refs{/sha}","trees_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/trees{/sha}","statuses_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/statuses/{sha}","languages_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/languages","stargazers_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/stargazers","contributors_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/contributors","subscribers_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/subscribers","subscription_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/subscription","commits_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/commits{/sha}","git_commits_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/commits{/sha}","comments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/comments{/number}","issue_comment_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/comments{/number}","contents_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/contents/{+path}","compare_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/compare/{base}...{head}","merges_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/merges","archive_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/downloads","issues_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues{/number}","pulls_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls{/number}","milestones_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/milestones{/number}","notifications_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/labels{/name}","releases_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/releases{/id}","deployments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/deployments","created_at":"2020-07-22T09:12:44Z","updated_at":"2021-12-14T09:03:05Z","pushed_at":"2022-01-01T01:00:12Z","git_url":"git://github.com/enter-at/eslint-config-typescript-prettier.git","ssh_url":"git@github.com:enter-at/eslint-config-typescript-prettier.git","clone_url":"https://github.com/enter-at/eslint-config-typescript-prettier.git","svn_url":"https://github.com/enter-at/eslint-config-typescript-prettier","homepage":null,"size":303,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":228,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":228,"watchers":0,"default_branch":"master"}},"base":{"label":"enter-at:master","ref":"master","sha":"65c19439447f78f0f5137673cdd2bdfb41e1f4cb","user":{"login":"enter-at","id":26741341,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzQxMzQx","avatar_url":"https://avatars.githubusercontent.com/u/26741341?v=4","gravatar_id":"","url":"https://api.github.com/users/enter-at","html_url":"https://github.com/enter-at","followers_url":"https://api.github.com/users/enter-at/followers","following_url":"https://api.github.com/users/enter-at/following{/other_user}","gists_url":"https://api.github.com/users/enter-at/gists{/gist_id}","starred_url":"https://api.github.com/users/enter-at/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enter-at/subscriptions","organizations_url":"https://api.github.com/users/enter-at/orgs","repos_url":"https://api.github.com/users/enter-at/repos","events_url":"https://api.github.com/users/enter-at/events{/privacy}","received_events_url":"https://api.github.com/users/enter-at/received_events","type":"Organization","site_admin":false},"repo":{"id":281630197,"node_id":"MDEwOlJlcG9zaXRvcnkyODE2MzAxOTc=","name":"eslint-config-typescript-prettier","full_name":"enter-at/eslint-config-typescript-prettier","private":false,"owner":{"login":"enter-at","id":26741341,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI2NzQxMzQx","avatar_url":"https://avatars.githubusercontent.com/u/26741341?v=4","gravatar_id":"","url":"https://api.github.com/users/enter-at","html_url":"https://github.com/enter-at","followers_url":"https://api.github.com/users/enter-at/followers","following_url":"https://api.github.com/users/enter-at/following{/other_user}","gists_url":"https://api.github.com/users/enter-at/gists{/gist_id}","starred_url":"https://api.github.com/users/enter-at/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enter-at/subscriptions","organizations_url":"https://api.github.com/users/enter-at/orgs","repos_url":"https://api.github.com/users/enter-at/repos","events_url":"https://api.github.com/users/enter-at/events{/privacy}","received_events_url":"https://api.github.com/users/enter-at/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/enter-at/eslint-config-typescript-prettier","description":"ESLint config with TypeScript and Prettier support","fork":false,"url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier","forks_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/forks","keys_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/keys{/key_id}","collaborators_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/teams","hooks_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/hooks","issue_events_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/events{/number}","events_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/events","assignees_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/assignees{/user}","branches_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/branches{/branch}","tags_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/tags","blobs_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/refs{/sha}","trees_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/trees{/sha}","statuses_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/statuses/{sha}","languages_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/languages","stargazers_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/stargazers","contributors_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/contributors","subscribers_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/subscribers","subscription_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/subscription","commits_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/commits{/sha}","git_commits_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/git/commits{/sha}","comments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/comments{/number}","issue_comment_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/comments{/number}","contents_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/contents/{+path}","compare_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/compare/{base}...{head}","merges_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/merges","archive_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/downloads","issues_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues{/number}","pulls_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls{/number}","milestones_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/milestones{/number}","notifications_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/labels{/name}","releases_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/releases{/id}","deployments_url":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/deployments","created_at":"2020-07-22T09:12:44Z","updated_at":"2021-12-14T09:03:05Z","pushed_at":"2022-01-01T01:00:12Z","git_url":"git://github.com/enter-at/eslint-config-typescript-prettier.git","ssh_url":"git@github.com:enter-at/eslint-config-typescript-prettier.git","clone_url":"https://github.com/enter-at/eslint-config-typescript-prettier.git","svn_url":"https://github.com/enter-at/eslint-config-typescript-prettier","homepage":null,"size":303,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":228,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":228,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490"},"html":{"href":"https://github.com/enter-at/eslint-config-typescript-prettier/pull/490"},"issue":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/490"},"comments":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/issues/490/comments"},"review_comments":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490/comments"},"review_comment":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/pulls/490/commits"},"statuses":{"href":"https://api.github.com/repos/enter-at/eslint-config-typescript-prettier/statuses/f7ae0426e2ac4e39536888ce8b609ba687a8a091"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":10,"deletions":5,"changed_files":2}},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":26741341,"login":"enter-at","gravatar_id":"","url":"https://api.github.com/orgs/enter-at","avatar_url":"https://avatars.githubusercontent.com/u/26741341?"}} +{"id":"19541396738","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8732433783,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bfc36a1829e549c292fd4ca00708fe2032574bd0","before":"20b9235acd4df234e6b473421e1c9ebb22b51f93","commits":[{"sha":"bfc36a1829e549c292fd4ca00708fe2032574bd0","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/bfc36a1829e549c292fd4ca00708fe2032574bd0"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396739","type":"CreateEvent","actor":{"id":79976335,"login":"chien916","display_login":"chien916","gravatar_id":"","url":"https://api.github.com/users/chien916","avatar_url":"https://avatars.githubusercontent.com/u/79976335?"},"repo":{"id":443441058,"name":"chien916/pitt_ece1195","url":"https://api.github.com/repos/chien916/pitt_ece1195"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396740","type":"PushEvent","actor":{"id":28824000,"login":"shanmukhan","display_login":"shanmukhan","gravatar_id":"","url":"https://api.github.com/users/shanmukhan","avatar_url":"https://avatars.githubusercontent.com/u/28824000?"},"repo":{"id":437589787,"name":"shanmukhan/iot","url":"https://api.github.com/repos/shanmukhan/iot"},"payload":{"push_id":8732433786,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"535c17bca3417e9bb35cd9e2646074da6cd3505f","before":"52b45fafe9405ab39903f477510e4d4d4bc454c6","commits":[{"sha":"535c17bca3417e9bb35cd9e2646074da6cd3505f","author":{"email":"shanmukhan.b@gmail.com","name":"Shanmukhan"},"message":"Update main.py","distinct":true,"url":"https://api.github.com/repos/shanmukhan/iot/commits/535c17bca3417e9bb35cd9e2646074da6cd3505f"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396741","type":"PushEvent","actor":{"id":60469054,"login":"friedbis","display_login":"friedbis","gravatar_id":"","url":"https://api.github.com/users/friedbis","avatar_url":"https://avatars.githubusercontent.com/u/60469054?"},"repo":{"id":368036642,"name":"friedbis/godthumbs-cake.github.io","url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io"},"payload":{"push_id":8732433785,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0575ce4255dc235fdd4d7285d9031bd75ef3b262","before":"0495db029d179a19cea663e519de179156338119","commits":[{"sha":"0575ce4255dc235fdd4d7285d9031bd75ef3b262","author":{"email":"friedbiscuit@yf-19.net","name":"friedbis"},"message":"newschecker updated","distinct":true,"url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io/commits/0575ce4255dc235fdd4d7285d9031bd75ef3b262"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396743","type":"PushEvent","actor":{"id":94046181,"login":"deepchecks-bot","display_login":"deepchecks-bot","gravatar_id":"","url":"https://api.github.com/users/deepchecks-bot","avatar_url":"https://avatars.githubusercontent.com/u/94046181?"},"repo":{"id":415969774,"name":"deepchecks/deepchecks","url":"https://api.github.com/repos/deepchecks/deepchecks"},"payload":{"push_id":8732433778,"size":1,"distinct_size":1,"ref":"refs/heads/examples-update","head":"400ff7d5d8ab044856b16f66018de3087837bd35","before":"86d5f7d28a7046340e929db28950218b2a0bc5ee","commits":[{"sha":"400ff7d5d8ab044856b16f66018de3087837bd35","author":{"email":"ItayGabbay@users.noreply.github.com","name":"ItayGabbay"},"message":"[Automatic] Examples Update","distinct":true,"url":"https://api.github.com/repos/deepchecks/deepchecks/commits/400ff7d5d8ab044856b16f66018de3087837bd35"}]},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":92298186,"login":"deepchecks","gravatar_id":"","url":"https://api.github.com/orgs/deepchecks","avatar_url":"https://avatars.githubusercontent.com/u/92298186?"}} +{"id":"19541396744","type":"PushEvent","actor":{"id":23085638,"login":"yagizoral","display_login":"yagizoral","gravatar_id":"","url":"https://api.github.com/users/yagizoral","avatar_url":"https://avatars.githubusercontent.com/u/23085638?"},"repo":{"id":428080592,"name":"yagizoral/paint-github-subscription-e2643","url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643"},"payload":{"push_id":8732433789,"size":4,"distinct_size":4,"ref":"refs/heads/main","head":"730ef72007ffe1006dc99d3f44203a2d6230d508","before":"75a65fcc404111d6d4bfb4ff40cc2e84bcb74233","commits":[{"sha":"dcebf12488a106830d9e3fe6c4cfebf4e07e6539","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/dcebf12488a106830d9e3fe6c4cfebf4e07e6539"},{"sha":"803734b854aa5d85091df65f522985d313675837","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/803734b854aa5d85091df65f522985d313675837"},{"sha":"b685cdcbe6276a421e459556bd03e7a007d7952f","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/b685cdcbe6276a421e459556bd03e7a007d7952f"},{"sha":"730ef72007ffe1006dc99d3f44203a2d6230d508","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/730ef72007ffe1006dc99d3f44203a2d6230d508"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396745","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":310658818,"name":"auto-maintainers/mocaccino-musl-universe","url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe"},"payload":{"push_id":8732433775,"size":1,"distinct_size":1,"ref":"refs/heads/bump_wireguard-tools_networking","head":"dc78cfe85c6c716dd3426b9e1e39abdf029f98ac","before":"618735a36f3b55a691fa0c534cbd679cc8486399","commits":[{"sha":"dc78cfe85c6c716dd3426b9e1e39abdf029f98ac","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"Bump networking/wireguard-tools to 1.0.20210914","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/mocaccino-musl-universe/commits/dc78cfe85c6c716dd3426b9e1e39abdf029f98ac"}]},"public":true,"created_at":"2022-01-01T01:00:13Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396746","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"tenecq3145/djy","url":"https://api.github.com/repos/tenecq3145/djy"},"payload":{"push_id":8732433793,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cc6d1276882d1d33116e68ce613a4f8fbeb207e1","before":"978e4324a72a181c587f553f0f54f888625e59df","commits":[{"sha":"cc6d1276882d1d33116e68ce613a4f8fbeb207e1","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update n24hr.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/djy/commits/cc6d1276882d1d33116e68ce613a4f8fbeb207e1"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396747","type":"PushEvent","actor":{"id":25879588,"login":"Prathamesh404","display_login":"Prathamesh404","gravatar_id":"","url":"https://api.github.com/users/Prathamesh404","avatar_url":"https://avatars.githubusercontent.com/u/25879588?"},"repo":{"id":441784916,"name":"Prathamesh404/paint-github-subscription-99501","url":"https://api.github.com/repos/Prathamesh404/paint-github-subscription-99501"},"payload":{"push_id":8732433788,"size":2,"distinct_size":2,"ref":"refs/heads/main","head":"b93a916b3a29f18923fe4d820304485ee6ff0fb5","before":"0ab2f1ba43d7dbbd704a95a63093e36fc56c5963","commits":[{"sha":"138929faae8d5447d707749fa6272a6e82bb0acb","author":{"email":"pprathamesh1594@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Prathamesh404/paint-github-subscription-99501/commits/138929faae8d5447d707749fa6272a6e82bb0acb"},{"sha":"b93a916b3a29f18923fe4d820304485ee6ff0fb5","author":{"email":"pprathamesh1594@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Prathamesh404/paint-github-subscription-99501/commits/b93a916b3a29f18923fe4d820304485ee6ff0fb5"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396751","type":"PushEvent","actor":{"id":95905863,"login":"kumi188","display_login":"kumi188","gravatar_id":"","url":"https://api.github.com/users/kumi188","avatar_url":"https://avatars.githubusercontent.com/u/95905863?"},"repo":{"id":436896519,"name":"kumi188/milk","url":"https://api.github.com/repos/kumi188/milk"},"payload":{"push_id":8732433791,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3f6f08900af995b5bda696725883cfec78255cca","before":"567935a0e1339699cb51b1cf0496d0b7d7e0d76f","commits":[{"sha":"3f6f08900af995b5bda696725883cfec78255cca","author":{"email":"kumi168.2021@gmail.com","name":"kumi188"},"message":"a","distinct":true,"url":"https://api.github.com/repos/kumi188/milk/commits/3f6f08900af995b5bda696725883cfec78255cca"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396752","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":295543563,"name":"andy-polhill/andy-polhill.github.io","url":"https://api.github.com/repos/andy-polhill/andy-polhill.github.io"},"payload":{"push_id":8732433798,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"4369d83c9ed1adaa4e994002b8c1363469767742","before":"371a8594e8c86ad7494441ead22a8eac94209586","commits":[{"sha":"4369d83c9ed1adaa4e994002b8c1363469767742","author":{"email":"andy-polhill@users.noreply.github.com","name":"andy-polhill"},"message":"deploy: c33c2aba652b002e83bcd43519f493bd9fcbb48d","distinct":true,"url":"https://api.github.com/repos/andy-polhill/andy-polhill.github.io/commits/4369d83c9ed1adaa4e994002b8c1363469767742"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396755","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":365472448,"name":"alxshelepenok/diesel","url":"https://api.github.com/repos/alxshelepenok/diesel"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"master","description":"A state management library for React.","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396757","type":"PushEvent","actor":{"id":55259471,"login":"FokshaWasTaken","display_login":"FokshaWasTaken","gravatar_id":"","url":"https://api.github.com/users/FokshaWasTaken","avatar_url":"https://avatars.githubusercontent.com/u/55259471?"},"repo":{"id":438072405,"name":"FokshaWasTaken/paint-github-subscription-50d60","url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60"},"payload":{"push_id":8732433796,"size":8,"distinct_size":8,"ref":"refs/heads/main","head":"c2abbb06601b7d9c5f16e4887955987f76729db2","before":"ed1036dc81ccc94a7a063cca99a2a996c5229578","commits":[{"sha":"6472d6a59e16970d19bb3c63103e1eb8a77eca25","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/6472d6a59e16970d19bb3c63103e1eb8a77eca25"},{"sha":"66c49830a8f80501b9c34229e104906703853217","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/66c49830a8f80501b9c34229e104906703853217"},{"sha":"e5370010c70efd4fecdd95051566f5925a011844","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/e5370010c70efd4fecdd95051566f5925a011844"},{"sha":"af18c4cfc2a3fd040cb59f86f9a3c69d140593d0","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/af18c4cfc2a3fd040cb59f86f9a3c69d140593d0"},{"sha":"10580914cec9da57b85142406f62a85505ba3f4e","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/10580914cec9da57b85142406f62a85505ba3f4e"},{"sha":"46e1a9c51f1f8da1f289ebf06857f208eeb08790","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/46e1a9c51f1f8da1f289ebf06857f208eeb08790"},{"sha":"99a41ecaa759b2c5fe3c640934b5ad15491dd272","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/99a41ecaa759b2c5fe3c640934b5ad15491dd272"},{"sha":"c2abbb06601b7d9c5f16e4887955987f76729db2","author":{"email":"55259471+FokshaWasTaken@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/FokshaWasTaken/paint-github-subscription-50d60/commits/c2abbb06601b7d9c5f16e4887955987f76729db2"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396758","type":"PushEvent","actor":{"id":73485657,"login":"azmos","display_login":"azmos","gravatar_id":"","url":"https://api.github.com/users/azmos","avatar_url":"https://avatars.githubusercontent.com/u/73485657?"},"repo":{"id":435072882,"name":"azmos/fun","url":"https://api.github.com/repos/azmos/fun"},"payload":{"push_id":8732433795,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"fbf4ec1d05be34835c8006612e1c36ade9570f8c","before":"f9e276c5e023b7f9bc32e5e0772a61ba9bca9413","commits":[{"sha":"fbf4ec1d05be34835c8006612e1c36ade9570f8c","author":{"email":"azmos1221@gmail.com","name":"azmos"},"message":"added a proper graphical sort version of mergesort","distinct":true,"url":"https://api.github.com/repos/azmos/fun/commits/fbf4ec1d05be34835c8006612e1c36ade9570f8c"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396760","type":"PushEvent","actor":{"id":11586312,"login":"doublefreeman","display_login":"doublefreeman","gravatar_id":"","url":"https://api.github.com/users/doublefreeman","avatar_url":"https://avatars.githubusercontent.com/u/11586312?"},"repo":{"id":363824228,"name":"doublefreeman/number","url":"https://api.github.com/repos/doublefreeman/number"},"payload":{"push_id":8732433799,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"7694fb0d17613f26fec7bc0165b3b2859d15d398","before":"16d161100cad1c80e6e42899ae6a17dbe46f007f","commits":[{"sha":"7694fb0d17613f26fec7bc0165b3b2859d15d398","author":{"email":"317471917@qq.com","name":"doublefreeman"},"message":"update","distinct":true,"url":"https://api.github.com/repos/doublefreeman/number/commits/7694fb0d17613f26fec7bc0165b3b2859d15d398"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396765","type":"PushEvent","actor":{"id":58833107,"login":"tenecq3145","display_login":"tenecq3145","gravatar_id":"","url":"https://api.github.com/users/tenecq3145","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"tenecq3145/ntdtv","url":"https://api.github.com/repos/tenecq3145/ntdtv"},"payload":{"push_id":8732433810,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e4727443c3709aa01468b20e4af8ddc0bcff482d","before":"71f82edd855de8ff5ac39e473c11693849c1ce97","commits":[{"sha":"e4727443c3709aa01468b20e4af8ddc0bcff482d","author":{"email":"58833107+tenecq3145@users.noreply.github.com","name":"tenecq3145"},"message":"Update prog1745_1.md","distinct":true,"url":"https://api.github.com/repos/tenecq3145/ntdtv/commits/e4727443c3709aa01468b20e4af8ddc0bcff482d"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396766","type":"PushEvent","actor":{"id":21277176,"login":"LightFelicis","display_login":"LightFelicis","gravatar_id":"","url":"https://api.github.com/users/LightFelicis","avatar_url":"https://avatars.githubusercontent.com/u/21277176?"},"repo":{"id":434036550,"name":"LightFelicis/paint-github-subscription-eefb8","url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8"},"payload":{"push_id":8732433809,"size":12,"distinct_size":12,"ref":"refs/heads/main","head":"cb9b2d193f9880b8600bccf322dd8d197b67b26f","before":"1db67a60c475f192a61fea4594580d5da77678c1","commits":[{"sha":"0c65798e5bf27893974376d81c130017a5e4ea17","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/0c65798e5bf27893974376d81c130017a5e4ea17"},{"sha":"b81012f4e83a0c32280c0514edebc652e906a979","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/b81012f4e83a0c32280c0514edebc652e906a979"},{"sha":"dff3bc4d82c29b8474f9fe362f7b58f17d26244f","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/dff3bc4d82c29b8474f9fe362f7b58f17d26244f"},{"sha":"a1d53d41c4527bf76fcce17de6e3a9805b26407c","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/a1d53d41c4527bf76fcce17de6e3a9805b26407c"},{"sha":"ec0353a0083c6a1cb053222a474a8d90cde8f4c4","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/ec0353a0083c6a1cb053222a474a8d90cde8f4c4"},{"sha":"62f566243e4a61f6be65a2aed3600c5acb019f81","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/62f566243e4a61f6be65a2aed3600c5acb019f81"},{"sha":"01d0f05c26adccddcdd0fe4c32a9c0dbb18b3c24","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/01d0f05c26adccddcdd0fe4c32a9c0dbb18b3c24"},{"sha":"0579df105d9e9a8e9f8573bc401f80b66c442464","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/0579df105d9e9a8e9f8573bc401f80b66c442464"},{"sha":"5d1cb7b041ca763466819c9022feed2407aabd3e","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/5d1cb7b041ca763466819c9022feed2407aabd3e"},{"sha":"d4876e4333f68fb5ea80c25294b424ca5fad440e","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/d4876e4333f68fb5ea80c25294b424ca5fad440e"},{"sha":"699e94fc60fc7ce53ea4e7508d63a8d25b5be1d4","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/699e94fc60fc7ce53ea4e7508d63a8d25b5be1d4"},{"sha":"cb9b2d193f9880b8600bccf322dd8d197b67b26f","author":{"email":"alicja2602@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/LightFelicis/paint-github-subscription-eefb8/commits/cb9b2d193f9880b8600bccf322dd8d197b67b26f"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396767","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8732433807,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9e992661381362a7ff887b30d4e010b3d62795c6","before":"d1d1d1c4c0361c59e4f70d616cfabd0697d14c47","commits":[{"sha":"9e992661381362a7ff887b30d4e010b3d62795c6","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/9e992661381362a7ff887b30d4e010b3d62795c6"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396771","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":389643091,"name":"web-Matheus/web-Matheus","url":"https://api.github.com/repos/web-Matheus/web-Matheus"},"payload":{"push_id":8732433808,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"16595c7ca043a1aa254461d0d1ee5bd96c9a1ffd","before":"f4b68af0872a4a3263130840e89dec1589f8935a","commits":[{"sha":"16595c7ca043a1aa254461d0d1ee5bd96c9a1ffd","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/web-Matheus/web-Matheus/commits/16595c7ca043a1aa254461d0d1ee5bd96c9a1ffd"}]},"public":true,"created_at":"2022-01-01T01:00:13Z"} +{"id":"19541396776","type":"CreateEvent","actor":{"id":3896190,"login":"nick87720z","display_login":"nick87720z","gravatar_id":"","url":"https://api.github.com/users/nick87720z","avatar_url":"https://avatars.githubusercontent.com/u/3896190?"},"repo":{"id":443446790,"name":"nick87720z/jack2","url":"https://api.github.com/repos/nick87720z/jack2"},"payload":{"ref":"jack_control_upgrade","ref_type":"branch","master_branch":"develop","description":"jack2 codebase","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396777","type":"PushEvent","actor":{"id":57504962,"login":"abstraxoneering","display_login":"abstraxoneering","gravatar_id":"","url":"https://api.github.com/users/abstraxoneering","avatar_url":"https://avatars.githubusercontent.com/u/57504962?"},"repo":{"id":438287027,"name":"abstraxon/status","url":"https://api.github.com/repos/abstraxon/status"},"payload":{"push_id":8732433814,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"fbdfc26d1ebd72a1389f6113f3882877b11cd306","before":"bc1e58cf64125cf1392f521bd5f5c08c7b814f4d","commits":[{"sha":"fbdfc26d1ebd72a1389f6113f3882877b11cd306","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":bento: Update graphs [skip ci]","distinct":true,"url":"https://api.github.com/repos/abstraxon/status/commits/fbdfc26d1ebd72a1389f6113f3882877b11cd306"}]},"public":true,"created_at":"2022-01-01T01:00:14Z","org":{"id":16199296,"login":"abstraxon","gravatar_id":"","url":"https://api.github.com/orgs/abstraxon","avatar_url":"https://avatars.githubusercontent.com/u/16199296?"}} +{"id":"19541396778","type":"PushEvent","actor":{"id":18381,"login":"mwatts","display_login":"mwatts","gravatar_id":"","url":"https://api.github.com/users/mwatts","avatar_url":"https://avatars.githubusercontent.com/u/18381?"},"repo":{"id":434045738,"name":"mwatts/ipfs-sqlite-block-store","url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store"},"payload":{"push_id":8732433816,"size":12,"distinct_size":12,"ref":"refs/heads/master","head":"ce446964a9bf26c019da5d703d1077ef893bdd93","before":"035ee0180c8b07b6d97da4a91309e024ffcca7a4","commits":[{"sha":"52f0d3ba9d242e28d9b46166d51b8b5afc997aa3","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"checkpoint db upon start","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/52f0d3ba9d242e28d9b46166d51b8b5afc997aa3"},{"sha":"f1ec63f20691a70782b3691f0790e1c9704a0eb0","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"publish 0.7.3","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/f1ec63f20691a70782b3691f0790e1c9704a0eb0"},{"sha":"6359ea0173f4bacd3062efb31d907ee066890430","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"dial back one debug log and release 0.7.4","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/6359ea0173f4bacd3062efb31d907ee066890430"},{"sha":"ca0c275c23b3a3b5e736b610fa3aeffb330af572","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"add some debug logs","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/ca0c275c23b3a3b5e736b610fa3aeffb330af572"},{"sha":"8647c12db092e4667ed235c4b6012f63cb73a366","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"optimise startup time","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/8647c12db092e4667ed235c4b6012f63cb73a366"},{"sha":"eadeee327cf62cb46c202f53580484b0c80470e8","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"bump version and release 0.7.5","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/eadeee327cf62cb46c202f53580484b0c80470e8"},{"sha":"295026665537a007e6110a2f1c7089bcb05c1a30","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"work towards multithread-safety","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/295026665537a007e6110a2f1c7089bcb05c1a30"},{"sha":"3182aaabf52c6285c503d96a65c68639353923f0","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"basic tests passing","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/3182aaabf52c6285c503d96a65c68639353923f0"},{"sha":"d2ee7d204dc21439b5d4e6e6feb3591fc4fa7f42","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"add stress test and fix things","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/d2ee7d204dc21439b5d4e6e6feb3591fc4fa7f42"},{"sha":"c7ccd55508ad07fbbe5931ba9378647a5fd54d1c","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"Merge branch '08'","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/c7ccd55508ad07fbbe5931ba9378647a5fd54d1c"},{"sha":"f48a91cc30556090235dfd10f3d27f9d4eeccb1c","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"bump to 0.9.0 and release (broke a tiny API)","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/f48a91cc30556090235dfd10f3d27f9d4eeccb1c"},{"sha":"ce446964a9bf26c019da5d703d1077ef893bdd93","author":{"email":"rk@rkuhn.info","name":"Roland Kuhn"},"message":"add facility to create db backup on test failure","distinct":true,"url":"https://api.github.com/repos/mwatts/ipfs-sqlite-block-store/commits/ce446964a9bf26c019da5d703d1077ef893bdd93"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396781","type":"PushEvent","actor":{"id":66076237,"login":"Nalborr","display_login":"Nalborr","gravatar_id":"","url":"https://api.github.com/users/Nalborr","avatar_url":"https://avatars.githubusercontent.com/u/66076237?"},"repo":{"id":420556700,"name":"Nalborr/paint-github-subscription-909ec","url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec"},"payload":{"push_id":8732433822,"size":10,"distinct_size":10,"ref":"refs/heads/main","head":"393f26ea80e53ab03b378ad995d3d9deec25c4e8","before":"c67ac64246174cc855ecfb5408081d8feff9cf83","commits":[{"sha":"9afcb246eec0b699a81ab85bc078d4dccfe6b963","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/9afcb246eec0b699a81ab85bc078d4dccfe6b963"},{"sha":"8953f0d55e06764cea4f9fcc687d7c223f328e89","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/8953f0d55e06764cea4f9fcc687d7c223f328e89"},{"sha":"2b8f23855e36f5c46f64c673a5a2c7a752cdfca0","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/2b8f23855e36f5c46f64c673a5a2c7a752cdfca0"},{"sha":"e39ea8d2fe4c3e01c03654f6a335f59323622ad5","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/e39ea8d2fe4c3e01c03654f6a335f59323622ad5"},{"sha":"aac55f4a00081dc5b57e331822f7ea4bd742f03c","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/aac55f4a00081dc5b57e331822f7ea4bd742f03c"},{"sha":"4aa1fb30fefa322881c70fa4d14ec61ba10689f7","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/4aa1fb30fefa322881c70fa4d14ec61ba10689f7"},{"sha":"accbef14036e60f567bdf6c3d0932cdb8ae63b4b","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/accbef14036e60f567bdf6c3d0932cdb8ae63b4b"},{"sha":"3be6fa5c8bf0943d6cc0c5388cba87b018a0d106","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/3be6fa5c8bf0943d6cc0c5388cba87b018a0d106"},{"sha":"be0674dda75b9673d2ae26a2128fc6517815a81f","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/be0674dda75b9673d2ae26a2128fc6517815a81f"},{"sha":"393f26ea80e53ab03b378ad995d3d9deec25c4e8","author":{"email":"66076237+Nalborr@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Nalborr/paint-github-subscription-909ec/commits/393f26ea80e53ab03b378ad995d3d9deec25c4e8"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396783","type":"WatchEvent","actor":{"id":13781671,"login":"RedlicDev","display_login":"RedlicDev","gravatar_id":"","url":"https://api.github.com/users/RedlicDev","avatar_url":"https://avatars.githubusercontent.com/u/13781671?"},"repo":{"id":206138137,"name":"alphacep/vosk-api","url":"https://api.github.com/repos/alphacep/vosk-api"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-01T01:00:14Z","org":{"id":26358566,"login":"alphacep","gravatar_id":"","url":"https://api.github.com/orgs/alphacep","avatar_url":"https://avatars.githubusercontent.com/u/26358566?"}} +{"id":"19541396787","type":"PushEvent","actor":{"id":25752779,"login":"DevanFischer","display_login":"DevanFischer","gravatar_id":"","url":"https://api.github.com/users/DevanFischer","avatar_url":"https://avatars.githubusercontent.com/u/25752779?"},"repo":{"id":428471153,"name":"DevanFischer/paint-github-subscription-3d01e","url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e"},"payload":{"push_id":8732433823,"size":13,"distinct_size":13,"ref":"refs/heads/main","head":"735b4bea065e1afc21e896384849d44444729a78","before":"dc7fd8b59cb7f8dea1332524c193ac5cfd215e90","commits":[{"sha":"4f13fe7f8c8f842ddc345ae8fe0f49dccf4055b3","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/4f13fe7f8c8f842ddc345ae8fe0f49dccf4055b3"},{"sha":"59473726d1e0462efbee97573829843cd45c9f8b","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/59473726d1e0462efbee97573829843cd45c9f8b"},{"sha":"9542020ea32b1aee91213863588b7d5eabc83465","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/9542020ea32b1aee91213863588b7d5eabc83465"},{"sha":"2b88e3d3e9c882ee3673bd3f37beb80663a36e49","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/2b88e3d3e9c882ee3673bd3f37beb80663a36e49"},{"sha":"100df2ac0158901cb43bfbacc036ea84356ce8a1","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/100df2ac0158901cb43bfbacc036ea84356ce8a1"},{"sha":"e1b101713ff8954f6846fb976a0674827a199bc9","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/e1b101713ff8954f6846fb976a0674827a199bc9"},{"sha":"65c8367e601cce3907b5489faebe8852ad28f5a8","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/65c8367e601cce3907b5489faebe8852ad28f5a8"},{"sha":"45cecd4924b2082d3f3a7186e7e5be0675b98e2b","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/45cecd4924b2082d3f3a7186e7e5be0675b98e2b"},{"sha":"31f2bf83f4c235acd6e8156bfb638cb7fb895aec","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/31f2bf83f4c235acd6e8156bfb638cb7fb895aec"},{"sha":"677ed4d8418470c856b59d6fcc70e311de4a065f","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/677ed4d8418470c856b59d6fcc70e311de4a065f"},{"sha":"e30d1a2a8533453b8ad7300165dd914481252914","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/e30d1a2a8533453b8ad7300165dd914481252914"},{"sha":"00efcf702ba6404b79c5b0987272decda0268d41","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/00efcf702ba6404b79c5b0987272decda0268d41"},{"sha":"735b4bea065e1afc21e896384849d44444729a78","author":{"email":"contact@devanfischer.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/DevanFischer/paint-github-subscription-3d01e/commits/735b4bea065e1afc21e896384849d44444729a78"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396788","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":401455208,"name":"valya-experiments/meal-planner-api","url":"https://api.github.com/repos/valya-experiments/meal-planner-api"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:14Z","org":{"id":89805951,"login":"valya-experiments","gravatar_id":"","url":"https://api.github.com/orgs/valya-experiments","avatar_url":"https://avatars.githubusercontent.com/u/89805951?"}} +{"id":"19541396789","type":"PushEvent","actor":{"id":87841188,"login":"sks990","display_login":"sks990","gravatar_id":"","url":"https://api.github.com/users/sks990","avatar_url":"https://avatars.githubusercontent.com/u/87841188?"},"repo":{"id":388656579,"name":"sks990/list","url":"https://api.github.com/repos/sks990/list"},"payload":{"push_id":8732433825,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"84924c6400e05223329f627446a4a79931933513","before":"d12c03124c376dac471299c6bb4c4bc674a7e3d7","commits":[{"sha":"84924c6400e05223329f627446a4a79931933513","author":{"email":"shimgunsik770@gmail.com","name":"sks990"},"message":"playlist-update","distinct":true,"url":"https://api.github.com/repos/sks990/list/commits/84924c6400e05223329f627446a4a79931933513"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396791","type":"CreateEvent","actor":{"id":29139614,"login":"renovate[bot]","display_login":"renovate","gravatar_id":"","url":"https://api.github.com/users/renovate[bot]","avatar_url":"https://avatars.githubusercontent.com/u/29139614?"},"repo":{"id":361080721,"name":"flyhighair/react-graphql","url":"https://api.github.com/repos/flyhighair/react-graphql"},"payload":{"ref":"renovate/eslint-8.x","ref_type":"branch","master_branch":"main","description":"graphql試す","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396792","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443449245,"name":"shalini-devgit/Shalini-PerfBlue10","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue10"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing10","pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396795","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":418239045,"name":"velicu92/s-p500","url":"https://api.github.com/repos/velicu92/s-p500"},"payload":{"push_id":8732433833,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4dfa951185b737e8ca1e4e949ec5da2e131cfe6e","before":"7c88f26c5af6b3879f3bbfa231fdcc0403fee613","commits":[{"sha":"4dfa951185b737e8ca1e4e949ec5da2e131cfe6e","author":{"email":"actions@github.com","name":"actions-user"},"message":"Workflow latest running date: Sat Jan 1 01:00:13 UTC 2022","distinct":true,"url":"https://api.github.com/repos/velicu92/s-p500/commits/4dfa951185b737e8ca1e4e949ec5da2e131cfe6e"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396798","type":"PushEvent","actor":{"id":1833516,"login":"patilswapnilv","display_login":"patilswapnilv","gravatar_id":"","url":"https://api.github.com/users/patilswapnilv","avatar_url":"https://avatars.githubusercontent.com/u/1833516?"},"repo":{"id":439169891,"name":"patilswapnilv/paint-github-subscription-f03af","url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af"},"payload":{"push_id":8732433829,"size":18,"distinct_size":18,"ref":"refs/heads/main","head":"18019d3050291d2a14a522a1b1a59f6dd11fdf8d","before":"fcf7a49f33e69af93a5e4ecc70b312bea48c8b69","commits":[{"sha":"f380d4a1049281eb7daf3a4716483ea7e8107653","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/f380d4a1049281eb7daf3a4716483ea7e8107653"},{"sha":"5cd7a437634f1725a65e2c49d88c33b127c08e28","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/5cd7a437634f1725a65e2c49d88c33b127c08e28"},{"sha":"e6e74da69a9766593cafd949664e0afb6127f3b0","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/e6e74da69a9766593cafd949664e0afb6127f3b0"},{"sha":"8a8294c418adb98f318db42e308a1db0bf6275b7","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/8a8294c418adb98f318db42e308a1db0bf6275b7"},{"sha":"0581fb135aa6bb4f31e80a0c493bfa42e2de7a44","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/0581fb135aa6bb4f31e80a0c493bfa42e2de7a44"},{"sha":"db21c968dbeea18ab7e7690c16ee75cdb9ebb4d0","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/db21c968dbeea18ab7e7690c16ee75cdb9ebb4d0"},{"sha":"60d255ce4cc55a2b28dbd77aa0014b44efe4ace4","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/60d255ce4cc55a2b28dbd77aa0014b44efe4ace4"},{"sha":"1870fa372635a8dc5cfe555f39b53df98de2eef1","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/1870fa372635a8dc5cfe555f39b53df98de2eef1"},{"sha":"c91ad6b5fe780cb44f4b947d74831dc08d85adc5","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/c91ad6b5fe780cb44f4b947d74831dc08d85adc5"},{"sha":"53607d74dbc7b6d99bd6232693aab7d381e4c787","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/53607d74dbc7b6d99bd6232693aab7d381e4c787"},{"sha":"716e43c06a6d614cb7ab0d78cb41981ebed03b77","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/716e43c06a6d614cb7ab0d78cb41981ebed03b77"},{"sha":"6185bab8344ff996d7b60a245d3a0110c85aad82","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/6185bab8344ff996d7b60a245d3a0110c85aad82"},{"sha":"2422a8ff2e4db23372b3f6238976aefb148597fc","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/2422a8ff2e4db23372b3f6238976aefb148597fc"},{"sha":"4dc56f9bf8f499500594424646254f464b0a32e8","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/4dc56f9bf8f499500594424646254f464b0a32e8"},{"sha":"abaad9755a36e12eafef28d612383dc6adaada98","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/abaad9755a36e12eafef28d612383dc6adaada98"},{"sha":"2dc0bfcee73d5ce2292fbe471f4f8e873cb39c82","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/2dc0bfcee73d5ce2292fbe471f4f8e873cb39c82"},{"sha":"140abc9a4fcc3ad6233763dad91dca6b1059abf1","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/140abc9a4fcc3ad6233763dad91dca6b1059abf1"},{"sha":"18019d3050291d2a14a522a1b1a59f6dd11fdf8d","author":{"email":"patilswapnilv@gmail.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/patilswapnilv/paint-github-subscription-f03af/commits/18019d3050291d2a14a522a1b1a59f6dd11fdf8d"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396803","type":"PushEvent","actor":{"id":86851008,"login":"Viking03265","display_login":"Viking03265","gravatar_id":"","url":"https://api.github.com/users/Viking03265","avatar_url":"https://avatars.githubusercontent.com/u/86851008?"},"repo":{"id":440349469,"name":"Viking03265/paint-github-subscription-c9629","url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629"},"payload":{"push_id":8732433835,"size":11,"distinct_size":11,"ref":"refs/heads/main","head":"0ea8f107f9b6d625a3e9d62575b975872c7d7f3c","before":"de61260b900840cb52675bde99f0bb4ea7ba2451","commits":[{"sha":"b805cae1858accb45645730f119281fbc946cfa6","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/b805cae1858accb45645730f119281fbc946cfa6"},{"sha":"ab6ccadeeb75b56b7b9f248d83dce888b352683c","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/ab6ccadeeb75b56b7b9f248d83dce888b352683c"},{"sha":"6116686674c106417f77849f27b5b5d1ab05b3d6","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/6116686674c106417f77849f27b5b5d1ab05b3d6"},{"sha":"ee0f476e52faaea86dce68363bcf9bae2f1e3ee0","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/ee0f476e52faaea86dce68363bcf9bae2f1e3ee0"},{"sha":"757df75d5c78a0f15284dc772f6f959bd860700c","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/757df75d5c78a0f15284dc772f6f959bd860700c"},{"sha":"3d722c6ba20390cb85615b1c4f94e5bfcfa072a6","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/3d722c6ba20390cb85615b1c4f94e5bfcfa072a6"},{"sha":"b4cc8d937bc583c2beaa89c7fe2a3ab6797e20aa","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/b4cc8d937bc583c2beaa89c7fe2a3ab6797e20aa"},{"sha":"cc8b2e719d8145fbaf0e32b1b9effa29fa36c758","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/cc8b2e719d8145fbaf0e32b1b9effa29fa36c758"},{"sha":"9796fd0c80591d417a599df0d56067a225c16939","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/9796fd0c80591d417a599df0d56067a225c16939"},{"sha":"d37e7cab654c4b06699a17ed45fca86c9a2bd335","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/d37e7cab654c4b06699a17ed45fca86c9a2bd335"},{"sha":"0ea8f107f9b6d625a3e9d62575b975872c7d7f3c","author":{"email":"86851008+Viking03265@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/Viking03265/paint-github-subscription-c9629/commits/0ea8f107f9b6d625a3e9d62575b975872c7d7f3c"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396804","type":"PushEvent","actor":{"id":77078333,"login":"ooi-data-bot","display_login":"ooi-data-bot","gravatar_id":"","url":"https://api.github.com/users/ooi-data-bot","avatar_url":"https://avatars.githubusercontent.com/u/77078333?"},"repo":{"id":364401817,"name":"ooi-data/CE06ISSM-RID16-06-PHSEND000-telemetered-phsen_abcdef_dcl_instrument","url":"https://api.github.com/repos/ooi-data/CE06ISSM-RID16-06-PHSEND000-telemetered-phsen_abcdef_dcl_instrument"},"payload":{"push_id":8732433837,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7ce7307cb369fa971567297912c6adc7e4d4fa1c","before":"217172949665d84ddbd6b65107fae726887b441b","commits":[{"sha":"7ce7307cb369fa971567297912c6adc7e4d4fa1c","author":{"email":"77078333+ooi-data-bot@users.noreply.github.com","name":"CAVA Bot"},"message":"🔵 Data request [pending] (2022-01-01T01:00:13.200287)","distinct":true,"url":"https://api.github.com/repos/ooi-data/CE06ISSM-RID16-06-PHSEND000-telemetered-phsen_abcdef_dcl_instrument/commits/7ce7307cb369fa971567297912c6adc7e4d4fa1c"}]},"public":true,"created_at":"2022-01-01T01:00:14Z","org":{"id":76968871,"login":"ooi-data","gravatar_id":"","url":"https://api.github.com/orgs/ooi-data","avatar_url":"https://avatars.githubusercontent.com/u/76968871?"}} +{"id":"19541396807","type":"PushEvent","actor":{"id":92907907,"login":"znyt","display_login":"znyt","gravatar_id":"","url":"https://api.github.com/users/znyt","avatar_url":"https://avatars.githubusercontent.com/u/92907907?"},"repo":{"id":432448204,"name":"znyt/oss71","url":"https://api.github.com/repos/znyt/oss71"},"payload":{"push_id":8732433828,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"004a54441b52105b1060f4ad94876ef5879625db","before":"3bcacf8a7534558cef5c51992d659797175708ca","commits":[{"sha":"004a54441b52105b1060f4ad94876ef5879625db","author":{"email":"92907907+znyt@users.noreply.github.com","name":"znyt"},"message":"file upload","distinct":true,"url":"https://api.github.com/repos/znyt/oss71/commits/004a54441b52105b1060f4ad94876ef5879625db"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396808","type":"PushEvent","actor":{"id":48495458,"login":"MarvinHatesOceans","display_login":"MarvinHatesOceans","gravatar_id":"","url":"https://api.github.com/users/MarvinHatesOceans","avatar_url":"https://avatars.githubusercontent.com/u/48495458?"},"repo":{"id":304426748,"name":"auto-maintainers/desktop","url":"https://api.github.com/repos/auto-maintainers/desktop"},"payload":{"push_id":8732433827,"size":1,"distinct_size":1,"ref":"refs/heads/bump_gentoo-portage_layers","head":"4d269157085541c0079a4fc20b7bcb51399f4840","before":"56a4ef7f64206ab3968cf72be1c08661b1651173","commits":[{"sha":"4d269157085541c0079a4fc20b7bcb51399f4840","author":{"email":"github-bots@sabayon.com","name":"MarvinHatesOceans"},"message":"reverse dep: bump layers/wayfire for layers/gentoo-portage","distinct":true,"url":"https://api.github.com/repos/auto-maintainers/desktop/commits/4d269157085541c0079a4fc20b7bcb51399f4840"}]},"public":true,"created_at":"2022-01-01T01:00:14Z","org":{"id":48530990,"login":"auto-maintainers","gravatar_id":"","url":"https://api.github.com/orgs/auto-maintainers","avatar_url":"https://avatars.githubusercontent.com/u/48530990?"}} +{"id":"19541396809","type":"PushEvent","actor":{"id":93104246,"login":"sndwxh","display_login":"sndwxh","gravatar_id":"","url":"https://api.github.com/users/sndwxh","avatar_url":"https://avatars.githubusercontent.com/u/93104246?"},"repo":{"id":437507570,"name":"sndwxh/sndwxh.github.io","url":"https://api.github.com/repos/sndwxh/sndwxh.github.io"},"payload":{"push_id":8732433830,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"6a20e02f141eef67dc24753deb289d7da25cff22","before":"ce8427ec4a273feb743c9d6aa836db48e63adce7","commits":[{"sha":"329e8c9d05af9a52fbac63b5eeb6d7eec223c76a","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/sndwxh/sndwxh.github.io/commits/329e8c9d05af9a52fbac63b5eeb6d7eec223c76a"},{"sha":"6a20e02f141eef67dc24753deb289d7da25cff22","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/sndwxh/sndwxh.github.io/commits/6a20e02f141eef67dc24753deb289d7da25cff22"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396813","type":"PushEvent","actor":{"id":10641117,"login":"ravisayal","display_login":"ravisayal","gravatar_id":"","url":"https://api.github.com/users/ravisayal","avatar_url":"https://avatars.githubusercontent.com/u/10641117?"},"repo":{"id":334813624,"name":"ravisayal/ipcam_utils","url":"https://api.github.com/repos/ravisayal/ipcam_utils"},"payload":{"push_id":8732433844,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cee62d4562d8169ea40df7bd815cab2d72972bee","before":"95fbd4f18fbb8674aa5fd3ae46770936a9e17c5b","commits":[{"sha":"cee62d4562d8169ea40df7bd815cab2d72972bee","author":{"email":"ravisayal@yahoo.com","name":"Ravi Sayal"},"message":"Saving battery_data_cron.sh as of 12/31/2021 20:00:02","distinct":true,"url":"https://api.github.com/repos/ravisayal/ipcam_utils/commits/cee62d4562d8169ea40df7bd815cab2d72972bee"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396815","type":"PushEvent","actor":{"id":96804436,"login":"dfa54","display_login":"dfa54","gravatar_id":"","url":"https://api.github.com/users/dfa54","avatar_url":"https://avatars.githubusercontent.com/u/96804436?"},"repo":{"id":443408338,"name":"dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590","url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590"},"payload":{"push_id":8732433834,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"39eb75a3c67ab65bde2f21d380fde57e04a3a01a","before":"941dc044fa9ac8be312f211cf9758b4e6d0d5313","commits":[{"sha":"39eb75a3c67ab65bde2f21d380fde57e04a3a01a","author":{"email":"96804436+dfa54@users.noreply.github.com","name":"dfa54"},"message":"upload file de92c699cccb07c4f2221ace5ca112983399d88e209431962893570dbef9738f57e268a6698a533f7ecf9ed3a3be712avideo_948_0_4070.ts","distinct":true,"url":"https://api.github.com/repos/dfa54/3d034e5c-b813-4e59-b3a1-a4a48195c590/commits/39eb75a3c67ab65bde2f21d380fde57e04a3a01a"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396816","type":"PushEvent","actor":{"id":60825784,"login":"predictcrypto","display_login":"predictcrypto","gravatar_id":"","url":"https://api.github.com/users/predictcrypto","avatar_url":"https://avatars.githubusercontent.com/u/60825784?"},"repo":{"id":411428751,"name":"predictcrypto/pins","url":"https://api.github.com/repos/predictcrypto/pins"},"payload":{"push_id":8732433838,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"56c7f0303be817fbb1cc0b31c6de8f7cc001f299","before":"9040a8721d091f74a818ac5745d9a0855b372d35","commits":[{"sha":"56c7f0303be817fbb1cc0b31c6de8f7cc001f299","author":{"email":"60825784+predictcrypto@users.noreply.github.com","name":"predictcrypto"},"message":"update GRT_network_stats","distinct":true,"url":"https://api.github.com/repos/predictcrypto/pins/commits/56c7f0303be817fbb1cc0b31c6de8f7cc001f299"}]},"public":true,"created_at":"2022-01-01T01:00:14Z"} +{"id":"19541396817","type":"CreateEvent","actor":{"id":91068872,"login":"Prosperibe12","display_login":"Prosperibe12","gravatar_id":"","url":"https://api.github.com/users/Prosperibe12","avatar_url":"https://avatars.githubusercontent.com/u/91068872?"},"repo":{"id":443449246,"name":"Prosperibe12/Resful-api-with-JWT-Authentication","url":"https://api.github.com/repos/Prosperibe12/Resful-api-with-JWT-Authentication"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-01T01:00:14Z"} diff --git a/tuplex/test/resources/ndjson/github-hyper/2022-01-02-1.json b/tuplex/test/resources/ndjson/github-hyper/2022-01-02-1.json new file mode 100644 index 000000000..4b840ad50 --- /dev/null +++ b/tuplex/test/resources/ndjson/github-hyper/2022-01-02-1.json @@ -0,0 +1,500 @@ +{"id":"19546596188","type":"PushEvent","actor":{"id":96767297,"login":"647gdfg","display_login":"647gdfg","gravatar_id":"","url":"https://api.github.com/users/647gdfg","avatar_url":"https://avatars.githubusercontent.com/u/96767297?"},"repo":{"id":443652995,"name":"647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6","url":"https://api.github.com/repos/647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6"},"payload":{"push_id":8735901323,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7696904a70104bea147d18def94247c5e588296d","before":"30986ce774a0571e99c0c1eb8f4cebd9010e8e66","commits":[{"sha":"7696904a70104bea147d18def94247c5e588296d","author":{"email":"96767297+647gdfg@users.noreply.github.com","name":"647gdfg"},"message":"upload file 14885070f5fb6a3c3780c628506f53d49036c009873c59b0e5d2304431a950755026e8b0683bbc329da4a6ce5937f32avideo_137_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6/commits/7696904a70104bea147d18def94247c5e588296d"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596189","type":"PushEvent","actor":{"id":25765636,"login":"nemkin","display_login":"nemkin","gravatar_id":"","url":"https://api.github.com/users/nemkin","avatar_url":"https://avatars.githubusercontent.com/u/25765636?"},"repo":{"id":443601637,"name":"nemkin/just-the-docs","url":"https://api.github.com/repos/nemkin/just-the-docs"},"payload":{"push_id":8735901327,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"09608ae8e518399bd0984b8d8e4811aef8fd39b6","before":"e8424986370bef104e680e1443a83e475d2fead7","commits":[{"sha":"09608ae8e518399bd0984b8d8e4811aef8fd39b6","author":{"email":"viktoria.nemkin@gmail.com","name":"Viktória Nemkin"},"message":"Translate to Hungarian","distinct":true,"url":"https://api.github.com/repos/nemkin/just-the-docs/commits/09608ae8e518399bd0984b8d8e4811aef8fd39b6"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596196","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":120568143,"name":"wez/wezterm","url":"https://api.github.com/repos/wez/wezterm"},"payload":{"push_id":8735901328,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"c2354c8a31f1b9598887b4ece0b96401720d3c46","before":"8c9577d9659441fe14bf21278a6afd33d249ff84","commits":[{"sha":"c2354c8a31f1b9598887b4ece0b96401720d3c46","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/wez/wezterm/commits/c2354c8a31f1b9598887b4ece0b96401720d3c46"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596197","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":309026660,"name":"soranoba/soranoba","url":"https://api.github.com/repos/soranoba/soranoba"},"payload":{"push_id":8735901330,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0ac81307178cd9546955d61097637768be223630","before":"de33b4f7d4f0cbb07892f453f0a0adef82c53d58","commits":[{"sha":"0ac81307178cd9546955d61097637768be223630","author":{"email":"soranoba@users.noreply.github.com","name":"soranoba"},"message":"Update generated README","distinct":true,"url":"https://api.github.com/repos/soranoba/soranoba/commits/0ac81307178cd9546955d61097637768be223630"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596199","type":"PullRequestEvent","actor":{"id":43047562,"login":"scala-steward","display_login":"scala-steward","gravatar_id":"","url":"https://api.github.com/users/scala-steward","avatar_url":"https://avatars.githubusercontent.com/u/43047562?"},"repo":{"id":210607818,"name":"laserdisc-io/eisner","url":"https://api.github.com/repos/laserdisc-io/eisner"},"payload":{"action":"opened","number":166,"pull_request":{"url":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166","id":812662831,"node_id":"PR_kwDODI2eys4wcEAv","html_url":"https://github.com/laserdisc-io/eisner/pull/166","diff_url":"https://github.com/laserdisc-io/eisner/pull/166.diff","patch_url":"https://github.com/laserdisc-io/eisner/pull/166.patch","issue_url":"https://api.github.com/repos/laserdisc-io/eisner/issues/166","number":166,"state":"open","locked":false,"title":"Update scalafmt-core to 3.3.1","user":{"login":"scala-steward","id":43047562,"node_id":"MDQ6VXNlcjQzMDQ3NTYy","avatar_url":"https://avatars.githubusercontent.com/u/43047562?v=4","gravatar_id":"","url":"https://api.github.com/users/scala-steward","html_url":"https://github.com/scala-steward","followers_url":"https://api.github.com/users/scala-steward/followers","following_url":"https://api.github.com/users/scala-steward/following{/other_user}","gists_url":"https://api.github.com/users/scala-steward/gists{/gist_id}","starred_url":"https://api.github.com/users/scala-steward/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scala-steward/subscriptions","organizations_url":"https://api.github.com/users/scala-steward/orgs","repos_url":"https://api.github.com/users/scala-steward/repos","events_url":"https://api.github.com/users/scala-steward/events{/privacy}","received_events_url":"https://api.github.com/users/scala-steward/received_events","type":"User","site_admin":false},"body":"Updates [org.scalameta:scalafmt-core](https://github.com/scalameta/scalafmt) from 3.3.0 to 3.3.1.\n[GitHub Release Notes](https://github.com/scalameta/scalafmt/releases/tag/v3.3.1) - [Version Diff](https://github.com/scalameta/scalafmt/compare/v3.3.0...v3.3.1)\n\nI'll automatically update this PR to resolve conflicts as long as you don't change it yourself.\n\nIf you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.\n\nConfigure Scala Steward for your repository with a [`.scala-steward.conf`](https://github.com/scala-steward-org/scala-steward/blob/2772ccf169a0667d434a3e562193fed1850abba9/docs/repo-specific-configuration.md) file.\n\nHave a fantastic day writing Scala!\n\n
\nIgnore future updates\n\nAdd this to your `.scala-steward.conf` file to ignore future updates of this dependency:\n```\nupdates.ignore = [ { groupId = \"org.scalameta\", artifactId = \"scalafmt-core\" } ]\n```\n
\n\nlabels: library-update, early-semver-patch, semver-spec-patch, commit-count:1","created_at":"2022-01-02T00:59:59Z","updated_at":"2022-01-02T00:59:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[{"login":"barambani","id":201339,"node_id":"MDQ6VXNlcjIwMTMzOQ==","avatar_url":"https://avatars.githubusercontent.com/u/201339?v=4","gravatar_id":"","url":"https://api.github.com/users/barambani","html_url":"https://github.com/barambani","followers_url":"https://api.github.com/users/barambani/followers","following_url":"https://api.github.com/users/barambani/following{/other_user}","gists_url":"https://api.github.com/users/barambani/gists{/gist_id}","starred_url":"https://api.github.com/users/barambani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/barambani/subscriptions","organizations_url":"https://api.github.com/users/barambani/orgs","repos_url":"https://api.github.com/users/barambani/repos","events_url":"https://api.github.com/users/barambani/events{/privacy}","received_events_url":"https://api.github.com/users/barambani/received_events","type":"User","site_admin":false},{"login":"sirocchj","id":601807,"node_id":"MDQ6VXNlcjYwMTgwNw==","avatar_url":"https://avatars.githubusercontent.com/u/601807?v=4","gravatar_id":"","url":"https://api.github.com/users/sirocchj","html_url":"https://github.com/sirocchj","followers_url":"https://api.github.com/users/sirocchj/followers","following_url":"https://api.github.com/users/sirocchj/following{/other_user}","gists_url":"https://api.github.com/users/sirocchj/gists{/gist_id}","starred_url":"https://api.github.com/users/sirocchj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sirocchj/subscriptions","organizations_url":"https://api.github.com/users/sirocchj/orgs","repos_url":"https://api.github.com/users/sirocchj/repos","events_url":"https://api.github.com/users/sirocchj/events{/privacy}","received_events_url":"https://api.github.com/users/sirocchj/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166/commits","review_comments_url":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166/comments","review_comment_url":"https://api.github.com/repos/laserdisc-io/eisner/pulls/comments{/number}","comments_url":"https://api.github.com/repos/laserdisc-io/eisner/issues/166/comments","statuses_url":"https://api.github.com/repos/laserdisc-io/eisner/statuses/5c5f07fa543683da01affbf0f9a91566f8fc5317","head":{"label":"scala-steward:update/scalafmt-core-3.3.1","ref":"update/scalafmt-core-3.3.1","sha":"5c5f07fa543683da01affbf0f9a91566f8fc5317","user":{"login":"scala-steward","id":43047562,"node_id":"MDQ6VXNlcjQzMDQ3NTYy","avatar_url":"https://avatars.githubusercontent.com/u/43047562?v=4","gravatar_id":"","url":"https://api.github.com/users/scala-steward","html_url":"https://github.com/scala-steward","followers_url":"https://api.github.com/users/scala-steward/followers","following_url":"https://api.github.com/users/scala-steward/following{/other_user}","gists_url":"https://api.github.com/users/scala-steward/gists{/gist_id}","starred_url":"https://api.github.com/users/scala-steward/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scala-steward/subscriptions","organizations_url":"https://api.github.com/users/scala-steward/orgs","repos_url":"https://api.github.com/users/scala-steward/repos","events_url":"https://api.github.com/users/scala-steward/events{/privacy}","received_events_url":"https://api.github.com/users/scala-steward/received_events","type":"User","site_admin":false},"repo":{"id":223701535,"node_id":"MDEwOlJlcG9zaXRvcnkyMjM3MDE1MzU=","name":"eisner","full_name":"scala-steward/eisner","private":false,"owner":{"login":"scala-steward","id":43047562,"node_id":"MDQ6VXNlcjQzMDQ3NTYy","avatar_url":"https://avatars.githubusercontent.com/u/43047562?v=4","gravatar_id":"","url":"https://api.github.com/users/scala-steward","html_url":"https://github.com/scala-steward","followers_url":"https://api.github.com/users/scala-steward/followers","following_url":"https://api.github.com/users/scala-steward/following{/other_user}","gists_url":"https://api.github.com/users/scala-steward/gists{/gist_id}","starred_url":"https://api.github.com/users/scala-steward/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scala-steward/subscriptions","organizations_url":"https://api.github.com/users/scala-steward/orgs","repos_url":"https://api.github.com/users/scala-steward/repos","events_url":"https://api.github.com/users/scala-steward/events{/privacy}","received_events_url":"https://api.github.com/users/scala-steward/received_events","type":"User","site_admin":false},"html_url":"https://github.com/scala-steward/eisner","description":"Kafka (Streams' topologies) translator","fork":true,"url":"https://api.github.com/repos/scala-steward/eisner","forks_url":"https://api.github.com/repos/scala-steward/eisner/forks","keys_url":"https://api.github.com/repos/scala-steward/eisner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/scala-steward/eisner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/scala-steward/eisner/teams","hooks_url":"https://api.github.com/repos/scala-steward/eisner/hooks","issue_events_url":"https://api.github.com/repos/scala-steward/eisner/issues/events{/number}","events_url":"https://api.github.com/repos/scala-steward/eisner/events","assignees_url":"https://api.github.com/repos/scala-steward/eisner/assignees{/user}","branches_url":"https://api.github.com/repos/scala-steward/eisner/branches{/branch}","tags_url":"https://api.github.com/repos/scala-steward/eisner/tags","blobs_url":"https://api.github.com/repos/scala-steward/eisner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/scala-steward/eisner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/scala-steward/eisner/git/refs{/sha}","trees_url":"https://api.github.com/repos/scala-steward/eisner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/scala-steward/eisner/statuses/{sha}","languages_url":"https://api.github.com/repos/scala-steward/eisner/languages","stargazers_url":"https://api.github.com/repos/scala-steward/eisner/stargazers","contributors_url":"https://api.github.com/repos/scala-steward/eisner/contributors","subscribers_url":"https://api.github.com/repos/scala-steward/eisner/subscribers","subscription_url":"https://api.github.com/repos/scala-steward/eisner/subscription","commits_url":"https://api.github.com/repos/scala-steward/eisner/commits{/sha}","git_commits_url":"https://api.github.com/repos/scala-steward/eisner/git/commits{/sha}","comments_url":"https://api.github.com/repos/scala-steward/eisner/comments{/number}","issue_comment_url":"https://api.github.com/repos/scala-steward/eisner/issues/comments{/number}","contents_url":"https://api.github.com/repos/scala-steward/eisner/contents/{+path}","compare_url":"https://api.github.com/repos/scala-steward/eisner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/scala-steward/eisner/merges","archive_url":"https://api.github.com/repos/scala-steward/eisner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/scala-steward/eisner/downloads","issues_url":"https://api.github.com/repos/scala-steward/eisner/issues{/number}","pulls_url":"https://api.github.com/repos/scala-steward/eisner/pulls{/number}","milestones_url":"https://api.github.com/repos/scala-steward/eisner/milestones{/number}","notifications_url":"https://api.github.com/repos/scala-steward/eisner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/scala-steward/eisner/labels{/name}","releases_url":"https://api.github.com/repos/scala-steward/eisner/releases{/id}","deployments_url":"https://api.github.com/repos/scala-steward/eisner/deployments","created_at":"2019-11-24T06:20:07Z","updated_at":"2021-12-25T10:33:54Z","pushed_at":"2022-01-02T00:59:58Z","git_url":"git://github.com/scala-steward/eisner.git","ssh_url":"git@github.com:scala-steward/eisner.git","clone_url":"https://github.com/scala-steward/eisner.git","svn_url":"https://github.com/scala-steward/eisner","homepage":null,"size":21472,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"laserdisc-io:master","ref":"master","sha":"d80c9d7c882c1879eeb2d52981d8b0f6bc2b565d","user":{"login":"laserdisc-io","id":39946901,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5OTQ2OTAx","avatar_url":"https://avatars.githubusercontent.com/u/39946901?v=4","gravatar_id":"","url":"https://api.github.com/users/laserdisc-io","html_url":"https://github.com/laserdisc-io","followers_url":"https://api.github.com/users/laserdisc-io/followers","following_url":"https://api.github.com/users/laserdisc-io/following{/other_user}","gists_url":"https://api.github.com/users/laserdisc-io/gists{/gist_id}","starred_url":"https://api.github.com/users/laserdisc-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laserdisc-io/subscriptions","organizations_url":"https://api.github.com/users/laserdisc-io/orgs","repos_url":"https://api.github.com/users/laserdisc-io/repos","events_url":"https://api.github.com/users/laserdisc-io/events{/privacy}","received_events_url":"https://api.github.com/users/laserdisc-io/received_events","type":"Organization","site_admin":false},"repo":{"id":210607818,"node_id":"MDEwOlJlcG9zaXRvcnkyMTA2MDc4MTg=","name":"eisner","full_name":"laserdisc-io/eisner","private":false,"owner":{"login":"laserdisc-io","id":39946901,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5OTQ2OTAx","avatar_url":"https://avatars.githubusercontent.com/u/39946901?v=4","gravatar_id":"","url":"https://api.github.com/users/laserdisc-io","html_url":"https://github.com/laserdisc-io","followers_url":"https://api.github.com/users/laserdisc-io/followers","following_url":"https://api.github.com/users/laserdisc-io/following{/other_user}","gists_url":"https://api.github.com/users/laserdisc-io/gists{/gist_id}","starred_url":"https://api.github.com/users/laserdisc-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laserdisc-io/subscriptions","organizations_url":"https://api.github.com/users/laserdisc-io/orgs","repos_url":"https://api.github.com/users/laserdisc-io/repos","events_url":"https://api.github.com/users/laserdisc-io/events{/privacy}","received_events_url":"https://api.github.com/users/laserdisc-io/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/laserdisc-io/eisner","description":"Kafka (Streams' topologies) translator","fork":false,"url":"https://api.github.com/repos/laserdisc-io/eisner","forks_url":"https://api.github.com/repos/laserdisc-io/eisner/forks","keys_url":"https://api.github.com/repos/laserdisc-io/eisner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/laserdisc-io/eisner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/laserdisc-io/eisner/teams","hooks_url":"https://api.github.com/repos/laserdisc-io/eisner/hooks","issue_events_url":"https://api.github.com/repos/laserdisc-io/eisner/issues/events{/number}","events_url":"https://api.github.com/repos/laserdisc-io/eisner/events","assignees_url":"https://api.github.com/repos/laserdisc-io/eisner/assignees{/user}","branches_url":"https://api.github.com/repos/laserdisc-io/eisner/branches{/branch}","tags_url":"https://api.github.com/repos/laserdisc-io/eisner/tags","blobs_url":"https://api.github.com/repos/laserdisc-io/eisner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/laserdisc-io/eisner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/laserdisc-io/eisner/git/refs{/sha}","trees_url":"https://api.github.com/repos/laserdisc-io/eisner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/laserdisc-io/eisner/statuses/{sha}","languages_url":"https://api.github.com/repos/laserdisc-io/eisner/languages","stargazers_url":"https://api.github.com/repos/laserdisc-io/eisner/stargazers","contributors_url":"https://api.github.com/repos/laserdisc-io/eisner/contributors","subscribers_url":"https://api.github.com/repos/laserdisc-io/eisner/subscribers","subscription_url":"https://api.github.com/repos/laserdisc-io/eisner/subscription","commits_url":"https://api.github.com/repos/laserdisc-io/eisner/commits{/sha}","git_commits_url":"https://api.github.com/repos/laserdisc-io/eisner/git/commits{/sha}","comments_url":"https://api.github.com/repos/laserdisc-io/eisner/comments{/number}","issue_comment_url":"https://api.github.com/repos/laserdisc-io/eisner/issues/comments{/number}","contents_url":"https://api.github.com/repos/laserdisc-io/eisner/contents/{+path}","compare_url":"https://api.github.com/repos/laserdisc-io/eisner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/laserdisc-io/eisner/merges","archive_url":"https://api.github.com/repos/laserdisc-io/eisner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/laserdisc-io/eisner/downloads","issues_url":"https://api.github.com/repos/laserdisc-io/eisner/issues{/number}","pulls_url":"https://api.github.com/repos/laserdisc-io/eisner/pulls{/number}","milestones_url":"https://api.github.com/repos/laserdisc-io/eisner/milestones{/number}","notifications_url":"https://api.github.com/repos/laserdisc-io/eisner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/laserdisc-io/eisner/labels{/name}","releases_url":"https://api.github.com/repos/laserdisc-io/eisner/releases{/id}","deployments_url":"https://api.github.com/repos/laserdisc-io/eisner/deployments","created_at":"2019-09-24T13:18:27Z","updated_at":"2021-12-25T07:40:54Z","pushed_at":"2021-12-29T13:14:43Z","git_url":"git://github.com/laserdisc-io/eisner.git","ssh_url":"git@github.com:laserdisc-io/eisner.git","clone_url":"https://github.com/laserdisc-io/eisner.git","svn_url":"https://github.com/laserdisc-io/eisner","homepage":null,"size":21352,"stargazers_count":3,"watchers_count":3,"language":"Scala","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":5,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":["kafka","kafka-streams","sbt-plugin","topologies"],"visibility":"public","forks":5,"open_issues":5,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166"},"html":{"href":"https://github.com/laserdisc-io/eisner/pull/166"},"issue":{"href":"https://api.github.com/repos/laserdisc-io/eisner/issues/166"},"comments":{"href":"https://api.github.com/repos/laserdisc-io/eisner/issues/166/comments"},"review_comments":{"href":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166/comments"},"review_comment":{"href":"https://api.github.com/repos/laserdisc-io/eisner/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/laserdisc-io/eisner/pulls/166/commits"},"statuses":{"href":"https://api.github.com/repos/laserdisc-io/eisner/statuses/5c5f07fa543683da01affbf0f9a91566f8fc5317"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":1,"deletions":1,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":39946901,"login":"laserdisc-io","gravatar_id":"","url":"https://api.github.com/orgs/laserdisc-io","avatar_url":"https://avatars.githubusercontent.com/u/39946901?"}} +{"id":"19546596200","type":"CreateEvent","actor":{"id":96962948,"login":"Lesoliel21","display_login":"Lesoliel21","gravatar_id":"","url":"https://api.github.com/users/Lesoliel21","avatar_url":"https://avatars.githubusercontent.com/u/96962948?"},"repo":{"id":443654628,"name":"Lesoliel21/Lesoliel21","url":"https://api.github.com/repos/Lesoliel21/Lesoliel21"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Config files for my GitHub profile.","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596205","type":"PushEvent","actor":{"id":474248,"login":"robin-drexler","display_login":"robin-drexler","gravatar_id":"","url":"https://api.github.com/users/robin-drexler","avatar_url":"https://avatars.githubusercontent.com/u/474248?"},"repo":{"id":440955516,"name":"robin-drexler/robin-drexler.com-svelte","url":"https://api.github.com/repos/robin-drexler/robin-drexler.com-svelte"},"payload":{"push_id":8735901338,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"19a891fa6390b96daad7890ed184493d582b1662","before":"e7012153efb7b0d68a9b24e00e69c1f71a79f4e6","commits":[{"sha":"19a891fa6390b96daad7890ed184493d582b1662","author":{"email":"drexler.robin@gmail.com","name":"Robin Drexler"},"message":"fixes and new post","distinct":true,"url":"https://api.github.com/repos/robin-drexler/robin-drexler.com-svelte/commits/19a891fa6390b96daad7890ed184493d582b1662"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596214","type":"PushEvent","actor":{"id":95848666,"login":"libaibaibaia","display_login":"libaibaibaia","gravatar_id":"","url":"https://api.github.com/users/libaibaibaia","avatar_url":"https://avatars.githubusercontent.com/u/95848666?"},"repo":{"id":443610925,"name":"libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657","url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657"},"payload":{"push_id":8735901337,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7eab30fd9f9ecaa2e48a182e6c4b1a47031d2c35","before":"bdc5187efe304744d101d07fe54c436b065fd61c","commits":[{"sha":"7eab30fd9f9ecaa2e48a182e6c4b1a47031d2c35","author":{"email":"95848666+libaibaibaia@users.noreply.github.com","name":"libaibaibaia"},"message":"upload file 293fdae9e24ed223f7b80980f6216ebd74b048c1498ed98095402726911a03f6a32000b6d6a8c7a02dfbc4ee29951c15af60bfaf7fb0fc5e974dd20e17dbcc9cvideo_965_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657/commits/7eab30fd9f9ecaa2e48a182e6c4b1a47031d2c35"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596215","type":"CreateEvent","actor":{"id":85763577,"login":"designergal3002","display_login":"designergal3002","gravatar_id":"","url":"https://api.github.com/users/designergal3002","avatar_url":"https://avatars.githubusercontent.com/u/85763577?"},"repo":{"id":443654629,"name":"designergal3002/Tableau-Challenge-Citi-Bike-Analytics","url":"https://api.github.com/repos/designergal3002/Tableau-Challenge-Citi-Bike-Analytics"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596216","type":"PushEvent","actor":{"id":96464003,"login":"zhouqn3","display_login":"zhouqn3","gravatar_id":"","url":"https://api.github.com/users/zhouqn3","avatar_url":"https://avatars.githubusercontent.com/u/96464003?"},"repo":{"id":443627392,"name":"zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3","url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3"},"payload":{"push_id":8735901340,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4bf38fed5a2a20693a9359c6670d9541624dfa91","before":"9e86b738ae68ced352b20d9fd0f187e04e613b78","commits":[{"sha":"4bf38fed5a2a20693a9359c6670d9541624dfa91","author":{"email":"96464003+zhouqn3@users.noreply.github.com","name":"zhouqn3"},"message":"upload file f7e0cbd7f2b2d1615e02e70c7ae2e8179799e99122b5cf8ae5405a027598980e41ba338d4d23ab204fdd360b9dcc5243video_583_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3/commits/4bf38fed5a2a20693a9359c6670d9541624dfa91"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596220","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901346,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a20a03b718b82dfd33b7efb9a46bf69b164fe75c","before":"81fafc0d5b6539972519cd92fdddcfda7965981c","commits":[{"sha":"a20a03b718b82dfd33b7efb9a46bf69b164fe75c","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update editor-pickup_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/a20a03b718b82dfd33b7efb9a46bf69b164fe75c"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596222","type":"PushEvent","actor":{"id":13169656,"login":"kylmcgr","display_login":"kylmcgr","gravatar_id":"","url":"https://api.github.com/users/kylmcgr","avatar_url":"https://avatars.githubusercontent.com/u/13169656?"},"repo":{"id":278234389,"name":"kylmcgr/Surgical-Risk-Calculator-SURF","url":"https://api.github.com/repos/kylmcgr/Surgical-Risk-Calculator-SURF"},"payload":{"push_id":8735901347,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"3dbe04eabd349adf0038767d299caba6fab42693","before":"3b9cdb6617b06ca5d5e1c77e775c0d520e482cf6","commits":[{"sha":"f0293c2fee0fe70b59db0ce5b106de3c17546e12","author":{"email":"kmcgraw@caltech.edu","name":"kmcgraw"},"message":"pre-imputation commit, nas deleted, possibly other changes from before that I forgot to commit oops","distinct":true,"url":"https://api.github.com/repos/kylmcgr/Surgical-Risk-Calculator-SURF/commits/f0293c2fee0fe70b59db0ce5b106de3c17546e12"},{"sha":"3dbe04eabd349adf0038767d299caba6fab42693","author":{"email":"kmcgraw@caltech.edu","name":"kmcgraw"},"message":"imputation","distinct":true,"url":"https://api.github.com/repos/kylmcgr/Surgical-Risk-Calculator-SURF/commits/3dbe04eabd349adf0038767d299caba6fab42693"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596223","type":"PushEvent","actor":{"id":65566012,"login":"Minecodes","display_login":"Minecodes","gravatar_id":"","url":"https://api.github.com/users/Minecodes","avatar_url":"https://avatars.githubusercontent.com/u/65566012?"},"repo":{"id":276891242,"name":"Minecodes/Minecodes","url":"https://api.github.com/repos/Minecodes/Minecodes"},"payload":{"push_id":8735901343,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7f35072396fe542fbec7a6c4e6b3034ad59ab9a6","before":"9bb4f2985f3616cec18f873bdbc59cc1cfd12529","commits":[{"sha":"7f35072396fe542fbec7a6c4e6b3034ad59ab9a6","author":{"email":"github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"chore: autopublish 2022-01-02T00:59:59Z","distinct":true,"url":"https://api.github.com/repos/Minecodes/Minecodes/commits/7f35072396fe542fbec7a6c4e6b3034ad59ab9a6"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596224","type":"PushEvent","actor":{"id":59287916,"login":"salvacmp","display_login":"salvacmp","gravatar_id":"","url":"https://api.github.com/users/salvacmp","avatar_url":"https://avatars.githubusercontent.com/u/59287916?"},"repo":{"id":316514887,"name":"dsmgid/status","url":"https://api.github.com/repos/dsmgid/status"},"payload":{"push_id":8735901355,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"d56be10896c248b4124bec422155116b10348722","before":"a3c6fabf24a7e3bb1824cd5afeb3ec8dc6739cdd","commits":[{"sha":"efc9b45709f063a5b6f7c16afd27cf72858102a5","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/dsmgid/status/commits/efc9b45709f063a5b6f7c16afd27cf72858102a5"},{"sha":"d56be10896c248b4124bec422155116b10348722","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/dsmgid/status/commits/d56be10896c248b4124bec422155116b10348722"}]},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":65608061,"login":"dsmgid","gravatar_id":"","url":"https://api.github.com/orgs/dsmgid","avatar_url":"https://avatars.githubusercontent.com/u/65608061?"}} +{"id":"19546596225","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":402597875,"name":"aaugvsto/aaugvsto","url":"https://api.github.com/repos/aaugvsto/aaugvsto"},"payload":{"push_id":8735901350,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"b08958148fd6b7d296ef6ed27548ac08b4e5a58a","before":"35a0515345dedf90032b8dc4fb1a8eb5fee5b65a","commits":[{"sha":"b08958148fd6b7d296ef6ed27548ac08b4e5a58a","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/aaugvsto/aaugvsto/commits/b08958148fd6b7d296ef6ed27548ac08b4e5a58a"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596228","type":"CreateEvent","actor":{"id":55277160,"login":"gitlocalize-app[bot]","display_login":"gitlocalize-app","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app[bot]","avatar_url":"https://avatars.githubusercontent.com/u/55277160?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"ref":"gitlocalize-17748","ref_type":"branch","master_branch":"develop","description":"A OneBlock Minecraft Game for BentoBox","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546596229","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":340782702,"name":"jasoncartwright/bbcrss","url":"https://api.github.com/repos/jasoncartwright/bbcrss"},"payload":{"push_id":8735901351,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"543aa3c6df35e514d58cb8635e3c650f9bc039ac","before":"c5d32fcacdbb42553942ed2f506afaad62236428","commits":[{"sha":"543aa3c6df35e514d58cb8635e3c650f9bc039ac","author":{"email":"actions@users.noreply.github.com","name":"Automated"},"message":"Latest RSS: Sun Jan 2 00:59:58 UTC 2022","distinct":true,"url":"https://api.github.com/repos/jasoncartwright/bbcrss/commits/543aa3c6df35e514d58cb8635e3c650f9bc039ac"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596230","type":"PushEvent","actor":{"id":74815888,"login":"Jonathan0827","display_login":"Jonathan0827","gravatar_id":"","url":"https://api.github.com/users/Jonathan0827","avatar_url":"https://avatars.githubusercontent.com/u/74815888?"},"repo":{"id":443654264,"name":"Jonathan0827/Jonathan0827","url":"https://api.github.com/repos/Jonathan0827/Jonathan0827"},"payload":{"push_id":8735901342,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3ec07dee511dd92ec4ab7d2a1cb36346ca57eaac","before":"9803e5f44edb54e7e55a04587014a7ef46138df7","commits":[{"sha":"3ec07dee511dd92ec4ab7d2a1cb36346ca57eaac","author":{"email":"limjunehyeop@gmail.com","name":"Patnekuv Ros (Junhyeop Lim)"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/Jonathan0827/Jonathan0827/commits/3ec07dee511dd92ec4ab7d2a1cb36346ca57eaac"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596234","type":"WatchEvent","actor":{"id":13166956,"login":"lvlinkeji","display_login":"lvlinkeji","gravatar_id":"","url":"https://api.github.com/users/lvlinkeji","avatar_url":"https://avatars.githubusercontent.com/u/13166956?"},"repo":{"id":407897164,"name":"Gxuezha/mooncake","url":"https://api.github.com/repos/Gxuezha/mooncake"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596237","type":"PushEvent","actor":{"id":19498974,"login":"sentairanger","display_login":"sentairanger","gravatar_id":"","url":"https://api.github.com/users/sentairanger","avatar_url":"https://avatars.githubusercontent.com/u/19498974?"},"repo":{"id":443435975,"name":"sentairanger/Django-DualRobot-Monitoring","url":"https://api.github.com/repos/sentairanger/Django-DualRobot-Monitoring"},"payload":{"push_id":8735901354,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b91001945c25a08e8f751e3a88ab5b3042ef001e","before":"628c8a1aef6da16b4a93bf4279b1dbdf1e2d8d8b","commits":[{"sha":"b91001945c25a08e8f751e3a88ab5b3042ef001e","author":{"email":"ed2point0@gmail.com","name":"sentairanger"},"message":"Delete dualrobot/dualrobotapp/migrations/__pycache__ directory","distinct":true,"url":"https://api.github.com/repos/sentairanger/Django-DualRobot-Monitoring/commits/b91001945c25a08e8f751e3a88ab5b3042ef001e"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596238","type":"PullRequestEvent","actor":{"id":77266078,"login":"PhenYonathan","display_login":"PhenYonathan","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","avatar_url":"https://avatars.githubusercontent.com/u/77266078?"},"repo":{"id":433986559,"name":"PhenYonathan/ProjetGSB-v001","url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001"},"payload":{"action":"opened","number":6,"pull_request":{"url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6","id":812662832,"node_id":"PR_kwDOGd4b_84wcEAw","html_url":"https://github.com/PhenYonathan/ProjetGSB-v001/pull/6","diff_url":"https://github.com/PhenYonathan/ProjetGSB-v001/pull/6.diff","patch_url":"https://github.com/PhenYonathan/ProjetGSB-v001/pull/6.patch","issue_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/6","number":6,"state":"open","locked":false,"title":"Add medic","user":{"login":"PhenYonathan","id":77266078,"node_id":"MDQ6VXNlcjc3MjY2MDc4","avatar_url":"https://avatars.githubusercontent.com/u/77266078?v=4","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","html_url":"https://github.com/PhenYonathan","followers_url":"https://api.github.com/users/PhenYonathan/followers","following_url":"https://api.github.com/users/PhenYonathan/following{/other_user}","gists_url":"https://api.github.com/users/PhenYonathan/gists{/gist_id}","starred_url":"https://api.github.com/users/PhenYonathan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PhenYonathan/subscriptions","organizations_url":"https://api.github.com/users/PhenYonathan/orgs","repos_url":"https://api.github.com/users/PhenYonathan/repos","events_url":"https://api.github.com/users/PhenYonathan/events{/privacy}","received_events_url":"https://api.github.com/users/PhenYonathan/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T01:00:00Z","updated_at":"2022-01-02T01:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6/commits","review_comments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6/comments","review_comment_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/6/comments","statuses_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/statuses/826f14c2d77da59485500026a35d0686f92137ef","head":{"label":"PhenYonathan:addMedic","ref":"addMedic","sha":"826f14c2d77da59485500026a35d0686f92137ef","user":{"login":"PhenYonathan","id":77266078,"node_id":"MDQ6VXNlcjc3MjY2MDc4","avatar_url":"https://avatars.githubusercontent.com/u/77266078?v=4","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","html_url":"https://github.com/PhenYonathan","followers_url":"https://api.github.com/users/PhenYonathan/followers","following_url":"https://api.github.com/users/PhenYonathan/following{/other_user}","gists_url":"https://api.github.com/users/PhenYonathan/gists{/gist_id}","starred_url":"https://api.github.com/users/PhenYonathan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PhenYonathan/subscriptions","organizations_url":"https://api.github.com/users/PhenYonathan/orgs","repos_url":"https://api.github.com/users/PhenYonathan/repos","events_url":"https://api.github.com/users/PhenYonathan/events{/privacy}","received_events_url":"https://api.github.com/users/PhenYonathan/received_events","type":"User","site_admin":false},"repo":{"id":433986559,"node_id":"R_kgDOGd4b_w","name":"ProjetGSB-v001","full_name":"PhenYonathan/ProjetGSB-v001","private":false,"owner":{"login":"PhenYonathan","id":77266078,"node_id":"MDQ6VXNlcjc3MjY2MDc4","avatar_url":"https://avatars.githubusercontent.com/u/77266078?v=4","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","html_url":"https://github.com/PhenYonathan","followers_url":"https://api.github.com/users/PhenYonathan/followers","following_url":"https://api.github.com/users/PhenYonathan/following{/other_user}","gists_url":"https://api.github.com/users/PhenYonathan/gists{/gist_id}","starred_url":"https://api.github.com/users/PhenYonathan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PhenYonathan/subscriptions","organizations_url":"https://api.github.com/users/PhenYonathan/orgs","repos_url":"https://api.github.com/users/PhenYonathan/repos","events_url":"https://api.github.com/users/PhenYonathan/events{/privacy}","received_events_url":"https://api.github.com/users/PhenYonathan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/PhenYonathan/ProjetGSB-v001","description":null,"fork":false,"url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001","forks_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/forks","keys_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/teams","hooks_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/hooks","issue_events_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/events{/number}","events_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/events","assignees_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/assignees{/user}","branches_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/branches{/branch}","tags_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/tags","blobs_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/refs{/sha}","trees_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/statuses/{sha}","languages_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/languages","stargazers_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/stargazers","contributors_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/contributors","subscribers_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/subscribers","subscription_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/subscription","commits_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/commits{/sha}","git_commits_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/commits{/sha}","comments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/comments{/number}","issue_comment_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/comments{/number}","contents_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/contents/{+path}","compare_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/merges","archive_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/downloads","issues_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues{/number}","pulls_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls{/number}","milestones_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/milestones{/number}","notifications_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/labels{/name}","releases_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/releases{/id}","deployments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/deployments","created_at":"2021-12-01T21:12:05Z","updated_at":"2021-12-26T22:30:27Z","pushed_at":"2022-01-02T01:00:00Z","git_url":"git://github.com/PhenYonathan/ProjetGSB-v001.git","ssh_url":"git@github.com:PhenYonathan/ProjetGSB-v001.git","clone_url":"https://github.com/PhenYonathan/ProjetGSB-v001.git","svn_url":"https://github.com/PhenYonathan/ProjetGSB-v001","homepage":null,"size":91,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"Beta"}},"base":{"label":"PhenYonathan:Beta","ref":"Beta","sha":"6eba36f91fafef11c42f4cb612a2c0f4d6a4c8a6","user":{"login":"PhenYonathan","id":77266078,"node_id":"MDQ6VXNlcjc3MjY2MDc4","avatar_url":"https://avatars.githubusercontent.com/u/77266078?v=4","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","html_url":"https://github.com/PhenYonathan","followers_url":"https://api.github.com/users/PhenYonathan/followers","following_url":"https://api.github.com/users/PhenYonathan/following{/other_user}","gists_url":"https://api.github.com/users/PhenYonathan/gists{/gist_id}","starred_url":"https://api.github.com/users/PhenYonathan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PhenYonathan/subscriptions","organizations_url":"https://api.github.com/users/PhenYonathan/orgs","repos_url":"https://api.github.com/users/PhenYonathan/repos","events_url":"https://api.github.com/users/PhenYonathan/events{/privacy}","received_events_url":"https://api.github.com/users/PhenYonathan/received_events","type":"User","site_admin":false},"repo":{"id":433986559,"node_id":"R_kgDOGd4b_w","name":"ProjetGSB-v001","full_name":"PhenYonathan/ProjetGSB-v001","private":false,"owner":{"login":"PhenYonathan","id":77266078,"node_id":"MDQ6VXNlcjc3MjY2MDc4","avatar_url":"https://avatars.githubusercontent.com/u/77266078?v=4","gravatar_id":"","url":"https://api.github.com/users/PhenYonathan","html_url":"https://github.com/PhenYonathan","followers_url":"https://api.github.com/users/PhenYonathan/followers","following_url":"https://api.github.com/users/PhenYonathan/following{/other_user}","gists_url":"https://api.github.com/users/PhenYonathan/gists{/gist_id}","starred_url":"https://api.github.com/users/PhenYonathan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PhenYonathan/subscriptions","organizations_url":"https://api.github.com/users/PhenYonathan/orgs","repos_url":"https://api.github.com/users/PhenYonathan/repos","events_url":"https://api.github.com/users/PhenYonathan/events{/privacy}","received_events_url":"https://api.github.com/users/PhenYonathan/received_events","type":"User","site_admin":false},"html_url":"https://github.com/PhenYonathan/ProjetGSB-v001","description":null,"fork":false,"url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001","forks_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/forks","keys_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/teams","hooks_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/hooks","issue_events_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/events{/number}","events_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/events","assignees_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/assignees{/user}","branches_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/branches{/branch}","tags_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/tags","blobs_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/refs{/sha}","trees_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/statuses/{sha}","languages_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/languages","stargazers_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/stargazers","contributors_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/contributors","subscribers_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/subscribers","subscription_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/subscription","commits_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/commits{/sha}","git_commits_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/git/commits{/sha}","comments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/comments{/number}","issue_comment_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/comments{/number}","contents_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/contents/{+path}","compare_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/merges","archive_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/downloads","issues_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues{/number}","pulls_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls{/number}","milestones_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/milestones{/number}","notifications_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/labels{/name}","releases_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/releases{/id}","deployments_url":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/deployments","created_at":"2021-12-01T21:12:05Z","updated_at":"2021-12-26T22:30:27Z","pushed_at":"2022-01-02T01:00:00Z","git_url":"git://github.com/PhenYonathan/ProjetGSB-v001.git","ssh_url":"git@github.com:PhenYonathan/ProjetGSB-v001.git","clone_url":"https://github.com/PhenYonathan/ProjetGSB-v001.git","svn_url":"https://github.com/PhenYonathan/ProjetGSB-v001","homepage":null,"size":91,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":0,"default_branch":"Beta"}},"_links":{"self":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6"},"html":{"href":"https://github.com/PhenYonathan/ProjetGSB-v001/pull/6"},"issue":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/6"},"comments":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/PhenYonathan/ProjetGSB-v001/statuses/826f14c2d77da59485500026a35d0686f92137ef"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":3,"additions":78,"deletions":11,"changed_files":27}},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596243","type":"IssueCommentEvent","actor":{"id":93990818,"login":"Madouura","display_login":"Madouura","gravatar_id":"","url":"https://api.github.com/users/Madouura","avatar_url":"https://avatars.githubusercontent.com/u/93990818?"},"repo":{"id":4542716,"name":"NixOS/nixpkgs","url":"https://api.github.com/repos/NixOS/nixpkgs"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171","repository_url":"https://api.github.com/repos/NixOS/nixpkgs","labels_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171/labels{/name}","comments_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171/comments","events_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171/events","html_url":"https://github.com/NixOS/nixpkgs/pull/152171","id":1088685684,"node_id":"PR_kwDOAEVQ_M4wRusc","number":152171,"title":"looking-glass-client: B4 -> B5.0.1","user":{"login":"babbaj","id":12820770,"node_id":"MDQ6VXNlcjEyODIwNzcw","avatar_url":"https://avatars.githubusercontent.com/u/12820770?v=4","gravatar_id":"","url":"https://api.github.com/users/babbaj","html_url":"https://github.com/babbaj","followers_url":"https://api.github.com/users/babbaj/followers","following_url":"https://api.github.com/users/babbaj/following{/other_user}","gists_url":"https://api.github.com/users/babbaj/gists{/gist_id}","starred_url":"https://api.github.com/users/babbaj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/babbaj/subscriptions","organizations_url":"https://api.github.com/users/babbaj/orgs","repos_url":"https://api.github.com/users/babbaj/repos","events_url":"https://api.github.com/users/babbaj/events{/privacy}","received_events_url":"https://api.github.com/users/babbaj/received_events","type":"User","site_admin":false},"labels":[{"id":731734101,"node_id":"MDU6TGFiZWw3MzE3MzQxMDE=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-linux:%2011-100","name":"10.rebuild-linux: 11-100","color":"fbca04","default":false,"description":null},{"id":737642262,"node_id":"MDU6TGFiZWw3Mzc2NDIyNjI=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-darwin:%200","name":"10.rebuild-darwin: 0","color":"eeffee","default":false,"description":null},{"id":740714914,"node_id":"MDU6TGFiZWw3NDA3MTQ5MTQ=","url":"https://api.github.com/repos/NixOS/nixpkgs/labels/11.by:%20package-maintainer","name":"11.by: package-maintainer","color":"ddeecc","default":false,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2021-12-26T02:16:21Z","updated_at":"2022-01-02T01:00:00Z","closed_at":"2022-01-01T23:06:45Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/NixOS/nixpkgs/pulls/152171","html_url":"https://github.com/NixOS/nixpkgs/pull/152171","diff_url":"https://github.com/NixOS/nixpkgs/pull/152171.diff","patch_url":"https://github.com/NixOS/nixpkgs/pull/152171.patch","merged_at":"2022-01-01T23:06:45Z"},"body":"\r\n\r\n###### Motivation for this change\r\n\r\nhttps://www.patreon.com/posts/looking-glass-5-60336916\r\n###### Things done\r\n\r\n\r\n\r\n- Built on platform(s)\r\n - [x] x86_64-linux\r\n - [ ] aarch64-linux\r\n - [ ] x86_64-darwin\r\n - [ ] aarch64-darwin\r\n- [ ] For non-Linux: Is `sandbox = true` set in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))\r\n- [ ] Tested, as applicable:\r\n - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))\r\n - and/or [package tests](https://nixos.org/manual/nixpkgs/unstable/#sec-package-tests)\r\n - or, for functions and \"core\" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)\r\n - made sure NixOS tests are [linked](https://nixos.org/manual/nixpkgs/unstable/#ssec-nixos-tests-linking) to the relevant packages\r\n- [ ] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run \"nixpkgs-review rev HEAD\"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)\r\n- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)\r\n- [22.05 Release Notes (or backporting 21.11 Release notes)](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#generating-2205-release-notes)\r\n - [ ] (Package updates) Added a release notes entry if the change is major or breaking\r\n - [ ] (Module updates) Added a release notes entry if the change is significant\r\n - [ ] (Module addition) Added a release notes entry if adding a new NixOS module\r\n - [ ] (Release notes changes) Ran `nixos/doc/manual/md-to-db.sh` to update generated release notes\r\n- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).\r\n","reactions":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/1003644258","html_url":"https://github.com/NixOS/nixpkgs/pull/152171#issuecomment-1003644258","issue_url":"https://api.github.com/repos/NixOS/nixpkgs/issues/152171","id":1003644258,"node_id":"IC_kwDOAEVQ_M470mVi","user":{"login":"Madouura","id":93990818,"node_id":"U_kgDOBZovog","avatar_url":"https://avatars.githubusercontent.com/u/93990818?v=4","gravatar_id":"","url":"https://api.github.com/users/Madouura","html_url":"https://github.com/Madouura","followers_url":"https://api.github.com/users/Madouura/followers","following_url":"https://api.github.com/users/Madouura/following{/other_user}","gists_url":"https://api.github.com/users/Madouura/gists{/gist_id}","starred_url":"https://api.github.com/users/Madouura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Madouura/subscriptions","organizations_url":"https://api.github.com/users/Madouura/orgs","repos_url":"https://api.github.com/users/Madouura/repos","events_url":"https://api.github.com/users/Madouura/events{/privacy}","received_events_url":"https://api.github.com/users/Madouura/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:00Z","updated_at":"2022-01-02T01:00:00Z","author_association":"CONTRIBUTOR","body":"I'm not entirely sure.\r\n@symphorien could you elaborate?","reactions":{"url":"https://api.github.com/repos/NixOS/nixpkgs/issues/comments/1003644258/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":487568,"login":"NixOS","gravatar_id":"","url":"https://api.github.com/orgs/NixOS","avatar_url":"https://avatars.githubusercontent.com/u/487568?"}} +{"id":"19546596236","type":"PushEvent","actor":{"id":13621271,"login":"ChameleonTartu","display_login":"ChameleonTartu","gravatar_id":"","url":"https://api.github.com/users/ChameleonTartu","avatar_url":"https://avatars.githubusercontent.com/u/13621271?"},"repo":{"id":356867737,"name":"ChameleonTartu/buymeacoffee-repo-stats","url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats"},"payload":{"push_id":8735901356,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"fa00d518e6d7c1c3c46d0c57377f9a92fc47f302","before":"3691396d91b09d10d90f402600f4ed718dbb5c4d","commits":[{"sha":"b00ccb47e0a9bf6143a3070395a095f65f8b9e30","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: snap 01-02-0058-795D for ChameleonTartu/itt8060","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/b00ccb47e0a9bf6143a3070395a095f65f8b9e30"},{"sha":"db8430619a0bc7e89b60959450c70ab26f466bf3","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: vc agg 01-02-0058-795D for ChameleonTartu/itt8060","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/db8430619a0bc7e89b60959450c70ab26f466bf3"},{"sha":"52dc2125541ba75504dce9b998be17c75020beb4","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: report 01-02-0058-795D for ChameleonTartu/itt8060","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/52dc2125541ba75504dce9b998be17c75020beb4"},{"sha":"11881016f70b90d7df0ee57446e53c8f2d93dbf5","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/11881016f70b90d7df0ee57446e53c8f2d93dbf5"},{"sha":"fa00d518e6d7c1c3c46d0c57377f9a92fc47f302","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/fa00d518e6d7c1c3c46d0c57377f9a92fc47f302"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596241","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":321643070,"name":"fearricepudding/FEARricepudding","url":"https://api.github.com/repos/fearricepudding/FEARricepudding"},"payload":{"push_id":8735901348,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c828f7ffc1eb33b609db7885aa20399c3e0b482a","before":"85484d089bd010cfd2f4b5f513ae254b5de2040e","commits":[{"sha":"c828f7ffc1eb33b609db7885aa20399c3e0b482a","author":{"email":"fearricepudding@users.noreply.github.com","name":"fearricepudding"},"message":"Update generated README","distinct":true,"url":"https://api.github.com/repos/fearricepudding/FEARricepudding/commits/c828f7ffc1eb33b609db7885aa20399c3e0b482a"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596244","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":379123335,"name":"Kirrito-k423/starter-academic","url":"https://api.github.com/repos/Kirrito-k423/starter-academic"},"payload":{"push_id":8735901364,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6286b724914544e1f66a15bd64c808e589b296e0","before":"1ad9bad5c21a9801c33ca1125e51d39a5bdb026a","commits":[{"sha":"6286b724914544e1f66a15bd64c808e589b296e0","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"docs: update","distinct":true,"url":"https://api.github.com/repos/Kirrito-k423/starter-academic/commits/6286b724914544e1f66a15bd64c808e589b296e0"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596246","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":405500407,"name":"NickTCorrea/NickTCorrea","url":"https://api.github.com/repos/NickTCorrea/NickTCorrea"},"payload":{"push_id":8735901361,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"d6092997a414ba3806b238c8b0a1e069004a2531","before":"d41971a59f957125503aae9c0009b5025ab0ccfa","commits":[{"sha":"d6092997a414ba3806b238c8b0a1e069004a2531","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/NickTCorrea/NickTCorrea/commits/d6092997a414ba3806b238c8b0a1e069004a2531"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596247","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":325458985,"name":"brandur/qself-brandur","url":"https://api.github.com/repos/brandur/qself-brandur"},"payload":{"push_id":8735901362,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"46287f703b0469deb340fba5feaafaa13113d2c5","before":"e433be768afae689b1e2aad8fa2bce84c7477efa","commits":[{"sha":"46287f703b0469deb340fba5feaafaa13113d2c5","author":{"email":"actions@users.noreply.github.com","name":"README-bot"},"message":"Automatic update from GitHub Action","distinct":true,"url":"https://api.github.com/repos/brandur/qself-brandur/commits/46287f703b0469deb340fba5feaafaa13113d2c5"}]},"public":true,"created_at":"2022-01-02T01:00:00Z"} +{"id":"19546596248","type":"PullRequestReviewEvent","actor":{"id":65033249,"login":"TendTo","display_login":"TendTo","gravatar_id":"","url":"https://api.github.com/users/TendTo","avatar_url":"https://avatars.githubusercontent.com/u/65033249?"},"repo":{"id":156257668,"name":"UNICT-DMI/Telegram-SpottedDMI-Bot","url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot"},"payload":{"action":"created","review":{"id":842371145,"node_id":"PRR_kwDOCVBNhM4yNZBJ","user":{"login":"TendTo","id":65033249,"node_id":"MDQ6VXNlcjY1MDMzMjQ5","avatar_url":"https://avatars.githubusercontent.com/u/65033249?v=4","gravatar_id":"","url":"https://api.github.com/users/TendTo","html_url":"https://github.com/TendTo","followers_url":"https://api.github.com/users/TendTo/followers","following_url":"https://api.github.com/users/TendTo/following{/other_user}","gists_url":"https://api.github.com/users/TendTo/gists{/gist_id}","starred_url":"https://api.github.com/users/TendTo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TendTo/subscriptions","organizations_url":"https://api.github.com/users/TendTo/orgs","repos_url":"https://api.github.com/users/TendTo/repos","events_url":"https://api.github.com/users/TendTo/events{/privacy}","received_events_url":"https://api.github.com/users/TendTo/received_events","type":"User","site_admin":false},"body":"","commit_id":"1eda523f20022a79a94ed1dfbe99373877d1b0ac","submitted_at":"2022-01-02T01:00:00Z","state":"changes_requested","html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69#pullrequestreview-842371145","pull_request_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69","author_association":"MEMBER","_links":{"html":{"href":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69#pullrequestreview-842371145"},"pull_request":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69"}}},"pull_request":{"url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69","id":812623719,"node_id":"PR_kwDOCVBNhM4wb6dn","html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69","diff_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69.diff","patch_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69.patch","issue_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69","number":69,"state":"open","locked":false,"title":"feat: add anon credits on comments and fix anon comments on supergroup","user":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T19:26:04Z","updated_at":"2022-01-02T01:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"310d2679f6ac5b7dbb322273cf18145d23f5dfad","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/commits","review_comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/comments","review_comment_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69/comments","statuses_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/e0fcf18174a5be34570a36ce77de93fc205b52e2","head":{"label":"drendog:anon-credits-on-comments","ref":"anon-credits-on-comments","sha":"e0fcf18174a5be34570a36ce77de93fc205b52e2","user":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"repo":{"id":354416288,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0MTYyODg=","name":"Telegram-SpottedDMI-Bot","full_name":"drendog/Telegram-SpottedDMI-Bot","private":false,"owner":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"html_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot","description":"Telegram-SpottedDMI-Bot is the platform that powers @Spotted_DMI_Bot, a Telegram bot that let students send an anonymous message to the channel community.","fork":true,"url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot","forks_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/forks","keys_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/teams","hooks_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/hooks","issue_events_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/events","assignees_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/tags","blobs_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/languages","stargazers_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/stargazers","contributors_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/contributors","subscribers_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/subscribers","subscription_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/subscription","commits_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/merges","archive_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/downloads","issues_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/labels{/name}","releases_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/deployments","created_at":"2021-04-03T23:35:48Z","updated_at":"2021-12-31T14:23:07Z","pushed_at":"2022-01-01T23:55:55Z","git_url":"git://github.com/drendog/Telegram-SpottedDMI-Bot.git","ssh_url":"git@github.com:drendog/Telegram-SpottedDMI-Bot.git","clone_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot.git","svn_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot","homepage":"https://unict-dmi.github.io/Telegram-SpottedDMI-Bot/","size":6977,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"upgrade"}},"base":{"label":"UNICT-DMI:upgrade","ref":"upgrade","sha":"ecd95d233ef7a6f1ce426f8477e4b431d07517ee","user":{"login":"UNICT-DMI","id":25122687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1MTIyNjg3","avatar_url":"https://avatars.githubusercontent.com/u/25122687?v=4","gravatar_id":"","url":"https://api.github.com/users/UNICT-DMI","html_url":"https://github.com/UNICT-DMI","followers_url":"https://api.github.com/users/UNICT-DMI/followers","following_url":"https://api.github.com/users/UNICT-DMI/following{/other_user}","gists_url":"https://api.github.com/users/UNICT-DMI/gists{/gist_id}","starred_url":"https://api.github.com/users/UNICT-DMI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UNICT-DMI/subscriptions","organizations_url":"https://api.github.com/users/UNICT-DMI/orgs","repos_url":"https://api.github.com/users/UNICT-DMI/repos","events_url":"https://api.github.com/users/UNICT-DMI/events{/privacy}","received_events_url":"https://api.github.com/users/UNICT-DMI/received_events","type":"Organization","site_admin":false},"repo":{"id":156257668,"node_id":"MDEwOlJlcG9zaXRvcnkxNTYyNTc2Njg=","name":"Telegram-SpottedDMI-Bot","full_name":"UNICT-DMI/Telegram-SpottedDMI-Bot","private":false,"owner":{"login":"UNICT-DMI","id":25122687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1MTIyNjg3","avatar_url":"https://avatars.githubusercontent.com/u/25122687?v=4","gravatar_id":"","url":"https://api.github.com/users/UNICT-DMI","html_url":"https://github.com/UNICT-DMI","followers_url":"https://api.github.com/users/UNICT-DMI/followers","following_url":"https://api.github.com/users/UNICT-DMI/following{/other_user}","gists_url":"https://api.github.com/users/UNICT-DMI/gists{/gist_id}","starred_url":"https://api.github.com/users/UNICT-DMI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UNICT-DMI/subscriptions","organizations_url":"https://api.github.com/users/UNICT-DMI/orgs","repos_url":"https://api.github.com/users/UNICT-DMI/repos","events_url":"https://api.github.com/users/UNICT-DMI/events{/privacy}","received_events_url":"https://api.github.com/users/UNICT-DMI/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot","description":"Telegram-SpottedDMI-Bot is the platform that powers @Spotted_DMI_Bot, a Telegram bot that let students send an anonymous message to the channel community.","fork":false,"url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot","forks_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/forks","keys_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/teams","hooks_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/hooks","issue_events_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/events","assignees_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/tags","blobs_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/languages","stargazers_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/stargazers","contributors_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/contributors","subscribers_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/subscribers","subscription_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/subscription","commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/merges","archive_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/downloads","issues_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/labels{/name}","releases_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/deployments","created_at":"2018-11-05T17:38:17Z","updated_at":"2021-12-29T12:52:19Z","pushed_at":"2022-01-01T23:55:56Z","git_url":"git://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot.git","ssh_url":"git@github.com:UNICT-DMI/Telegram-SpottedDMI-Bot.git","clone_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot.git","svn_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot","homepage":"https://unict-dmi.github.io/Telegram-SpottedDMI-Bot/","size":8687,"stargazers_count":11,"watchers_count":11,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":8,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":8,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":["docker","hacktoberfest","python3","sqlite","telegram","telegram-bot"],"visibility":"public","forks":8,"open_issues":8,"watchers":11,"default_branch":"upgrade"}},"_links":{"self":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69"},"html":{"href":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69"},"issue":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69"},"comments":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69/comments"},"review_comments":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/comments"},"review_comment":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/commits"},"statuses":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/e0fcf18174a5be34570a36ce77de93fc205b52e2"}},"author_association":"MEMBER","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":25122687,"login":"UNICT-DMI","gravatar_id":"","url":"https://api.github.com/orgs/UNICT-DMI","avatar_url":"https://avatars.githubusercontent.com/u/25122687?"}} +{"id":"19546596249","type":"PullRequestReviewEvent","actor":{"id":65033249,"login":"TendTo","display_login":"TendTo","gravatar_id":"","url":"https://api.github.com/users/TendTo","avatar_url":"https://avatars.githubusercontent.com/u/65033249?"},"repo":{"id":156257668,"name":"UNICT-DMI/Telegram-SpottedDMI-Bot","url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot"},"payload":{"action":"created","review":{"id":842371145,"node_id":"PRR_kwDOCVBNhM4yNZBJ","user":{"login":"TendTo","id":65033249,"node_id":"MDQ6VXNlcjY1MDMzMjQ5","avatar_url":"https://avatars.githubusercontent.com/u/65033249?v=4","gravatar_id":"","url":"https://api.github.com/users/TendTo","html_url":"https://github.com/TendTo","followers_url":"https://api.github.com/users/TendTo/followers","following_url":"https://api.github.com/users/TendTo/following{/other_user}","gists_url":"https://api.github.com/users/TendTo/gists{/gist_id}","starred_url":"https://api.github.com/users/TendTo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TendTo/subscriptions","organizations_url":"https://api.github.com/users/TendTo/orgs","repos_url":"https://api.github.com/users/TendTo/repos","events_url":"https://api.github.com/users/TendTo/events{/privacy}","received_events_url":"https://api.github.com/users/TendTo/received_events","type":"User","site_admin":false},"body":"","commit_id":"1eda523f20022a79a94ed1dfbe99373877d1b0ac","submitted_at":"2022-01-02T01:00:00Z","state":"changes_requested","html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69#pullrequestreview-842371145","pull_request_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69","author_association":"MEMBER","_links":{"html":{"href":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69#pullrequestreview-842371145"},"pull_request":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69"}}},"pull_request":{"url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69","id":812623719,"node_id":"PR_kwDOCVBNhM4wb6dn","html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69","diff_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69.diff","patch_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69.patch","issue_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69","number":69,"state":"open","locked":false,"title":"feat: add anon credits on comments and fix anon comments on supergroup","user":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-01T19:26:04Z","updated_at":"2022-01-02T01:00:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"310d2679f6ac5b7dbb322273cf18145d23f5dfad","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/commits","review_comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/comments","review_comment_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69/comments","statuses_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/e0fcf18174a5be34570a36ce77de93fc205b52e2","head":{"label":"drendog:anon-credits-on-comments","ref":"anon-credits-on-comments","sha":"e0fcf18174a5be34570a36ce77de93fc205b52e2","user":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"repo":{"id":354416288,"node_id":"MDEwOlJlcG9zaXRvcnkzNTQ0MTYyODg=","name":"Telegram-SpottedDMI-Bot","full_name":"drendog/Telegram-SpottedDMI-Bot","private":false,"owner":{"login":"drendog","id":53359960,"node_id":"MDQ6VXNlcjUzMzU5OTYw","avatar_url":"https://avatars.githubusercontent.com/u/53359960?v=4","gravatar_id":"","url":"https://api.github.com/users/drendog","html_url":"https://github.com/drendog","followers_url":"https://api.github.com/users/drendog/followers","following_url":"https://api.github.com/users/drendog/following{/other_user}","gists_url":"https://api.github.com/users/drendog/gists{/gist_id}","starred_url":"https://api.github.com/users/drendog/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drendog/subscriptions","organizations_url":"https://api.github.com/users/drendog/orgs","repos_url":"https://api.github.com/users/drendog/repos","events_url":"https://api.github.com/users/drendog/events{/privacy}","received_events_url":"https://api.github.com/users/drendog/received_events","type":"User","site_admin":false},"html_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot","description":"Telegram-SpottedDMI-Bot is the platform that powers @Spotted_DMI_Bot, a Telegram bot that let students send an anonymous message to the channel community.","fork":true,"url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot","forks_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/forks","keys_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/teams","hooks_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/hooks","issue_events_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/events","assignees_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/tags","blobs_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/languages","stargazers_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/stargazers","contributors_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/contributors","subscribers_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/subscribers","subscription_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/subscription","commits_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/merges","archive_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/downloads","issues_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/labels{/name}","releases_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/drendog/Telegram-SpottedDMI-Bot/deployments","created_at":"2021-04-03T23:35:48Z","updated_at":"2021-12-31T14:23:07Z","pushed_at":"2022-01-01T23:55:55Z","git_url":"git://github.com/drendog/Telegram-SpottedDMI-Bot.git","ssh_url":"git@github.com:drendog/Telegram-SpottedDMI-Bot.git","clone_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot.git","svn_url":"https://github.com/drendog/Telegram-SpottedDMI-Bot","homepage":"https://unict-dmi.github.io/Telegram-SpottedDMI-Bot/","size":6977,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"upgrade"}},"base":{"label":"UNICT-DMI:upgrade","ref":"upgrade","sha":"ecd95d233ef7a6f1ce426f8477e4b431d07517ee","user":{"login":"UNICT-DMI","id":25122687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1MTIyNjg3","avatar_url":"https://avatars.githubusercontent.com/u/25122687?v=4","gravatar_id":"","url":"https://api.github.com/users/UNICT-DMI","html_url":"https://github.com/UNICT-DMI","followers_url":"https://api.github.com/users/UNICT-DMI/followers","following_url":"https://api.github.com/users/UNICT-DMI/following{/other_user}","gists_url":"https://api.github.com/users/UNICT-DMI/gists{/gist_id}","starred_url":"https://api.github.com/users/UNICT-DMI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UNICT-DMI/subscriptions","organizations_url":"https://api.github.com/users/UNICT-DMI/orgs","repos_url":"https://api.github.com/users/UNICT-DMI/repos","events_url":"https://api.github.com/users/UNICT-DMI/events{/privacy}","received_events_url":"https://api.github.com/users/UNICT-DMI/received_events","type":"Organization","site_admin":false},"repo":{"id":156257668,"node_id":"MDEwOlJlcG9zaXRvcnkxNTYyNTc2Njg=","name":"Telegram-SpottedDMI-Bot","full_name":"UNICT-DMI/Telegram-SpottedDMI-Bot","private":false,"owner":{"login":"UNICT-DMI","id":25122687,"node_id":"MDEyOk9yZ2FuaXphdGlvbjI1MTIyNjg3","avatar_url":"https://avatars.githubusercontent.com/u/25122687?v=4","gravatar_id":"","url":"https://api.github.com/users/UNICT-DMI","html_url":"https://github.com/UNICT-DMI","followers_url":"https://api.github.com/users/UNICT-DMI/followers","following_url":"https://api.github.com/users/UNICT-DMI/following{/other_user}","gists_url":"https://api.github.com/users/UNICT-DMI/gists{/gist_id}","starred_url":"https://api.github.com/users/UNICT-DMI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UNICT-DMI/subscriptions","organizations_url":"https://api.github.com/users/UNICT-DMI/orgs","repos_url":"https://api.github.com/users/UNICT-DMI/repos","events_url":"https://api.github.com/users/UNICT-DMI/events{/privacy}","received_events_url":"https://api.github.com/users/UNICT-DMI/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot","description":"Telegram-SpottedDMI-Bot is the platform that powers @Spotted_DMI_Bot, a Telegram bot that let students send an anonymous message to the channel community.","fork":false,"url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot","forks_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/forks","keys_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/teams","hooks_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/hooks","issue_events_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/events{/number}","events_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/events","assignees_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/assignees{/user}","branches_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/branches{/branch}","tags_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/tags","blobs_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/refs{/sha}","trees_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/{sha}","languages_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/languages","stargazers_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/stargazers","contributors_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/contributors","subscribers_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/subscribers","subscription_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/subscription","commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/commits{/sha}","git_commits_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/git/commits{/sha}","comments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/comments{/number}","issue_comment_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/comments{/number}","contents_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/contents/{+path}","compare_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/merges","archive_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/downloads","issues_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues{/number}","pulls_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls{/number}","milestones_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/milestones{/number}","notifications_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/labels{/name}","releases_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/releases{/id}","deployments_url":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/deployments","created_at":"2018-11-05T17:38:17Z","updated_at":"2021-12-29T12:52:19Z","pushed_at":"2022-01-01T23:55:56Z","git_url":"git://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot.git","ssh_url":"git@github.com:UNICT-DMI/Telegram-SpottedDMI-Bot.git","clone_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot.git","svn_url":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot","homepage":"https://unict-dmi.github.io/Telegram-SpottedDMI-Bot/","size":8687,"stargazers_count":11,"watchers_count":11,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":8,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":8,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":["docker","hacktoberfest","python3","sqlite","telegram","telegram-bot"],"visibility":"public","forks":8,"open_issues":8,"watchers":11,"default_branch":"upgrade"}},"_links":{"self":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69"},"html":{"href":"https://github.com/UNICT-DMI/Telegram-SpottedDMI-Bot/pull/69"},"issue":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69"},"comments":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/issues/69/comments"},"review_comments":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/comments"},"review_comment":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/pulls/69/commits"},"statuses":{"href":"https://api.github.com/repos/UNICT-DMI/Telegram-SpottedDMI-Bot/statuses/e0fcf18174a5be34570a36ce77de93fc205b52e2"}},"author_association":"MEMBER","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":25122687,"login":"UNICT-DMI","gravatar_id":"","url":"https://api.github.com/orgs/UNICT-DMI","avatar_url":"https://avatars.githubusercontent.com/u/25122687?"}} +{"id":"19546596250","type":"IssueCommentEvent","actor":{"id":1551487,"login":"vcarl","display_login":"vcarl","gravatar_id":"","url":"https://api.github.com/users/vcarl","avatar_url":"https://avatars.githubusercontent.com/u/1551487?"},"repo":{"id":153921725,"name":"reactiflux/reactibot","url":"https://api.github.com/repos/reactiflux/reactibot"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/reactiflux/reactibot/issues/134","repository_url":"https://api.github.com/repos/reactiflux/reactibot","labels_url":"https://api.github.com/repos/reactiflux/reactibot/issues/134/labels{/name}","comments_url":"https://api.github.com/repos/reactiflux/reactibot/issues/134/comments","events_url":"https://api.github.com/repos/reactiflux/reactibot/issues/134/events","html_url":"https://github.com/reactiflux/reactibot/issues/134","id":1083963586,"node_id":"I_kwDOCSyovc5Am_jC","number":134,"title":"Automatically create threads for specified channels","user":{"login":"vcarl","id":1551487,"node_id":"MDQ6VXNlcjE1NTE0ODc=","avatar_url":"https://avatars.githubusercontent.com/u/1551487?v=4","gravatar_id":"","url":"https://api.github.com/users/vcarl","html_url":"https://github.com/vcarl","followers_url":"https://api.github.com/users/vcarl/followers","following_url":"https://api.github.com/users/vcarl/following{/other_user}","gists_url":"https://api.github.com/users/vcarl/gists{/gist_id}","starred_url":"https://api.github.com/users/vcarl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcarl/subscriptions","organizations_url":"https://api.github.com/users/vcarl/orgs","repos_url":"https://api.github.com/users/vcarl/repos","events_url":"https://api.github.com/users/vcarl/events{/privacy}","received_events_url":"https://api.github.com/users/vcarl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"vcarl","id":1551487,"node_id":"MDQ6VXNlcjE1NTE0ODc=","avatar_url":"https://avatars.githubusercontent.com/u/1551487?v=4","gravatar_id":"","url":"https://api.github.com/users/vcarl","html_url":"https://github.com/vcarl","followers_url":"https://api.github.com/users/vcarl/followers","following_url":"https://api.github.com/users/vcarl/following{/other_user}","gists_url":"https://api.github.com/users/vcarl/gists{/gist_id}","starred_url":"https://api.github.com/users/vcarl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcarl/subscriptions","organizations_url":"https://api.github.com/users/vcarl/orgs","repos_url":"https://api.github.com/users/vcarl/repos","events_url":"https://api.github.com/users/vcarl/events{/privacy}","received_events_url":"https://api.github.com/users/vcarl/received_events","type":"User","site_admin":false},"assignees":[{"login":"vcarl","id":1551487,"node_id":"MDQ6VXNlcjE1NTE0ODc=","avatar_url":"https://avatars.githubusercontent.com/u/1551487?v=4","gravatar_id":"","url":"https://api.github.com/users/vcarl","html_url":"https://github.com/vcarl","followers_url":"https://api.github.com/users/vcarl/followers","following_url":"https://api.github.com/users/vcarl/following{/other_user}","gists_url":"https://api.github.com/users/vcarl/gists{/gist_id}","starred_url":"https://api.github.com/users/vcarl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcarl/subscriptions","organizations_url":"https://api.github.com/users/vcarl/orgs","repos_url":"https://api.github.com/users/vcarl/repos","events_url":"https://api.github.com/users/vcarl/events{/privacy}","received_events_url":"https://api.github.com/users/vcarl/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2021-12-18T23:10:25Z","updated_at":"2022-01-02T01:00:00Z","closed_at":null,"author_association":"MEMBER","active_lock_reason":null,"body":"For specified channels:\r\n\r\n* every message has a thread created for it, named something readable (name + date stamp?)\r\n* replies are removed and the sender Dm'd instructions\r\n* a !close command only the author can use (or maybe mvps and maybe a \"helper\" type role with this ability as well)\r\n * this is maybe not helpful, cuz afaik members can always close their own threads\r\n* reactibot closes after 6 hours, and sends a message with instructions on following up\r\n* instructions link to parent message and suggest replying to it if it's relevant\r\n","reactions":{"url":"https://api.github.com/repos/reactiflux/reactibot/issues/134/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/reactiflux/reactibot/issues/134/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/reactiflux/reactibot/issues/comments/1003644259","html_url":"https://github.com/reactiflux/reactibot/issues/134#issuecomment-1003644259","issue_url":"https://api.github.com/repos/reactiflux/reactibot/issues/134","id":1003644259,"node_id":"IC_kwDOCSyovc470mVj","user":{"login":"vcarl","id":1551487,"node_id":"MDQ6VXNlcjE1NTE0ODc=","avatar_url":"https://avatars.githubusercontent.com/u/1551487?v=4","gravatar_id":"","url":"https://api.github.com/users/vcarl","html_url":"https://github.com/vcarl","followers_url":"https://api.github.com/users/vcarl/followers","following_url":"https://api.github.com/users/vcarl/following{/other_user}","gists_url":"https://api.github.com/users/vcarl/gists{/gist_id}","starred_url":"https://api.github.com/users/vcarl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vcarl/subscriptions","organizations_url":"https://api.github.com/users/vcarl/orgs","repos_url":"https://api.github.com/users/vcarl/repos","events_url":"https://api.github.com/users/vcarl/events{/privacy}","received_events_url":"https://api.github.com/users/vcarl/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:00Z","updated_at":"2022-01-02T01:00:00Z","author_association":"MEMBER","body":"Instead of a !close command, I think instead a ✅ reaction that will mark an answer as \"accepted\" and close the thread immediately is more helpful\r\n","reactions":{"url":"https://api.github.com/repos/reactiflux/reactibot/issues/comments/1003644259/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":11418497,"login":"reactiflux","gravatar_id":"","url":"https://api.github.com/orgs/reactiflux","avatar_url":"https://avatars.githubusercontent.com/u/11418497?"}} +{"id":"19546596253","type":"PushEvent","actor":{"id":86298622,"login":"weaveworks-gitops-test-weave-gitops-bot","display_login":"weaveworks-gitops-test-weave-gitops-bot","gravatar_id":"","url":"https://api.github.com/users/weaveworks-gitops-test-weave-gitops-bot","avatar_url":"https://avatars.githubusercontent.com/u/86298622?"},"repo":{"id":443654625,"name":"weaveworks-gitops-test/test-app-mcc1l1fj","url":"https://api.github.com/repos/weaveworks-gitops-test/test-app-mcc1l1fj"},"payload":{"push_id":8735901363,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3f8bfb46e5e7d3ac6533274d457746408780bbae","before":"156c54fc0c4615d685b2706f8acc61d6cc37be32","commits":[{"sha":"3f8bfb46e5e7d3ac6533274d457746408780bbae","author":{"email":"test-user@weave.works","name":"Testy McTestFace"},"message":"add workload manifest","distinct":true,"url":"https://api.github.com/repos/weaveworks-gitops-test/test-app-mcc1l1fj/commits/3f8bfb46e5e7d3ac6533274d457746408780bbae"}]},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":84581998,"login":"weaveworks-gitops-test","gravatar_id":"","url":"https://api.github.com/orgs/weaveworks-gitops-test","avatar_url":"https://avatars.githubusercontent.com/u/84581998?"}} +{"id":"19546596256","type":"PushEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":125906540,"name":"clearlinux-pkgs/R-shape","url":"https://api.github.com/repos/clearlinux-pkgs/R-shape"},"payload":{"push_id":8735901366,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"9bb776d04afa25eaf89f1459642e865de9fe8280","before":"65c37a44f07a9529cfe5412095b70c831deb902c","commits":[{"sha":"0b1da07385965206b8305c15e24960c4c92376bd","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 1.4.6-36 to 1.4.6-37","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-shape/commits/0b1da07385965206b8305c15e24960c4c92376bd"},{"sha":"9bb776d04afa25eaf89f1459642e865de9fe8280","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 1.4.6-37 to 1.4.6-38","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-shape/commits/9bb776d04afa25eaf89f1459642e865de9fe8280"}]},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546596257","type":"CreateEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":125906540,"name":"clearlinux-pkgs/R-shape","url":"https://api.github.com/repos/clearlinux-pkgs/R-shape"},"payload":{"ref":"1.4.6-38","ref_type":"tag","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:00Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546596266","type":"PushEvent","actor":{"id":693300,"login":"labeneko","display_login":"labeneko","gravatar_id":"","url":"https://api.github.com/users/labeneko","avatar_url":"https://avatars.githubusercontent.com/u/693300?"},"repo":{"id":418538160,"name":"labeneko/keihin00794","url":"https://api.github.com/repos/labeneko/keihin00794"},"payload":{"push_id":8735901373,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fd9f572175df3f681b48b921afefc5878f000868","before":"54b9ad31db8256bc666e01edc277b29a549fc211","commits":[{"sha":"fd9f572175df3f681b48b921afefc5878f000868","author":{"email":"info@laboneko.jp","name":"labeneko"},"message":"Update from https://github.com/labeneko/time/commit/a6c25615fdc3767edc40754ceb32b5a085d12d35","distinct":true,"url":"https://api.github.com/repos/labeneko/keihin00794/commits/fd9f572175df3f681b48b921afefc5878f000868"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596268","type":"PushEvent","actor":{"id":7757589,"login":"ronaldburns","display_login":"ronaldburns","gravatar_id":"","url":"https://api.github.com/users/ronaldburns","avatar_url":"https://avatars.githubusercontent.com/u/7757589?"},"repo":{"id":443217278,"name":"HBGames/plugin_ue4_extendedstandardlibrary","url":"https://api.github.com/repos/HBGames/plugin_ue4_extendedstandardlibrary"},"payload":{"push_id":8735901371,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5ea1060070495d2f62c0dc7e8faf9e1bc2fa22f6","before":"e521b63785dd1c84e2e64c2519a2b244d5d499e7","commits":[{"sha":"5ea1060070495d2f62c0dc7e8faf9e1bc2fa22f6","author":{"email":"7757589+ronaldburns@users.noreply.github.com","name":"Ronald Burns"},"message":"Fix compile error","distinct":true,"url":"https://api.github.com/repos/HBGames/plugin_ue4_extendedstandardlibrary/commits/5ea1060070495d2f62c0dc7e8faf9e1bc2fa22f6"}]},"public":true,"created_at":"2022-01-02T01:00:01Z","org":{"id":67971768,"login":"HBGames","gravatar_id":"","url":"https://api.github.com/orgs/HBGames","avatar_url":"https://avatars.githubusercontent.com/u/67971768?"}} +{"id":"19546596270","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":303094954,"name":"trasta298/trasta298","url":"https://api.github.com/repos/trasta298/trasta298"},"payload":{"push_id":8735901374,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5a947959a96b4c7bd47a4ce1144fe0f69a21c96d","before":"f0ffaeaffa6bf128493fc1237844d7336e6a948a","commits":[{"sha":"5a947959a96b4c7bd47a4ce1144fe0f69a21c96d","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/trasta298/trasta298/commits/5a947959a96b4c7bd47a4ce1144fe0f69a21c96d"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596276","type":"CreateEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"ref":"witness_mhutchinson_witness_sum_golang_org","ref_type":"branch","master_branch":"main","description":"Distributor for witnessed log checkpoints","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596277","type":"PushEvent","actor":{"id":96604041,"login":"fsdf232","display_login":"fsdf232","gravatar_id":"","url":"https://api.github.com/users/fsdf232","avatar_url":"https://avatars.githubusercontent.com/u/96604041?"},"repo":{"id":443645183,"name":"fsdf232/6dc79667-6854-4c1a-84df-e30d1cbd005a","url":"https://api.github.com/repos/fsdf232/6dc79667-6854-4c1a-84df-e30d1cbd005a"},"payload":{"push_id":8735901383,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"538f7c1e708785a4cdb8fa159778e07a629f0a70","before":"9e9c9d36a0b431100c5ecf04378c819f00921535","commits":[{"sha":"538f7c1e708785a4cdb8fa159778e07a629f0a70","author":{"email":"96604041+fsdf232@users.noreply.github.com","name":"fsdf232"},"message":"upload file 6ecceff15858a80bbd320e24893d766c380eec7296e64701a526cc6848a5d46f9e452d78a112c761a09542fc4bffd6dbvideo_2977_0_705735.ts","distinct":true,"url":"https://api.github.com/repos/fsdf232/6dc79667-6854-4c1a-84df-e30d1cbd005a/commits/538f7c1e708785a4cdb8fa159778e07a629f0a70"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596278","type":"PushEvent","actor":{"id":55621884,"login":"scriptlord","display_login":"scriptlord","gravatar_id":"","url":"https://api.github.com/users/scriptlord","avatar_url":"https://avatars.githubusercontent.com/u/55621884?"},"repo":{"id":443649850,"name":"scriptlord/scriptlord","url":"https://api.github.com/repos/scriptlord/scriptlord"},"payload":{"push_id":8735901376,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"edaf2bc38b1bfeee5efec64f665e87b2810bf48f","before":"c21b3fcd63db535ec1af6640bd9fa5a7c8485f4b","commits":[{"sha":"edaf2bc38b1bfeee5efec64f665e87b2810bf48f","author":{"email":"55621884+scriptlord@users.noreply.github.com","name":"Foluso Kayode"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/scriptlord/scriptlord/commits/edaf2bc38b1bfeee5efec64f665e87b2810bf48f"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596279","type":"PushEvent","actor":{"id":96756216,"login":"fsadfsda","display_login":"fsadfsda","gravatar_id":"","url":"https://api.github.com/users/fsadfsda","avatar_url":"https://avatars.githubusercontent.com/u/96756216?"},"repo":{"id":443617733,"name":"fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4","url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4"},"payload":{"push_id":8735901382,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f5e193ce4560fb30c4ea951a972d6c56332044bf","before":"ae60e9e5cf5fdbc2a5ed9b869cffef82b6bc85ac","commits":[{"sha":"f5e193ce4560fb30c4ea951a972d6c56332044bf","author":{"email":"96756216+fsadfsda@users.noreply.github.com","name":"fsadfsda"},"message":"upload file b04a51b503c23390399c39db437b927240688da92fab708e7ab544b21654bc50fdde3fb16aabd257dc88429d1bedde12video_725_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4/commits/f5e193ce4560fb30c4ea951a972d6c56332044bf"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596283","type":"PushEvent","actor":{"id":74294005,"login":"wangbuera","display_login":"wangbuera","gravatar_id":"","url":"https://api.github.com/users/wangbuera","avatar_url":"https://avatars.githubusercontent.com/u/74294005?"},"repo":{"id":443621630,"name":"wangbuera/a251e050-c61d-45bd-8486-ece183c80617","url":"https://api.github.com/repos/wangbuera/a251e050-c61d-45bd-8486-ece183c80617"},"payload":{"push_id":8735901380,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"482bab8d5c5db3171e6145296b6e3e9e9314f6e4","before":"c5b84cba97114671615a83eb9f4835fca1e46f3c","commits":[{"sha":"482bab8d5c5db3171e6145296b6e3e9e9314f6e4","author":{"email":"74294005+wangbuera@users.noreply.github.com","name":"wangbuera"},"message":"upload file 352e7098a94d2ddbedeb43cd449a6a111ba98766e57890eb4a73e94cc9af27dc9bfa4cf8b6c75242992dd5513b0794c1video_1278_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/wangbuera/a251e050-c61d-45bd-8486-ece183c80617/commits/482bab8d5c5db3171e6145296b6e3e9e9314f6e4"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596285","type":"PushEvent","actor":{"id":53420676,"login":"Dansato1203","display_login":"Dansato1203","gravatar_id":"","url":"https://api.github.com/users/Dansato1203","avatar_url":"https://avatars.githubusercontent.com/u/53420676?"},"repo":{"id":415263375,"name":"Dansato1203/soccerfield_detector","url":"https://api.github.com/repos/Dansato1203/soccerfield_detector"},"payload":{"push_id":8735901388,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e7ce076d9593a0538f58286db38f58c71eb9f0a9","before":"197a54b7f5108e3eef4e19f76567395a280c18ae","commits":[{"sha":"e7ce076d9593a0538f58286db38f58c71eb9f0a9","author":{"email":"s19C1054bu@s.chibakoudai.jp","name":"Dan Sato"},"message":"fix import error","distinct":true,"url":"https://api.github.com/repos/Dansato1203/soccerfield_detector/commits/e7ce076d9593a0538f58286db38f58c71eb9f0a9"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596287","type":"CreateEvent","actor":{"id":91753552,"login":"ericc97","display_login":"ericc97","gravatar_id":"","url":"https://api.github.com/users/ericc97","avatar_url":"https://avatars.githubusercontent.com/u/91753552?"},"repo":{"id":440306455,"name":"ericc97/u-develop-it-eric","url":"https://api.github.com/repos/ericc97/u-develop-it-eric"},"payload":{"ref":"develop","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596291","type":"CreateEvent","actor":{"id":266668,"login":"invisibleroads","display_login":"invisibleroads","gravatar_id":"","url":"https://api.github.com/users/invisibleroads","avatar_url":"https://avatars.githubusercontent.com/u/266668?"},"repo":{"id":443654630,"name":"crosscompute/crosscompute-views-standard","url":"https://api.github.com/repos/crosscompute/crosscompute-views-standard"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:01Z","org":{"id":7586329,"login":"crosscompute","gravatar_id":"","url":"https://api.github.com/orgs/crosscompute","avatar_url":"https://avatars.githubusercontent.com/u/7586329?"}} +{"id":"19546596294","type":"CreateEvent","actor":{"id":85763577,"login":"designergal3002","display_login":"designergal3002","gravatar_id":"","url":"https://api.github.com/users/designergal3002","avatar_url":"https://avatars.githubusercontent.com/u/85763577?"},"repo":{"id":443654629,"name":"designergal3002/Tableau-Challenge-Citi-Bike-Analytics","url":"https://api.github.com/repos/designergal3002/Tableau-Challenge-Citi-Bike-Analytics"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596298","type":"PushEvent","actor":{"id":55277160,"login":"gitlocalize-app[bot]","display_login":"gitlocalize-app","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app[bot]","avatar_url":"https://avatars.githubusercontent.com/u/55277160?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"push_id":8735901392,"size":1,"distinct_size":1,"ref":"refs/heads/gitlocalize-17748","head":"89696281a40f584012724fb5595eff157a1ad79b","before":"907701c119d6a290c9292bcc084fd1a1d616b441","commits":[{"sha":"89696281a40f584012724fb5595eff157a1ad79b","author":{"email":"mt@gitlocalize.com","name":"mt-gitlocalize"},"message":"Translate hr.yml via GitLocalize","distinct":true,"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/commits/89696281a40f584012724fb5595eff157a1ad79b"}]},"public":true,"created_at":"2022-01-02T01:00:01Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546596301","type":"PushEvent","actor":{"id":96756473,"login":"56456f","display_login":"56456f","gravatar_id":"","url":"https://api.github.com/users/56456f","avatar_url":"https://avatars.githubusercontent.com/u/96756473?"},"repo":{"id":443645884,"name":"56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838","url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838"},"payload":{"push_id":8735901387,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"bd70fe10d44d7aff0eccd75bf29c94de097f5464","before":"582c086f756cf4028251811c4f8d56f8bbeb9fa2","commits":[{"sha":"bd70fe10d44d7aff0eccd75bf29c94de097f5464","author":{"email":"96756473+56456f@users.noreply.github.com","name":"56456f"},"message":"upload file 4b357a8687de14260112e5952bab66dad2cb85f7b55c529bbe42ca803c9e1794a9d92f061bb2535196dff44756de6d45video_70_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838/commits/bd70fe10d44d7aff0eccd75bf29c94de097f5464"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596303","type":"PushEvent","actor":{"id":16610169,"login":"365taole","display_login":"365taole","gravatar_id":"","url":"https://api.github.com/users/365taole","avatar_url":"https://avatars.githubusercontent.com/u/16610169?"},"repo":{"id":443490727,"name":"365taole/meizi","url":"https://api.github.com/repos/365taole/meizi"},"payload":{"push_id":8735901391,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"015544f6b67f4809d23bfec2162b8d7734a5d413","before":"029a9fdf31c2746ae8a9087617d6ff57ee297621","commits":[{"sha":"015544f6b67f4809d23bfec2162b8d7734a5d413","author":{"email":"365taole@gmail.com","name":"365taole"},"message":"9_42133/02124911-5-1493.jpg","distinct":true,"url":"https://api.github.com/repos/365taole/meizi/commits/015544f6b67f4809d23bfec2162b8d7734a5d413"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596309","type":"PushEvent","actor":{"id":96324875,"login":"hackernews-archive","display_login":"hackernews-archive","gravatar_id":"","url":"https://api.github.com/users/hackernews-archive","avatar_url":"https://avatars.githubusercontent.com/u/96324875?"},"repo":{"id":439517659,"name":"hackernews-archive/hackernews-top-stories","url":"https://api.github.com/repos/hackernews-archive/hackernews-top-stories"},"payload":{"push_id":8735901395,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4c7882b4c8811664f7f58bf774cf0d3fe6914546","before":"3516750ab33ea44a43a863e10b4cd8ad13b80f54","commits":[{"sha":"4c7882b4c8811664f7f58bf774cf0d3fe6914546","author":{"email":"96324875+hackernews-archive@users.noreply.github.com","name":"hackernews-archive"},"message":"Hacker news top stories archive: Sun, 02 Jan 2022 01:00:00 GMT","distinct":true,"url":"https://api.github.com/repos/hackernews-archive/hackernews-top-stories/commits/4c7882b4c8811664f7f58bf774cf0d3fe6914546"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596311","type":"IssueCommentEvent","actor":{"id":48992923,"login":"corepay","display_login":"corepay","gravatar_id":"","url":"https://api.github.com/users/corepay","avatar_url":"https://avatars.githubusercontent.com/u/48992923?"},"repo":{"id":83845012,"name":"feathersjs-ecosystem/feathers-vuex","url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616","repository_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex","labels_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616/labels{/name}","comments_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616/comments","events_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616/events","html_url":"https://github.com/feathersjs-ecosystem/feathers-vuex/issues/616","id":1091877678,"node_id":"I_kwDOBP9flM5BFLsu","number":616,"title":"Keycloak - opinion or advice please.","user":{"login":"corepay","id":48992923,"node_id":"MDQ6VXNlcjQ4OTkyOTIz","avatar_url":"https://avatars.githubusercontent.com/u/48992923?v=4","gravatar_id":"","url":"https://api.github.com/users/corepay","html_url":"https://github.com/corepay","followers_url":"https://api.github.com/users/corepay/followers","following_url":"https://api.github.com/users/corepay/following{/other_user}","gists_url":"https://api.github.com/users/corepay/gists{/gist_id}","starred_url":"https://api.github.com/users/corepay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corepay/subscriptions","organizations_url":"https://api.github.com/users/corepay/orgs","repos_url":"https://api.github.com/users/corepay/repos","events_url":"https://api.github.com/users/corepay/events{/privacy}","received_events_url":"https://api.github.com/users/corepay/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2022-01-01T19:35:46Z","updated_at":"2022-01-02T01:00:01Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"Hi Marshall,\r\n\r\nBeen using feathers-vuex pretty successfully in several apps thus far - haven't ventured into vue3 and composition API yet haven't found the need or desire...yet.\r\n\r\nAnyway, I have a fairly complex setup and user authentication requirements where on one hand I have a local strategy type login and the other an api-token login into my feathers-vuex app. Too hard and boring to explain here but basically I have the normal featehrs-vuex user auth with login screen but if query param contains a token I authenticatethat to feathers and manually update the feathers-jwt and isAuthenticated - checking that with router guards on my secure pages. \r\n\r\nThings got a little more complicated with a new requirement and I am feeling the need to migrate away from feathers auth and standardize/build off an IDP like fusionauth...or keycloak.\r\n\r\nI found this keycloak -> feathers client/server lib. https://github.com/giesekow/feathers-keycloak-connect\r\n\r\nAssuming it works AND you are curious or kind enough to check it out I would really appreciate a quick opinion if it is an 'oh yeah a couple lines in the feathers-vuex auth plugin can authenticate without any trauma to the rest of your application' or 'yeah....not sometihng I would do with feathers-vuex' \r\n\r\nThanks man, really appreciate your work and help. \r\n","reactions":{"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/comments/1003644262","html_url":"https://github.com/feathersjs-ecosystem/feathers-vuex/issues/616#issuecomment-1003644262","issue_url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/616","id":1003644262,"node_id":"IC_kwDOBP9flM470mVm","user":{"login":"corepay","id":48992923,"node_id":"MDQ6VXNlcjQ4OTkyOTIz","avatar_url":"https://avatars.githubusercontent.com/u/48992923?v=4","gravatar_id":"","url":"https://api.github.com/users/corepay","html_url":"https://github.com/corepay","followers_url":"https://api.github.com/users/corepay/followers","following_url":"https://api.github.com/users/corepay/following{/other_user}","gists_url":"https://api.github.com/users/corepay/gists{/gist_id}","starred_url":"https://api.github.com/users/corepay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corepay/subscriptions","organizations_url":"https://api.github.com/users/corepay/orgs","repos_url":"https://api.github.com/users/corepay/repos","events_url":"https://api.github.com/users/corepay/events{/privacy}","received_events_url":"https://api.github.com/users/corepay/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:01Z","updated_at":"2022-01-02T01:00:01Z","author_association":"NONE","body":"Sounds good from here! Be kinda cool to have a auth0 option using feathers. I can help from use case for sure, maybe more. \r\n\r\n@marshallswain we've had a few discussions in slack or discord before you've been a big help, thank you. FYI if interested, I've successfully deployed a micorfrontend pulling in 7 domain-modeled vuex apps (customers, products, invoices etc) with feathers-vuex auth/store/models integrated on only one 'base' app but imported, used and shared among all 7 apps in a single shell app....pretty damn cool AFAIK. Check out https://webpack.js.org/concepts/module-federation and ping back offline if interested","reactions":{"url":"https://api.github.com/repos/feathersjs-ecosystem/feathers-vuex/issues/comments/1003644262/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:01Z","org":{"id":32400533,"login":"feathersjs-ecosystem","gravatar_id":"","url":"https://api.github.com/orgs/feathersjs-ecosystem","avatar_url":"https://avatars.githubusercontent.com/u/32400533?"}} +{"id":"19546596312","type":"PushEvent","actor":{"id":5502468,"login":"genghisken","display_login":"genghisken","gravatar_id":"","url":"https://api.github.com/users/genghisken","avatar_url":"https://avatars.githubusercontent.com/u/5502468?"},"repo":{"id":346003438,"name":"genghisken/psat-server-web","url":"https://api.github.com/repos/genghisken/psat-server-web"},"payload":{"push_id":8735901394,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b34a926c08e8bc262b50354e51d03a2ba0216012","before":"9a693559d02d0121a5c2fdea630e8060d9c34164","commits":[{"sha":"b34a926c08e8bc262b50354e51d03a2ba0216012","author":{"email":"k.w.smith@qub.ac.uk","name":"Ken Smith"},"message":"Changed the way the whole MJD is produced to find the images. This is because in S. Africa, the night number is the MJD after the beginning of the night.","distinct":true,"url":"https://api.github.com/repos/genghisken/psat-server-web/commits/b34a926c08e8bc262b50354e51d03a2ba0216012"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596318","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901406,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6ac30e1f0c7f48dc017c65f541f0cd4607051dbb","before":"a20a03b718b82dfd33b7efb9a46bf69b164fe75c","commits":[{"sha":"6ac30e1f0c7f48dc017c65f541f0cd4607051dbb","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update editor-pickup_2.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/6ac30e1f0c7f48dc017c65f541f0cd4607051dbb"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596319","type":"CreateEvent","actor":{"id":6519497,"login":"faizalami","display_login":"faizalami","gravatar_id":"","url":"https://api.github.com/users/faizalami","avatar_url":"https://avatars.githubusercontent.com/u/6519497?"},"repo":{"id":443654511,"name":"faizalami/fremwok-fremwokan","url":"https://api.github.com/repos/faizalami/fremwok-fremwokan"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":"Framework frontend Javascript yg dibuat untuk belajar lebih memahami tentang sistem reactivity pada framework2 frontend modern.","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596321","type":"ForkEvent","actor":{"id":33050859,"login":"uhtyj","display_login":"uhtyj","gravatar_id":"","url":"https://api.github.com/users/uhtyj","avatar_url":"https://avatars.githubusercontent.com/u/33050859?"},"repo":{"id":443535147,"name":"widevinedump/Vinetrimmer-DRM-TOOL","url":"https://api.github.com/repos/widevinedump/Vinetrimmer-DRM-TOOL"},"payload":{"forkee":{"id":443654631,"node_id":"R_kgDOGnGh5w","name":"Vinetrimmer-DRM-TOOL","full_name":"uhtyj/Vinetrimmer-DRM-TOOL","private":false,"owner":{"login":"uhtyj","id":33050859,"node_id":"MDQ6VXNlcjMzMDUwODU5","avatar_url":"https://avatars.githubusercontent.com/u/33050859?v=4","gravatar_id":"","url":"https://api.github.com/users/uhtyj","html_url":"https://github.com/uhtyj","followers_url":"https://api.github.com/users/uhtyj/followers","following_url":"https://api.github.com/users/uhtyj/following{/other_user}","gists_url":"https://api.github.com/users/uhtyj/gists{/gist_id}","starred_url":"https://api.github.com/users/uhtyj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uhtyj/subscriptions","organizations_url":"https://api.github.com/users/uhtyj/orgs","repos_url":"https://api.github.com/users/uhtyj/repos","events_url":"https://api.github.com/users/uhtyj/events{/privacy}","received_events_url":"https://api.github.com/users/uhtyj/received_events","type":"User","site_admin":false},"html_url":"https://github.com/uhtyj/Vinetrimmer-DRM-TOOL","description":"Widevine DRM downloader and decrypter for AMZN|NF|STAN And all","fork":true,"url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL","forks_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/forks","keys_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/keys{/key_id}","collaborators_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/teams","hooks_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/hooks","issue_events_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/issues/events{/number}","events_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/events","assignees_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/assignees{/user}","branches_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/branches{/branch}","tags_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/tags","blobs_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/git/refs{/sha}","trees_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/git/trees{/sha}","statuses_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/statuses/{sha}","languages_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/languages","stargazers_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/stargazers","contributors_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/contributors","subscribers_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/subscribers","subscription_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/subscription","commits_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/commits{/sha}","git_commits_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/git/commits{/sha}","comments_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/comments{/number}","issue_comment_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/issues/comments{/number}","contents_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/contents/{+path}","compare_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/compare/{base}...{head}","merges_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/merges","archive_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/downloads","issues_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/issues{/number}","pulls_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/pulls{/number}","milestones_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/milestones{/number}","notifications_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/labels{/name}","releases_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/releases{/id}","deployments_url":"https://api.github.com/repos/uhtyj/Vinetrimmer-DRM-TOOL/deployments","created_at":"2022-01-02T01:00:01Z","updated_at":"2022-01-02T00:58:00Z","pushed_at":"2022-01-01T14:42:07Z","git_url":"git://github.com/uhtyj/Vinetrimmer-DRM-TOOL.git","ssh_url":"git@github.com:uhtyj/Vinetrimmer-DRM-TOOL.git","clone_url":"https://github.com/uhtyj/Vinetrimmer-DRM-TOOL.git","svn_url":"https://github.com/uhtyj/Vinetrimmer-DRM-TOOL","homepage":null,"size":414,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596322","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":317729293,"name":"AlexRogalskiy/AlexRogalskiy","url":"https://api.github.com/repos/AlexRogalskiy/AlexRogalskiy"},"payload":{"push_id":8735901398,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d5016da01f9d0207e0263b22215219de0beb2bd6","before":"5f5a486bba33b577ecae508b15fdb7b5bbe8adb5","commits":[{"sha":"d5016da01f9d0207e0263b22215219de0beb2bd6","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update images/generated/metrics-base.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/AlexRogalskiy/AlexRogalskiy/commits/d5016da01f9d0207e0263b22215219de0beb2bd6"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596323","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":423890898,"name":"JhonatanTorrigoTorres/JhonatanTorrigoTorres","url":"https://api.github.com/repos/JhonatanTorrigoTorres/JhonatanTorrigoTorres"},"payload":{"push_id":8735901400,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"6085a5f32000a20818f9be9984a469fa38b0e44f","before":"ff200e548bd3113d2b04a30c9d66c14b8ceb4688","commits":[{"sha":"6085a5f32000a20818f9be9984a469fa38b0e44f","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/JhonatanTorrigoTorres/JhonatanTorrigoTorres/commits/6085a5f32000a20818f9be9984a469fa38b0e44f"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596330","type":"PushEvent","actor":{"id":96628723,"login":"fsafw","display_login":"fsafw","gravatar_id":"","url":"https://api.github.com/users/fsafw","avatar_url":"https://avatars.githubusercontent.com/u/96628723?"},"repo":{"id":443647489,"name":"fsafw/021f4748-7894-4845-9faf-18b4c351d770","url":"https://api.github.com/repos/fsafw/021f4748-7894-4845-9faf-18b4c351d770"},"payload":{"push_id":8735901404,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"46ebde7dee7b86ef209b18d9e397868eac4a8184","before":"fbebf2f6200672b10b190c529ab427af080900c3","commits":[{"sha":"46ebde7dee7b86ef209b18d9e397868eac4a8184","author":{"email":"96628723+fsafw@users.noreply.github.com","name":"fsafw"},"message":"upload file a275ae7117c38183b2162aef8e8bd4cfacd2d44395cdeb1d5b59834afa9ab3a80c788e678f2a94166dfdcaebfd088b10video_2359_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsafw/021f4748-7894-4845-9faf-18b4c351d770/commits/46ebde7dee7b86ef209b18d9e397868eac4a8184"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596332","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":431672181,"name":"zaccsouza/zaccsouza","url":"https://api.github.com/repos/zaccsouza/zaccsouza"},"payload":{"push_id":8735901408,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"9e82b4dde0ec5680dd2b9b733305c9ef55f89976","before":"973c9f3e68b60dad591658504656bf4a6d30418d","commits":[{"sha":"9e82b4dde0ec5680dd2b9b733305c9ef55f89976","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/zaccsouza/zaccsouza/commits/9e82b4dde0ec5680dd2b9b733305c9ef55f89976"}]},"public":true,"created_at":"2022-01-02T01:00:01Z"} +{"id":"19546596335","type":"CreateEvent","actor":{"id":53108186,"login":"codestar-github-bot-1","display_login":"codestar-github-bot-1","gravatar_id":"","url":"https://api.github.com/users/codestar-github-bot-1","avatar_url":"https://avatars.githubusercontent.com/u/53108186?"},"repo":{"id":443654632,"name":"codestar-github-bot-1/user-public-seeded-repo-ap-northeast-2","url":"https://api.github.com/repos/codestar-github-bot-1/user-public-seeded-repo-ap-northeast-2"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Seeded Repository created by CFN","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596336","type":"PushEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":440223691,"name":"5t-RawBeRry/luci","url":"https://api.github.com/repos/5t-RawBeRry/luci"},"payload":{"push_id":8735901407,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"17326c5624a7fa39b49405265d69239fc680a01e","before":"6694bc352e4fa27b572c3a23737d49f576b1184f","commits":[{"sha":"17326c5624a7fa39b49405265d69239fc680a01e","author":{"email":"48883331+kiddin9@users.noreply.github.com","name":"kiddin9"},"message":"luci-app-qbittorrent: fix setting download_dir","distinct":true,"url":"https://api.github.com/repos/5t-RawBeRry/luci/commits/17326c5624a7fa39b49405265d69239fc680a01e"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596337","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371285,"node_id":"PRR_kwDOFeJvGc4yNZDV","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:01Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371285","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371285"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546596341","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":156056288,"name":"wponion/google-fonts","url":"https://api.github.com/repos/wponion/google-fonts"},"payload":{"push_id":8735901412,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c431fb99a6e6872057f5328c70b61907f36f3b87","before":"4f02e9bf99e76ffbcf104824d75bf48fb0b2a8af","commits":[{"sha":"c431fb99a6e6872057f5328c70b61907f36f3b87","author":{"email":"wponion@gmail.com","name":"Google WPOnion"},"message":"Google Fonts Updated","distinct":true,"url":"https://api.github.com/repos/wponion/google-fonts/commits/c431fb99a6e6872057f5328c70b61907f36f3b87"}]},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":39045474,"login":"wponion","gravatar_id":"","url":"https://api.github.com/orgs/wponion","avatar_url":"https://avatars.githubusercontent.com/u/39045474?"}} +{"id":"19546596342","type":"PullRequestEvent","actor":{"id":1980389,"login":"arbal","display_login":"arbal","gravatar_id":"","url":"https://api.github.com/users/arbal","avatar_url":"https://avatars.githubusercontent.com/u/1980389?"},"repo":{"id":443648924,"name":"arbal/asn-docker","url":"https://api.github.com/repos/arbal/asn-docker"},"payload":{"action":"opened","number":2,"pull_request":{"url":"https://api.github.com/repos/arbal/asn-docker/pulls/2","id":812662835,"node_id":"PR_kwDOGnGLnM4wcEAz","html_url":"https://github.com/arbal/asn-docker/pull/2","diff_url":"https://github.com/arbal/asn-docker/pull/2.diff","patch_url":"https://github.com/arbal/asn-docker/pull/2.patch","issue_url":"https://api.github.com/repos/arbal/asn-docker/issues/2","number":2,"state":"open","locked":false,"title":"Added screenshot showing output of 'docker run -it arbal/asn 8.8.8.8' to README.md","user":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T01:00:01Z","updated_at":"2022-01-02T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"assignees":[{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/arbal/asn-docker/pulls/2/commits","review_comments_url":"https://api.github.com/repos/arbal/asn-docker/pulls/2/comments","review_comment_url":"https://api.github.com/repos/arbal/asn-docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/arbal/asn-docker/issues/2/comments","statuses_url":"https://api.github.com/repos/arbal/asn-docker/statuses/cda63e987dd2e809a0f2558a561dff4d27efe80a","head":{"label":"arbal:readme-screenshot","ref":"readme-screenshot","sha":"cda63e987dd2e809a0f2558a561dff4d27efe80a","user":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"repo":{"id":443648924,"node_id":"R_kgDOGnGLnA","name":"asn-docker","full_name":"arbal/asn-docker","private":false,"owner":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"html_url":"https://github.com/arbal/asn-docker","description":"Dockerized ASN Lookup Tool and Traceroute Server (nitefood/asn)","fork":false,"url":"https://api.github.com/repos/arbal/asn-docker","forks_url":"https://api.github.com/repos/arbal/asn-docker/forks","keys_url":"https://api.github.com/repos/arbal/asn-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/arbal/asn-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/arbal/asn-docker/teams","hooks_url":"https://api.github.com/repos/arbal/asn-docker/hooks","issue_events_url":"https://api.github.com/repos/arbal/asn-docker/issues/events{/number}","events_url":"https://api.github.com/repos/arbal/asn-docker/events","assignees_url":"https://api.github.com/repos/arbal/asn-docker/assignees{/user}","branches_url":"https://api.github.com/repos/arbal/asn-docker/branches{/branch}","tags_url":"https://api.github.com/repos/arbal/asn-docker/tags","blobs_url":"https://api.github.com/repos/arbal/asn-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/arbal/asn-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/arbal/asn-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/arbal/asn-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/arbal/asn-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/arbal/asn-docker/languages","stargazers_url":"https://api.github.com/repos/arbal/asn-docker/stargazers","contributors_url":"https://api.github.com/repos/arbal/asn-docker/contributors","subscribers_url":"https://api.github.com/repos/arbal/asn-docker/subscribers","subscription_url":"https://api.github.com/repos/arbal/asn-docker/subscription","commits_url":"https://api.github.com/repos/arbal/asn-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/arbal/asn-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/arbal/asn-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/arbal/asn-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/arbal/asn-docker/contents/{+path}","compare_url":"https://api.github.com/repos/arbal/asn-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/arbal/asn-docker/merges","archive_url":"https://api.github.com/repos/arbal/asn-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/arbal/asn-docker/downloads","issues_url":"https://api.github.com/repos/arbal/asn-docker/issues{/number}","pulls_url":"https://api.github.com/repos/arbal/asn-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/arbal/asn-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/arbal/asn-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/arbal/asn-docker/labels{/name}","releases_url":"https://api.github.com/repos/arbal/asn-docker/releases{/id}","deployments_url":"https://api.github.com/repos/arbal/asn-docker/deployments","created_at":"2022-01-02T00:13:17Z","updated_at":"2022-01-02T00:24:12Z","pushed_at":"2022-01-02T01:00:01Z","git_url":"git://github.com/arbal/asn-docker.git","ssh_url":"git@github.com:arbal/asn-docker.git","clone_url":"https://github.com/arbal/asn-docker.git","svn_url":"https://github.com/arbal/asn-docker","homepage":null,"size":0,"stargazers_count":1,"watchers_count":1,"language":"Dockerfile","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":1,"default_branch":"main"}},"base":{"label":"arbal:main","ref":"main","sha":"d42f40839536fab56e43d660ebf453ec07df66ae","user":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"repo":{"id":443648924,"node_id":"R_kgDOGnGLnA","name":"asn-docker","full_name":"arbal/asn-docker","private":false,"owner":{"login":"arbal","id":1980389,"node_id":"MDQ6VXNlcjE5ODAzODk=","avatar_url":"https://avatars.githubusercontent.com/u/1980389?v=4","gravatar_id":"","url":"https://api.github.com/users/arbal","html_url":"https://github.com/arbal","followers_url":"https://api.github.com/users/arbal/followers","following_url":"https://api.github.com/users/arbal/following{/other_user}","gists_url":"https://api.github.com/users/arbal/gists{/gist_id}","starred_url":"https://api.github.com/users/arbal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbal/subscriptions","organizations_url":"https://api.github.com/users/arbal/orgs","repos_url":"https://api.github.com/users/arbal/repos","events_url":"https://api.github.com/users/arbal/events{/privacy}","received_events_url":"https://api.github.com/users/arbal/received_events","type":"User","site_admin":false},"html_url":"https://github.com/arbal/asn-docker","description":"Dockerized ASN Lookup Tool and Traceroute Server (nitefood/asn)","fork":false,"url":"https://api.github.com/repos/arbal/asn-docker","forks_url":"https://api.github.com/repos/arbal/asn-docker/forks","keys_url":"https://api.github.com/repos/arbal/asn-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/arbal/asn-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/arbal/asn-docker/teams","hooks_url":"https://api.github.com/repos/arbal/asn-docker/hooks","issue_events_url":"https://api.github.com/repos/arbal/asn-docker/issues/events{/number}","events_url":"https://api.github.com/repos/arbal/asn-docker/events","assignees_url":"https://api.github.com/repos/arbal/asn-docker/assignees{/user}","branches_url":"https://api.github.com/repos/arbal/asn-docker/branches{/branch}","tags_url":"https://api.github.com/repos/arbal/asn-docker/tags","blobs_url":"https://api.github.com/repos/arbal/asn-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/arbal/asn-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/arbal/asn-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/arbal/asn-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/arbal/asn-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/arbal/asn-docker/languages","stargazers_url":"https://api.github.com/repos/arbal/asn-docker/stargazers","contributors_url":"https://api.github.com/repos/arbal/asn-docker/contributors","subscribers_url":"https://api.github.com/repos/arbal/asn-docker/subscribers","subscription_url":"https://api.github.com/repos/arbal/asn-docker/subscription","commits_url":"https://api.github.com/repos/arbal/asn-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/arbal/asn-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/arbal/asn-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/arbal/asn-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/arbal/asn-docker/contents/{+path}","compare_url":"https://api.github.com/repos/arbal/asn-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/arbal/asn-docker/merges","archive_url":"https://api.github.com/repos/arbal/asn-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/arbal/asn-docker/downloads","issues_url":"https://api.github.com/repos/arbal/asn-docker/issues{/number}","pulls_url":"https://api.github.com/repos/arbal/asn-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/arbal/asn-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/arbal/asn-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/arbal/asn-docker/labels{/name}","releases_url":"https://api.github.com/repos/arbal/asn-docker/releases{/id}","deployments_url":"https://api.github.com/repos/arbal/asn-docker/deployments","created_at":"2022-01-02T00:13:17Z","updated_at":"2022-01-02T00:24:12Z","pushed_at":"2022-01-02T01:00:01Z","git_url":"git://github.com/arbal/asn-docker.git","ssh_url":"git@github.com:arbal/asn-docker.git","clone_url":"https://github.com/arbal/asn-docker.git","svn_url":"https://github.com/arbal/asn-docker","homepage":null,"size":0,"stargazers_count":1,"watchers_count":1,"language":"Dockerfile","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":1,"watchers":1,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/arbal/asn-docker/pulls/2"},"html":{"href":"https://github.com/arbal/asn-docker/pull/2"},"issue":{"href":"https://api.github.com/repos/arbal/asn-docker/issues/2"},"comments":{"href":"https://api.github.com/repos/arbal/asn-docker/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/arbal/asn-docker/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/arbal/asn-docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/arbal/asn-docker/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/arbal/asn-docker/statuses/cda63e987dd2e809a0f2558a561dff4d27efe80a"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596343","type":"PushEvent","actor":{"id":90981669,"login":"RuslanKarpov","display_login":"RuslanKarpov","gravatar_id":"","url":"https://api.github.com/users/RuslanKarpov","avatar_url":"https://avatars.githubusercontent.com/u/90981669?"},"repo":{"id":443575452,"name":"RuslanKarpov/goit-markup-hw-05","url":"https://api.github.com/repos/RuslanKarpov/goit-markup-hw-05"},"payload":{"push_id":8735901417,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cb8531d3047a0dac95d800dfa61c152ebb4a0247","before":"0d3eef0c4cde59163610ef3b5a3c3a77ae7db253","commits":[{"sha":"cb8531d3047a0dac95d800dfa61c152ebb4a0247","author":{"email":"karpovruslan1980@gmail.com","name":"Ruslan Karpov"},"message":"111","distinct":true,"url":"https://api.github.com/repos/RuslanKarpov/goit-markup-hw-05/commits/cb8531d3047a0dac95d800dfa61c152ebb4a0247"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596344","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":296583429,"name":"Yuppymam/Yuppymam","url":"https://api.github.com/repos/Yuppymam/Yuppymam"},"payload":{"push_id":8735901411,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a9cdf0a48e3bdf2154cd25b51904485fd76d2951","before":"486197f6d677ce9aadf314f82d91803ea14103f4","commits":[{"sha":"a9cdf0a48e3bdf2154cd25b51904485fd76d2951","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/Yuppymam/Yuppymam/commits/a9cdf0a48e3bdf2154cd25b51904485fd76d2951"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596348","type":"PublicEvent","actor":{"id":66086874,"login":"j-tippets","display_login":"j-tippets","gravatar_id":"","url":"https://api.github.com/users/j-tippets","avatar_url":"https://avatars.githubusercontent.com/u/66086874?"},"repo":{"id":443647053,"name":"j-tippets/exp_prod","url":"https://api.github.com/repos/j-tippets/exp_prod"},"payload":{},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596352","type":"PushEvent","actor":{"id":66348567,"login":"slayerzeroa","display_login":"slayerzeroa","gravatar_id":"","url":"https://api.github.com/users/slayerzeroa","avatar_url":"https://avatars.githubusercontent.com/u/66348567?"},"repo":{"id":411605625,"name":"slayerzeroa/jaryogujo","url":"https://api.github.com/repos/slayerzeroa/jaryogujo"},"payload":{"push_id":8735901416,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3a6c87f0dfb85a031d0d9cee5e44076835b22a44","before":"636abb7674a230274729793574654b5891e5611a","commits":[{"sha":"3a6c87f0dfb85a031d0d9cee5e44076835b22a44","author":{"email":"slayerzeroa@naver.com","name":"slayerzeroa"},"message":"220102\ndata structure code","distinct":true,"url":"https://api.github.com/repos/slayerzeroa/jaryogujo/commits/3a6c87f0dfb85a031d0d9cee5e44076835b22a44"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596356","type":"PushEvent","actor":{"id":12046237,"login":"starfrost013","display_login":"starfrost013","gravatar_id":"","url":"https://api.github.com/users/starfrost013","avatar_url":"https://avatars.githubusercontent.com/u/12046237?"},"repo":{"id":344934191,"name":"starfrost013/Lightning","url":"https://api.github.com/repos/starfrost013/Lightning"},"payload":{"push_id":8735901419,"size":1,"distinct_size":1,"ref":"refs/heads/NRIntegration","head":"9a1dd70c8cd27e21967e39d4cbacf2acb0262269","before":"87167bd9a30d475d2e94353b09979db8c11d2315","commits":[{"sha":"9a1dd70c8cd27e21967e39d4cbacf2acb0262269","author":{"email":"mario64crashed@gmail.com","name":"starfrost"},"message":"IGDService: F7 for hitbox display debug","distinct":true,"url":"https://api.github.com/repos/starfrost013/Lightning/commits/9a1dd70c8cd27e21967e39d4cbacf2acb0262269"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596357","type":"PushEvent","actor":{"id":96052245,"login":"liiiib","display_login":"liiiib","gravatar_id":"","url":"https://api.github.com/users/liiiib","avatar_url":"https://avatars.githubusercontent.com/u/96052245?"},"repo":{"id":443651401,"name":"liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36","url":"https://api.github.com/repos/liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36"},"payload":{"push_id":8735901425,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6b7da529db649000f237898af0fdc63baaa1556e","before":"b8961d8517ad6c55e1d7ed7f4d41594e93b365d9","commits":[{"sha":"6b7da529db649000f237898af0fdc63baaa1556e","author":{"email":"96052245+liiiib@users.noreply.github.com","name":"liiiib"},"message":"upload file 2a78f283ee22280eebdc122f919eb8b399db9d8968c637aa500173f6b4de7522eb34d345700e0f0080afcc5cc080403fvideo_120_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36/commits/6b7da529db649000f237898af0fdc63baaa1556e"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596361","type":"PushEvent","actor":{"id":36203347,"login":"Alsaddig","display_login":"Alsaddig","gravatar_id":"","url":"https://api.github.com/users/Alsaddig","avatar_url":"https://avatars.githubusercontent.com/u/36203347?"},"repo":{"id":443651060,"name":"Alsaddig/orre","url":"https://api.github.com/repos/Alsaddig/orre"},"payload":{"push_id":8735901421,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3cd275ae7ac1bcd2ef829fb97f1239de8c161101","before":"0c4d1e41a10f4c7886f8229f4d8fe297caaa3aa9","commits":[{"sha":"3cd275ae7ac1bcd2ef829fb97f1239de8c161101","author":{"email":"36203347+Alsaddig@users.noreply.github.com","name":"Alsaddig"},"message":"added and updated","distinct":true,"url":"https://api.github.com/repos/Alsaddig/orre/commits/3cd275ae7ac1bcd2ef829fb97f1239de8c161101"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596363","type":"PushEvent","actor":{"id":8478957,"login":"Finto-data","display_login":"Finto-data","gravatar_id":"","url":"https://api.github.com/users/Finto-data","avatar_url":"https://avatars.githubusercontent.com/u/8478957?"},"repo":{"id":22988982,"name":"NatLibFi/Finto-data","url":"https://api.github.com/repos/NatLibFi/Finto-data"},"payload":{"push_id":8735901424,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"816169108839dd5c6f404a2371ba5deca251ae29","before":"ce4617136236e7d33e8b68158cb2905a7ef26aa0","commits":[{"sha":"816169108839dd5c6f404a2371ba5deca251ae29","author":{"email":"finto-posti@helsinki.fi","name":"Finto-data"},"message":"automaattipäivitys: finaf","distinct":true,"url":"https://api.github.com/repos/NatLibFi/Finto-data/commits/816169108839dd5c6f404a2371ba5deca251ae29"}]},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":7656207,"login":"NatLibFi","gravatar_id":"","url":"https://api.github.com/orgs/NatLibFi","avatar_url":"https://avatars.githubusercontent.com/u/7656207?"}} +{"id":"19546596365","type":"PullRequestEvent","actor":{"id":55277160,"login":"gitlocalize-app[bot]","display_login":"gitlocalize-app","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app[bot]","avatar_url":"https://avatars.githubusercontent.com/u/55277160?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"action":"opened","number":228,"pull_request":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228","id":812662836,"node_id":"PR_kwDODukjUM4wcEA0","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/228","diff_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/228.diff","patch_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/228.patch","issue_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/228","number":228,"state":"open","locked":false,"title":"Croatian translation","user":{"login":"gitlocalize-app[bot]","id":55277160,"node_id":"MDM6Qm90NTUyNzcxNjA=","avatar_url":"https://avatars.githubusercontent.com/in/40992?v=4","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D","html_url":"https://github.com/apps/gitlocalize-app","followers_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/followers","following_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/repos","events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"\n\n[See review request on GitLocalize](https://gitlocalize.com/repo/4481/hr/review/39685)","created_at":"2022-01-02T01:00:01Z","updated_at":"2022-01-02T01:00:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228/commits","review_comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228/comments","review_comment_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/comments{/number}","comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/228/comments","statuses_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/statuses/8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f","head":{"label":"BentoBoxWorld:gitlocalize-17748","ref":"gitlocalize-17748","sha":"8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f","user":{"login":"BentoBoxWorld","id":41555324,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxNTU1MzI0","avatar_url":"https://avatars.githubusercontent.com/u/41555324?v=4","gravatar_id":"","url":"https://api.github.com/users/BentoBoxWorld","html_url":"https://github.com/BentoBoxWorld","followers_url":"https://api.github.com/users/BentoBoxWorld/followers","following_url":"https://api.github.com/users/BentoBoxWorld/following{/other_user}","gists_url":"https://api.github.com/users/BentoBoxWorld/gists{/gist_id}","starred_url":"https://api.github.com/users/BentoBoxWorld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BentoBoxWorld/subscriptions","organizations_url":"https://api.github.com/users/BentoBoxWorld/orgs","repos_url":"https://api.github.com/users/BentoBoxWorld/repos","events_url":"https://api.github.com/users/BentoBoxWorld/events{/privacy}","received_events_url":"https://api.github.com/users/BentoBoxWorld/received_events","type":"Organization","site_admin":false},"repo":{"id":250159952,"node_id":"MDEwOlJlcG9zaXRvcnkyNTAxNTk5NTI=","name":"AOneBlock","full_name":"BentoBoxWorld/AOneBlock","private":false,"owner":{"login":"BentoBoxWorld","id":41555324,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxNTU1MzI0","avatar_url":"https://avatars.githubusercontent.com/u/41555324?v=4","gravatar_id":"","url":"https://api.github.com/users/BentoBoxWorld","html_url":"https://github.com/BentoBoxWorld","followers_url":"https://api.github.com/users/BentoBoxWorld/followers","following_url":"https://api.github.com/users/BentoBoxWorld/following{/other_user}","gists_url":"https://api.github.com/users/BentoBoxWorld/gists{/gist_id}","starred_url":"https://api.github.com/users/BentoBoxWorld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BentoBoxWorld/subscriptions","organizations_url":"https://api.github.com/users/BentoBoxWorld/orgs","repos_url":"https://api.github.com/users/BentoBoxWorld/repos","events_url":"https://api.github.com/users/BentoBoxWorld/events{/privacy}","received_events_url":"https://api.github.com/users/BentoBoxWorld/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/BentoBoxWorld/AOneBlock","description":"A OneBlock Minecraft Game for BentoBox","fork":false,"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock","forks_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/forks","keys_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/teams","hooks_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/hooks","issue_events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/events{/number}","events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/events","assignees_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/assignees{/user}","branches_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/branches{/branch}","tags_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/tags","blobs_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/refs{/sha}","trees_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/statuses/{sha}","languages_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/languages","stargazers_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/stargazers","contributors_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/contributors","subscribers_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/subscribers","subscription_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/subscription","commits_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/commits{/sha}","git_commits_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/commits{/sha}","comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/comments{/number}","issue_comment_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments{/number}","contents_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/contents/{+path}","compare_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/merges","archive_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/downloads","issues_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues{/number}","pulls_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls{/number}","milestones_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/milestones{/number}","notifications_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/labels{/name}","releases_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/releases{/id}","deployments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/deployments","created_at":"2020-03-26T04:20:37Z","updated_at":"2022-01-02T00:57:41Z","pushed_at":"2022-01-02T01:00:01Z","git_url":"git://github.com/BentoBoxWorld/AOneBlock.git","ssh_url":"git@github.com:BentoBoxWorld/AOneBlock.git","clone_url":"https://github.com/BentoBoxWorld/AOneBlock.git","svn_url":"https://github.com/BentoBoxWorld/AOneBlock","homepage":"https://docs.bentobox.world","size":483,"stargazers_count":40,"watchers_count":40,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":42,"license":{"key":"epl-2.0","name":"Eclipse Public License 2.0","spdx_id":"EPL-2.0","url":"https://api.github.com/licenses/epl-2.0","node_id":"MDc6TGljZW5zZTMy"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":22,"open_issues":42,"watchers":40,"default_branch":"develop"}},"base":{"label":"BentoBoxWorld:develop","ref":"develop","sha":"907701c119d6a290c9292bcc084fd1a1d616b441","user":{"login":"BentoBoxWorld","id":41555324,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxNTU1MzI0","avatar_url":"https://avatars.githubusercontent.com/u/41555324?v=4","gravatar_id":"","url":"https://api.github.com/users/BentoBoxWorld","html_url":"https://github.com/BentoBoxWorld","followers_url":"https://api.github.com/users/BentoBoxWorld/followers","following_url":"https://api.github.com/users/BentoBoxWorld/following{/other_user}","gists_url":"https://api.github.com/users/BentoBoxWorld/gists{/gist_id}","starred_url":"https://api.github.com/users/BentoBoxWorld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BentoBoxWorld/subscriptions","organizations_url":"https://api.github.com/users/BentoBoxWorld/orgs","repos_url":"https://api.github.com/users/BentoBoxWorld/repos","events_url":"https://api.github.com/users/BentoBoxWorld/events{/privacy}","received_events_url":"https://api.github.com/users/BentoBoxWorld/received_events","type":"Organization","site_admin":false},"repo":{"id":250159952,"node_id":"MDEwOlJlcG9zaXRvcnkyNTAxNTk5NTI=","name":"AOneBlock","full_name":"BentoBoxWorld/AOneBlock","private":false,"owner":{"login":"BentoBoxWorld","id":41555324,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxNTU1MzI0","avatar_url":"https://avatars.githubusercontent.com/u/41555324?v=4","gravatar_id":"","url":"https://api.github.com/users/BentoBoxWorld","html_url":"https://github.com/BentoBoxWorld","followers_url":"https://api.github.com/users/BentoBoxWorld/followers","following_url":"https://api.github.com/users/BentoBoxWorld/following{/other_user}","gists_url":"https://api.github.com/users/BentoBoxWorld/gists{/gist_id}","starred_url":"https://api.github.com/users/BentoBoxWorld/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BentoBoxWorld/subscriptions","organizations_url":"https://api.github.com/users/BentoBoxWorld/orgs","repos_url":"https://api.github.com/users/BentoBoxWorld/repos","events_url":"https://api.github.com/users/BentoBoxWorld/events{/privacy}","received_events_url":"https://api.github.com/users/BentoBoxWorld/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/BentoBoxWorld/AOneBlock","description":"A OneBlock Minecraft Game for BentoBox","fork":false,"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock","forks_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/forks","keys_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/teams","hooks_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/hooks","issue_events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/events{/number}","events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/events","assignees_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/assignees{/user}","branches_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/branches{/branch}","tags_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/tags","blobs_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/refs{/sha}","trees_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/statuses/{sha}","languages_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/languages","stargazers_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/stargazers","contributors_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/contributors","subscribers_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/subscribers","subscription_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/subscription","commits_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/commits{/sha}","git_commits_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/git/commits{/sha}","comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/comments{/number}","issue_comment_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments{/number}","contents_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/contents/{+path}","compare_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/merges","archive_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/downloads","issues_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues{/number}","pulls_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls{/number}","milestones_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/milestones{/number}","notifications_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/labels{/name}","releases_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/releases{/id}","deployments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/deployments","created_at":"2020-03-26T04:20:37Z","updated_at":"2022-01-02T00:57:41Z","pushed_at":"2022-01-02T01:00:01Z","git_url":"git://github.com/BentoBoxWorld/AOneBlock.git","ssh_url":"git@github.com:BentoBoxWorld/AOneBlock.git","clone_url":"https://github.com/BentoBoxWorld/AOneBlock.git","svn_url":"https://github.com/BentoBoxWorld/AOneBlock","homepage":"https://docs.bentobox.world","size":483,"stargazers_count":40,"watchers_count":40,"language":"Java","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":42,"license":{"key":"epl-2.0","name":"Eclipse Public License 2.0","spdx_id":"EPL-2.0","url":"https://api.github.com/licenses/epl-2.0","node_id":"MDc6TGljZW5zZTMy"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":22,"open_issues":42,"watchers":40,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228"},"html":{"href":"https://github.com/BentoBoxWorld/AOneBlock/pull/228"},"issue":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/228"},"comments":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/228/comments"},"review_comments":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228/comments"},"review_comment":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/228/commits"},"statuses":{"href":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/statuses/8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":2,"additions":5,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546596375","type":"PushEvent","actor":{"id":21219146,"login":"ZhimaoL","display_login":"ZhimaoL","gravatar_id":"","url":"https://api.github.com/users/ZhimaoL","avatar_url":"https://avatars.githubusercontent.com/u/21219146?"},"repo":{"id":437678886,"name":"cyberconnecthq/connect-list","url":"https://api.github.com/repos/cyberconnecthq/connect-list"},"payload":{"push_id":8735901437,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"473208cb607b255a9a1758b643df4fc91680edea","before":"b06090a3492c058c7839f02938577dccd44bb432","commits":[{"sha":"473208cb607b255a9a1758b643df4fc91680edea","author":{"email":"zhimao_liu@icloud.com","name":"Zhimao Liu"},"message":"Linking 0x08a7a02260ef7fcd6a46fa27a00ffc6d92dd8a0d to handle: tyinghong","distinct":true,"url":"https://api.github.com/repos/cyberconnecthq/connect-list/commits/473208cb607b255a9a1758b643df4fc91680edea"}]},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":81209593,"login":"cyberconnecthq","gravatar_id":"","url":"https://api.github.com/orgs/cyberconnecthq","avatar_url":"https://avatars.githubusercontent.com/u/81209593?"}} +{"id":"19546596376","type":"MemberEvent","actor":{"id":58148243,"login":"skylerbasco","display_login":"skylerbasco","gravatar_id":"","url":"https://api.github.com/users/skylerbasco","avatar_url":"https://avatars.githubusercontent.com/u/58148243?"},"repo":{"id":443253494,"name":"skylerbasco/cybersecurity-prework","url":"https://api.github.com/repos/skylerbasco/cybersecurity-prework"},"payload":{"member":{"login":"codepathreview","id":7917093,"node_id":"MDQ6VXNlcjc5MTcwOTM=","avatar_url":"https://avatars.githubusercontent.com/u/7917093?v=4","gravatar_id":"","url":"https://api.github.com/users/codepathreview","html_url":"https://github.com/codepathreview","followers_url":"https://api.github.com/users/codepathreview/followers","following_url":"https://api.github.com/users/codepathreview/following{/other_user}","gists_url":"https://api.github.com/users/codepathreview/gists{/gist_id}","starred_url":"https://api.github.com/users/codepathreview/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codepathreview/subscriptions","organizations_url":"https://api.github.com/users/codepathreview/orgs","repos_url":"https://api.github.com/users/codepathreview/repos","events_url":"https://api.github.com/users/codepathreview/events{/privacy}","received_events_url":"https://api.github.com/users/codepathreview/received_events","type":"User","site_admin":false},"action":"added"},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596377","type":"PullRequestEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":440223691,"name":"5t-RawBeRry/luci","url":"https://api.github.com/repos/5t-RawBeRry/luci"},"payload":{"action":"closed","number":6,"pull_request":{"url":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6","id":812662619,"node_id":"PR_kwDOGj1Hy84wcD9b","html_url":"https://github.com/5t-RawBeRry/luci/pull/6","diff_url":"https://github.com/5t-RawBeRry/luci/pull/6.diff","patch_url":"https://github.com/5t-RawBeRry/luci/pull/6.patch","issue_url":"https://api.github.com/repos/5t-RawBeRry/luci/issues/6","number":6,"state":"closed","locked":false,"title":"[pull] master from immortalwrt:master","user":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"See [Commits](/5t-RawBeRry/luci/pull/6/commits) and [Changes](/5t-RawBeRry/luci/pull/6/files) for more details.\n\n-----\nCreated by [ **pull[bot]**](https://github.com/wei/pull)\n\n_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_","created_at":"2022-01-02T00:57:41Z","updated_at":"2022-01-02T01:00:02Z","closed_at":"2022-01-02T01:00:02Z","merged_at":"2022-01-02T01:00:02Z","merge_commit_sha":"17326c5624a7fa39b49405265d69239fc680a01e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3662814840,"node_id":"LA_kwDOGj1Hy87aUh54","url":"https://api.github.com/repos/5t-RawBeRry/luci/labels/:arrow_heading_down:%20pull","name":":arrow_heading_down: pull","color":"ededed","default":false,"description":null}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6/commits","review_comments_url":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6/comments","review_comment_url":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/comments{/number}","comments_url":"https://api.github.com/repos/5t-RawBeRry/luci/issues/6/comments","statuses_url":"https://api.github.com/repos/5t-RawBeRry/luci/statuses/17326c5624a7fa39b49405265d69239fc680a01e","head":{"label":"immortalwrt:master","ref":"master","sha":"17326c5624a7fa39b49405265d69239fc680a01e","user":{"login":"immortalwrt","id":53193414,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzMTkzNDE0","avatar_url":"https://avatars.githubusercontent.com/u/53193414?v=4","gravatar_id":"","url":"https://api.github.com/users/immortalwrt","html_url":"https://github.com/immortalwrt","followers_url":"https://api.github.com/users/immortalwrt/followers","following_url":"https://api.github.com/users/immortalwrt/following{/other_user}","gists_url":"https://api.github.com/users/immortalwrt/gists{/gist_id}","starred_url":"https://api.github.com/users/immortalwrt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/immortalwrt/subscriptions","organizations_url":"https://api.github.com/users/immortalwrt/orgs","repos_url":"https://api.github.com/users/immortalwrt/repos","events_url":"https://api.github.com/users/immortalwrt/events{/privacy}","received_events_url":"https://api.github.com/users/immortalwrt/received_events","type":"Organization","site_admin":false},"repo":{"id":252250373,"node_id":"MDEwOlJlcG9zaXRvcnkyNTIyNTAzNzM=","name":"luci","full_name":"immortalwrt/luci","private":false,"owner":{"login":"immortalwrt","id":53193414,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzMTkzNDE0","avatar_url":"https://avatars.githubusercontent.com/u/53193414?v=4","gravatar_id":"","url":"https://api.github.com/users/immortalwrt","html_url":"https://github.com/immortalwrt","followers_url":"https://api.github.com/users/immortalwrt/followers","following_url":"https://api.github.com/users/immortalwrt/following{/other_user}","gists_url":"https://api.github.com/users/immortalwrt/gists{/gist_id}","starred_url":"https://api.github.com/users/immortalwrt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/immortalwrt/subscriptions","organizations_url":"https://api.github.com/users/immortalwrt/orgs","repos_url":"https://api.github.com/users/immortalwrt/repos","events_url":"https://api.github.com/users/immortalwrt/events{/privacy}","received_events_url":"https://api.github.com/users/immortalwrt/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/immortalwrt/luci","description":"LuCI - OpenWrt Configuration Interface","fork":false,"url":"https://api.github.com/repos/immortalwrt/luci","forks_url":"https://api.github.com/repos/immortalwrt/luci/forks","keys_url":"https://api.github.com/repos/immortalwrt/luci/keys{/key_id}","collaborators_url":"https://api.github.com/repos/immortalwrt/luci/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/immortalwrt/luci/teams","hooks_url":"https://api.github.com/repos/immortalwrt/luci/hooks","issue_events_url":"https://api.github.com/repos/immortalwrt/luci/issues/events{/number}","events_url":"https://api.github.com/repos/immortalwrt/luci/events","assignees_url":"https://api.github.com/repos/immortalwrt/luci/assignees{/user}","branches_url":"https://api.github.com/repos/immortalwrt/luci/branches{/branch}","tags_url":"https://api.github.com/repos/immortalwrt/luci/tags","blobs_url":"https://api.github.com/repos/immortalwrt/luci/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/immortalwrt/luci/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/immortalwrt/luci/git/refs{/sha}","trees_url":"https://api.github.com/repos/immortalwrt/luci/git/trees{/sha}","statuses_url":"https://api.github.com/repos/immortalwrt/luci/statuses/{sha}","languages_url":"https://api.github.com/repos/immortalwrt/luci/languages","stargazers_url":"https://api.github.com/repos/immortalwrt/luci/stargazers","contributors_url":"https://api.github.com/repos/immortalwrt/luci/contributors","subscribers_url":"https://api.github.com/repos/immortalwrt/luci/subscribers","subscription_url":"https://api.github.com/repos/immortalwrt/luci/subscription","commits_url":"https://api.github.com/repos/immortalwrt/luci/commits{/sha}","git_commits_url":"https://api.github.com/repos/immortalwrt/luci/git/commits{/sha}","comments_url":"https://api.github.com/repos/immortalwrt/luci/comments{/number}","issue_comment_url":"https://api.github.com/repos/immortalwrt/luci/issues/comments{/number}","contents_url":"https://api.github.com/repos/immortalwrt/luci/contents/{+path}","compare_url":"https://api.github.com/repos/immortalwrt/luci/compare/{base}...{head}","merges_url":"https://api.github.com/repos/immortalwrt/luci/merges","archive_url":"https://api.github.com/repos/immortalwrt/luci/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/immortalwrt/luci/downloads","issues_url":"https://api.github.com/repos/immortalwrt/luci/issues{/number}","pulls_url":"https://api.github.com/repos/immortalwrt/luci/pulls{/number}","milestones_url":"https://api.github.com/repos/immortalwrt/luci/milestones{/number}","notifications_url":"https://api.github.com/repos/immortalwrt/luci/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/immortalwrt/luci/labels{/name}","releases_url":"https://api.github.com/repos/immortalwrt/luci/releases{/id}","deployments_url":"https://api.github.com/repos/immortalwrt/luci/deployments","created_at":"2020-04-01T18:04:42Z","updated_at":"2022-01-01T23:51:16Z","pushed_at":"2022-01-01T23:51:13Z","git_url":"git://github.com/immortalwrt/luci.git","ssh_url":"git@github.com:immortalwrt/luci.git","clone_url":"https://github.com/immortalwrt/luci.git","svn_url":"https://github.com/immortalwrt/luci","homepage":"","size":150008,"stargazers_count":28,"watchers_count":28,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":45,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":45,"open_issues":3,"watchers":28,"default_branch":"master"}},"base":{"label":"5t-RawBeRry:master","ref":"master","sha":"6694bc352e4fa27b572c3a23737d49f576b1184f","user":{"login":"5t-RawBeRry","id":42401336,"node_id":"MDQ6VXNlcjQyNDAxMzM2","avatar_url":"https://avatars.githubusercontent.com/u/42401336?v=4","gravatar_id":"","url":"https://api.github.com/users/5t-RawBeRry","html_url":"https://github.com/5t-RawBeRry","followers_url":"https://api.github.com/users/5t-RawBeRry/followers","following_url":"https://api.github.com/users/5t-RawBeRry/following{/other_user}","gists_url":"https://api.github.com/users/5t-RawBeRry/gists{/gist_id}","starred_url":"https://api.github.com/users/5t-RawBeRry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/5t-RawBeRry/subscriptions","organizations_url":"https://api.github.com/users/5t-RawBeRry/orgs","repos_url":"https://api.github.com/users/5t-RawBeRry/repos","events_url":"https://api.github.com/users/5t-RawBeRry/events{/privacy}","received_events_url":"https://api.github.com/users/5t-RawBeRry/received_events","type":"User","site_admin":false},"repo":{"id":440223691,"node_id":"R_kgDOGj1Hyw","name":"luci","full_name":"5t-RawBeRry/luci","private":false,"owner":{"login":"5t-RawBeRry","id":42401336,"node_id":"MDQ6VXNlcjQyNDAxMzM2","avatar_url":"https://avatars.githubusercontent.com/u/42401336?v=4","gravatar_id":"","url":"https://api.github.com/users/5t-RawBeRry","html_url":"https://github.com/5t-RawBeRry","followers_url":"https://api.github.com/users/5t-RawBeRry/followers","following_url":"https://api.github.com/users/5t-RawBeRry/following{/other_user}","gists_url":"https://api.github.com/users/5t-RawBeRry/gists{/gist_id}","starred_url":"https://api.github.com/users/5t-RawBeRry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/5t-RawBeRry/subscriptions","organizations_url":"https://api.github.com/users/5t-RawBeRry/orgs","repos_url":"https://api.github.com/users/5t-RawBeRry/repos","events_url":"https://api.github.com/users/5t-RawBeRry/events{/privacy}","received_events_url":"https://api.github.com/users/5t-RawBeRry/received_events","type":"User","site_admin":false},"html_url":"https://github.com/5t-RawBeRry/luci","description":"LuCI - OpenWrt Configuration Interface","fork":true,"url":"https://api.github.com/repos/5t-RawBeRry/luci","forks_url":"https://api.github.com/repos/5t-RawBeRry/luci/forks","keys_url":"https://api.github.com/repos/5t-RawBeRry/luci/keys{/key_id}","collaborators_url":"https://api.github.com/repos/5t-RawBeRry/luci/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/5t-RawBeRry/luci/teams","hooks_url":"https://api.github.com/repos/5t-RawBeRry/luci/hooks","issue_events_url":"https://api.github.com/repos/5t-RawBeRry/luci/issues/events{/number}","events_url":"https://api.github.com/repos/5t-RawBeRry/luci/events","assignees_url":"https://api.github.com/repos/5t-RawBeRry/luci/assignees{/user}","branches_url":"https://api.github.com/repos/5t-RawBeRry/luci/branches{/branch}","tags_url":"https://api.github.com/repos/5t-RawBeRry/luci/tags","blobs_url":"https://api.github.com/repos/5t-RawBeRry/luci/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/5t-RawBeRry/luci/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/5t-RawBeRry/luci/git/refs{/sha}","trees_url":"https://api.github.com/repos/5t-RawBeRry/luci/git/trees{/sha}","statuses_url":"https://api.github.com/repos/5t-RawBeRry/luci/statuses/{sha}","languages_url":"https://api.github.com/repos/5t-RawBeRry/luci/languages","stargazers_url":"https://api.github.com/repos/5t-RawBeRry/luci/stargazers","contributors_url":"https://api.github.com/repos/5t-RawBeRry/luci/contributors","subscribers_url":"https://api.github.com/repos/5t-RawBeRry/luci/subscribers","subscription_url":"https://api.github.com/repos/5t-RawBeRry/luci/subscription","commits_url":"https://api.github.com/repos/5t-RawBeRry/luci/commits{/sha}","git_commits_url":"https://api.github.com/repos/5t-RawBeRry/luci/git/commits{/sha}","comments_url":"https://api.github.com/repos/5t-RawBeRry/luci/comments{/number}","issue_comment_url":"https://api.github.com/repos/5t-RawBeRry/luci/issues/comments{/number}","contents_url":"https://api.github.com/repos/5t-RawBeRry/luci/contents/{+path}","compare_url":"https://api.github.com/repos/5t-RawBeRry/luci/compare/{base}...{head}","merges_url":"https://api.github.com/repos/5t-RawBeRry/luci/merges","archive_url":"https://api.github.com/repos/5t-RawBeRry/luci/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/5t-RawBeRry/luci/downloads","issues_url":"https://api.github.com/repos/5t-RawBeRry/luci/issues{/number}","pulls_url":"https://api.github.com/repos/5t-RawBeRry/luci/pulls{/number}","milestones_url":"https://api.github.com/repos/5t-RawBeRry/luci/milestones{/number}","notifications_url":"https://api.github.com/repos/5t-RawBeRry/luci/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/5t-RawBeRry/luci/labels{/name}","releases_url":"https://api.github.com/repos/5t-RawBeRry/luci/releases{/id}","deployments_url":"https://api.github.com/repos/5t-RawBeRry/luci/deployments","created_at":"2021-12-20T15:47:01Z","updated_at":"2021-12-28T06:33:23Z","pushed_at":"2022-01-02T01:00:00Z","git_url":"git://github.com/5t-RawBeRry/luci.git","ssh_url":"git@github.com:5t-RawBeRry/luci.git","clone_url":"https://github.com/5t-RawBeRry/luci.git","svn_url":"https://github.com/5t-RawBeRry/luci","homepage":"","size":149394,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6"},"html":{"href":"https://github.com/5t-RawBeRry/luci/pull/6"},"issue":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/issues/6"},"comments":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/5t-RawBeRry/luci/statuses/17326c5624a7fa39b49405265d69239fc680a01e"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":2,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596380","type":"PushEvent","actor":{"id":36612,"login":"agerdes","display_login":"agerdes","gravatar_id":"","url":"https://api.github.com/users/agerdes","avatar_url":"https://avatars.githubusercontent.com/u/36612?"},"repo":{"id":192798650,"name":"agerdes/dotfiles","url":"https://api.github.com/repos/agerdes/dotfiles"},"payload":{"push_id":8735901435,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b77e4137718e28900edbc60e3e774d12ef0ed694","before":"3326a37c20f82848974105fcce044a97f3cb8c76","commits":[{"sha":"b77e4137718e28900edbc60e3e774d12ef0ed694","author":{"email":"36612+agerdes@users.noreply.github.com","name":"Aaron Gerdes"},"message":"Drop chruby","distinct":true,"url":"https://api.github.com/repos/agerdes/dotfiles/commits/b77e4137718e28900edbc60e3e774d12ef0ed694"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596381","type":"PushEvent","actor":{"id":94811982,"login":"guoguomeimei","display_login":"guoguomeimei","gravatar_id":"","url":"https://api.github.com/users/guoguomeimei","avatar_url":"https://avatars.githubusercontent.com/u/94811982?"},"repo":{"id":443312410,"name":"guoguomeimei/VoluntryActivity","url":"https://api.github.com/repos/guoguomeimei/VoluntryActivity"},"payload":{"push_id":8735901433,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f0a08b77348ac90af35a47f0155db7ce977e79c4","before":"6224b3bf7e278a842f4c851950525c6cd5107118","commits":[{"sha":"f0a08b77348ac90af35a47f0155db7ce977e79c4","author":{"email":"ganmengqing0@163.com","name":"gmq"},"message":"end commit","distinct":true,"url":"https://api.github.com/repos/guoguomeimei/VoluntryActivity/commits/f0a08b77348ac90af35a47f0155db7ce977e79c4"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596382","type":"CreateEvent","actor":{"id":1686007,"login":"efarbereger","display_login":"efarbereger","gravatar_id":"","url":"https://api.github.com/users/efarbereger","avatar_url":"https://avatars.githubusercontent.com/u/1686007?"},"repo":{"id":443654634,"name":"efarbereger/tmp_clock_repo","url":"https://api.github.com/repos/efarbereger/tmp_clock_repo"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"these commits make a fun clock","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596386","type":"ForkEvent","actor":{"id":44477895,"login":"mapjohns","display_login":"mapjohns","gravatar_id":"","url":"https://api.github.com/users/mapjohns","avatar_url":"https://avatars.githubusercontent.com/u/44477895?"},"repo":{"id":49503366,"name":"learn-co-curriculum/rendering-collections-reading","url":"https://api.github.com/repos/learn-co-curriculum/rendering-collections-reading"},"payload":{"forkee":{"id":443654635,"node_id":"R_kgDOGnGh6w","name":"rendering-collections-reading","full_name":"mapjohns/rendering-collections-reading","private":false,"owner":{"login":"mapjohns","id":44477895,"node_id":"MDQ6VXNlcjQ0NDc3ODk1","avatar_url":"https://avatars.githubusercontent.com/u/44477895?v=4","gravatar_id":"","url":"https://api.github.com/users/mapjohns","html_url":"https://github.com/mapjohns","followers_url":"https://api.github.com/users/mapjohns/followers","following_url":"https://api.github.com/users/mapjohns/following{/other_user}","gists_url":"https://api.github.com/users/mapjohns/gists{/gist_id}","starred_url":"https://api.github.com/users/mapjohns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapjohns/subscriptions","organizations_url":"https://api.github.com/users/mapjohns/orgs","repos_url":"https://api.github.com/users/mapjohns/repos","events_url":"https://api.github.com/users/mapjohns/events{/privacy}","received_events_url":"https://api.github.com/users/mapjohns/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mapjohns/rendering-collections-reading","description":null,"fork":true,"url":"https://api.github.com/repos/mapjohns/rendering-collections-reading","forks_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/forks","keys_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/teams","hooks_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/hooks","issue_events_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/issues/events{/number}","events_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/events","assignees_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/assignees{/user}","branches_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/branches{/branch}","tags_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/tags","blobs_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/statuses/{sha}","languages_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/languages","stargazers_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/stargazers","contributors_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/contributors","subscribers_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/subscribers","subscription_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/subscription","commits_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/contents/{+path}","compare_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/merges","archive_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/downloads","issues_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/issues{/number}","pulls_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/pulls{/number}","milestones_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/milestones{/number}","notifications_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/labels{/name}","releases_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/releases{/id}","deployments_url":"https://api.github.com/repos/mapjohns/rendering-collections-reading/deployments","created_at":"2022-01-02T01:00:02Z","updated_at":"2021-08-06T21:52:14Z","pushed_at":"2021-09-27T20:48:04Z","git_url":"git://github.com/mapjohns/rendering-collections-reading.git","ssh_url":"git@github.com:mapjohns/rendering-collections-reading.git","clone_url":"https://github.com/mapjohns/rendering-collections-reading.git","svn_url":"https://github.com/mapjohns/rendering-collections-reading","homepage":null,"size":388,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":6208017,"login":"learn-co-curriculum","gravatar_id":"","url":"https://api.github.com/orgs/learn-co-curriculum","avatar_url":"https://avatars.githubusercontent.com/u/6208017?"}} +{"id":"19546596390","type":"IssueCommentEvent","actor":{"id":128986,"login":"adam3smith","display_login":"adam3smith","gravatar_id":"","url":"https://api.github.com/users/adam3smith","avatar_url":"https://avatars.githubusercontent.com/u/128986?"},"repo":{"id":5686094,"name":"inukshuk/csl-styles","url":"https://api.github.com/repos/inukshuk/csl-styles"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8","repository_url":"https://api.github.com/repos/inukshuk/csl-styles","labels_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/comments","events_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/events","html_url":"https://github.com/inukshuk/csl-styles/pull/8","id":1091924452,"node_id":"PR_kwDOAFbDTs4wcDvj","number":8,"title":"Make valid for 2.0+","user":{"login":"adam3smith","id":128986,"node_id":"MDQ6VXNlcjEyODk4Ng==","avatar_url":"https://avatars.githubusercontent.com/u/128986?v=4","gravatar_id":"","url":"https://api.github.com/users/adam3smith","html_url":"https://github.com/adam3smith","followers_url":"https://api.github.com/users/adam3smith/followers","following_url":"https://api.github.com/users/adam3smith/following{/other_user}","gists_url":"https://api.github.com/users/adam3smith/gists{/gist_id}","starred_url":"https://api.github.com/users/adam3smith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam3smith/subscriptions","organizations_url":"https://api.github.com/users/adam3smith/orgs","repos_url":"https://api.github.com/users/adam3smith/repos","events_url":"https://api.github.com/users/adam3smith/events{/privacy}","received_events_url":"https://api.github.com/users/adam3smith/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-02T00:47:16Z","updated_at":"2022-01-02T01:00:02Z","closed_at":"2022-01-02T01:00:02Z","author_association":"NONE","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8","html_url":"https://github.com/inukshuk/csl-styles/pull/8","diff_url":"https://github.com/inukshuk/csl-styles/pull/8.diff","patch_url":"https://github.com/inukshuk/csl-styles/pull/8.patch","merged_at":null},"body":null,"reactions":{"url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/inukshuk/csl-styles/issues/comments/1003644263","html_url":"https://github.com/inukshuk/csl-styles/pull/8#issuecomment-1003644263","issue_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8","id":1003644263,"node_id":"IC_kwDOAFbDTs470mVn","user":{"login":"adam3smith","id":128986,"node_id":"MDQ6VXNlcjEyODk4Ng==","avatar_url":"https://avatars.githubusercontent.com/u/128986?v=4","gravatar_id":"","url":"https://api.github.com/users/adam3smith","html_url":"https://github.com/adam3smith","followers_url":"https://api.github.com/users/adam3smith/followers","following_url":"https://api.github.com/users/adam3smith/following{/other_user}","gists_url":"https://api.github.com/users/adam3smith/gists{/gist_id}","starred_url":"https://api.github.com/users/adam3smith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam3smith/subscriptions","organizations_url":"https://api.github.com/users/adam3smith/orgs","repos_url":"https://api.github.com/users/adam3smith/repos","events_url":"https://api.github.com/users/adam3smith/events{/privacy}","received_events_url":"https://api.github.com/users/adam3smith/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:02Z","updated_at":"2022-01-02T01:00:02Z","author_association":"NONE","body":"duplicate of #7","reactions":{"url":"https://api.github.com/repos/inukshuk/csl-styles/issues/comments/1003644263/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596384","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735901439,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c9ff6bdbea43f89b58f701f8ea337097c3ae88aa","before":"c656dcc905ce231d2209ecaad1d5676fbeeb7e24","commits":[{"sha":"c9ff6bdbea43f89b58f701f8ea337097c3ae88aa","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update ncyule.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/c9ff6bdbea43f89b58f701f8ea337097c3ae88aa"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596389","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":373301419,"name":"ArsenioLanga/ArsenioLanga","url":"https://api.github.com/repos/ArsenioLanga/ArsenioLanga"},"payload":{"push_id":8735901441,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"c943a3b35b579d61a1fc64dbbd0142bb9f885dbc","before":"10730f142c43a757adb559606d0b12f194dfab4c","commits":[{"sha":"c943a3b35b579d61a1fc64dbbd0142bb9f885dbc","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/ArsenioLanga/ArsenioLanga/commits/c943a3b35b579d61a1fc64dbbd0142bb9f885dbc"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596391","type":"PushEvent","actor":{"id":85432009,"login":"herokutests","display_login":"herokutests","gravatar_id":"","url":"https://api.github.com/users/herokutests","avatar_url":"https://avatars.githubusercontent.com/u/85432009?"},"repo":{"id":380776959,"name":"herokutests/provideip","url":"https://api.github.com/repos/herokutests/provideip"},"payload":{"push_id":8735901442,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9275f946e4dceb74b7188abb06de6556d28df43c","before":"3cf834e08971afaef207b38b395a7a12af3ee00c","commits":[{"sha":"9275f946e4dceb74b7188abb06de6556d28df43c","author":{"email":"85432009+herokutests@users.noreply.github.com","name":"herokutests"},"message":"commitmessage","distinct":true,"url":"https://api.github.com/repos/herokutests/provideip/commits/9275f946e4dceb74b7188abb06de6556d28df43c"}]},"public":true,"created_at":"2022-01-02T01:00:02Z"} +{"id":"19546596392","type":"WatchEvent","actor":{"id":96325205,"login":"CodePromoter","display_login":"CodePromoter","gravatar_id":"","url":"https://api.github.com/users/CodePromoter","avatar_url":"https://avatars.githubusercontent.com/u/96325205?"},"repo":{"id":228116524,"name":"aplus-framework/language","url":"https://api.github.com/repos/aplus-framework/language"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:02Z","org":{"id":86919176,"login":"aplus-framework","gravatar_id":"","url":"https://api.github.com/orgs/aplus-framework","avatar_url":"https://avatars.githubusercontent.com/u/86919176?"}} +{"id":"19546596393","type":"PushEvent","actor":{"id":55277160,"login":"gitlocalize-app[bot]","display_login":"gitlocalize-app","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app[bot]","avatar_url":"https://avatars.githubusercontent.com/u/55277160?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"push_id":8735901444,"size":1,"distinct_size":1,"ref":"refs/heads/gitlocalize-17748","head":"8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f","before":"89696281a40f584012724fb5595eff157a1ad79b","commits":[{"sha":"8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f","author":{"email":"tastybento@wasteofplastic.com","name":"tastybento"},"message":"Translate hr.yml via GitLocalize","distinct":true,"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/commits/8cf8b3f8a37cbf92bcca5f3108dc36aa1a1b2d3f"}]},"public":true,"created_at":"2022-01-02T01:00:03Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546596396","type":"PullRequestEvent","actor":{"id":128986,"login":"adam3smith","display_login":"adam3smith","gravatar_id":"","url":"https://api.github.com/users/adam3smith","avatar_url":"https://avatars.githubusercontent.com/u/128986?"},"repo":{"id":5686094,"name":"inukshuk/csl-styles","url":"https://api.github.com/repos/inukshuk/csl-styles"},"payload":{"action":"closed","number":8,"pull_request":{"url":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8","id":812661731,"node_id":"PR_kwDOAFbDTs4wcDvj","html_url":"https://github.com/inukshuk/csl-styles/pull/8","diff_url":"https://github.com/inukshuk/csl-styles/pull/8.diff","patch_url":"https://github.com/inukshuk/csl-styles/pull/8.patch","issue_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8","number":8,"state":"closed","locked":false,"title":"Make valid for 2.0+","user":{"login":"adam3smith","id":128986,"node_id":"MDQ6VXNlcjEyODk4Ng==","avatar_url":"https://avatars.githubusercontent.com/u/128986?v=4","gravatar_id":"","url":"https://api.github.com/users/adam3smith","html_url":"https://github.com/adam3smith","followers_url":"https://api.github.com/users/adam3smith/followers","following_url":"https://api.github.com/users/adam3smith/following{/other_user}","gists_url":"https://api.github.com/users/adam3smith/gists{/gist_id}","starred_url":"https://api.github.com/users/adam3smith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam3smith/subscriptions","organizations_url":"https://api.github.com/users/adam3smith/orgs","repos_url":"https://api.github.com/users/adam3smith/repos","events_url":"https://api.github.com/users/adam3smith/events{/privacy}","received_events_url":"https://api.github.com/users/adam3smith/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T00:47:16Z","updated_at":"2022-01-02T01:00:02Z","closed_at":"2022-01-02T01:00:02Z","merged_at":null,"merge_commit_sha":"4ee19d25d5d2ca6f2f8d9e2fac3cda57325e19fd","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8/commits","review_comments_url":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8/comments","review_comment_url":"https://api.github.com/repos/inukshuk/csl-styles/pulls/comments{/number}","comments_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/comments","statuses_url":"https://api.github.com/repos/inukshuk/csl-styles/statuses/aab4fe4b4275382f5e79c5d6cd449096184b5cba","head":{"label":"adam3smith:patch-1","ref":"patch-1","sha":"aab4fe4b4275382f5e79c5d6cd449096184b5cba","user":{"login":"adam3smith","id":128986,"node_id":"MDQ6VXNlcjEyODk4Ng==","avatar_url":"https://avatars.githubusercontent.com/u/128986?v=4","gravatar_id":"","url":"https://api.github.com/users/adam3smith","html_url":"https://github.com/adam3smith","followers_url":"https://api.github.com/users/adam3smith/followers","following_url":"https://api.github.com/users/adam3smith/following{/other_user}","gists_url":"https://api.github.com/users/adam3smith/gists{/gist_id}","starred_url":"https://api.github.com/users/adam3smith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam3smith/subscriptions","organizations_url":"https://api.github.com/users/adam3smith/orgs","repos_url":"https://api.github.com/users/adam3smith/repos","events_url":"https://api.github.com/users/adam3smith/events{/privacy}","received_events_url":"https://api.github.com/users/adam3smith/received_events","type":"User","site_admin":false},"repo":{"id":443653062,"node_id":"R_kgDOGnGbxg","name":"csl-styles","full_name":"adam3smith/csl-styles","private":false,"owner":{"login":"adam3smith","id":128986,"node_id":"MDQ6VXNlcjEyODk4Ng==","avatar_url":"https://avatars.githubusercontent.com/u/128986?v=4","gravatar_id":"","url":"https://api.github.com/users/adam3smith","html_url":"https://github.com/adam3smith","followers_url":"https://api.github.com/users/adam3smith/followers","following_url":"https://api.github.com/users/adam3smith/following{/other_user}","gists_url":"https://api.github.com/users/adam3smith/gists{/gist_id}","starred_url":"https://api.github.com/users/adam3smith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adam3smith/subscriptions","organizations_url":"https://api.github.com/users/adam3smith/orgs","repos_url":"https://api.github.com/users/adam3smith/repos","events_url":"https://api.github.com/users/adam3smith/events{/privacy}","received_events_url":"https://api.github.com/users/adam3smith/received_events","type":"User","site_admin":false},"html_url":"https://github.com/adam3smith/csl-styles","description":"CSL styles and locales as a RubyGem","fork":true,"url":"https://api.github.com/repos/adam3smith/csl-styles","forks_url":"https://api.github.com/repos/adam3smith/csl-styles/forks","keys_url":"https://api.github.com/repos/adam3smith/csl-styles/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adam3smith/csl-styles/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adam3smith/csl-styles/teams","hooks_url":"https://api.github.com/repos/adam3smith/csl-styles/hooks","issue_events_url":"https://api.github.com/repos/adam3smith/csl-styles/issues/events{/number}","events_url":"https://api.github.com/repos/adam3smith/csl-styles/events","assignees_url":"https://api.github.com/repos/adam3smith/csl-styles/assignees{/user}","branches_url":"https://api.github.com/repos/adam3smith/csl-styles/branches{/branch}","tags_url":"https://api.github.com/repos/adam3smith/csl-styles/tags","blobs_url":"https://api.github.com/repos/adam3smith/csl-styles/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adam3smith/csl-styles/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adam3smith/csl-styles/git/refs{/sha}","trees_url":"https://api.github.com/repos/adam3smith/csl-styles/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adam3smith/csl-styles/statuses/{sha}","languages_url":"https://api.github.com/repos/adam3smith/csl-styles/languages","stargazers_url":"https://api.github.com/repos/adam3smith/csl-styles/stargazers","contributors_url":"https://api.github.com/repos/adam3smith/csl-styles/contributors","subscribers_url":"https://api.github.com/repos/adam3smith/csl-styles/subscribers","subscription_url":"https://api.github.com/repos/adam3smith/csl-styles/subscription","commits_url":"https://api.github.com/repos/adam3smith/csl-styles/commits{/sha}","git_commits_url":"https://api.github.com/repos/adam3smith/csl-styles/git/commits{/sha}","comments_url":"https://api.github.com/repos/adam3smith/csl-styles/comments{/number}","issue_comment_url":"https://api.github.com/repos/adam3smith/csl-styles/issues/comments{/number}","contents_url":"https://api.github.com/repos/adam3smith/csl-styles/contents/{+path}","compare_url":"https://api.github.com/repos/adam3smith/csl-styles/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adam3smith/csl-styles/merges","archive_url":"https://api.github.com/repos/adam3smith/csl-styles/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adam3smith/csl-styles/downloads","issues_url":"https://api.github.com/repos/adam3smith/csl-styles/issues{/number}","pulls_url":"https://api.github.com/repos/adam3smith/csl-styles/pulls{/number}","milestones_url":"https://api.github.com/repos/adam3smith/csl-styles/milestones{/number}","notifications_url":"https://api.github.com/repos/adam3smith/csl-styles/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adam3smith/csl-styles/labels{/name}","releases_url":"https://api.github.com/repos/adam3smith/csl-styles/releases{/id}","deployments_url":"https://api.github.com/repos/adam3smith/csl-styles/deployments","created_at":"2022-01-02T00:46:08Z","updated_at":"2022-01-02T00:54:10Z","pushed_at":"2022-01-02T00:54:07Z","git_url":"git://github.com/adam3smith/csl-styles.git","ssh_url":"git@github.com:adam3smith/csl-styles.git","clone_url":"https://github.com/adam3smith/csl-styles.git","svn_url":"https://github.com/adam3smith/csl-styles","homepage":"","size":14,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"inukshuk:master","ref":"master","sha":"3941ba04493025a5d48e35756607127f99d47dd7","user":{"login":"inukshuk","id":325102,"node_id":"MDQ6VXNlcjMyNTEwMg==","avatar_url":"https://avatars.githubusercontent.com/u/325102?v=4","gravatar_id":"","url":"https://api.github.com/users/inukshuk","html_url":"https://github.com/inukshuk","followers_url":"https://api.github.com/users/inukshuk/followers","following_url":"https://api.github.com/users/inukshuk/following{/other_user}","gists_url":"https://api.github.com/users/inukshuk/gists{/gist_id}","starred_url":"https://api.github.com/users/inukshuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inukshuk/subscriptions","organizations_url":"https://api.github.com/users/inukshuk/orgs","repos_url":"https://api.github.com/users/inukshuk/repos","events_url":"https://api.github.com/users/inukshuk/events{/privacy}","received_events_url":"https://api.github.com/users/inukshuk/received_events","type":"User","site_admin":false},"repo":{"id":5686094,"node_id":"MDEwOlJlcG9zaXRvcnk1Njg2MDk0","name":"csl-styles","full_name":"inukshuk/csl-styles","private":false,"owner":{"login":"inukshuk","id":325102,"node_id":"MDQ6VXNlcjMyNTEwMg==","avatar_url":"https://avatars.githubusercontent.com/u/325102?v=4","gravatar_id":"","url":"https://api.github.com/users/inukshuk","html_url":"https://github.com/inukshuk","followers_url":"https://api.github.com/users/inukshuk/followers","following_url":"https://api.github.com/users/inukshuk/following{/other_user}","gists_url":"https://api.github.com/users/inukshuk/gists{/gist_id}","starred_url":"https://api.github.com/users/inukshuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/inukshuk/subscriptions","organizations_url":"https://api.github.com/users/inukshuk/orgs","repos_url":"https://api.github.com/users/inukshuk/repos","events_url":"https://api.github.com/users/inukshuk/events{/privacy}","received_events_url":"https://api.github.com/users/inukshuk/received_events","type":"User","site_admin":false},"html_url":"https://github.com/inukshuk/csl-styles","description":"CSL styles and locales as a RubyGem","fork":false,"url":"https://api.github.com/repos/inukshuk/csl-styles","forks_url":"https://api.github.com/repos/inukshuk/csl-styles/forks","keys_url":"https://api.github.com/repos/inukshuk/csl-styles/keys{/key_id}","collaborators_url":"https://api.github.com/repos/inukshuk/csl-styles/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/inukshuk/csl-styles/teams","hooks_url":"https://api.github.com/repos/inukshuk/csl-styles/hooks","issue_events_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/events{/number}","events_url":"https://api.github.com/repos/inukshuk/csl-styles/events","assignees_url":"https://api.github.com/repos/inukshuk/csl-styles/assignees{/user}","branches_url":"https://api.github.com/repos/inukshuk/csl-styles/branches{/branch}","tags_url":"https://api.github.com/repos/inukshuk/csl-styles/tags","blobs_url":"https://api.github.com/repos/inukshuk/csl-styles/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/inukshuk/csl-styles/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/inukshuk/csl-styles/git/refs{/sha}","trees_url":"https://api.github.com/repos/inukshuk/csl-styles/git/trees{/sha}","statuses_url":"https://api.github.com/repos/inukshuk/csl-styles/statuses/{sha}","languages_url":"https://api.github.com/repos/inukshuk/csl-styles/languages","stargazers_url":"https://api.github.com/repos/inukshuk/csl-styles/stargazers","contributors_url":"https://api.github.com/repos/inukshuk/csl-styles/contributors","subscribers_url":"https://api.github.com/repos/inukshuk/csl-styles/subscribers","subscription_url":"https://api.github.com/repos/inukshuk/csl-styles/subscription","commits_url":"https://api.github.com/repos/inukshuk/csl-styles/commits{/sha}","git_commits_url":"https://api.github.com/repos/inukshuk/csl-styles/git/commits{/sha}","comments_url":"https://api.github.com/repos/inukshuk/csl-styles/comments{/number}","issue_comment_url":"https://api.github.com/repos/inukshuk/csl-styles/issues/comments{/number}","contents_url":"https://api.github.com/repos/inukshuk/csl-styles/contents/{+path}","compare_url":"https://api.github.com/repos/inukshuk/csl-styles/compare/{base}...{head}","merges_url":"https://api.github.com/repos/inukshuk/csl-styles/merges","archive_url":"https://api.github.com/repos/inukshuk/csl-styles/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/inukshuk/csl-styles/downloads","issues_url":"https://api.github.com/repos/inukshuk/csl-styles/issues{/number}","pulls_url":"https://api.github.com/repos/inukshuk/csl-styles/pulls{/number}","milestones_url":"https://api.github.com/repos/inukshuk/csl-styles/milestones{/number}","notifications_url":"https://api.github.com/repos/inukshuk/csl-styles/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/inukshuk/csl-styles/labels{/name}","releases_url":"https://api.github.com/repos/inukshuk/csl-styles/releases{/id}","deployments_url":"https://api.github.com/repos/inukshuk/csl-styles/deployments","created_at":"2012-09-05T11:07:47Z","updated_at":"2021-05-10T14:31:42Z","pushed_at":"2022-01-02T00:47:17Z","git_url":"git://github.com/inukshuk/csl-styles.git","ssh_url":"git@github.com:inukshuk/csl-styles.git","clone_url":"https://github.com/inukshuk/csl-styles.git","svn_url":"https://github.com/inukshuk/csl-styles","homepage":"","size":14,"stargazers_count":7,"watchers_count":7,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":12,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":12,"open_issues":1,"watchers":7,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8"},"html":{"href":"https://github.com/inukshuk/csl-styles/pull/8"},"issue":{"href":"https://api.github.com/repos/inukshuk/csl-styles/issues/8"},"comments":{"href":"https://api.github.com/repos/inukshuk/csl-styles/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/inukshuk/csl-styles/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/inukshuk/csl-styles/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/inukshuk/csl-styles/statuses/aab4fe4b4275382f5e79c5d6cd449096184b5cba"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":true,"rebaseable":false,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":1,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596397","type":"PushEvent","actor":{"id":96767297,"login":"647gdfg","display_login":"647gdfg","gravatar_id":"","url":"https://api.github.com/users/647gdfg","avatar_url":"https://avatars.githubusercontent.com/u/96767297?"},"repo":{"id":443652995,"name":"647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6","url":"https://api.github.com/repos/647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6"},"payload":{"push_id":8735901445,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9f860e082ba62c1661d00affeb074a33b7f2344e","before":"7696904a70104bea147d18def94247c5e588296d","commits":[{"sha":"9f860e082ba62c1661d00affeb074a33b7f2344e","author":{"email":"96767297+647gdfg@users.noreply.github.com","name":"647gdfg"},"message":"upload file 14885070f5fb6a3c3780c628506f53d49036c009873c59b0e5d2304431a950755026e8b0683bbc329da4a6ce5937f32avideo_501_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/647gdfg/7fd08413-fc98-4e69-b7b9-6f1be7acbcc6/commits/9f860e082ba62c1661d00affeb074a33b7f2344e"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596399","type":"PushEvent","actor":{"id":20418886,"login":"iZeaoGamer","display_login":"iZeaoGamer","gravatar_id":"","url":"https://api.github.com/users/iZeaoGamer","avatar_url":"https://avatars.githubusercontent.com/u/20418886?"},"repo":{"id":429059191,"name":"iZeaoGamer/Discord-bot","url":"https://api.github.com/repos/iZeaoGamer/Discord-bot"},"payload":{"push_id":8735901447,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"02c566b2c8c16a9fb89c086bad5b59f2cd6f55d4","before":"aa5d33ae43ee15c6a53a4d1d7d58417821d0b68f","commits":[{"sha":"02c566b2c8c16a9fb89c086bad5b59f2cd6f55d4","author":{"email":"voidminerpocket@gmail.com","name":"iZeaoGamer"},"message":"Api: Fixed typo via typehint\n\nThis commit fixes a typo with what the function does.","distinct":true,"url":"https://api.github.com/repos/iZeaoGamer/Discord-bot/commits/02c566b2c8c16a9fb89c086bad5b59f2cd6f55d4"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596401","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371286,"node_id":"PRR_kwDOFeJvGc4yNZDW","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:02Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371286","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371286"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:03Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546596402","type":"PushEvent","actor":{"id":1354510,"login":"leo91000","display_login":"leo91000","gravatar_id":"","url":"https://api.github.com/users/leo91000","avatar_url":"https://avatars.githubusercontent.com/u/1354510?"},"repo":{"id":372306529,"name":"leo91000/covid-japan-informations","url":"https://api.github.com/repos/leo91000/covid-japan-informations"},"payload":{"push_id":8735901446,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8f0c418aa63a0b525e2d6c04c52333a546ae2392","before":"bcdc2bf9662d8370911083796cd231c94a018d16","commits":[{"sha":"8f0c418aa63a0b525e2d6c04c52333a546ae2392","author":{"email":"mail.leo.coletta@gmail.com","name":"Léo Coletta"},"message":"update 2022-01-02T01:00:02.095Z","distinct":true,"url":"https://api.github.com/repos/leo91000/covid-japan-informations/commits/8f0c418aa63a0b525e2d6c04c52333a546ae2392"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596408","type":"PushEvent","actor":{"id":93090862,"login":"RebaseTokens","display_login":"RebaseTokens","gravatar_id":"","url":"https://api.github.com/users/RebaseTokens","avatar_url":"https://avatars.githubusercontent.com/u/93090862?"},"repo":{"id":434253843,"name":"RebaseTokens/peth","url":"https://api.github.com/repos/RebaseTokens/peth"},"payload":{"push_id":8735901451,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6ba62623a1dea82a80f3ff5b89dd817940551a2e","before":"999d635f3fe5b8b44ec1d8eeaeff3ea7e5210ec8","commits":[{"sha":"6ba62623a1dea82a80f3ff5b89dd817940551a2e","author":{"email":"rebasetwt@gmail.com","name":"RebaseTokens"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/RebaseTokens/peth/commits/6ba62623a1dea82a80f3ff5b89dd817940551a2e"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596409","type":"PushEvent","actor":{"id":45451201,"login":"JulesFouchy","display_login":"JulesFouchy","gravatar_id":"","url":"https://api.github.com/users/JulesFouchy","avatar_url":"https://avatars.githubusercontent.com/u/45451201?"},"repo":{"id":426650403,"name":"JulesFouchy/p6-docs","url":"https://api.github.com/repos/JulesFouchy/p6-docs"},"payload":{"push_id":8735901452,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"7bf4fb3eef8523ba2fa23a51cab07038d06600a4","before":"df21f9c6b1a005fafdfafdaa6025bcd2ef2786df","commits":[{"sha":"7bf4fb3eef8523ba2fa23a51cab07038d06600a4","author":{"email":"jules.fouchy@ntymail.com","name":"julesfouchy"},"message":"Deploy website - based on 14c57bf40444efcedfce4421acc4acea62364556","distinct":true,"url":"https://api.github.com/repos/JulesFouchy/p6-docs/commits/7bf4fb3eef8523ba2fa23a51cab07038d06600a4"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596417","type":"PushEvent","actor":{"id":96052245,"login":"liiiib","display_login":"liiiib","gravatar_id":"","url":"https://api.github.com/users/liiiib","avatar_url":"https://avatars.githubusercontent.com/u/96052245?"},"repo":{"id":443651401,"name":"liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36","url":"https://api.github.com/repos/liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36"},"payload":{"push_id":8735901461,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"39c28d750d1ba2ce25b0fd92facf7fc6a01e3d8c","before":"6b7da529db649000f237898af0fdc63baaa1556e","commits":[{"sha":"39c28d750d1ba2ce25b0fd92facf7fc6a01e3d8c","author":{"email":"96052245+liiiib@users.noreply.github.com","name":"liiiib"},"message":"upload file 2a78f283ee22280eebdc122f919eb8b399db9d8968c637aa500173f6b4de7522eb34d345700e0f0080afcc5cc080403fvideo_949_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/liiiib/9b4e73a8-4179-49ad-845d-34128bb2bb36/commits/39c28d750d1ba2ce25b0fd92facf7fc6a01e3d8c"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596419","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901457,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"93119a7357d99553c2afbc164eb211b06d7d29f8","before":"25fa8d1ad83faadee33de646b6bef11d6833d871","commits":[{"sha":"93119a7357d99553c2afbc164eb211b06d7d29f8","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/93119a7357d99553c2afbc164eb211b06d7d29f8"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596424","type":"PushEvent","actor":{"id":5014405,"login":"Seteeri","display_login":"Seteeri","gravatar_id":"","url":"https://api.github.com/users/Seteeri","avatar_url":"https://avatars.githubusercontent.com/u/5014405?"},"repo":{"id":47001092,"name":"Seteeri/construct","url":"https://api.github.com/repos/Seteeri/construct"},"payload":{"push_id":8735901465,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"46a65de2968b91e6d593144f47256ecf90d5c971","before":"aadabf2134826bda3c7bce06ed9b903846f665ff","commits":[{"sha":"46a65de2968b91e6d593144f47256ecf90d5c971","author":{"email":"kcednalino@gmail.com","name":"Kevin Ednalino"},"message":"FOO","distinct":true,"url":"https://api.github.com/repos/Seteeri/construct/commits/46a65de2968b91e6d593144f47256ecf90d5c971"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596425","type":"PushEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"push_id":8735901460,"size":1,"distinct_size":1,"ref":"refs/heads/witness_mhutchinson_witness_sum_golang_org","head":"94e81ff74da7f01c8637a0dbd430cb4b121dbb69","before":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","commits":[{"sha":"94e81ff74da7f01c8637a0dbd430cb4b121dbb69","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@8587264","distinct":true,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/94e81ff74da7f01c8637a0dbd430cb4b121dbb69"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596426","type":"PushEvent","actor":{"id":71983,"login":"scoates","display_login":"scoates","gravatar_id":"","url":"https://api.github.com/users/scoates","avatar_url":"https://avatars.githubusercontent.com/u/71983?"},"repo":{"id":289770666,"name":"scoates/scraped-data","url":"https://api.github.com/repos/scoates/scraped-data"},"payload":{"push_id":8735901468,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"2366304a58a124c5250dc347637682300c317ac9","before":"749d8d565208c07f094e99e2ba3692039c9098a0","commits":[{"sha":"2366304a58a124c5250dc347637682300c317ac9","author":{"email":"sean@seancoates.com","name":"Sean Coates"},"message":"Captured on newiconoclast with /home/sean/scraped-data/emergency-rooms/quebec/capture","distinct":true,"url":"https://api.github.com/repos/scoates/scraped-data/commits/2366304a58a124c5250dc347637682300c317ac9"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596428","type":"PullRequestEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"action":"opened","number":34103,"pull_request":{"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103","id":812662839,"node_id":"PR_kwDOGFjbLs4wcEA3","html_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34103","diff_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34103.diff","patch_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34103.patch","issue_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34103","number":34103,"state":"open","locked":false,"title":"[Witness] mhutchinson.witness: go.sum database tree@8587264","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T01:00:03Z","updated_at":"2022-01-02T01:00:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103/commits","review_comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103/comments","review_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34103/comments","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/94e81ff74da7f01c8637a0dbd430cb4b121dbb69","head":{"label":"mhutchinson:witness_mhutchinson_witness_sum_golang_org","ref":"witness_mhutchinson_witness_sum_golang_org","sha":"94e81ff74da7f01c8637a0dbd430cb4b121dbb69","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"repo":{"id":408476462,"node_id":"MDEwOlJlcG9zaXRvcnk0MDg0NzY0NjI=","name":"mhutchinson-distributor","full_name":"mhutchinson/mhutchinson-distributor","private":false,"owner":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mhutchinson/mhutchinson-distributor","description":"Distributor for witnessed log checkpoints","fork":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor","forks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/forks","keys_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/teams","hooks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/hooks","issue_events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/events{/number}","events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/events","assignees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/assignees{/user}","branches_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/branches{/branch}","tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/tags","blobs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/refs{/sha}","trees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/{sha}","languages_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/languages","stargazers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/stargazers","contributors_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contributors","subscribers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscribers","subscription_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscription","commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits{/sha}","git_commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/commits{/sha}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/comments{/number}","issue_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/comments{/number}","contents_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contents/{+path}","compare_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/merges","archive_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/downloads","issues_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues{/number}","pulls_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls{/number}","milestones_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/milestones{/number}","notifications_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/labels{/name}","releases_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/releases{/id}","deployments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/deployments","created_at":"2021-09-20T14:30:28Z","updated_at":"2022-01-02T00:58:29Z","pushed_at":"2022-01-02T01:00:02Z","git_url":"git://github.com/mhutchinson/mhutchinson-distributor.git","ssh_url":"git@github.com:mhutchinson/mhutchinson-distributor.git","clone_url":"https://github.com/mhutchinson/mhutchinson-distributor.git","svn_url":"https://github.com/mhutchinson/mhutchinson-distributor","homepage":null,"size":26282,"stargazers_count":1,"watchers_count":1,"language":"Roff","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":5,"open_issues":2,"watchers":1,"default_branch":"main"}},"base":{"label":"mhutchinson:main","ref":"main","sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"repo":{"id":408476462,"node_id":"MDEwOlJlcG9zaXRvcnk0MDg0NzY0NjI=","name":"mhutchinson-distributor","full_name":"mhutchinson/mhutchinson-distributor","private":false,"owner":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mhutchinson/mhutchinson-distributor","description":"Distributor for witnessed log checkpoints","fork":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor","forks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/forks","keys_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/teams","hooks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/hooks","issue_events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/events{/number}","events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/events","assignees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/assignees{/user}","branches_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/branches{/branch}","tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/tags","blobs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/refs{/sha}","trees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/{sha}","languages_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/languages","stargazers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/stargazers","contributors_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contributors","subscribers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscribers","subscription_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscription","commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits{/sha}","git_commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/commits{/sha}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/comments{/number}","issue_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/comments{/number}","contents_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contents/{+path}","compare_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/merges","archive_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/downloads","issues_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues{/number}","pulls_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls{/number}","milestones_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/milestones{/number}","notifications_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/labels{/name}","releases_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/releases{/id}","deployments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/deployments","created_at":"2021-09-20T14:30:28Z","updated_at":"2022-01-02T00:58:29Z","pushed_at":"2022-01-02T01:00:02Z","git_url":"git://github.com/mhutchinson/mhutchinson-distributor.git","ssh_url":"git@github.com:mhutchinson/mhutchinson-distributor.git","clone_url":"https://github.com/mhutchinson/mhutchinson-distributor.git","svn_url":"https://github.com/mhutchinson/mhutchinson-distributor","homepage":null,"size":26282,"stargazers_count":1,"watchers_count":1,"language":"Roff","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":2,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":5,"open_issues":2,"watchers":1,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103"},"html":{"href":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34103"},"issue":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34103"},"comments":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34103/comments"},"review_comments":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103/comments"},"review_comment":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34103/commits"},"statuses":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/94e81ff74da7f01c8637a0dbd430cb4b121dbb69"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":6,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596430","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901471,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8f2e395b89f5db65306546cd3f8931e73f1b1ece","before":"6ac30e1f0c7f48dc017c65f541f0cd4607051dbb","commits":[{"sha":"8f2e395b89f5db65306546cd3f8931e73f1b1ece","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update headline-news_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/8f2e395b89f5db65306546cd3f8931e73f1b1ece"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596444","type":"PushEvent","actor":{"id":49052662,"login":"kikiondo117","display_login":"kikiondo117","gravatar_id":"","url":"https://api.github.com/users/kikiondo117","avatar_url":"https://avatars.githubusercontent.com/u/49052662?"},"repo":{"id":441229478,"name":"kikiondo117/sb-components","url":"https://api.github.com/repos/kikiondo117/sb-components"},"payload":{"push_id":8735901475,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b8afa269c01e516bb03c65e4b65af4992fc478e5","before":"b9e8319aa4f33425916ea60d24448b510de4c823","commits":[{"sha":"b8afa269c01e516bb03c65e4b65af4992fc478e5","author":{"email":"kikiondo117@gmail.com","name":"Carlos Vera"},"message":"fix: Name package","distinct":true,"url":"https://api.github.com/repos/kikiondo117/sb-components/commits/b8afa269c01e516bb03c65e4b65af4992fc478e5"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596450","type":"WatchEvent","actor":{"id":28823622,"login":"Flowingsun007","display_login":"Flowingsun007","gravatar_id":"","url":"https://api.github.com/users/Flowingsun007","avatar_url":"https://avatars.githubusercontent.com/u/28823622?"},"repo":{"id":119336293,"name":"purocean/yn","url":"https://api.github.com/repos/purocean/yn"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596452","type":"ForkEvent","actor":{"id":36517977,"login":"jacklewis0221","display_login":"jacklewis0221","gravatar_id":"","url":"https://api.github.com/users/jacklewis0221","avatar_url":"https://avatars.githubusercontent.com/u/36517977?"},"repo":{"id":415573628,"name":"JuUnland/Chess","url":"https://api.github.com/repos/JuUnland/Chess"},"payload":{"forkee":{"id":443654636,"node_id":"R_kgDOGnGh7A","name":"Chess","full_name":"jacklewis0221/Chess","private":false,"owner":{"login":"jacklewis0221","id":36517977,"node_id":"MDQ6VXNlcjM2NTE3OTc3","avatar_url":"https://avatars.githubusercontent.com/u/36517977?v=4","gravatar_id":"","url":"https://api.github.com/users/jacklewis0221","html_url":"https://github.com/jacklewis0221","followers_url":"https://api.github.com/users/jacklewis0221/followers","following_url":"https://api.github.com/users/jacklewis0221/following{/other_user}","gists_url":"https://api.github.com/users/jacklewis0221/gists{/gist_id}","starred_url":"https://api.github.com/users/jacklewis0221/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jacklewis0221/subscriptions","organizations_url":"https://api.github.com/users/jacklewis0221/orgs","repos_url":"https://api.github.com/users/jacklewis0221/repos","events_url":"https://api.github.com/users/jacklewis0221/events{/privacy}","received_events_url":"https://api.github.com/users/jacklewis0221/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jacklewis0221/Chess","description":"Chessclone with SDL2","fork":true,"url":"https://api.github.com/repos/jacklewis0221/Chess","forks_url":"https://api.github.com/repos/jacklewis0221/Chess/forks","keys_url":"https://api.github.com/repos/jacklewis0221/Chess/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jacklewis0221/Chess/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jacklewis0221/Chess/teams","hooks_url":"https://api.github.com/repos/jacklewis0221/Chess/hooks","issue_events_url":"https://api.github.com/repos/jacklewis0221/Chess/issues/events{/number}","events_url":"https://api.github.com/repos/jacklewis0221/Chess/events","assignees_url":"https://api.github.com/repos/jacklewis0221/Chess/assignees{/user}","branches_url":"https://api.github.com/repos/jacklewis0221/Chess/branches{/branch}","tags_url":"https://api.github.com/repos/jacklewis0221/Chess/tags","blobs_url":"https://api.github.com/repos/jacklewis0221/Chess/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jacklewis0221/Chess/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jacklewis0221/Chess/git/refs{/sha}","trees_url":"https://api.github.com/repos/jacklewis0221/Chess/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jacklewis0221/Chess/statuses/{sha}","languages_url":"https://api.github.com/repos/jacklewis0221/Chess/languages","stargazers_url":"https://api.github.com/repos/jacklewis0221/Chess/stargazers","contributors_url":"https://api.github.com/repos/jacklewis0221/Chess/contributors","subscribers_url":"https://api.github.com/repos/jacklewis0221/Chess/subscribers","subscription_url":"https://api.github.com/repos/jacklewis0221/Chess/subscription","commits_url":"https://api.github.com/repos/jacklewis0221/Chess/commits{/sha}","git_commits_url":"https://api.github.com/repos/jacklewis0221/Chess/git/commits{/sha}","comments_url":"https://api.github.com/repos/jacklewis0221/Chess/comments{/number}","issue_comment_url":"https://api.github.com/repos/jacklewis0221/Chess/issues/comments{/number}","contents_url":"https://api.github.com/repos/jacklewis0221/Chess/contents/{+path}","compare_url":"https://api.github.com/repos/jacklewis0221/Chess/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jacklewis0221/Chess/merges","archive_url":"https://api.github.com/repos/jacklewis0221/Chess/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jacklewis0221/Chess/downloads","issues_url":"https://api.github.com/repos/jacklewis0221/Chess/issues{/number}","pulls_url":"https://api.github.com/repos/jacklewis0221/Chess/pulls{/number}","milestones_url":"https://api.github.com/repos/jacklewis0221/Chess/milestones{/number}","notifications_url":"https://api.github.com/repos/jacklewis0221/Chess/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jacklewis0221/Chess/labels{/name}","releases_url":"https://api.github.com/repos/jacklewis0221/Chess/releases{/id}","deployments_url":"https://api.github.com/repos/jacklewis0221/Chess/deployments","created_at":"2022-01-02T01:00:03Z","updated_at":"2021-12-18T10:05:30Z","pushed_at":"2021-11-08T02:24:28Z","git_url":"git://github.com/jacklewis0221/Chess.git","ssh_url":"git@github.com:jacklewis0221/Chess.git","clone_url":"https://github.com/jacklewis0221/Chess.git","svn_url":"https://github.com/jacklewis0221/Chess","homepage":null,"size":87961,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596462","type":"PullRequestEvent","actor":{"id":2256868,"login":"lolepezy","display_login":"lolepezy","gravatar_id":"","url":"https://api.github.com/users/lolepezy","avatar_url":"https://avatars.githubusercontent.com/u/2256868?"},"repo":{"id":164953391,"name":"lolepezy/rpki-prover","url":"https://api.github.com/repos/lolepezy/rpki-prover"},"payload":{"action":"opened","number":106,"pull_request":{"url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106","id":812662840,"node_id":"PR_kwDOCdT9L84wcEA4","html_url":"https://github.com/lolepezy/rpki-prover/pull/106","diff_url":"https://github.com/lolepezy/rpki-prover/pull/106.diff","patch_url":"https://github.com/lolepezy/rpki-prover/pull/106.patch","issue_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/106","number":106,"state":"open","locked":false,"title":"Per-repository validation metrics (VRP/object counts)","user":{"login":"lolepezy","id":2256868,"node_id":"MDQ6VXNlcjIyNTY4Njg=","avatar_url":"https://avatars.githubusercontent.com/u/2256868?v=4","gravatar_id":"","url":"https://api.github.com/users/lolepezy","html_url":"https://github.com/lolepezy","followers_url":"https://api.github.com/users/lolepezy/followers","following_url":"https://api.github.com/users/lolepezy/following{/other_user}","gists_url":"https://api.github.com/users/lolepezy/gists{/gist_id}","starred_url":"https://api.github.com/users/lolepezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lolepezy/subscriptions","organizations_url":"https://api.github.com/users/lolepezy/orgs","repos_url":"https://api.github.com/users/lolepezy/repos","events_url":"https://api.github.com/users/lolepezy/events{/privacy}","received_events_url":"https://api.github.com/users/lolepezy/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T01:00:03Z","updated_at":"2022-01-02T01:00:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106/commits","review_comments_url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106/comments","review_comment_url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/106/comments","statuses_url":"https://api.github.com/repos/lolepezy/rpki-prover/statuses/a3eb2f4d88d04dda64e274e498905286d9c1ee51","head":{"label":"lolepezy:per-repository-metrics","ref":"per-repository-metrics","sha":"a3eb2f4d88d04dda64e274e498905286d9c1ee51","user":{"login":"lolepezy","id":2256868,"node_id":"MDQ6VXNlcjIyNTY4Njg=","avatar_url":"https://avatars.githubusercontent.com/u/2256868?v=4","gravatar_id":"","url":"https://api.github.com/users/lolepezy","html_url":"https://github.com/lolepezy","followers_url":"https://api.github.com/users/lolepezy/followers","following_url":"https://api.github.com/users/lolepezy/following{/other_user}","gists_url":"https://api.github.com/users/lolepezy/gists{/gist_id}","starred_url":"https://api.github.com/users/lolepezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lolepezy/subscriptions","organizations_url":"https://api.github.com/users/lolepezy/orgs","repos_url":"https://api.github.com/users/lolepezy/repos","events_url":"https://api.github.com/users/lolepezy/events{/privacy}","received_events_url":"https://api.github.com/users/lolepezy/received_events","type":"User","site_admin":false},"repo":{"id":164953391,"node_id":"MDEwOlJlcG9zaXRvcnkxNjQ5NTMzOTE=","name":"rpki-prover","full_name":"lolepezy/rpki-prover","private":false,"owner":{"login":"lolepezy","id":2256868,"node_id":"MDQ6VXNlcjIyNTY4Njg=","avatar_url":"https://avatars.githubusercontent.com/u/2256868?v=4","gravatar_id":"","url":"https://api.github.com/users/lolepezy","html_url":"https://github.com/lolepezy","followers_url":"https://api.github.com/users/lolepezy/followers","following_url":"https://api.github.com/users/lolepezy/following{/other_user}","gists_url":"https://api.github.com/users/lolepezy/gists{/gist_id}","starred_url":"https://api.github.com/users/lolepezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lolepezy/subscriptions","organizations_url":"https://api.github.com/users/lolepezy/orgs","repos_url":"https://api.github.com/users/lolepezy/repos","events_url":"https://api.github.com/users/lolepezy/events{/privacy}","received_events_url":"https://api.github.com/users/lolepezy/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lolepezy/rpki-prover","description":"Yet another RPKI validator","fork":false,"url":"https://api.github.com/repos/lolepezy/rpki-prover","forks_url":"https://api.github.com/repos/lolepezy/rpki-prover/forks","keys_url":"https://api.github.com/repos/lolepezy/rpki-prover/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lolepezy/rpki-prover/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lolepezy/rpki-prover/teams","hooks_url":"https://api.github.com/repos/lolepezy/rpki-prover/hooks","issue_events_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/events{/number}","events_url":"https://api.github.com/repos/lolepezy/rpki-prover/events","assignees_url":"https://api.github.com/repos/lolepezy/rpki-prover/assignees{/user}","branches_url":"https://api.github.com/repos/lolepezy/rpki-prover/branches{/branch}","tags_url":"https://api.github.com/repos/lolepezy/rpki-prover/tags","blobs_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/refs{/sha}","trees_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lolepezy/rpki-prover/statuses/{sha}","languages_url":"https://api.github.com/repos/lolepezy/rpki-prover/languages","stargazers_url":"https://api.github.com/repos/lolepezy/rpki-prover/stargazers","contributors_url":"https://api.github.com/repos/lolepezy/rpki-prover/contributors","subscribers_url":"https://api.github.com/repos/lolepezy/rpki-prover/subscribers","subscription_url":"https://api.github.com/repos/lolepezy/rpki-prover/subscription","commits_url":"https://api.github.com/repos/lolepezy/rpki-prover/commits{/sha}","git_commits_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/commits{/sha}","comments_url":"https://api.github.com/repos/lolepezy/rpki-prover/comments{/number}","issue_comment_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/comments{/number}","contents_url":"https://api.github.com/repos/lolepezy/rpki-prover/contents/{+path}","compare_url":"https://api.github.com/repos/lolepezy/rpki-prover/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lolepezy/rpki-prover/merges","archive_url":"https://api.github.com/repos/lolepezy/rpki-prover/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lolepezy/rpki-prover/downloads","issues_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues{/number}","pulls_url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls{/number}","milestones_url":"https://api.github.com/repos/lolepezy/rpki-prover/milestones{/number}","notifications_url":"https://api.github.com/repos/lolepezy/rpki-prover/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lolepezy/rpki-prover/labels{/name}","releases_url":"https://api.github.com/repos/lolepezy/rpki-prover/releases{/id}","deployments_url":"https://api.github.com/repos/lolepezy/rpki-prover/deployments","created_at":"2019-01-09T23:17:47Z","updated_at":"2021-12-25T18:38:29Z","pushed_at":"2022-01-02T00:58:38Z","git_url":"git://github.com/lolepezy/rpki-prover.git","ssh_url":"git@github.com:lolepezy/rpki-prover.git","clone_url":"https://github.com/lolepezy/rpki-prover.git","svn_url":"https://github.com/lolepezy/rpki-prover","homepage":"","size":2724,"stargazers_count":5,"watchers_count":5,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":21,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"allow_forking":true,"is_template":false,"topics":["cryptography","docker-image","roa","routing-security","rpki","rsync","rtr"],"visibility":"public","forks":3,"open_issues":21,"watchers":5,"default_branch":"master"}},"base":{"label":"lolepezy:master","ref":"master","sha":"cda8da94d3265bf56397edfcff13cf63f9db6638","user":{"login":"lolepezy","id":2256868,"node_id":"MDQ6VXNlcjIyNTY4Njg=","avatar_url":"https://avatars.githubusercontent.com/u/2256868?v=4","gravatar_id":"","url":"https://api.github.com/users/lolepezy","html_url":"https://github.com/lolepezy","followers_url":"https://api.github.com/users/lolepezy/followers","following_url":"https://api.github.com/users/lolepezy/following{/other_user}","gists_url":"https://api.github.com/users/lolepezy/gists{/gist_id}","starred_url":"https://api.github.com/users/lolepezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lolepezy/subscriptions","organizations_url":"https://api.github.com/users/lolepezy/orgs","repos_url":"https://api.github.com/users/lolepezy/repos","events_url":"https://api.github.com/users/lolepezy/events{/privacy}","received_events_url":"https://api.github.com/users/lolepezy/received_events","type":"User","site_admin":false},"repo":{"id":164953391,"node_id":"MDEwOlJlcG9zaXRvcnkxNjQ5NTMzOTE=","name":"rpki-prover","full_name":"lolepezy/rpki-prover","private":false,"owner":{"login":"lolepezy","id":2256868,"node_id":"MDQ6VXNlcjIyNTY4Njg=","avatar_url":"https://avatars.githubusercontent.com/u/2256868?v=4","gravatar_id":"","url":"https://api.github.com/users/lolepezy","html_url":"https://github.com/lolepezy","followers_url":"https://api.github.com/users/lolepezy/followers","following_url":"https://api.github.com/users/lolepezy/following{/other_user}","gists_url":"https://api.github.com/users/lolepezy/gists{/gist_id}","starred_url":"https://api.github.com/users/lolepezy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lolepezy/subscriptions","organizations_url":"https://api.github.com/users/lolepezy/orgs","repos_url":"https://api.github.com/users/lolepezy/repos","events_url":"https://api.github.com/users/lolepezy/events{/privacy}","received_events_url":"https://api.github.com/users/lolepezy/received_events","type":"User","site_admin":false},"html_url":"https://github.com/lolepezy/rpki-prover","description":"Yet another RPKI validator","fork":false,"url":"https://api.github.com/repos/lolepezy/rpki-prover","forks_url":"https://api.github.com/repos/lolepezy/rpki-prover/forks","keys_url":"https://api.github.com/repos/lolepezy/rpki-prover/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lolepezy/rpki-prover/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lolepezy/rpki-prover/teams","hooks_url":"https://api.github.com/repos/lolepezy/rpki-prover/hooks","issue_events_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/events{/number}","events_url":"https://api.github.com/repos/lolepezy/rpki-prover/events","assignees_url":"https://api.github.com/repos/lolepezy/rpki-prover/assignees{/user}","branches_url":"https://api.github.com/repos/lolepezy/rpki-prover/branches{/branch}","tags_url":"https://api.github.com/repos/lolepezy/rpki-prover/tags","blobs_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/refs{/sha}","trees_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lolepezy/rpki-prover/statuses/{sha}","languages_url":"https://api.github.com/repos/lolepezy/rpki-prover/languages","stargazers_url":"https://api.github.com/repos/lolepezy/rpki-prover/stargazers","contributors_url":"https://api.github.com/repos/lolepezy/rpki-prover/contributors","subscribers_url":"https://api.github.com/repos/lolepezy/rpki-prover/subscribers","subscription_url":"https://api.github.com/repos/lolepezy/rpki-prover/subscription","commits_url":"https://api.github.com/repos/lolepezy/rpki-prover/commits{/sha}","git_commits_url":"https://api.github.com/repos/lolepezy/rpki-prover/git/commits{/sha}","comments_url":"https://api.github.com/repos/lolepezy/rpki-prover/comments{/number}","issue_comment_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues/comments{/number}","contents_url":"https://api.github.com/repos/lolepezy/rpki-prover/contents/{+path}","compare_url":"https://api.github.com/repos/lolepezy/rpki-prover/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lolepezy/rpki-prover/merges","archive_url":"https://api.github.com/repos/lolepezy/rpki-prover/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lolepezy/rpki-prover/downloads","issues_url":"https://api.github.com/repos/lolepezy/rpki-prover/issues{/number}","pulls_url":"https://api.github.com/repos/lolepezy/rpki-prover/pulls{/number}","milestones_url":"https://api.github.com/repos/lolepezy/rpki-prover/milestones{/number}","notifications_url":"https://api.github.com/repos/lolepezy/rpki-prover/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lolepezy/rpki-prover/labels{/name}","releases_url":"https://api.github.com/repos/lolepezy/rpki-prover/releases{/id}","deployments_url":"https://api.github.com/repos/lolepezy/rpki-prover/deployments","created_at":"2019-01-09T23:17:47Z","updated_at":"2021-12-25T18:38:29Z","pushed_at":"2022-01-02T00:58:38Z","git_url":"git://github.com/lolepezy/rpki-prover.git","ssh_url":"git@github.com:lolepezy/rpki-prover.git","clone_url":"https://github.com/lolepezy/rpki-prover.git","svn_url":"https://github.com/lolepezy/rpki-prover","homepage":"","size":2724,"stargazers_count":5,"watchers_count":5,"language":"Haskell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":21,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"allow_forking":true,"is_template":false,"topics":["cryptography","docker-image","roa","routing-security","rpki","rsync","rtr"],"visibility":"public","forks":3,"open_issues":21,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106"},"html":{"href":"https://github.com/lolepezy/rpki-prover/pull/106"},"issue":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/issues/106"},"comments":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/issues/106/comments"},"review_comments":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106/comments"},"review_comment":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/pulls/106/commits"},"statuses":{"href":"https://api.github.com/repos/lolepezy/rpki-prover/statuses/a3eb2f4d88d04dda64e274e498905286d9c1ee51"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":7,"additions":310,"deletions":195,"changed_files":15}},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596454","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901482,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b88d80fae22799093c7c1af9f676524a8a44ddad","before":"93119a7357d99553c2afbc164eb211b06d7d29f8","commits":[{"sha":"b88d80fae22799093c7c1af9f676524a8a44ddad","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/b88d80fae22799093c7c1af9f676524a8a44ddad"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596463","type":"PushEvent","actor":{"id":6401836,"login":"rohanmaddamsetti","display_login":"rohanmaddamsetti","gravatar_id":"","url":"https://api.github.com/users/rohanmaddamsetti","avatar_url":"https://avatars.githubusercontent.com/u/6401836?"},"repo":{"id":264541337,"name":"rohanmaddamsetti/LTEE-network-analysis","url":"https://api.github.com/repos/rohanmaddamsetti/LTEE-network-analysis"},"payload":{"push_id":8735901483,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"84ff05e1f9f0032aa1009186b4131ffa59b13f06","before":"9b76e36f4a072f5cb61766a1e4149bfdc0cf8047","commits":[{"sha":"84ff05e1f9f0032aa1009186b4131ffa59b13f06","author":{"email":"rohan.maddamsetti@gmail.com","name":"Rohan Maddamsetti"},"message":"organized source files for published work","distinct":true,"url":"https://api.github.com/repos/rohanmaddamsetti/LTEE-network-analysis/commits/84ff05e1f9f0032aa1009186b4131ffa59b13f06"}]},"public":true,"created_at":"2022-01-02T01:00:03Z"} +{"id":"19546596466","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":249783941,"name":"miwebst/ssRunnerAngular","url":"https://api.github.com/repos/miwebst/ssRunnerAngular"},"payload":{"push_id":8735901502,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"05585c4b6cdcc4cbe4d7856e5122361af8282c6e","before":"cdbf39c897aab1869f03447993a697684e544121","commits":[{"sha":"05585c4b6cdcc4cbe4d7856e5122361af8282c6e","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/2/2022 1:00:03 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunnerAngular/commits/05585c4b6cdcc4cbe4d7856e5122361af8282c6e"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596474","type":"PushEvent","actor":{"id":95857802,"login":"dateshare","display_login":"dateshare","gravatar_id":"","url":"https://api.github.com/users/dateshare","avatar_url":"https://avatars.githubusercontent.com/u/95857802?"},"repo":{"id":436593692,"name":"dateshare/js","url":"https://api.github.com/repos/dateshare/js"},"payload":{"push_id":8735901508,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"22dacb24162cf87543bae2916ace44440de80a72","before":"84528799024c415371ba35df93af9aab5e16388e","commits":[{"sha":"22dacb24162cf87543bae2916ace44440de80a72","author":{"email":"chulishen567@gmail.com","name":"dateshare"},"message":"message","distinct":true,"url":"https://api.github.com/repos/dateshare/js/commits/22dacb24162cf87543bae2916ace44440de80a72"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596475","type":"PushEvent","actor":{"id":16066732,"login":"mohammed-elattar","display_login":"mohammed-elattar","gravatar_id":"","url":"https://api.github.com/users/mohammed-elattar","avatar_url":"https://avatars.githubusercontent.com/u/16066732?"},"repo":{"id":443209932,"name":"mohammed-elattar/ticketing-microservices","url":"https://api.github.com/repos/mohammed-elattar/ticketing-microservices"},"payload":{"push_id":8735901494,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e88b13bb978d5972acc3de4a5fb65a68636f75b3","before":"31a5d235617dedb9f8e128fa64ecee2c719aedac","commits":[{"sha":"e88b13bb978d5972acc3de4a5fb65a68636f75b3","author":{"email":"mseel3ttar@gmail.com","name":"mohammed-elattar"},"message":"unify the error response","distinct":true,"url":"https://api.github.com/repos/mohammed-elattar/ticketing-microservices/commits/e88b13bb978d5972acc3de4a5fb65a68636f75b3"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596476","type":"PushEvent","actor":{"id":54004431,"login":"BinarySwami-10","display_login":"BinarySwami-10","gravatar_id":"","url":"https://api.github.com/users/BinarySwami-10","avatar_url":"https://avatars.githubusercontent.com/u/54004431?"},"repo":{"id":353451786,"name":"BinarySwami-10/GitCron","url":"https://api.github.com/repos/BinarySwami-10/GitCron"},"payload":{"push_id":8735901493,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"062495c98a42679f08321ece9095c8d8bc21f263","before":"4ea4c35193bff9ef91c8f187f0266868a817d21c","commits":[{"sha":"062495c98a42679f08321ece9095c8d8bc21f263","author":{"email":"54004431+BinarySwami-10@users.noreply.github.com","name":"root"},"message":"SOURCE: AWS cloud Cron commit | INSTANCE_ID:i-0f3ab4432d38358b3.ap-south-1.compute.internal | INTENT:helps to greenify github activity log","distinct":true,"url":"https://api.github.com/repos/BinarySwami-10/GitCron/commits/062495c98a42679f08321ece9095c8d8bc21f263"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596477","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":248646333,"name":"miwebst/ssRunner","url":"https://api.github.com/repos/miwebst/ssRunner"},"payload":{"push_id":8735901491,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e0db9b8b5d4aa987cd05d38c524281697283b0ff","before":"2749ee2c8aa150f64cc095b84c274432d45607ac","commits":[{"sha":"e0db9b8b5d4aa987cd05d38c524281697283b0ff","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/2/2022 1:00:03 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunner/commits/e0db9b8b5d4aa987cd05d38c524281697283b0ff"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596479","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":370022949,"name":"abinea/abinea","url":"https://api.github.com/repos/abinea/abinea"},"payload":{"push_id":8735901518,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c17794f699594d1432197bc408f66cae3b210a42","before":"2e647403510bfe65963ef0fbc73d3fb024e5066b","commits":[{"sha":"c17794f699594d1432197bc408f66cae3b210a42","author":{"email":"1655853551@qq.com","name":"abinea"},"message":":memo: update profile","distinct":true,"url":"https://api.github.com/repos/abinea/abinea/commits/c17794f699594d1432197bc408f66cae3b210a42"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596485","type":"PushEvent","actor":{"id":96956542,"login":"loulax","display_login":"loulax","gravatar_id":"","url":"https://api.github.com/users/loulax","avatar_url":"https://avatars.githubusercontent.com/u/96956542?"},"repo":{"id":443637771,"name":"loulax/minecraft_backup","url":"https://api.github.com/repos/loulax/minecraft_backup"},"payload":{"push_id":8735901522,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"defed9ff22bdc6e5a98b4dd56b02ec9ac9d4c022","before":"a8be8aeb958f8be329b72479d0c4790ab856bf57","commits":[{"sha":"defed9ff22bdc6e5a98b4dd56b02ec9ac9d4c022","author":{"email":"loulaxx91@gmail.com","name":"root"},"message":"backup","distinct":true,"url":"https://api.github.com/repos/loulax/minecraft_backup/commits/defed9ff22bdc6e5a98b4dd56b02ec9ac9d4c022"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596487","type":"PushEvent","actor":{"id":50640090,"login":"miwebst","display_login":"miwebst","gravatar_id":"","url":"https://api.github.com/users/miwebst","avatar_url":"https://avatars.githubusercontent.com/u/50640090?"},"repo":{"id":249503742,"name":"miwebst/ssRunnerReact","url":"https://api.github.com/repos/miwebst/ssRunnerReact"},"payload":{"push_id":8735901511,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"07fbd8dfdddb89cc6dcee942bcc6f41837dc3827","before":"8c3e5b55dd49860decfb0810d2496830cb2b532a","commits":[{"sha":"07fbd8dfdddb89cc6dcee942bcc6f41837dc3827","author":{"email":"donotreply@microsoft.com","name":"Static Sites Runner"},"message":"Runner Commit: 1/2/2022 1:00:03 AM","distinct":true,"url":"https://api.github.com/repos/miwebst/ssRunnerReact/commits/07fbd8dfdddb89cc6dcee942bcc6f41837dc3827"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596492","type":"PushEvent","actor":{"id":12238924,"login":"anhnamtran","display_login":"anhnamtran","gravatar_id":"","url":"https://api.github.com/users/anhnamtran","avatar_url":"https://avatars.githubusercontent.com/u/12238924?"},"repo":{"id":186312474,"name":"anhnamtran/bash_conf","url":"https://api.github.com/repos/anhnamtran/bash_conf"},"payload":{"push_id":8735901513,"size":1,"distinct_size":1,"ref":"refs/heads/andrewnt","head":"cda69659e6afb37e663322f9e03fc52c26ea0339","before":"349e04d76b70a67c54fc3cefee866fc604b701f5","commits":[{"sha":"cda69659e6afb37e663322f9e03fc52c26ea0339","author":{"email":"andremail03@gmail.com","name":"Andrew Tran"},"message":"[Cron] Backup of dotfiles","distinct":true,"url":"https://api.github.com/repos/anhnamtran/bash_conf/commits/cda69659e6afb37e663322f9e03fc52c26ea0339"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596495","type":"ForkEvent","actor":{"id":90845470,"login":"xXD4rkC0d3rXx","display_login":"xXD4rkC0d3rXx","gravatar_id":"","url":"https://api.github.com/users/xXD4rkC0d3rXx","avatar_url":"https://avatars.githubusercontent.com/u/90845470?"},"repo":{"id":140060341,"name":"krfong916/animations-stir-fry","url":"https://api.github.com/repos/krfong916/animations-stir-fry"},"payload":{"forkee":{"id":443654637,"node_id":"R_kgDOGnGh7Q","name":"animations-stir-fry","full_name":"xXD4rkC0d3rXx/animations-stir-fry","private":false,"owner":{"login":"xXD4rkC0d3rXx","id":90845470,"node_id":"MDQ6VXNlcjkwODQ1NDcw","avatar_url":"https://avatars.githubusercontent.com/u/90845470?v=4","gravatar_id":"","url":"https://api.github.com/users/xXD4rkC0d3rXx","html_url":"https://github.com/xXD4rkC0d3rXx","followers_url":"https://api.github.com/users/xXD4rkC0d3rXx/followers","following_url":"https://api.github.com/users/xXD4rkC0d3rXx/following{/other_user}","gists_url":"https://api.github.com/users/xXD4rkC0d3rXx/gists{/gist_id}","starred_url":"https://api.github.com/users/xXD4rkC0d3rXx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xXD4rkC0d3rXx/subscriptions","organizations_url":"https://api.github.com/users/xXD4rkC0d3rXx/orgs","repos_url":"https://api.github.com/users/xXD4rkC0d3rXx/repos","events_url":"https://api.github.com/users/xXD4rkC0d3rXx/events{/privacy}","received_events_url":"https://api.github.com/users/xXD4rkC0d3rXx/received_events","type":"User","site_admin":false},"html_url":"https://github.com/xXD4rkC0d3rXx/animations-stir-fry","description":"Repo for cooking up and serving all my animations","fork":true,"url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry","forks_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/forks","keys_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/teams","hooks_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/hooks","issue_events_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/issues/events{/number}","events_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/events","assignees_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/assignees{/user}","branches_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/branches{/branch}","tags_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/tags","blobs_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/git/refs{/sha}","trees_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/statuses/{sha}","languages_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/languages","stargazers_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/stargazers","contributors_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/contributors","subscribers_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/subscribers","subscription_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/subscription","commits_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/commits{/sha}","git_commits_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/git/commits{/sha}","comments_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/comments{/number}","issue_comment_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/issues/comments{/number}","contents_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/contents/{+path}","compare_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/merges","archive_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/downloads","issues_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/issues{/number}","pulls_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/pulls{/number}","milestones_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/milestones{/number}","notifications_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/labels{/name}","releases_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/releases{/id}","deployments_url":"https://api.github.com/repos/xXD4rkC0d3rXx/animations-stir-fry/deployments","created_at":"2022-01-02T01:00:03Z","updated_at":"2021-03-20T17:43:27Z","pushed_at":"2018-07-13T20:19:21Z","git_url":"git://github.com/xXD4rkC0d3rXx/animations-stir-fry.git","ssh_url":"git@github.com:xXD4rkC0d3rXx/animations-stir-fry.git","clone_url":"https://github.com/xXD4rkC0d3rXx/animations-stir-fry.git","svn_url":"https://github.com/xXD4rkC0d3rXx/animations-stir-fry","homepage":null,"size":137,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596498","type":"PushEvent","actor":{"id":34239087,"login":"rohit-chouhan","display_login":"rohit-chouhan","gravatar_id":"","url":"https://api.github.com/users/rohit-chouhan","avatar_url":"https://avatars.githubusercontent.com/u/34239087?"},"repo":{"id":377961455,"name":"rohit-chouhan/pysql","url":"https://api.github.com/repos/rohit-chouhan/pysql"},"payload":{"push_id":8735901514,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ec9b6e499dc6de83f4e280a95ec95655e607d2d0","before":"20f334417977abec3225401738fc122673e42b87","commits":[{"sha":"ec9b6e499dc6de83f4e280a95ec95655e607d2d0","author":{"email":"34239087+rohit-chouhan@users.noreply.github.com","name":"Rohit Chouhan"},"message":"bug fixed","distinct":true,"url":"https://api.github.com/repos/rohit-chouhan/pysql/commits/ec9b6e499dc6de83f4e280a95ec95655e607d2d0"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596499","type":"PushEvent","actor":{"id":94214454,"login":"brepo-pl","display_login":"brepo-pl","gravatar_id":"","url":"https://api.github.com/users/brepo-pl","avatar_url":"https://avatars.githubusercontent.com/u/94214454?"},"repo":{"id":427586176,"name":"brepo-pl/UserDenyIP","url":"https://api.github.com/repos/brepo-pl/UserDenyIP"},"payload":{"push_id":8735901526,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8f459b491d8b4eeed0d19e689baa7aeb817b56ac","before":"45eaf05c3ab0223462507003508e1072089ba5ba","commits":[{"sha":"8f459b491d8b4eeed0d19e689baa7aeb817b56ac","author":{"email":"UserDenyIP@brepo.pl","name":"brepo-pl"},"message":"[www.brepo.pl] UserDenyIP.txt","distinct":true,"url":"https://api.github.com/repos/brepo-pl/UserDenyIP/commits/8f459b491d8b4eeed0d19e689baa7aeb817b56ac"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596500","type":"PushEvent","actor":{"id":103293,"login":"emacsway","display_login":"emacsway","gravatar_id":"","url":"https://api.github.com/users/emacsway","avatar_url":"https://avatars.githubusercontent.com/u/103293?"},"repo":{"id":427933683,"name":"emacsway/system-architecture-emacsway","url":"https://api.github.com/repos/emacsway/system-architecture-emacsway"},"payload":{"push_id":8735901521,"size":1,"distinct_size":1,"ref":"refs/heads/emacsway","head":"9cbe435ea418e126a5dffc64c4ea0d74fac644bf","before":"26f26396bbec9349a902d411712c974d30466c47","commits":[{"sha":"9cbe435ea418e126a5dffc64c4ea0d74fac644bf","author":{"email":"ivzak@yandex.ru","name":"Ivan Zakrevskii"},"message":"Add link from Agile to iterative development","distinct":true,"url":"https://api.github.com/repos/emacsway/system-architecture-emacsway/commits/9cbe435ea418e126a5dffc64c4ea0d74fac644bf"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596503","type":"PushEvent","actor":{"id":96464003,"login":"zhouqn3","display_login":"zhouqn3","gravatar_id":"","url":"https://api.github.com/users/zhouqn3","avatar_url":"https://avatars.githubusercontent.com/u/96464003?"},"repo":{"id":443627392,"name":"zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3","url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3"},"payload":{"push_id":8735901525,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fe379b13436d775aacf6e85df4876b4036a0355c","before":"4bf38fed5a2a20693a9359c6670d9541624dfa91","commits":[{"sha":"fe379b13436d775aacf6e85df4876b4036a0355c","author":{"email":"96464003+zhouqn3@users.noreply.github.com","name":"zhouqn3"},"message":"upload file f7e0cbd7f2b2d1615e02e70c7ae2e8179799e99122b5cf8ae5405a027598980e41ba338d4d23ab204fdd360b9dcc5243video_1726_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3/commits/fe379b13436d775aacf6e85df4876b4036a0355c"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596507","type":"PushEvent","actor":{"id":50076953,"login":"moppspace","display_login":"moppspace","gravatar_id":"","url":"https://api.github.com/users/moppspace","avatar_url":"https://avatars.githubusercontent.com/u/50076953?"},"repo":{"id":183910394,"name":"moppspace/moppspace.github.io","url":"https://api.github.com/repos/moppspace/moppspace.github.io"},"payload":{"push_id":8735901534,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5de8811cdfb57f9bd2fd7ccb0e8a92022e7d3066","before":"8b5a8d25fbc1d18dd3f293de03818d2ed655a588","commits":[{"sha":"5de8811cdfb57f9bd2fd7ccb0e8a92022e7d3066","author":{"email":"admin@mopp.space","name":"mopp"},"message":"update","distinct":true,"url":"https://api.github.com/repos/moppspace/moppspace.github.io/commits/5de8811cdfb57f9bd2fd7ccb0e8a92022e7d3066"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596511","type":"PushEvent","actor":{"id":51688199,"login":"NikitaIvanovV","display_login":"NikitaIvanovV","gravatar_id":"","url":"https://api.github.com/users/NikitaIvanovV","avatar_url":"https://avatars.githubusercontent.com/u/51688199?"},"repo":{"id":316928986,"name":"NikitaIvanovV/fancade-wiki","url":"https://api.github.com/repos/NikitaIvanovV/fancade-wiki"},"payload":{"push_id":8735901535,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"79eaa2c93d0069f919f3466218cccd5c7f89b230","before":"0907d8457ffe6f8e34be2ba9b4d4e52461f78e9a","commits":[{"sha":"200b733b8e0bc6a9d981b8e049afa1850970d7af","author":{"email":"email@example.com","name":"LGAEGaovZDSwsVpXSHEL7q2bGjV2"},"message":"Uploaded file to uploads/Screenshot_20220101-201031.png","distinct":true,"url":"https://api.github.com/repos/NikitaIvanovV/fancade-wiki/commits/200b733b8e0bc6a9d981b8e049afa1850970d7af"},{"sha":"f9572a0c5cf1b447fe11ceb462e6cbb5a7cd9f1a","author":{"email":"email@example.com","name":"LGAEGaovZDSwsVpXSHEL7q2bGjV2"},"message":"Updated Menu Item.md (markdown)","distinct":true,"url":"https://api.github.com/repos/NikitaIvanovV/fancade-wiki/commits/f9572a0c5cf1b447fe11ceb462e6cbb5a7cd9f1a"},{"sha":"79eaa2c93d0069f919f3466218cccd5c7f89b230","author":{"email":"email@example.com","name":"LGAEGaovZDSwsVpXSHEL7q2bGjV2"},"message":"Added image in place of pseudo code for more clarity","distinct":true,"url":"https://api.github.com/repos/NikitaIvanovV/fancade-wiki/commits/79eaa2c93d0069f919f3466218cccd5c7f89b230"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596512","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":339366245,"name":"thanhleviet/monitor_github_release","url":"https://api.github.com/repos/thanhleviet/monitor_github_release"},"payload":{"push_id":8735901536,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"94f4963d3b9c79131409b43fd7eb4cb797c62b1a","before":"5676d7d1e038f70052bd56be98960ffd1da7a86c","commits":[{"sha":"94f4963d3b9c79131409b43fd7eb4cb797c62b1a","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Auto commit via Github Action at 2022-01-02 01:00:01","distinct":true,"url":"https://api.github.com/repos/thanhleviet/monitor_github_release/commits/94f4963d3b9c79131409b43fd7eb4cb797c62b1a"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596513","type":"PushEvent","actor":{"id":25820987,"login":"feralEndre","display_login":"feralEndre","gravatar_id":"","url":"https://api.github.com/users/feralEndre","avatar_url":"https://avatars.githubusercontent.com/u/25820987?"},"repo":{"id":242581878,"name":"feralEndre/sensorinfo","url":"https://api.github.com/repos/feralEndre/sensorinfo"},"payload":{"push_id":8735901530,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"be7170bbf5f1e2d0999cafa9be8d73d840100752","before":"aa08a8a3e302b0549284e20b98b851afa2451d6c","commits":[{"sha":"be7170bbf5f1e2d0999cafa9be8d73d840100752","author":{"email":"endre.barcs@gmail.com","name":"feralEndre"},"message":"sensor data Sun, 02 Jan 2022 02:00:01 +0100","distinct":true,"url":"https://api.github.com/repos/feralEndre/sensorinfo/commits/be7170bbf5f1e2d0999cafa9be8d73d840100752"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596515","type":"PushEvent","actor":{"id":23443948,"login":"geekzsp","display_login":"geekzsp","gravatar_id":"","url":"https://api.github.com/users/geekzsp","avatar_url":"https://avatars.githubusercontent.com/u/23443948?"},"repo":{"id":275519526,"name":"geekzsp/ImagesRepository","url":"https://api.github.com/repos/geekzsp/ImagesRepository"},"payload":{"push_id":8735901540,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4af1575243894634bce86b1053673a7b063fb1f2","before":"c10ff1caa1c84c25207237eccb67ecda6f4c21d1","commits":[{"sha":"4af1575243894634bce86b1053673a7b063fb1f2","author":{"email":"geekzsp@gmail.com","name":"Moss"},"message":"Upload by PicGo","distinct":true,"url":"https://api.github.com/repos/geekzsp/ImagesRepository/commits/4af1575243894634bce86b1053673a7b063fb1f2"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596520","type":"CreateEvent","actor":{"id":12119317,"login":"KIMSEIHEE","display_login":"KIMSEIHEE","gravatar_id":"","url":"https://api.github.com/users/KIMSEIHEE","avatar_url":"https://avatars.githubusercontent.com/u/12119317?"},"repo":{"id":443654638,"name":"KIMSEIHEE/javascript_sara","url":"https://api.github.com/repos/KIMSEIHEE/javascript_sara"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596524","type":"PushEvent","actor":{"id":95947812,"login":"tiger-math","display_login":"tiger-math","gravatar_id":"","url":"https://api.github.com/users/tiger-math","avatar_url":"https://avatars.githubusercontent.com/u/95947812?"},"repo":{"id":437237626,"name":"tiger-math/yamath","url":"https://api.github.com/repos/tiger-math/yamath"},"payload":{"push_id":8735901554,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fcae42eb1e8576875c2a494a1df5ed9f46796cd8","before":"155baa0acf941ebf235f79b217449eff879ee29b","commits":[{"sha":"fcae42eb1e8576875c2a494a1df5ed9f46796cd8","author":{"email":"95947812+tiger-math@users.noreply.github.com","name":"yamath"},"message":"Add files via upload","distinct":true,"url":"https://api.github.com/repos/tiger-math/yamath/commits/fcae42eb1e8576875c2a494a1df5ed9f46796cd8"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596525","type":"PullRequestEvent","actor":{"id":39814207,"login":"pull[bot]","display_login":"pull","gravatar_id":"","url":"https://api.github.com/users/pull[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39814207?"},"repo":{"id":288053648,"name":"izgzhen/RSSHub","url":"https://api.github.com/repos/izgzhen/RSSHub"},"payload":{"action":"opened","number":1236,"pull_request":{"url":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236","id":812662841,"node_id":"PR_kwDOEStZkM4wcEA5","html_url":"https://github.com/izgzhen/RSSHub/pull/1236","diff_url":"https://github.com/izgzhen/RSSHub/pull/1236.diff","patch_url":"https://github.com/izgzhen/RSSHub/pull/1236.patch","issue_url":"https://api.github.com/repos/izgzhen/RSSHub/issues/1236","number":1236,"state":"open","locked":false,"title":"[pull] master from DIYgod:master","user":{"login":"pull[bot]","id":39814207,"node_id":"MDM6Qm90Mzk4MTQyMDc=","avatar_url":"https://avatars.githubusercontent.com/in/12910?v=4","gravatar_id":"","url":"https://api.github.com/users/pull%5Bbot%5D","html_url":"https://github.com/apps/pull","followers_url":"https://api.github.com/users/pull%5Bbot%5D/followers","following_url":"https://api.github.com/users/pull%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/pull%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/pull%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pull%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/pull%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/pull%5Bbot%5D/repos","events_url":"https://api.github.com/users/pull%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/pull%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"See Commits and Changes for more details.\n\n-----\nCreated by [ **pull[bot]**](https://github.com/wei/pull)\n\n_Can you help keep this open source service alive? **[💖 Please sponsor : )](https://prod.download/pull-pr-sponsor)**_","created_at":"2022-01-02T01:00:04Z","updated_at":"2022-01-02T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236/commits","review_comments_url":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236/comments","review_comment_url":"https://api.github.com/repos/izgzhen/RSSHub/pulls/comments{/number}","comments_url":"https://api.github.com/repos/izgzhen/RSSHub/issues/1236/comments","statuses_url":"https://api.github.com/repos/izgzhen/RSSHub/statuses/b8acfdbf7bc371f2c91ff33c0ea85f1db8b43410","head":{"label":"DIYgod:master","ref":"master","sha":"b8acfdbf7bc371f2c91ff33c0ea85f1db8b43410","user":{"login":"DIYgod","id":8266075,"node_id":"MDQ6VXNlcjgyNjYwNzU=","avatar_url":"https://avatars.githubusercontent.com/u/8266075?v=4","gravatar_id":"","url":"https://api.github.com/users/DIYgod","html_url":"https://github.com/DIYgod","followers_url":"https://api.github.com/users/DIYgod/followers","following_url":"https://api.github.com/users/DIYgod/following{/other_user}","gists_url":"https://api.github.com/users/DIYgod/gists{/gist_id}","starred_url":"https://api.github.com/users/DIYgod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DIYgod/subscriptions","organizations_url":"https://api.github.com/users/DIYgod/orgs","repos_url":"https://api.github.com/users/DIYgod/repos","events_url":"https://api.github.com/users/DIYgod/events{/privacy}","received_events_url":"https://api.github.com/users/DIYgod/received_events","type":"User","site_admin":false},"repo":{"id":127769231,"node_id":"MDEwOlJlcG9zaXRvcnkxMjc3NjkyMzE=","name":"RSSHub","full_name":"DIYgod/RSSHub","private":false,"owner":{"login":"DIYgod","id":8266075,"node_id":"MDQ6VXNlcjgyNjYwNzU=","avatar_url":"https://avatars.githubusercontent.com/u/8266075?v=4","gravatar_id":"","url":"https://api.github.com/users/DIYgod","html_url":"https://github.com/DIYgod","followers_url":"https://api.github.com/users/DIYgod/followers","following_url":"https://api.github.com/users/DIYgod/following{/other_user}","gists_url":"https://api.github.com/users/DIYgod/gists{/gist_id}","starred_url":"https://api.github.com/users/DIYgod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DIYgod/subscriptions","organizations_url":"https://api.github.com/users/DIYgod/orgs","repos_url":"https://api.github.com/users/DIYgod/repos","events_url":"https://api.github.com/users/DIYgod/events{/privacy}","received_events_url":"https://api.github.com/users/DIYgod/received_events","type":"User","site_admin":false},"html_url":"https://github.com/DIYgod/RSSHub","description":"🍰 Everything is RSSible","fork":false,"url":"https://api.github.com/repos/DIYgod/RSSHub","forks_url":"https://api.github.com/repos/DIYgod/RSSHub/forks","keys_url":"https://api.github.com/repos/DIYgod/RSSHub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/DIYgod/RSSHub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/DIYgod/RSSHub/teams","hooks_url":"https://api.github.com/repos/DIYgod/RSSHub/hooks","issue_events_url":"https://api.github.com/repos/DIYgod/RSSHub/issues/events{/number}","events_url":"https://api.github.com/repos/DIYgod/RSSHub/events","assignees_url":"https://api.github.com/repos/DIYgod/RSSHub/assignees{/user}","branches_url":"https://api.github.com/repos/DIYgod/RSSHub/branches{/branch}","tags_url":"https://api.github.com/repos/DIYgod/RSSHub/tags","blobs_url":"https://api.github.com/repos/DIYgod/RSSHub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/DIYgod/RSSHub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/DIYgod/RSSHub/git/refs{/sha}","trees_url":"https://api.github.com/repos/DIYgod/RSSHub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/DIYgod/RSSHub/statuses/{sha}","languages_url":"https://api.github.com/repos/DIYgod/RSSHub/languages","stargazers_url":"https://api.github.com/repos/DIYgod/RSSHub/stargazers","contributors_url":"https://api.github.com/repos/DIYgod/RSSHub/contributors","subscribers_url":"https://api.github.com/repos/DIYgod/RSSHub/subscribers","subscription_url":"https://api.github.com/repos/DIYgod/RSSHub/subscription","commits_url":"https://api.github.com/repos/DIYgod/RSSHub/commits{/sha}","git_commits_url":"https://api.github.com/repos/DIYgod/RSSHub/git/commits{/sha}","comments_url":"https://api.github.com/repos/DIYgod/RSSHub/comments{/number}","issue_comment_url":"https://api.github.com/repos/DIYgod/RSSHub/issues/comments{/number}","contents_url":"https://api.github.com/repos/DIYgod/RSSHub/contents/{+path}","compare_url":"https://api.github.com/repos/DIYgod/RSSHub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/DIYgod/RSSHub/merges","archive_url":"https://api.github.com/repos/DIYgod/RSSHub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/DIYgod/RSSHub/downloads","issues_url":"https://api.github.com/repos/DIYgod/RSSHub/issues{/number}","pulls_url":"https://api.github.com/repos/DIYgod/RSSHub/pulls{/number}","milestones_url":"https://api.github.com/repos/DIYgod/RSSHub/milestones{/number}","notifications_url":"https://api.github.com/repos/DIYgod/RSSHub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/DIYgod/RSSHub/labels{/name}","releases_url":"https://api.github.com/repos/DIYgod/RSSHub/releases{/id}","deployments_url":"https://api.github.com/repos/DIYgod/RSSHub/deployments","created_at":"2018-04-02T14:43:21Z","updated_at":"2022-01-01T23:33:01Z","pushed_at":"2022-01-01T05:08:22Z","git_url":"git://github.com/DIYgod/RSSHub.git","ssh_url":"git@github.com:DIYgod/RSSHub.git","clone_url":"https://github.com/DIYgod/RSSHub.git","svn_url":"https://github.com/DIYgod/RSSHub","homepage":"https://docs.rsshub.app","size":64961,"stargazers_count":18223,"watchers_count":18223,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":3530,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":637,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":["bilibili","disqus","douban","douyin","douyu","dribbble","instagram","iqiyi","jike","juejin","pixiv","rss","tieba","twitter","v2ex","wechat","weibo","youtube","zhihu","zimuzu"],"visibility":"public","forks":3530,"open_issues":637,"watchers":18223,"default_branch":"master"}},"base":{"label":"izgzhen:master","ref":"master","sha":"1b96cd9301a9fad4630361d2292f60779859c567","user":{"login":"izgzhen","id":7168454,"node_id":"MDQ6VXNlcjcxNjg0NTQ=","avatar_url":"https://avatars.githubusercontent.com/u/7168454?v=4","gravatar_id":"","url":"https://api.github.com/users/izgzhen","html_url":"https://github.com/izgzhen","followers_url":"https://api.github.com/users/izgzhen/followers","following_url":"https://api.github.com/users/izgzhen/following{/other_user}","gists_url":"https://api.github.com/users/izgzhen/gists{/gist_id}","starred_url":"https://api.github.com/users/izgzhen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/izgzhen/subscriptions","organizations_url":"https://api.github.com/users/izgzhen/orgs","repos_url":"https://api.github.com/users/izgzhen/repos","events_url":"https://api.github.com/users/izgzhen/events{/privacy}","received_events_url":"https://api.github.com/users/izgzhen/received_events","type":"User","site_admin":false},"repo":{"id":288053648,"node_id":"MDEwOlJlcG9zaXRvcnkyODgwNTM2NDg=","name":"RSSHub","full_name":"izgzhen/RSSHub","private":false,"owner":{"login":"izgzhen","id":7168454,"node_id":"MDQ6VXNlcjcxNjg0NTQ=","avatar_url":"https://avatars.githubusercontent.com/u/7168454?v=4","gravatar_id":"","url":"https://api.github.com/users/izgzhen","html_url":"https://github.com/izgzhen","followers_url":"https://api.github.com/users/izgzhen/followers","following_url":"https://api.github.com/users/izgzhen/following{/other_user}","gists_url":"https://api.github.com/users/izgzhen/gists{/gist_id}","starred_url":"https://api.github.com/users/izgzhen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/izgzhen/subscriptions","organizations_url":"https://api.github.com/users/izgzhen/orgs","repos_url":"https://api.github.com/users/izgzhen/repos","events_url":"https://api.github.com/users/izgzhen/events{/privacy}","received_events_url":"https://api.github.com/users/izgzhen/received_events","type":"User","site_admin":false},"html_url":"https://github.com/izgzhen/RSSHub","description":"🍰 Everything is RSSible","fork":true,"url":"https://api.github.com/repos/izgzhen/RSSHub","forks_url":"https://api.github.com/repos/izgzhen/RSSHub/forks","keys_url":"https://api.github.com/repos/izgzhen/RSSHub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/izgzhen/RSSHub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/izgzhen/RSSHub/teams","hooks_url":"https://api.github.com/repos/izgzhen/RSSHub/hooks","issue_events_url":"https://api.github.com/repos/izgzhen/RSSHub/issues/events{/number}","events_url":"https://api.github.com/repos/izgzhen/RSSHub/events","assignees_url":"https://api.github.com/repos/izgzhen/RSSHub/assignees{/user}","branches_url":"https://api.github.com/repos/izgzhen/RSSHub/branches{/branch}","tags_url":"https://api.github.com/repos/izgzhen/RSSHub/tags","blobs_url":"https://api.github.com/repos/izgzhen/RSSHub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/izgzhen/RSSHub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/izgzhen/RSSHub/git/refs{/sha}","trees_url":"https://api.github.com/repos/izgzhen/RSSHub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/izgzhen/RSSHub/statuses/{sha}","languages_url":"https://api.github.com/repos/izgzhen/RSSHub/languages","stargazers_url":"https://api.github.com/repos/izgzhen/RSSHub/stargazers","contributors_url":"https://api.github.com/repos/izgzhen/RSSHub/contributors","subscribers_url":"https://api.github.com/repos/izgzhen/RSSHub/subscribers","subscription_url":"https://api.github.com/repos/izgzhen/RSSHub/subscription","commits_url":"https://api.github.com/repos/izgzhen/RSSHub/commits{/sha}","git_commits_url":"https://api.github.com/repos/izgzhen/RSSHub/git/commits{/sha}","comments_url":"https://api.github.com/repos/izgzhen/RSSHub/comments{/number}","issue_comment_url":"https://api.github.com/repos/izgzhen/RSSHub/issues/comments{/number}","contents_url":"https://api.github.com/repos/izgzhen/RSSHub/contents/{+path}","compare_url":"https://api.github.com/repos/izgzhen/RSSHub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/izgzhen/RSSHub/merges","archive_url":"https://api.github.com/repos/izgzhen/RSSHub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/izgzhen/RSSHub/downloads","issues_url":"https://api.github.com/repos/izgzhen/RSSHub/issues{/number}","pulls_url":"https://api.github.com/repos/izgzhen/RSSHub/pulls{/number}","milestones_url":"https://api.github.com/repos/izgzhen/RSSHub/milestones{/number}","notifications_url":"https://api.github.com/repos/izgzhen/RSSHub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/izgzhen/RSSHub/labels{/name}","releases_url":"https://api.github.com/repos/izgzhen/RSSHub/releases{/id}","deployments_url":"https://api.github.com/repos/izgzhen/RSSHub/deployments","created_at":"2020-08-17T01:10:24Z","updated_at":"2021-11-27T15:01:58Z","pushed_at":"2022-01-01T18:41:54Z","git_url":"git://github.com/izgzhen/RSSHub.git","ssh_url":"git@github.com:izgzhen/RSSHub.git","clone_url":"https://github.com/izgzhen/RSSHub.git","svn_url":"https://github.com/izgzhen/RSSHub","homepage":"https://docs.rsshub.app","size":62973,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":11,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":11,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236"},"html":{"href":"https://github.com/izgzhen/RSSHub/pull/1236"},"issue":{"href":"https://api.github.com/repos/izgzhen/RSSHub/issues/1236"},"comments":{"href":"https://api.github.com/repos/izgzhen/RSSHub/issues/1236/comments"},"review_comments":{"href":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236/comments"},"review_comment":{"href":"https://api.github.com/repos/izgzhen/RSSHub/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/izgzhen/RSSHub/pulls/1236/commits"},"statuses":{"href":"https://api.github.com/repos/izgzhen/RSSHub/statuses/b8acfdbf7bc371f2c91ff33c0ea85f1db8b43410"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":30,"additions":15611,"deletions":48308,"changed_files":95}},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596533","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":389990506,"name":"Yusuke0126/Yusuke0126","url":"https://api.github.com/repos/Yusuke0126/Yusuke0126"},"payload":{"push_id":8735901560,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0fbff37609aced794f2b46e77ab58ce4716bd4e6","before":"a5b6e130e0a77796a935ece0557c1f3e1d19fd01","commits":[{"sha":"0fbff37609aced794f2b46e77ab58ce4716bd4e6","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/Yusuke0126/Yusuke0126/commits/0fbff37609aced794f2b46e77ab58ce4716bd4e6"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596536","type":"PushEvent","actor":{"id":3379460,"login":"beanslee2012","display_login":"beanslee2012","gravatar_id":"","url":"https://api.github.com/users/beanslee2012","avatar_url":"https://avatars.githubusercontent.com/u/3379460?"},"repo":{"id":215003385,"name":"beanslee2012/games","url":"https://api.github.com/repos/beanslee2012/games"},"payload":{"push_id":8735901551,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c6a3c6f4fda25ced88e55a31d20ecf8d7c3cafbd","before":"fabe314adf8a3e894571ea4f90da62955e498b4c","commits":[{"sha":"c6a3c6f4fda25ced88e55a31d20ecf8d7c3cafbd","author":{"email":"beanslee2007@gmail.com","name":"beanslee2012"},"message":"daily update","distinct":true,"url":"https://api.github.com/repos/beanslee2012/games/commits/c6a3c6f4fda25ced88e55a31d20ecf8d7c3cafbd"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596541","type":"PushEvent","actor":{"id":4518241,"login":"chris-mair","display_login":"chris-mair","gravatar_id":"","url":"https://api.github.com/users/chris-mair","avatar_url":"https://avatars.githubusercontent.com/u/4518241?"},"repo":{"id":371437884,"name":"chris-mair/flood_contribution_activity","url":"https://api.github.com/repos/chris-mair/flood_contribution_activity"},"payload":{"push_id":8735901541,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8d309a3686c2cfbdb452d62c446850fb864b1933","before":"44705b14b7d94a9d06135b1e08e38ad5e41febf7","commits":[{"sha":"8d309a3686c2cfbdb452d62c446850fb864b1933","author":{"email":"chris@1006.org","name":"Chris Mair"},"message":"flood test","distinct":true,"url":"https://api.github.com/repos/chris-mair/flood_contribution_activity/commits/8d309a3686c2cfbdb452d62c446850fb864b1933"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596544","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735901563,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2a39796223ed820e932f01e965e59b474c8e1f97","before":"c9ff6bdbea43f89b58f701f8ea337097c3ae88aa","commits":[{"sha":"2a39796223ed820e932f01e965e59b474c8e1f97","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update nsc1002.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/2a39796223ed820e932f01e965e59b474c8e1f97"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596547","type":"IssueCommentEvent","actor":{"id":24329243,"login":"jeremiah-c-leary","display_login":"jeremiah-c-leary","gravatar_id":"","url":"https://api.github.com/users/jeremiah-c-leary","avatar_url":"https://avatars.githubusercontent.com/u/24329243?"},"repo":{"id":96138978,"name":"jeremiah-c-leary/vhdl-style-guide","url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452","repository_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide","labels_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/labels{/name}","comments_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/comments","events_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/events","html_url":"https://github.com/jeremiah-c-leary/vhdl-style-guide/issues/452","id":666361874,"node_id":"MDU6SXNzdWU2NjYzNjE4NzQ=","number":452,"title":"Tiered approach to case rules","user":{"login":"Malcolmnixon","id":1863707,"node_id":"MDQ6VXNlcjE4NjM3MDc=","avatar_url":"https://avatars.githubusercontent.com/u/1863707?v=4","gravatar_id":"","url":"https://api.github.com/users/Malcolmnixon","html_url":"https://github.com/Malcolmnixon","followers_url":"https://api.github.com/users/Malcolmnixon/followers","following_url":"https://api.github.com/users/Malcolmnixon/following{/other_user}","gists_url":"https://api.github.com/users/Malcolmnixon/gists{/gist_id}","starred_url":"https://api.github.com/users/Malcolmnixon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Malcolmnixon/subscriptions","organizations_url":"https://api.github.com/users/Malcolmnixon/orgs","repos_url":"https://api.github.com/users/Malcolmnixon/repos","events_url":"https://api.github.com/users/Malcolmnixon/events{/privacy}","received_events_url":"https://api.github.com/users/Malcolmnixon/received_events","type":"User","site_admin":false},"labels":[{"id":639325962,"node_id":"MDU6TGFiZWw2MzkzMjU5NjI=","url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-07-27T14:58:40Z","updated_at":"2022-01-02T01:00:04Z","closed_at":"2022-01-02T01:00:04Z","author_association":"NONE","active_lock_reason":null,"body":"**Is your feature request related to a problem? Please describe.**\r\nI'm working on a project where the coding standard specifies keywords in upper-case, and user-identifiers in lower-case.\r\nIn order to get this working I've had to build a style-rules.yaml file with an enormous number of case rules.\r\n\r\n**Describe the solution you'd like**\r\nThe 'generic case' rule sets the default case, which can be overriden by more specific rules. It would be nice to have an intermediate set of case rules:\r\n* keyword_case: 'upper'\r\n* identifier_case: 'lower'\r\n\r\nOther case rules would then inherit these values as defaults, and these would inherit from the generic 'case' rule if not provided.\r\n\r\n**Describe alternatives you've considered**\r\nNothing has come to mind.\r\n\r\n**Additional context**\r\n\r\n","reactions":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/comments/1003644266","html_url":"https://github.com/jeremiah-c-leary/vhdl-style-guide/issues/452#issuecomment-1003644266","issue_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452","id":1003644266,"node_id":"IC_kwDOBbr24s470mVq","user":{"login":"jeremiah-c-leary","id":24329243,"node_id":"MDQ6VXNlcjI0MzI5MjQz","avatar_url":"https://avatars.githubusercontent.com/u/24329243?v=4","gravatar_id":"","url":"https://api.github.com/users/jeremiah-c-leary","html_url":"https://github.com/jeremiah-c-leary","followers_url":"https://api.github.com/users/jeremiah-c-leary/followers","following_url":"https://api.github.com/users/jeremiah-c-leary/following{/other_user}","gists_url":"https://api.github.com/users/jeremiah-c-leary/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremiah-c-leary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremiah-c-leary/subscriptions","organizations_url":"https://api.github.com/users/jeremiah-c-leary/orgs","repos_url":"https://api.github.com/users/jeremiah-c-leary/repos","events_url":"https://api.github.com/users/jeremiah-c-leary/events{/privacy}","received_events_url":"https://api.github.com/users/jeremiah-c-leary/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:04Z","updated_at":"2022-01-02T01:00:04Z","author_association":"OWNER","body":"Hey @Malcolmnixon,\r\n\r\nI just merged branch issue-651 to master and will be releasing it as version 3.5.0. If you get a chance, please try it out and let me know what you think.\r\n\r\nRegards,\r\n\r\n--Jeremy","reactions":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/comments/1003644266/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596550","type":"PushEvent","actor":{"id":75794677,"login":"p-wtt","display_login":"p-wtt","gravatar_id":"","url":"https://api.github.com/users/p-wtt","avatar_url":"https://avatars.githubusercontent.com/u/75794677?"},"repo":{"id":375292528,"name":"p-wtt/lawn-gardener-project","url":"https://api.github.com/repos/p-wtt/lawn-gardener-project"},"payload":{"push_id":8735901570,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d910ce83be82e2003d84e4d267853c6bb1c5ce46","before":"cf9b8c833985088162dd07afcc858bbd0748984f","commits":[{"sha":"d910ce83be82e2003d84e4d267853c6bb1c5ce46","author":{"email":"parksangmin.wyatt@gmail.com","name":"p-wtt"},"message":"[2022-01-02] 1commit","distinct":true,"url":"https://api.github.com/repos/p-wtt/lawn-gardener-project/commits/d910ce83be82e2003d84e4d267853c6bb1c5ce46"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596551","type":"PushEvent","actor":{"id":47669903,"login":"WLTN1","display_login":"WLTN1","gravatar_id":"","url":"https://api.github.com/users/WLTN1","avatar_url":"https://avatars.githubusercontent.com/u/47669903?"},"repo":{"id":343239510,"name":"WLTN1/itsterez-nodayoff","url":"https://api.github.com/repos/WLTN1/itsterez-nodayoff"},"payload":{"push_id":8735901567,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7dd188c1e866e313b877d8b90912abe8f3731737","before":"1007909e5caa67a4d3029a926df5c2ba61c67b03","commits":[{"sha":"7dd188c1e866e313b877d8b90912abe8f3731737","author":{"email":"47669903+WLTN1@users.noreply.github.com","name":"WLTN1"},"message":"Automated update","distinct":true,"url":"https://api.github.com/repos/WLTN1/itsterez-nodayoff/commits/7dd188c1e866e313b877d8b90912abe8f3731737"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596556","type":"WatchEvent","actor":{"id":7426568,"login":"cteiosanu","display_login":"cteiosanu","gravatar_id":"","url":"https://api.github.com/users/cteiosanu","avatar_url":"https://avatars.githubusercontent.com/u/7426568?"},"repo":{"id":205849720,"name":"farag2/Nvidia-Intel","url":"https://api.github.com/repos/farag2/Nvidia-Intel"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596569","type":"PushEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"push_id":8735901592,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6055c520b541c8294314f0ddbe37dcd73a47001e","before":"e0f308ca03aab170241c4a092234d957f0d325ad","commits":[{"sha":"6055c520b541c8294314f0ddbe37dcd73a47001e","author":{"email":"marinus@mklasen.nl","name":"Marinus Klasen"},"message":"Automatically set new version to 1.0.9.2.5","distinct":true,"url":"https://api.github.com/repos/getpremia/premia-demo/commits/6055c520b541c8294314f0ddbe37dcd73a47001e"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596552","type":"ReleaseEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/getpremia/premia-demo/releases/56260333","assets_url":"https://api.github.com/repos/getpremia/premia-demo/releases/56260333/assets","upload_url":"https://uploads.github.com/repos/getpremia/premia-demo/releases/56260333/assets{?name,label}","html_url":"https://github.com/getpremia/premia-demo/releases/tag/1.0.9.2.5","id":56260333,"author":{"login":"getpremia","id":84419781,"node_id":"MDQ6VXNlcjg0NDE5Nzgx","avatar_url":"https://avatars.githubusercontent.com/u/84419781?v=4","gravatar_id":"","url":"https://api.github.com/users/getpremia","html_url":"https://github.com/getpremia","followers_url":"https://api.github.com/users/getpremia/followers","following_url":"https://api.github.com/users/getpremia/following{/other_user}","gists_url":"https://api.github.com/users/getpremia/gists{/gist_id}","starred_url":"https://api.github.com/users/getpremia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/getpremia/subscriptions","organizations_url":"https://api.github.com/users/getpremia/orgs","repos_url":"https://api.github.com/users/getpremia/repos","events_url":"https://api.github.com/users/getpremia/events{/privacy}","received_events_url":"https://api.github.com/users/getpremia/received_events","type":"User","site_admin":false},"node_id":"RE_kwDOFgOjhc4DWnbt","tag_name":"1.0.9.2.5","target_commitish":"master","name":"","draft":false,"prerelease":false,"created_at":"2022-01-02T01:00:01Z","published_at":"2022-01-02T01:00:04Z","assets":[],"tarball_url":"https://api.github.com/repos/getpremia/premia-demo/tarball/1.0.9.2.5","zipball_url":"https://api.github.com/repos/getpremia/premia-demo/zipball/1.0.9.2.5","body":"Automatically set new version to 1.0.9.2.5","short_description_html":"

Automatically set new version to 1.0.9.2.5

","is_short_description_html_truncated":false}},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596561","type":"PushEvent","actor":{"id":61666776,"login":"raspberry-commits","display_login":"raspberry-commits","gravatar_id":"","url":"https://api.github.com/users/raspberry-commits","avatar_url":"https://avatars.githubusercontent.com/u/61666776?"},"repo":{"id":244227718,"name":"raspberry-commits/bedroom-temperature-api","url":"https://api.github.com/repos/raspberry-commits/bedroom-temperature-api"},"payload":{"push_id":8735901564,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e1215508507028c612a842a99b6e063a5b6f501f","before":"a2d877999b37572abf6475b4eaa38d44c55686b0","commits":[{"sha":"e1215508507028c612a842a99b6e063a5b6f501f","author":{"email":"jaf281@gmail.com","name":"Raspberry Commits"},"message":"2022-01-02T01:00:02Z","distinct":true,"url":"https://api.github.com/repos/raspberry-commits/bedroom-temperature-api/commits/e1215508507028c612a842a99b6e063a5b6f501f"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596564","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":368515520,"name":"Mehak-Mehta/git","url":"https://api.github.com/repos/Mehak-Mehta/git"},"payload":{"push_id":8735901577,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d3f980815cd90c7344f8a94b2b3667156dad7a48","before":"f43ff503ad1a6233fc655954c1fc12bfe15464c3","commits":[{"sha":"d3f980815cd90c7344f8a94b2b3667156dad7a48","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update metrics.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/Mehak-Mehta/git/commits/d3f980815cd90c7344f8a94b2b3667156dad7a48"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596566","type":"PushEvent","actor":{"id":22070331,"login":"ka1myk","display_login":"ka1myk","gravatar_id":"","url":"https://api.github.com/users/ka1myk","avatar_url":"https://avatars.githubusercontent.com/u/22070331?"},"repo":{"id":436071544,"name":"ka1myk/binance-9999924490","url":"https://api.github.com/repos/ka1myk/binance-9999924490"},"payload":{"push_id":8735901580,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ed5084aae3d2215d9a16c89dc98b604d85eff48b","before":"6f5fa66f19f00a6baa2e8498e15e53c7b57a8d23","commits":[{"sha":"ed5084aae3d2215d9a16c89dc98b604d85eff48b","author":{"email":"kalmyk244kk","name":"ka1myk"},"message":"01/02/22 04:00:01","distinct":true,"url":"https://api.github.com/repos/ka1myk/binance-9999924490/commits/ed5084aae3d2215d9a16c89dc98b604d85eff48b"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596576","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":378187205,"name":"eozer/krdae-data","url":"https://api.github.com/repos/eozer/krdae-data"},"payload":{"push_id":8735901599,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"beafd984b1937080715eb0a9814bf643cc7cf0d6","before":"cdbee7fa80ba09e36c12af5e0b9f5bc5ed4e8cb8","commits":[{"sha":"beafd984b1937080715eb0a9814bf643cc7cf0d6","author":{"email":"github-actions[bot]@users.noreply.github.com","name":"github-actions"},"message":"Latest data: Sun Jan 2 01:00:03 UTC 2022","distinct":true,"url":"https://api.github.com/repos/eozer/krdae-data/commits/beafd984b1937080715eb0a9814bf643cc7cf0d6"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596579","type":"IssuesEvent","actor":{"id":24329243,"login":"jeremiah-c-leary","display_login":"jeremiah-c-leary","gravatar_id":"","url":"https://api.github.com/users/jeremiah-c-leary","avatar_url":"https://avatars.githubusercontent.com/u/24329243?"},"repo":{"id":96138978,"name":"jeremiah-c-leary/vhdl-style-guide","url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452","repository_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide","labels_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/labels{/name}","comments_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/comments","events_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/events","html_url":"https://github.com/jeremiah-c-leary/vhdl-style-guide/issues/452","id":666361874,"node_id":"MDU6SXNzdWU2NjYzNjE4NzQ=","number":452,"title":"Tiered approach to case rules","user":{"login":"Malcolmnixon","id":1863707,"node_id":"MDQ6VXNlcjE4NjM3MDc=","avatar_url":"https://avatars.githubusercontent.com/u/1863707?v=4","gravatar_id":"","url":"https://api.github.com/users/Malcolmnixon","html_url":"https://github.com/Malcolmnixon","followers_url":"https://api.github.com/users/Malcolmnixon/followers","following_url":"https://api.github.com/users/Malcolmnixon/following{/other_user}","gists_url":"https://api.github.com/users/Malcolmnixon/gists{/gist_id}","starred_url":"https://api.github.com/users/Malcolmnixon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Malcolmnixon/subscriptions","organizations_url":"https://api.github.com/users/Malcolmnixon/orgs","repos_url":"https://api.github.com/users/Malcolmnixon/repos","events_url":"https://api.github.com/users/Malcolmnixon/events{/privacy}","received_events_url":"https://api.github.com/users/Malcolmnixon/received_events","type":"User","site_admin":false},"labels":[{"id":639325962,"node_id":"MDU6TGFiZWw2MzkzMjU5NjI=","url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/labels/enhancement","name":"enhancement","color":"84b6eb","default":true,"description":null}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2020-07-27T14:58:40Z","updated_at":"2022-01-02T01:00:04Z","closed_at":"2022-01-02T01:00:04Z","author_association":"NONE","active_lock_reason":null,"body":"**Is your feature request related to a problem? Please describe.**\r\nI'm working on a project where the coding standard specifies keywords in upper-case, and user-identifiers in lower-case.\r\nIn order to get this working I've had to build a style-rules.yaml file with an enormous number of case rules.\r\n\r\n**Describe the solution you'd like**\r\nThe 'generic case' rule sets the default case, which can be overriden by more specific rules. It would be nice to have an intermediate set of case rules:\r\n* keyword_case: 'upper'\r\n* identifier_case: 'lower'\r\n\r\nOther case rules would then inherit these values as defaults, and these would inherit from the generic 'case' rule if not provided.\r\n\r\n**Describe alternatives you've considered**\r\nNothing has come to mind.\r\n\r\n**Additional context**\r\n\r\n","reactions":{"url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/jeremiah-c-leary/vhdl-style-guide/issues/452/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596580","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8735901587,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ec7f858dc2c43b55bf4bf16b94ad66595d2ad048","before":"eef3cf3a9cc83ffc05f7e34c1ff4b7160ac352af","commits":[{"sha":"ec7f858dc2c43b55bf4bf16b94ad66595d2ad048","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/ec7f858dc2c43b55bf4bf16b94ad66595d2ad048"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596581","type":"PushEvent","actor":{"id":89281319,"login":"ilovetexasgrapefruit","display_login":"ilovetexasgrapefruit","gravatar_id":"","url":"https://api.github.com/users/ilovetexasgrapefruit","avatar_url":"https://avatars.githubusercontent.com/u/89281319?"},"repo":{"id":398420938,"name":"ilovetexasgrapefruit/test","url":"https://api.github.com/repos/ilovetexasgrapefruit/test"},"payload":{"push_id":8735901593,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6d1db45fc63d387b5fbed80eabd494b051cc9335","before":"a5298c803a25230ee6f93f1430b1115a014789c0","commits":[{"sha":"6d1db45fc63d387b5fbed80eabd494b051cc9335","author":{"email":"i.love.texas.grapefruit@gmail.com","name":"Babette Coles"},"message":"Automatic push","distinct":true,"url":"https://api.github.com/repos/ilovetexasgrapefruit/test/commits/6d1db45fc63d387b5fbed80eabd494b051cc9335"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596583","type":"PushEvent","actor":{"id":20338170,"login":"AleXu224","display_login":"AleXu224","gravatar_id":"","url":"https://api.github.com/users/AleXu224","avatar_url":"https://avatars.githubusercontent.com/u/20338170?"},"repo":{"id":189412793,"name":"AleXu224/bptf_pricelist","url":"https://api.github.com/repos/AleXu224/bptf_pricelist"},"payload":{"push_id":8735901588,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"557a5f18a5d8582dfa2eda3e95a9cf1ac9cd57f1","before":"1a6bcfbd756f69cd8dce56cdb49071ed347b2271","commits":[{"sha":"557a5f18a5d8582dfa2eda3e95a9cf1ac9cd57f1","author":{"email":"iustin224@gmail.com","name":"root"},"message":":)","distinct":true,"url":"https://api.github.com/repos/AleXu224/bptf_pricelist/commits/557a5f18a5d8582dfa2eda3e95a9cf1ac9cd57f1"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596590","type":"CreateEvent","actor":{"id":84419781,"login":"getpremia","display_login":"getpremia","gravatar_id":"","url":"https://api.github.com/users/getpremia","avatar_url":"https://avatars.githubusercontent.com/u/84419781?"},"repo":{"id":369337221,"name":"getpremia/premia-demo","url":"https://api.github.com/repos/getpremia/premia-demo"},"payload":{"ref":"1.0.9.2.5","ref_type":"tag","master_branch":"master","description":"This is a demo repository that automatically publishes new releases every half an hour.","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596593","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901589,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f7752b3f8b027f399b1a25d3ab0c5896aac68f61","before":"b88d80fae22799093c7c1af9f676524a8a44ddad","commits":[{"sha":"f7752b3f8b027f399b1a25d3ab0c5896aac68f61","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/f7752b3f8b027f399b1a25d3ab0c5896aac68f61"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596595","type":"PushEvent","actor":{"id":58626192,"login":"AlphaNull16299","display_login":"AlphaNull16299","gravatar_id":"","url":"https://api.github.com/users/AlphaNull16299","avatar_url":"https://avatars.githubusercontent.com/u/58626192?"},"repo":{"id":435132988,"name":"AlphaNull16299/sh","url":"https://api.github.com/repos/AlphaNull16299/sh"},"payload":{"push_id":8735901586,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"4697b1085c7ee9b9b78ef34078a5a5cb7100acbe","before":"53a8fc1f73e0df47505ab19786401ce4da6c905e","commits":[{"sha":"4697b1085c7ee9b9b78ef34078a5a5cb7100acbe","author":{"email":"58626192+AlphaNull16299@users.noreply.github.com","name":"AlphaNull16299"},"message":"IP Updated!","distinct":true,"url":"https://api.github.com/repos/AlphaNull16299/sh/commits/4697b1085c7ee9b9b78ef34078a5a5cb7100acbe"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596599","type":"PushEvent","actor":{"id":878058,"login":"ParkMinKyu","display_login":"ParkMinKyu","gravatar_id":"","url":"https://api.github.com/users/ParkMinKyu","avatar_url":"https://avatars.githubusercontent.com/u/878058?"},"repo":{"id":362471221,"name":"ApartMoney/Apartmoney.github.io","url":"https://api.github.com/repos/ApartMoney/Apartmoney.github.io"},"payload":{"push_id":8735901576,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a97c2579ea129a472f5d50e35cfe6a67c3e8992b","before":"efa1219c52b25ecde9fc393330a20cb5a0abdf91","commits":[{"sha":"a97c2579ea129a472f5d50e35cfe6a67c3e8992b","author":{"email":"niee@naver.com","name":"ParkMinkyu"},"message":"update news data","distinct":true,"url":"https://api.github.com/repos/ApartMoney/Apartmoney.github.io/commits/a97c2579ea129a472f5d50e35cfe6a67c3e8992b"}]},"public":true,"created_at":"2022-01-02T01:00:04Z","org":{"id":60907646,"login":"ApartMoney","gravatar_id":"","url":"https://api.github.com/orgs/ApartMoney","avatar_url":"https://avatars.githubusercontent.com/u/60907646?"}} +{"id":"19546596604","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":399261133,"name":"mrpibb4201337/mojave-sun-13","url":"https://api.github.com/repos/mrpibb4201337/mojave-sun-13"},"payload":{"push_id":8735901613,"size":1,"distinct_size":1,"ref":"refs/heads/tgs-dmapi-update","head":"cedadf43613edb2f9169e0628c4983826c26171d","before":"9ed9a0615155bb07206580503a5e3eacce25127e","commits":[{"sha":"cedadf43613edb2f9169e0628c4983826c26171d","author":{"email":"tgstation-server@users.noreply.github.com","name":"tgstation-server"},"message":"Update TGS DMAPI","distinct":true,"url":"https://api.github.com/repos/mrpibb4201337/mojave-sun-13/commits/cedadf43613edb2f9169e0628c4983826c26171d"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596605","type":"PushEvent","actor":{"id":68449029,"login":"Sueqkjs","display_login":"Sueqkjs","gravatar_id":"","url":"https://api.github.com/users/Sueqkjs","avatar_url":"https://avatars.githubusercontent.com/u/68449029?"},"repo":{"id":435302050,"name":"Sueqkjs/sh","url":"https://api.github.com/repos/Sueqkjs/sh"},"payload":{"push_id":8735901603,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1e74fac58ade75f1d4cba6366cf8294407c20d32","before":"900f03ca7071fb948d28a1a35d3e3a4d6945e71c","commits":[{"sha":"1e74fac58ade75f1d4cba6366cf8294407c20d32","author":{"email":"sueqk@outlook.jp","name":"Sueqkjs"},"message":"ipipip","distinct":true,"url":"https://api.github.com/repos/Sueqkjs/sh/commits/1e74fac58ade75f1d4cba6366cf8294407c20d32"}]},"public":true,"created_at":"2022-01-02T01:00:04Z"} +{"id":"19546596664","type":"PullRequestReviewCommentEvent","actor":{"id":2244442,"login":"ericoporto","display_login":"ericoporto","gravatar_id":"","url":"https://api.github.com/users/ericoporto","avatar_url":"https://avatars.githubusercontent.com/u/2244442?"},"repo":{"id":4607043,"name":"adventuregamestudio/ags","url":"https://api.github.com/repos/adventuregamestudio/ags"},"payload":{"action":"created","comment":{"url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments/777152991","pull_request_review_id":842371287,"id":777152991,"node_id":"PRRC_kwDOAEZMQ84uUmnf","diff_hunk":"@@ -82,19 +87,25 @@ void WaitForNextFrame()\n \n auto frame_time_remaining = next_frame_timestamp - now;\n if (frame_time_remaining > std::chrono::milliseconds::zero()) {\n+#if AGS_PLATFORM_OS_EMSCRIPTEN","path":"Engine/ac/timer.cpp","position":37,"original_position":37,"commit_id":"971b5896b2dcde19d0513927e61e75cadef55ca5","original_commit_id":"e99fb3f3d32d7c5c01351cb1bec822bc92657d27","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"body":"Theoretically both should work, [Asyncify](https://youtu.be/qQOP6jqZqf8) should work with either of them - this is the spot Asyncify should unroll the stack, allow the browser to do it's work and come back. But for some reason the result with std::thread currently is the browser getting unresponsive - which is weird since it's written by Emscripten people. [SDL_Delay](https://github.com/libsdl-org/SDL/blob/main/src/timer/SDL_timer.c) appears to use some JS wait function when running with Emscripten, and it's working.","created_at":"2022-01-02T01:00:04Z","updated_at":"2022-01-02T01:00:04Z","html_url":"https://github.com/adventuregamestudio/ags/pull/1423#discussion_r777152991","pull_request_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments/777152991"},"html":{"href":"https://github.com/adventuregamestudio/ags/pull/1423#discussion_r777152991"},"pull_request":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423"}},"reactions":{"url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments/777152991/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"start_line":null,"original_start_line":null,"start_side":null,"line":90,"original_line":90,"side":"RIGHT","in_reply_to_id":777151618},"pull_request":{"url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423","id":747121322,"node_id":"PR_kwDOAEZMQ84siCqq","html_url":"https://github.com/adventuregamestudio/ags/pull/1423","diff_url":"https://github.com/adventuregamestudio/ags/pull/1423.diff","patch_url":"https://github.com/adventuregamestudio/ags/pull/1423.patch","issue_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423","number":1423,"state":"open","locked":false,"title":"Adds Emscripten platform","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"body":"This is for the Web Assembly + HTML + JS version of the engine for the web. Redoing of #1346 \r\n\r\nJust updating the Emscripten PR, adding CI.\r\n\r\nIt's using the latest Emscripten tools, but we can always use 2.0.16, which is \"old\", but may be easier to work with.\r\n\r\nFollowing bugs to fix in upstream, using workaround for now:\r\n - https://github.com/emscripten-core/emscripten/issues/14762\r\n - https://github.com/emscripten-core/emscripten/issues/14003\r\n\r\nAdding a build target on the Editor is something I would prefer to do in a later PR.","created_at":"2021-09-30T23:18:30Z","updated_at":"2022-01-02T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"24622b0c8200ecc825136cec04e46611c66877f6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":258216669,"node_id":"MDU6TGFiZWwyNTgyMTY2Njk=","url":"https://api.github.com/repos/adventuregamestudio/ags/labels/pull:%20under%20review","name":"pull: under review","color":"fbca04","default":false,"description":"pull request is under review by developers (don't merge yet!)"},{"id":3690214998,"node_id":"LA_kwDOAEZMQ87b9DZW","url":"https://api.github.com/repos/adventuregamestudio/ags/labels/system:%20web","name":"system: web","color":"fef2c0","default":false,"description":""}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/commits","review_comments_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/comments","review_comment_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423/comments","statuses_url":"https://api.github.com/repos/adventuregamestudio/ags/statuses/971b5896b2dcde19d0513927e61e75cadef55ca5","head":{"label":"ericoporto:emscripten","ref":"emscripten","sha":"971b5896b2dcde19d0513927e61e75cadef55ca5","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"repo":{"id":385677265,"node_id":"MDEwOlJlcG9zaXRvcnkzODU2NzcyNjU=","name":"ags","full_name":"ericoporto/ags","private":false,"owner":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ericoporto/ags","description":"AGS editor and engine source code","fork":true,"url":"https://api.github.com/repos/ericoporto/ags","forks_url":"https://api.github.com/repos/ericoporto/ags/forks","keys_url":"https://api.github.com/repos/ericoporto/ags/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ericoporto/ags/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ericoporto/ags/teams","hooks_url":"https://api.github.com/repos/ericoporto/ags/hooks","issue_events_url":"https://api.github.com/repos/ericoporto/ags/issues/events{/number}","events_url":"https://api.github.com/repos/ericoporto/ags/events","assignees_url":"https://api.github.com/repos/ericoporto/ags/assignees{/user}","branches_url":"https://api.github.com/repos/ericoporto/ags/branches{/branch}","tags_url":"https://api.github.com/repos/ericoporto/ags/tags","blobs_url":"https://api.github.com/repos/ericoporto/ags/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ericoporto/ags/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ericoporto/ags/git/refs{/sha}","trees_url":"https://api.github.com/repos/ericoporto/ags/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ericoporto/ags/statuses/{sha}","languages_url":"https://api.github.com/repos/ericoporto/ags/languages","stargazers_url":"https://api.github.com/repos/ericoporto/ags/stargazers","contributors_url":"https://api.github.com/repos/ericoporto/ags/contributors","subscribers_url":"https://api.github.com/repos/ericoporto/ags/subscribers","subscription_url":"https://api.github.com/repos/ericoporto/ags/subscription","commits_url":"https://api.github.com/repos/ericoporto/ags/commits{/sha}","git_commits_url":"https://api.github.com/repos/ericoporto/ags/git/commits{/sha}","comments_url":"https://api.github.com/repos/ericoporto/ags/comments{/number}","issue_comment_url":"https://api.github.com/repos/ericoporto/ags/issues/comments{/number}","contents_url":"https://api.github.com/repos/ericoporto/ags/contents/{+path}","compare_url":"https://api.github.com/repos/ericoporto/ags/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ericoporto/ags/merges","archive_url":"https://api.github.com/repos/ericoporto/ags/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ericoporto/ags/downloads","issues_url":"https://api.github.com/repos/ericoporto/ags/issues{/number}","pulls_url":"https://api.github.com/repos/ericoporto/ags/pulls{/number}","milestones_url":"https://api.github.com/repos/ericoporto/ags/milestones{/number}","notifications_url":"https://api.github.com/repos/ericoporto/ags/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ericoporto/ags/labels{/name}","releases_url":"https://api.github.com/repos/ericoporto/ags/releases{/id}","deployments_url":"https://api.github.com/repos/ericoporto/ags/deployments","created_at":"2021-07-13T17:01:33Z","updated_at":"2022-01-01T17:26:12Z","pushed_at":"2022-01-01T17:26:09Z","git_url":"git://github.com/ericoporto/ags.git","ssh_url":"git@github.com:ericoporto/ags.git","clone_url":"https://github.com/ericoporto/ags.git","svn_url":"https://github.com/ericoporto/ags","homepage":null,"size":120648,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"adventuregamestudio:master","ref":"master","sha":"429cde14971fa1d69c4f2d0e41d45e0e8438ef0e","user":{"login":"adventuregamestudio","id":1833326,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MzMzMjY=","avatar_url":"https://avatars.githubusercontent.com/u/1833326?v=4","gravatar_id":"","url":"https://api.github.com/users/adventuregamestudio","html_url":"https://github.com/adventuregamestudio","followers_url":"https://api.github.com/users/adventuregamestudio/followers","following_url":"https://api.github.com/users/adventuregamestudio/following{/other_user}","gists_url":"https://api.github.com/users/adventuregamestudio/gists{/gist_id}","starred_url":"https://api.github.com/users/adventuregamestudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adventuregamestudio/subscriptions","organizations_url":"https://api.github.com/users/adventuregamestudio/orgs","repos_url":"https://api.github.com/users/adventuregamestudio/repos","events_url":"https://api.github.com/users/adventuregamestudio/events{/privacy}","received_events_url":"https://api.github.com/users/adventuregamestudio/received_events","type":"Organization","site_admin":false},"repo":{"id":4607043,"node_id":"MDEwOlJlcG9zaXRvcnk0NjA3MDQz","name":"ags","full_name":"adventuregamestudio/ags","private":false,"owner":{"login":"adventuregamestudio","id":1833326,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MzMzMjY=","avatar_url":"https://avatars.githubusercontent.com/u/1833326?v=4","gravatar_id":"","url":"https://api.github.com/users/adventuregamestudio","html_url":"https://github.com/adventuregamestudio","followers_url":"https://api.github.com/users/adventuregamestudio/followers","following_url":"https://api.github.com/users/adventuregamestudio/following{/other_user}","gists_url":"https://api.github.com/users/adventuregamestudio/gists{/gist_id}","starred_url":"https://api.github.com/users/adventuregamestudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adventuregamestudio/subscriptions","organizations_url":"https://api.github.com/users/adventuregamestudio/orgs","repos_url":"https://api.github.com/users/adventuregamestudio/repos","events_url":"https://api.github.com/users/adventuregamestudio/events{/privacy}","received_events_url":"https://api.github.com/users/adventuregamestudio/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/adventuregamestudio/ags","description":"AGS editor and engine source code","fork":false,"url":"https://api.github.com/repos/adventuregamestudio/ags","forks_url":"https://api.github.com/repos/adventuregamestudio/ags/forks","keys_url":"https://api.github.com/repos/adventuregamestudio/ags/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adventuregamestudio/ags/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adventuregamestudio/ags/teams","hooks_url":"https://api.github.com/repos/adventuregamestudio/ags/hooks","issue_events_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/events{/number}","events_url":"https://api.github.com/repos/adventuregamestudio/ags/events","assignees_url":"https://api.github.com/repos/adventuregamestudio/ags/assignees{/user}","branches_url":"https://api.github.com/repos/adventuregamestudio/ags/branches{/branch}","tags_url":"https://api.github.com/repos/adventuregamestudio/ags/tags","blobs_url":"https://api.github.com/repos/adventuregamestudio/ags/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adventuregamestudio/ags/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adventuregamestudio/ags/git/refs{/sha}","trees_url":"https://api.github.com/repos/adventuregamestudio/ags/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adventuregamestudio/ags/statuses/{sha}","languages_url":"https://api.github.com/repos/adventuregamestudio/ags/languages","stargazers_url":"https://api.github.com/repos/adventuregamestudio/ags/stargazers","contributors_url":"https://api.github.com/repos/adventuregamestudio/ags/contributors","subscribers_url":"https://api.github.com/repos/adventuregamestudio/ags/subscribers","subscription_url":"https://api.github.com/repos/adventuregamestudio/ags/subscription","commits_url":"https://api.github.com/repos/adventuregamestudio/ags/commits{/sha}","git_commits_url":"https://api.github.com/repos/adventuregamestudio/ags/git/commits{/sha}","comments_url":"https://api.github.com/repos/adventuregamestudio/ags/comments{/number}","issue_comment_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/comments{/number}","contents_url":"https://api.github.com/repos/adventuregamestudio/ags/contents/{+path}","compare_url":"https://api.github.com/repos/adventuregamestudio/ags/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adventuregamestudio/ags/merges","archive_url":"https://api.github.com/repos/adventuregamestudio/ags/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adventuregamestudio/ags/downloads","issues_url":"https://api.github.com/repos/adventuregamestudio/ags/issues{/number}","pulls_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls{/number}","milestones_url":"https://api.github.com/repos/adventuregamestudio/ags/milestones{/number}","notifications_url":"https://api.github.com/repos/adventuregamestudio/ags/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adventuregamestudio/ags/labels{/name}","releases_url":"https://api.github.com/repos/adventuregamestudio/ags/releases{/id}","deployments_url":"https://api.github.com/repos/adventuregamestudio/ags/deployments","created_at":"2012-06-09T12:21:04Z","updated_at":"2022-01-01T22:33:59Z","pushed_at":"2022-01-01T23:51:23Z","git_url":"git://github.com/adventuregamestudio/ags.git","ssh_url":"git@github.com:adventuregamestudio/ags.git","clone_url":"https://github.com/adventuregamestudio/ags.git","svn_url":"https://github.com/adventuregamestudio/ags","homepage":null,"size":118971,"stargazers_count":500,"watchers_count":500,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":132,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":248,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":132,"open_issues":248,"watchers":500,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423"},"html":{"href":"https://github.com/adventuregamestudio/ags/pull/1423"},"issue":{"href":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423"},"comments":{"href":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423/comments"},"review_comments":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/comments"},"review_comment":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/commits"},"statuses":{"href":"https://api.github.com/repos/adventuregamestudio/ags/statuses/971b5896b2dcde19d0513927e61e75cadef55ca5"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:04Z","org":{"id":1833326,"login":"adventuregamestudio","gravatar_id":"","url":"https://api.github.com/orgs/adventuregamestudio","avatar_url":"https://avatars.githubusercontent.com/u/1833326?"}} +{"id":"19546596609","type":"PushEvent","actor":{"id":80599694,"login":"grumpzsux","display_login":"grumpzsux","gravatar_id":"","url":"https://api.github.com/users/grumpzsux","avatar_url":"https://avatars.githubusercontent.com/u/80599694?"},"repo":{"id":443652535,"name":"grumpzsux/writeups","url":"https://api.github.com/repos/grumpzsux/writeups"},"payload":{"push_id":8735901628,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"525dc42208fcd9f33f0e5f131e7bbe810558c3ae","before":"cafa3112fe4f5dc529e73d5894b3bc7163866e08","commits":[{"sha":"525dc42208fcd9f33f0e5f131e7bbe810558c3ae","author":{"email":"80599694+grumpzsux@users.noreply.github.com","name":"Sergio Medeiros"},"message":"Create Relevant","distinct":true,"url":"https://api.github.com/repos/grumpzsux/writeups/commits/525dc42208fcd9f33f0e5f131e7bbe810558c3ae"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596612","type":"WatchEvent","actor":{"id":44755179,"login":"bahachammakhi","display_login":"bahachammakhi","gravatar_id":"","url":"https://api.github.com/users/bahachammakhi","avatar_url":"https://avatars.githubusercontent.com/u/44755179?"},"repo":{"id":274851008,"name":"tomanagle/NextJS-NestJS-GraphQL-Starter","url":"https://api.github.com/repos/tomanagle/NextJS-NestJS-GraphQL-Starter"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596615","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735901623,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3c1ad02eb8f4e9dd9bcf8c4296678326544ff069","before":"e2e838a618c45f3119649f06a19626b510d96e36","commits":[{"sha":"3c1ad02eb8f4e9dd9bcf8c4296678326544ff069","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:03 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/3c1ad02eb8f4e9dd9bcf8c4296678326544ff069"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596616","type":"PushEvent","actor":{"id":95634351,"login":"Parth-Senpai","display_login":"Parth-Senpai","gravatar_id":"","url":"https://api.github.com/users/Parth-Senpai","avatar_url":"https://avatars.githubusercontent.com/u/95634351?"},"repo":{"id":441591037,"name":"Parth-Senpai/AutoHost","url":"https://api.github.com/repos/Parth-Senpai/AutoHost"},"payload":{"push_id":8735901610,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4b1c695a738eb534f58e5ee3ec9ee26244eccb09","before":"df54cbd698790ef83e5f0af23295707032a3ed92","commits":[{"sha":"4b1c695a738eb534f58e5ee3ec9ee26244eccb09","author":{"email":"weebdark823","name":"Parth-Senpai"},"message":"Workflow : Loop at 01/02/22-01:00:01am","distinct":true,"url":"https://api.github.com/repos/Parth-Senpai/AutoHost/commits/4b1c695a738eb534f58e5ee3ec9ee26244eccb09"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596617","type":"PushEvent","actor":{"id":16610169,"login":"365taole","display_login":"365taole","gravatar_id":"","url":"https://api.github.com/users/365taole","avatar_url":"https://avatars.githubusercontent.com/u/16610169?"},"repo":{"id":443490727,"name":"365taole/meizi","url":"https://api.github.com/repos/365taole/meizi"},"payload":{"push_id":8735901612,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"1933b99a47d4f54c183afed24643356bd21861cb","before":"015544f6b67f4809d23bfec2162b8d7734a5d413","commits":[{"sha":"1933b99a47d4f54c183afed24643356bd21861cb","author":{"email":"365taole@gmail.com","name":"365taole"},"message":"9_42133/02124911-6-1135.jpg","distinct":true,"url":"https://api.github.com/repos/365taole/meizi/commits/1933b99a47d4f54c183afed24643356bd21861cb"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596619","type":"PushEvent","actor":{"id":48050353,"login":"TongLin138","display_login":"TongLin138","gravatar_id":"","url":"https://api.github.com/users/TongLin138","avatar_url":"https://avatars.githubusercontent.com/u/48050353?"},"repo":{"id":399309504,"name":"TongLin138/Action","url":"https://api.github.com/repos/TongLin138/Action"},"payload":{"push_id":8735901631,"size":4,"distinct_size":4,"ref":"refs/heads/dev","head":"87b8ed77f1c95bab7b5ace4a15444d83dc86bee8","before":"7a5cf2e5ab6f97b86bc2c281b295907db3d21b83","commits":[{"sha":"ff3ef83d574b12812838c92df46a1ab04fd9f6b2","author":{"email":"8032484+SuperManito@user.noreply.gitee.com","name":"SuperManito"},"message":"优化","distinct":true,"url":"https://api.github.com/repos/TongLin138/Action/commits/ff3ef83d574b12812838c92df46a1ab04fd9f6b2"},{"sha":"4f2b3a0d74aec9549bef468ed242be6f3e6c5668","author":{"email":"358009775@qq.com","name":"Dellear"},"message":"fix: 修复ttyd底部显示不全的bug","distinct":true,"url":"https://api.github.com/repos/TongLin138/Action/commits/4f2b3a0d74aec9549bef468ed242be6f3e6c5668"},{"sha":"262b40a2f1e5f7bb533fd9e4d91e0edb88c23a3d","author":{"email":"358009775@qq.com","name":"Dellear"},"message":"初始化延时改为3s","distinct":true,"url":"https://api.github.com/repos/TongLin138/Action/commits/262b40a2f1e5f7bb533fd9e4d91e0edb88c23a3d"},{"sha":"87b8ed77f1c95bab7b5ace4a15444d83dc86bee8","author":{"email":"8032484+SuperManito@user.noreply.gitee.com","name":"SuperManito"},"message":"Merge branch 'master' of gitee.com:SuperManito/jd_base into dev","distinct":true,"url":"https://api.github.com/repos/TongLin138/Action/commits/87b8ed77f1c95bab7b5ace4a15444d83dc86bee8"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596621","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":443187159,"name":"LBilharinho/LBilharinho","url":"https://api.github.com/repos/LBilharinho/LBilharinho"},"payload":{"push_id":8735901635,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"83da6ea0a9ddb237a06c8efa8b30ea1d87fce0df","before":"0aaedecb853f829e39ad6ee77cd6acd362e6e2db","commits":[{"sha":"83da6ea0a9ddb237a06c8efa8b30ea1d87fce0df","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/LBilharinho/LBilharinho/commits/83da6ea0a9ddb237a06c8efa8b30ea1d87fce0df"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596624","type":"PushEvent","actor":{"id":61813337,"login":"v4lue4dded","display_login":"v4lue4dded","gravatar_id":"","url":"https://api.github.com/users/v4lue4dded","avatar_url":"https://avatars.githubusercontent.com/u/61813337?"},"repo":{"id":262166095,"name":"v4lue4dded/test","url":"https://api.github.com/repos/v4lue4dded/test"},"payload":{"push_id":8735901625,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e37dc341415623615cbd32236d015c4a9ba30d82","before":"2636a329d862c268a4e90633693d87285472993c","commits":[{"sha":"e37dc341415623615cbd32236d015c4a9ba30d82","author":{"email":"v4lue4dded@gmail.com","name":"v4lue4dded_remote_2"},"message":"date push: 2022-01-02 02:00:03","distinct":true,"url":"https://api.github.com/repos/v4lue4dded/test/commits/e37dc341415623615cbd32236d015c4a9ba30d82"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596625","type":"PushEvent","actor":{"id":13860264,"login":"FriendlyUser","display_login":"FriendlyUser","gravatar_id":"","url":"https://api.github.com/users/FriendlyUser","avatar_url":"https://avatars.githubusercontent.com/u/13860264?"},"repo":{"id":356727502,"name":"FriendlyUser/ai_trading_bot","url":"https://api.github.com/repos/FriendlyUser/ai_trading_bot"},"payload":{"push_id":8735901614,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cc12f6f80503c9e4e4b19ae5140789968b85ae4e","before":"6664826f48e8b3ff68dc2e5d93a5917eeb48fac1","commits":[{"sha":"cc12f6f80503c9e4e4b19ae5140789968b85ae4e","author":{"email":"davidli012345@gmail.com","name":"David Li"},"message":"fix: updating documentation","distinct":true,"url":"https://api.github.com/repos/FriendlyUser/ai_trading_bot/commits/cc12f6f80503c9e4e4b19ae5140789968b85ae4e"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596626","type":"PushEvent","actor":{"id":34666376,"login":"rockswhat","display_login":"rockswhat","gravatar_id":"","url":"https://api.github.com/users/rockswhat","avatar_url":"https://avatars.githubusercontent.com/u/34666376?"},"repo":{"id":327201479,"name":"rockswhat/listener","url":"https://api.github.com/repos/rockswhat/listener"},"payload":{"push_id":8735901608,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"38d614657187b1b11b02f13f67e4f1f3cc93d4d2","before":"76112ef07b09cb176d736984e0cf3341c6aec7cd","commits":[{"sha":"38d614657187b1b11b02f13f67e4f1f3cc93d4d2","author":{"email":"cph22@georgetown.edu","name":"Charlie Harrington"},"message":"update feed","distinct":true,"url":"https://api.github.com/repos/rockswhat/listener/commits/38d614657187b1b11b02f13f67e4f1f3cc93d4d2"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596630","type":"PushEvent","actor":{"id":86143265,"login":"NiubiSwapPriceHistory","display_login":"NiubiSwapPriceHistory","gravatar_id":"","url":"https://api.github.com/users/NiubiSwapPriceHistory","avatar_url":"https://avatars.githubusercontent.com/u/86143265?"},"repo":{"id":378341184,"name":"NiubiSwapPriceHistory/NIUpricehistory","url":"https://api.github.com/repos/NiubiSwapPriceHistory/NIUpricehistory"},"payload":{"push_id":8735901630,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"a95d05933234c5977156f5e4ad3d5060f39c7417","before":"b19f4b072bc226e8906023dba820a758aeb6cd66","commits":[{"sha":"a95d05933234c5977156f5e4ad3d5060f39c7417","author":{"email":"niubipricehistory@protonmail.com","name":"Pricebot"},"message":"price update","distinct":true,"url":"https://api.github.com/repos/NiubiSwapPriceHistory/NIUpricehistory/commits/a95d05933234c5977156f5e4ad3d5060f39c7417"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596631","type":"PullRequestReviewEvent","actor":{"id":2244442,"login":"ericoporto","display_login":"ericoporto","gravatar_id":"","url":"https://api.github.com/users/ericoporto","avatar_url":"https://avatars.githubusercontent.com/u/2244442?"},"repo":{"id":4607043,"name":"adventuregamestudio/ags","url":"https://api.github.com/repos/adventuregamestudio/ags"},"payload":{"action":"created","review":{"id":842371287,"node_id":"PRR_kwDOAEZMQ84yNZDX","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"body":null,"commit_id":"971b5896b2dcde19d0513927e61e75cadef55ca5","submitted_at":"2022-01-02T01:00:04Z","state":"commented","html_url":"https://github.com/adventuregamestudio/ags/pull/1423#pullrequestreview-842371287","pull_request_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423","author_association":"CONTRIBUTOR","_links":{"html":{"href":"https://github.com/adventuregamestudio/ags/pull/1423#pullrequestreview-842371287"},"pull_request":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423"}}},"pull_request":{"url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423","id":747121322,"node_id":"PR_kwDOAEZMQ84siCqq","html_url":"https://github.com/adventuregamestudio/ags/pull/1423","diff_url":"https://github.com/adventuregamestudio/ags/pull/1423.diff","patch_url":"https://github.com/adventuregamestudio/ags/pull/1423.patch","issue_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423","number":1423,"state":"open","locked":false,"title":"Adds Emscripten platform","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"body":"This is for the Web Assembly + HTML + JS version of the engine for the web. Redoing of #1346 \r\n\r\nJust updating the Emscripten PR, adding CI.\r\n\r\nIt's using the latest Emscripten tools, but we can always use 2.0.16, which is \"old\", but may be easier to work with.\r\n\r\nFollowing bugs to fix in upstream, using workaround for now:\r\n - https://github.com/emscripten-core/emscripten/issues/14762\r\n - https://github.com/emscripten-core/emscripten/issues/14003\r\n\r\nAdding a build target on the Editor is something I would prefer to do in a later PR.","created_at":"2021-09-30T23:18:30Z","updated_at":"2022-01-02T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"24622b0c8200ecc825136cec04e46611c66877f6","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":258216669,"node_id":"MDU6TGFiZWwyNTgyMTY2Njk=","url":"https://api.github.com/repos/adventuregamestudio/ags/labels/pull:%20under%20review","name":"pull: under review","color":"fbca04","default":false,"description":"pull request is under review by developers (don't merge yet!)"},{"id":3690214998,"node_id":"LA_kwDOAEZMQ87b9DZW","url":"https://api.github.com/repos/adventuregamestudio/ags/labels/system:%20web","name":"system: web","color":"fef2c0","default":false,"description":""}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/commits","review_comments_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/comments","review_comment_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423/comments","statuses_url":"https://api.github.com/repos/adventuregamestudio/ags/statuses/971b5896b2dcde19d0513927e61e75cadef55ca5","head":{"label":"ericoporto:emscripten","ref":"emscripten","sha":"971b5896b2dcde19d0513927e61e75cadef55ca5","user":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"repo":{"id":385677265,"node_id":"MDEwOlJlcG9zaXRvcnkzODU2NzcyNjU=","name":"ags","full_name":"ericoporto/ags","private":false,"owner":{"login":"ericoporto","id":2244442,"node_id":"MDQ6VXNlcjIyNDQ0NDI=","avatar_url":"https://avatars.githubusercontent.com/u/2244442?v=4","gravatar_id":"","url":"https://api.github.com/users/ericoporto","html_url":"https://github.com/ericoporto","followers_url":"https://api.github.com/users/ericoporto/followers","following_url":"https://api.github.com/users/ericoporto/following{/other_user}","gists_url":"https://api.github.com/users/ericoporto/gists{/gist_id}","starred_url":"https://api.github.com/users/ericoporto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericoporto/subscriptions","organizations_url":"https://api.github.com/users/ericoporto/orgs","repos_url":"https://api.github.com/users/ericoporto/repos","events_url":"https://api.github.com/users/ericoporto/events{/privacy}","received_events_url":"https://api.github.com/users/ericoporto/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ericoporto/ags","description":"AGS editor and engine source code","fork":true,"url":"https://api.github.com/repos/ericoporto/ags","forks_url":"https://api.github.com/repos/ericoporto/ags/forks","keys_url":"https://api.github.com/repos/ericoporto/ags/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ericoporto/ags/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ericoporto/ags/teams","hooks_url":"https://api.github.com/repos/ericoporto/ags/hooks","issue_events_url":"https://api.github.com/repos/ericoporto/ags/issues/events{/number}","events_url":"https://api.github.com/repos/ericoporto/ags/events","assignees_url":"https://api.github.com/repos/ericoporto/ags/assignees{/user}","branches_url":"https://api.github.com/repos/ericoporto/ags/branches{/branch}","tags_url":"https://api.github.com/repos/ericoporto/ags/tags","blobs_url":"https://api.github.com/repos/ericoporto/ags/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ericoporto/ags/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ericoporto/ags/git/refs{/sha}","trees_url":"https://api.github.com/repos/ericoporto/ags/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ericoporto/ags/statuses/{sha}","languages_url":"https://api.github.com/repos/ericoporto/ags/languages","stargazers_url":"https://api.github.com/repos/ericoporto/ags/stargazers","contributors_url":"https://api.github.com/repos/ericoporto/ags/contributors","subscribers_url":"https://api.github.com/repos/ericoporto/ags/subscribers","subscription_url":"https://api.github.com/repos/ericoporto/ags/subscription","commits_url":"https://api.github.com/repos/ericoporto/ags/commits{/sha}","git_commits_url":"https://api.github.com/repos/ericoporto/ags/git/commits{/sha}","comments_url":"https://api.github.com/repos/ericoporto/ags/comments{/number}","issue_comment_url":"https://api.github.com/repos/ericoporto/ags/issues/comments{/number}","contents_url":"https://api.github.com/repos/ericoporto/ags/contents/{+path}","compare_url":"https://api.github.com/repos/ericoporto/ags/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ericoporto/ags/merges","archive_url":"https://api.github.com/repos/ericoporto/ags/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ericoporto/ags/downloads","issues_url":"https://api.github.com/repos/ericoporto/ags/issues{/number}","pulls_url":"https://api.github.com/repos/ericoporto/ags/pulls{/number}","milestones_url":"https://api.github.com/repos/ericoporto/ags/milestones{/number}","notifications_url":"https://api.github.com/repos/ericoporto/ags/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ericoporto/ags/labels{/name}","releases_url":"https://api.github.com/repos/ericoporto/ags/releases{/id}","deployments_url":"https://api.github.com/repos/ericoporto/ags/deployments","created_at":"2021-07-13T17:01:33Z","updated_at":"2022-01-01T17:26:12Z","pushed_at":"2022-01-01T17:26:09Z","git_url":"git://github.com/ericoporto/ags.git","ssh_url":"git@github.com:ericoporto/ags.git","clone_url":"https://github.com/ericoporto/ags.git","svn_url":"https://github.com/ericoporto/ags","homepage":null,"size":120648,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"adventuregamestudio:master","ref":"master","sha":"429cde14971fa1d69c4f2d0e41d45e0e8438ef0e","user":{"login":"adventuregamestudio","id":1833326,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MzMzMjY=","avatar_url":"https://avatars.githubusercontent.com/u/1833326?v=4","gravatar_id":"","url":"https://api.github.com/users/adventuregamestudio","html_url":"https://github.com/adventuregamestudio","followers_url":"https://api.github.com/users/adventuregamestudio/followers","following_url":"https://api.github.com/users/adventuregamestudio/following{/other_user}","gists_url":"https://api.github.com/users/adventuregamestudio/gists{/gist_id}","starred_url":"https://api.github.com/users/adventuregamestudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adventuregamestudio/subscriptions","organizations_url":"https://api.github.com/users/adventuregamestudio/orgs","repos_url":"https://api.github.com/users/adventuregamestudio/repos","events_url":"https://api.github.com/users/adventuregamestudio/events{/privacy}","received_events_url":"https://api.github.com/users/adventuregamestudio/received_events","type":"Organization","site_admin":false},"repo":{"id":4607043,"node_id":"MDEwOlJlcG9zaXRvcnk0NjA3MDQz","name":"ags","full_name":"adventuregamestudio/ags","private":false,"owner":{"login":"adventuregamestudio","id":1833326,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MzMzMjY=","avatar_url":"https://avatars.githubusercontent.com/u/1833326?v=4","gravatar_id":"","url":"https://api.github.com/users/adventuregamestudio","html_url":"https://github.com/adventuregamestudio","followers_url":"https://api.github.com/users/adventuregamestudio/followers","following_url":"https://api.github.com/users/adventuregamestudio/following{/other_user}","gists_url":"https://api.github.com/users/adventuregamestudio/gists{/gist_id}","starred_url":"https://api.github.com/users/adventuregamestudio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adventuregamestudio/subscriptions","organizations_url":"https://api.github.com/users/adventuregamestudio/orgs","repos_url":"https://api.github.com/users/adventuregamestudio/repos","events_url":"https://api.github.com/users/adventuregamestudio/events{/privacy}","received_events_url":"https://api.github.com/users/adventuregamestudio/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/adventuregamestudio/ags","description":"AGS editor and engine source code","fork":false,"url":"https://api.github.com/repos/adventuregamestudio/ags","forks_url":"https://api.github.com/repos/adventuregamestudio/ags/forks","keys_url":"https://api.github.com/repos/adventuregamestudio/ags/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adventuregamestudio/ags/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adventuregamestudio/ags/teams","hooks_url":"https://api.github.com/repos/adventuregamestudio/ags/hooks","issue_events_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/events{/number}","events_url":"https://api.github.com/repos/adventuregamestudio/ags/events","assignees_url":"https://api.github.com/repos/adventuregamestudio/ags/assignees{/user}","branches_url":"https://api.github.com/repos/adventuregamestudio/ags/branches{/branch}","tags_url":"https://api.github.com/repos/adventuregamestudio/ags/tags","blobs_url":"https://api.github.com/repos/adventuregamestudio/ags/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adventuregamestudio/ags/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adventuregamestudio/ags/git/refs{/sha}","trees_url":"https://api.github.com/repos/adventuregamestudio/ags/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adventuregamestudio/ags/statuses/{sha}","languages_url":"https://api.github.com/repos/adventuregamestudio/ags/languages","stargazers_url":"https://api.github.com/repos/adventuregamestudio/ags/stargazers","contributors_url":"https://api.github.com/repos/adventuregamestudio/ags/contributors","subscribers_url":"https://api.github.com/repos/adventuregamestudio/ags/subscribers","subscription_url":"https://api.github.com/repos/adventuregamestudio/ags/subscription","commits_url":"https://api.github.com/repos/adventuregamestudio/ags/commits{/sha}","git_commits_url":"https://api.github.com/repos/adventuregamestudio/ags/git/commits{/sha}","comments_url":"https://api.github.com/repos/adventuregamestudio/ags/comments{/number}","issue_comment_url":"https://api.github.com/repos/adventuregamestudio/ags/issues/comments{/number}","contents_url":"https://api.github.com/repos/adventuregamestudio/ags/contents/{+path}","compare_url":"https://api.github.com/repos/adventuregamestudio/ags/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adventuregamestudio/ags/merges","archive_url":"https://api.github.com/repos/adventuregamestudio/ags/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adventuregamestudio/ags/downloads","issues_url":"https://api.github.com/repos/adventuregamestudio/ags/issues{/number}","pulls_url":"https://api.github.com/repos/adventuregamestudio/ags/pulls{/number}","milestones_url":"https://api.github.com/repos/adventuregamestudio/ags/milestones{/number}","notifications_url":"https://api.github.com/repos/adventuregamestudio/ags/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adventuregamestudio/ags/labels{/name}","releases_url":"https://api.github.com/repos/adventuregamestudio/ags/releases{/id}","deployments_url":"https://api.github.com/repos/adventuregamestudio/ags/deployments","created_at":"2012-06-09T12:21:04Z","updated_at":"2022-01-01T22:33:59Z","pushed_at":"2022-01-01T23:51:23Z","git_url":"git://github.com/adventuregamestudio/ags.git","ssh_url":"git@github.com:adventuregamestudio/ags.git","clone_url":"https://github.com/adventuregamestudio/ags.git","svn_url":"https://github.com/adventuregamestudio/ags","homepage":null,"size":118971,"stargazers_count":500,"watchers_count":500,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":132,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":248,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":132,"open_issues":248,"watchers":500,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423"},"html":{"href":"https://github.com/adventuregamestudio/ags/pull/1423"},"issue":{"href":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423"},"comments":{"href":"https://api.github.com/repos/adventuregamestudio/ags/issues/1423/comments"},"review_comments":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/comments"},"review_comment":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adventuregamestudio/ags/pulls/1423/commits"},"statuses":{"href":"https://api.github.com/repos/adventuregamestudio/ags/statuses/971b5896b2dcde19d0513927e61e75cadef55ca5"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:05Z","org":{"id":1833326,"login":"adventuregamestudio","gravatar_id":"","url":"https://api.github.com/orgs/adventuregamestudio","avatar_url":"https://avatars.githubusercontent.com/u/1833326?"}} +{"id":"19546596632","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371288,"node_id":"PRR_kwDOFeJvGc4yNZDY","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:04Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371288","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371288"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:05Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546596633","type":"PushEvent","actor":{"id":96603937,"login":"gdfg22","display_login":"gdfg22","gravatar_id":"","url":"https://api.github.com/users/gdfg22","avatar_url":"https://avatars.githubusercontent.com/u/96603937?"},"repo":{"id":443648809,"name":"gdfg22/f08f82d2-7000-4460-983a-bcefa3374ce9","url":"https://api.github.com/repos/gdfg22/f08f82d2-7000-4460-983a-bcefa3374ce9"},"payload":{"push_id":8735901632,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9dba37822f071879057b974413681da9ea0b792f","before":"9fc84308e0745aff3d0426ed2a079f0edac6af01","commits":[{"sha":"9dba37822f071879057b974413681da9ea0b792f","author":{"email":"96603937+gdfg22@users.noreply.github.com","name":"gdfg22"},"message":"upload file e667f623952d412f45fb4379e437d08c76b162499ef3a3a1981fb5efe5dd9ceb0e142436296452912edd8d28e74c3d7bvideo_2216_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/gdfg22/f08f82d2-7000-4460-983a-bcefa3374ce9/commits/9dba37822f071879057b974413681da9ea0b792f"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596637","type":"PushEvent","actor":{"id":541490,"login":"morrah","display_login":"morrah","gravatar_id":"","url":"https://api.github.com/users/morrah","avatar_url":"https://avatars.githubusercontent.com/u/541490?"},"repo":{"id":224001345,"name":"morrah/oro-market","url":"https://api.github.com/repos/morrah/oro-market"},"payload":{"push_id":8735901620,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3e2e5eae751f68c9aa9da857a4968563b7482c28","before":"e7bb2ca282daccd9098c92aaf781bd08fe7be071","commits":[{"sha":"3e2e5eae751f68c9aa9da857a4968563b7482c28","author":{"email":"morrah@users.noreply.github.com","name":"morrah"},"message":"data update","distinct":true,"url":"https://api.github.com/repos/morrah/oro-market/commits/3e2e5eae751f68c9aa9da857a4968563b7482c28"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596638","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8735901641,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0111b6a8451b175b852b9e19150af333ed658a06","before":"ec7f858dc2c43b55bf4bf16b94ad66595d2ad048","commits":[{"sha":"0111b6a8451b175b852b9e19150af333ed658a06","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/0111b6a8451b175b852b9e19150af333ed658a06"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596639","type":"ReleaseEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":168960670,"name":"lnicola/rust-analyzer","url":"https://api.github.com/repos/lnicola/rust-analyzer"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/lnicola/rust-analyzer/releases/56260335","assets_url":"https://api.github.com/repos/lnicola/rust-analyzer/releases/56260335/assets","upload_url":"https://uploads.github.com/repos/lnicola/rust-analyzer/releases/56260335/assets{?name,label}","html_url":"https://github.com/lnicola/rust-analyzer/releases/tag/nightly","id":56260335,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"node_id":"RE_kwDOChIins4DWnbv","tag_name":"nightly","target_commitish":"45d22629637664a83ad477ffa94c9c411f150bf1","name":"nightly","draft":false,"prerelease":true,"created_at":"2021-12-22T19:31:22Z","published_at":"2022-01-02T01:00:05Z","assets":[],"tarball_url":"https://api.github.com/repos/lnicola/rust-analyzer/tarball/nightly","zipball_url":"https://api.github.com/repos/lnicola/rust-analyzer/zipball/nightly","body":null,"short_description_html":"","is_short_description_html_truncated":false}},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596645","type":"PushEvent","actor":{"id":96647692,"login":"fsgr2","display_login":"fsgr2","gravatar_id":"","url":"https://api.github.com/users/fsgr2","avatar_url":"https://avatars.githubusercontent.com/u/96647692?"},"repo":{"id":443652809,"name":"fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c","url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c"},"payload":{"push_id":8735901657,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c7dcf251b491d03c19bad3978005b38c3248a652","before":"78530abcccd648b852ed988e5cfe20532756624e","commits":[{"sha":"c7dcf251b491d03c19bad3978005b38c3248a652","author":{"email":"96647692+fsgr2@users.noreply.github.com","name":"fsgr2"},"message":"upload file c7da212c1c5cdc572a003af02facad1b0f86d7c2dcc01598ec3cf374f6601be8d6b7eea54330c2678a13be7e5e323c0cvideo_117_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c/commits/c7dcf251b491d03c19bad3978005b38c3248a652"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596648","type":"CreateEvent","actor":{"id":96962958,"login":"Gotoxico","display_login":"Gotoxico","gravatar_id":"","url":"https://api.github.com/users/Gotoxico","avatar_url":"https://avatars.githubusercontent.com/u/96962958?"},"repo":{"id":443654639,"name":"Gotoxico/Gotoxico","url":"https://api.github.com/repos/Gotoxico/Gotoxico"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Config files for my GitHub profile.","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596651","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":418210503,"name":"madrigal1/madrigal1","url":"https://api.github.com/repos/madrigal1/madrigal1"},"payload":{"push_id":8735901648,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c6daafb1556bc0eb69a868dacf7b38093ffaefe0","before":"c5797a81460c6bfcb86dcd6b780cf5dcd5a67891","commits":[{"sha":"c6daafb1556bc0eb69a868dacf7b38093ffaefe0","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Update github-metrics.svg - [Skip GitHub Action]","distinct":true,"url":"https://api.github.com/repos/madrigal1/madrigal1/commits/c6daafb1556bc0eb69a868dacf7b38093ffaefe0"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596653","type":"PushEvent","actor":{"id":3258799,"login":"psukez","display_login":"psukez","gravatar_id":"","url":"https://api.github.com/users/psukez","avatar_url":"https://avatars.githubusercontent.com/u/3258799?"},"repo":{"id":329929688,"name":"psukez/TempData","url":"https://api.github.com/repos/psukez/TempData"},"payload":{"push_id":8735901643,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c82285ab71cb123a3540882ee7820bd44bf9e3fa","before":"549d11c622ce31e764936a55ed4ca0a2a56ead3f","commits":[{"sha":"c82285ab71cb123a3540882ee7820bd44bf9e3fa","author":{"email":"psukez@gmail.com","name":"psukez"},"message":"update repository","distinct":true,"url":"https://api.github.com/repos/psukez/TempData/commits/c82285ab71cb123a3540882ee7820bd44bf9e3fa"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596661","type":"PushEvent","actor":{"id":2789958,"login":"advaitjain","display_login":"advaitjain","gravatar_id":"","url":"https://api.github.com/users/advaitjain","avatar_url":"https://avatars.githubusercontent.com/u/2789958?"},"repo":{"id":356341273,"name":"advaitjain/tflite-micro","url":"https://api.github.com/repos/advaitjain/tflite-micro"},"payload":{"push_id":8735901651,"size":3,"distinct_size":3,"ref":"refs/heads/local-continuous-builds","head":"07686ccc39886c0f4845157cdbbd89bd64afcabd","before":"40440c44be335196cee7aebe7b37faee891aa063","commits":[{"sha":"25da8245417b834ced53df722d6a0f517eb425b4","author":{"email":"advaitjain@users.noreply.github.com","name":"Advait Jain"},"message":"Revert \"Added CONV2D and DEPTHWISE_CONV2D optimizations for the Vision P6 (#799)\" (#834)\n\nThis reverts commit df88e0641143534df1b4eed6d314145263fa52b7.\n\nCo-authored-by: Ting Yan <94130036+tingyan19@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/advaitjain/tflite-micro/commits/25da8245417b834ced53df722d6a0f517eb425b4"},{"sha":"56d804831a530600ea973c041fdc5fc2da65d3d4","author":{"email":"advaitjain@users.noreply.github.com","name":"Advait Jain"},"message":"Merge remote-tracking branch 'upstream/main' into local-continuous-builds","distinct":true,"url":"https://api.github.com/repos/advaitjain/tflite-micro/commits/56d804831a530600ea973c041fdc5fc2da65d3d4"},{"sha":"07686ccc39886c0f4845157cdbbd89bd64afcabd","author":{"email":"advaitjain@users.noreply.github.com","name":"Advait Jain"},"message":"Update continuous build artifacts for keyword_benchmark.","distinct":true,"url":"https://api.github.com/repos/advaitjain/tflite-micro/commits/07686ccc39886c0f4845157cdbbd89bd64afcabd"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596663","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":345422313,"name":"smapira/smapira","url":"https://api.github.com/repos/smapira/smapira"},"payload":{"push_id":8735901655,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6235007935647313e5ac973f5ce02ca9a62bffba","before":"b12a1f2e35d85e1db7bec5efdd376cae79dd809a","commits":[{"sha":"6235007935647313e5ac973f5ce02ca9a62bffba","author":{"email":"profile-summary-cards-bot@example.com","name":"profile-summary-cards[bot]"},"message":"Generate profile summary cards","distinct":true,"url":"https://api.github.com/repos/smapira/smapira/commits/6235007935647313e5ac973f5ce02ca9a62bffba"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596665","type":"PushEvent","actor":{"id":92840324,"login":"4211421036","display_login":"4211421036","gravatar_id":"","url":"https://api.github.com/users/4211421036","avatar_url":"https://avatars.githubusercontent.com/u/92840324?"},"repo":{"id":422782170,"name":"4211421036/4211421036.github.io","url":"https://api.github.com/repos/4211421036/4211421036.github.io"},"payload":{"push_id":8735901658,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"bac16f9a63d3468d5fe12d5bcdb896ea5ebb8197","before":"4cd12041f27f66b89dfa58f31cffa03dd7c27209","commits":[{"sha":"bac16f9a63d3468d5fe12d5bcdb896ea5ebb8197","author":{"email":"92840324+4211421036@users.noreply.github.com","name":"4211421036"},"message":"Delete CODE_OF_CONDUCT","distinct":true,"url":"https://api.github.com/repos/4211421036/4211421036.github.io/commits/bac16f9a63d3468d5fe12d5bcdb896ea5ebb8197"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596666","type":"PushEvent","actor":{"id":96629288,"login":"dfdsa434","display_login":"dfdsa434","gravatar_id":"","url":"https://api.github.com/users/dfdsa434","avatar_url":"https://avatars.githubusercontent.com/u/96629288?"},"repo":{"id":443654441,"name":"dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1","url":"https://api.github.com/repos/dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1"},"payload":{"push_id":8735901653,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e4c01a4d218ae51f8ed52f81bbe9a88804b03f20","before":"bf0478e2aa2517e6fc342948eef2e067e0b251f2","commits":[{"sha":"e4c01a4d218ae51f8ed52f81bbe9a88804b03f20","author":{"email":"96629288+dfdsa434@users.noreply.github.com","name":"dfdsa434"},"message":"upload file 55740ba1033f6c7a4e065dc6012c23cf6ac9fc23ee3bd689bcf1cbdb5b1980be68b53e12dfd95a0d10d0471ad3edbc55video_1005_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1/commits/e4c01a4d218ae51f8ed52f81bbe9a88804b03f20"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596668","type":"PushEvent","actor":{"id":87334146,"login":"Janfisdel","display_login":"Janfisdel","gravatar_id":"","url":"https://api.github.com/users/Janfisdel","avatar_url":"https://avatars.githubusercontent.com/u/87334146?"},"repo":{"id":443121116,"name":"Janfisdel/TIC_Desarrollo--ProyectoFinal","url":"https://api.github.com/repos/Janfisdel/TIC_Desarrollo--ProyectoFinal"},"payload":{"push_id":8735901664,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"aa55ce2c8d46ff797e7f6f41142cb47ea37aa446","before":"5641cfc16d7038f460ca4f2cad3bafd8c757dee9","commits":[{"sha":"aa55ce2c8d46ff797e7f6f41142cb47ea37aa446","author":{"email":"janafisdel@gmail.com","name":"Jana Fisdel"},"message":"modificacion tamaño portada","distinct":true,"url":"https://api.github.com/repos/Janfisdel/TIC_Desarrollo--ProyectoFinal/commits/aa55ce2c8d46ff797e7f6f41142cb47ea37aa446"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596669","type":"PushEvent","actor":{"id":74686199,"login":"JJG1488","display_login":"JJG1488","gravatar_id":"","url":"https://api.github.com/users/JJG1488","avatar_url":"https://avatars.githubusercontent.com/u/74686199?"},"repo":{"id":443443829,"name":"JJG1488/frontend","url":"https://api.github.com/repos/JJG1488/frontend"},"payload":{"push_id":8735901629,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"cb9fd78140526f7bed3fa69859c18b962e9c2277","before":"1d8284b9385a40d9b23f4190d1ff72216e943ecf","commits":[{"sha":"cb9fd78140526f7bed3fa69859c18b962e9c2277","author":{"email":"74686199+JJG1488@users.noreply.github.com","name":"James J Gault"},"message":"Updates","distinct":true,"url":"https://api.github.com/repos/JJG1488/frontend/commits/cb9fd78140526f7bed3fa69859c18b962e9c2277"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596673","type":"IssueCommentEvent","actor":{"id":332937,"login":"subes","display_login":"subes","gravatar_id":"","url":"https://api.github.com/users/subes","avatar_url":"https://avatars.githubusercontent.com/u/332937?"},"repo":{"id":187095617,"name":"clj-python/libpython-clj","url":"https://api.github.com/repos/clj-python/libpython-clj"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191","repository_url":"https://api.github.com/repos/clj-python/libpython-clj","labels_url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191/labels{/name}","comments_url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191/comments","events_url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191/events","html_url":"https://github.com/clj-python/libpython-clj/issues/191","id":1089224759,"node_id":"I_kwDOCybaQc5A7EA3","number":191,"title":"Make JNA Binding available to Java clients","user":{"login":"subes","id":332937,"node_id":"MDQ6VXNlcjMzMjkzNw==","avatar_url":"https://avatars.githubusercontent.com/u/332937?v=4","gravatar_id":"","url":"https://api.github.com/users/subes","html_url":"https://github.com/subes","followers_url":"https://api.github.com/users/subes/followers","following_url":"https://api.github.com/users/subes/following{/other_user}","gists_url":"https://api.github.com/users/subes/gists{/gist_id}","starred_url":"https://api.github.com/users/subes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/subes/subscriptions","organizations_url":"https://api.github.com/users/subes/orgs","repos_url":"https://api.github.com/users/subes/repos","events_url":"https://api.github.com/users/subes/events{/privacy}","received_events_url":"https://api.github.com/users/subes/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":64,"created_at":"2021-12-27T12:55:59Z","updated_at":"2022-01-02T01:00:05Z","closed_at":"2021-12-29T00:32:27Z","author_association":"NONE","active_lock_reason":null,"body":"As discussed here: https://github.com/cnuernber/libjulia-clj/issues/3\r\nPlease generate some Java classes for libpython-clj so I can integrate it here: https://github.com/invesdwin/invesdwin-context-python/tree/master/invesdwin-context-python-parent/invesdwin-context-python-runtime-libpythonclj\r\n\r\nThanks a lot!","reactions":{"url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/clj-python/libpython-clj/issues/comments/1003644267","html_url":"https://github.com/clj-python/libpython-clj/issues/191#issuecomment-1003644267","issue_url":"https://api.github.com/repos/clj-python/libpython-clj/issues/191","id":1003644267,"node_id":"IC_kwDOCybaQc470mVr","user":{"login":"subes","id":332937,"node_id":"MDQ6VXNlcjMzMjkzNw==","avatar_url":"https://avatars.githubusercontent.com/u/332937?v=4","gravatar_id":"","url":"https://api.github.com/users/subes","html_url":"https://github.com/subes","followers_url":"https://api.github.com/users/subes/followers","following_url":"https://api.github.com/users/subes/following{/other_user}","gists_url":"https://api.github.com/users/subes/gists{/gist_id}","starred_url":"https://api.github.com/users/subes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/subes/subscriptions","organizations_url":"https://api.github.com/users/subes/orgs","repos_url":"https://api.github.com/users/subes/repos","events_url":"https://api.github.com/users/subes/events{/privacy}","received_events_url":"https://api.github.com/users/subes/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:05Z","updated_at":"2022-01-02T01:00:05Z","author_association":"NONE","body":"The signature looks good, though calling it causes the following error now:\r\n\r\n```\r\n2022-01-02 01:59:05.361 [ |7-3:InputsAndResult] DEBUG d.i.c.p.r.contract.IScriptTaskRunnerPython.debug - set hello = World\r\n2022-01-02 01:59:05.361 [ |7-1:InputsAndResult] ERROR de.invesdwin.ERROR.process - processing #00000001\r\nde.invesdwin.context.log.error.LoggedRuntimeException: #00000001 java.lang.ClassCastException: class [B cannot be cast to class java.lang.Throwable ([B and java.lang.Throwable are in module java.base of loader 'bootstrap')\r\n ... 13 omitted, see following cause or error.log\r\nCaused by - java.lang.ClassCastException: class [B cannot be cast to class java.lang.Throwable ([B and java.lang.Throwable are in module java.base of loader 'bootstrap')\r\n at libpython_clj2.python.ffi$untracked__GT_python.invokeStatic(ffi.clj:622)\r\n at libpython_clj2.python.ffi$untracked__GT_python.doInvoke(ffi.clj:603)\r\n at clojure.lang.RestFn.invoke(RestFn.java:410)\r\n at clojure.lang.Var.invoke(Var.java:384)\r\n at libpython_clj2.java_api$fn__176$fn__177.invoke(java_api.clj:140)\r\n at libpython_clj2.java_api$_setGlobal.invokeStatic(java_api.clj:247)\r\n at libpython_clj2.java_api$_setGlobal.invoke(java_api.clj:243)\r\n at libpython_clj2.java_api.setGlobal(Unknown Source)\r\n * at de.invesdwin.context.python.runtime.libpythonclj.internal.UncheckedPythonEngineWrapper.set(UncheckedPythonEngineWrapper.java:85) *\r\n * at de.invesdwin.context.python.runtime.libpythonclj.LibpythoncljScriptTaskInputsPython.putByteVector(LibpythoncljScriptTaskInputsPython.java:28) *\r\n * at de.invesdwin.context.python.runtime.contract.InputsAndResultsTestByte$1.populateInputs(InputsAndResultsTestByte.java:61) *\r\n * at de.invesdwin.context.python.runtime.libpythonclj.LibpythoncljScriptTaskRunnerPython.run(LibpythoncljScriptTaskRunnerPython.java:43) *\r\n * at de.invesdwin.context.python.runtime.contract.AScriptTaskPython.run(AScriptTaskPython.java:12) *\r\n * at de.invesdwin.context.python.runtime.contract.InputsAndResultsTestByte.testByte(InputsAndResultsTestByte.java:99) *\r\n * at de.invesdwin.context.python.runtime.contract.InputsAndResultsTests.test(InputsAndResultsTests.java:24) *\r\n * at de.invesdwin.context.python.runtime.contract.InputsAndResultsTests$1.run(InputsAndResultsTests.java:47) *\r\n * at de.invesdwin.util.concurrent.internal.WrappedRunnable.run(WrappedRunnable.java:47) *\r\n at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\r\n at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)\r\n at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)\r\n at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)\r\n at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)\r\n at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)\r\n * at de.invesdwin.util.concurrent.internal.WrappedThreadFactory.lambda$0(WrappedThreadFactory.java:44) *\r\n ... 2 more, see error.log\r\n```","reactions":{"url":"https://api.github.com/repos/clj-python/libpython-clj/issues/comments/1003644267/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:05Z","org":{"id":60827878,"login":"clj-python","gravatar_id":"","url":"https://api.github.com/orgs/clj-python","avatar_url":"https://avatars.githubusercontent.com/u/60827878?"}} +{"id":"19546596676","type":"WatchEvent","actor":{"id":96943900,"login":"CheemgaSuckMyDimkga","display_login":"CheemgaSuckMyDimkga","gravatar_id":"","url":"https://api.github.com/users/CheemgaSuckMyDimkga","avatar_url":"https://avatars.githubusercontent.com/u/96943900?"},"repo":{"id":247496852,"name":"UsergeTeam/Userge","url":"https://api.github.com/repos/UsergeTeam/Userge"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:05Z","org":{"id":63537415,"login":"UsergeTeam","gravatar_id":"","url":"https://api.github.com/orgs/UsergeTeam","avatar_url":"https://avatars.githubusercontent.com/u/63537415?"}} +{"id":"19546596679","type":"PushEvent","actor":{"id":34239087,"login":"rohit-chouhan","display_login":"rohit-chouhan","gravatar_id":"","url":"https://api.github.com/users/rohit-chouhan","avatar_url":"https://avatars.githubusercontent.com/u/34239087?"},"repo":{"id":403657438,"name":"rohit-chouhan/crudigniter","url":"https://api.github.com/repos/rohit-chouhan/crudigniter"},"payload":{"push_id":8735901685,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"401792a03e987c7d3852b706ebfa013190bc1daf","before":"61d48b8e49e13a873bebdb0f20ae4f85bcd31d81","commits":[{"sha":"401792a03e987c7d3852b706ebfa013190bc1daf","author":{"email":"34239087+rohit-chouhan@users.noreply.github.com","name":"Rohit Chouhan"},"message":"new feature added","distinct":true,"url":"https://api.github.com/repos/rohit-chouhan/crudigniter/commits/401792a03e987c7d3852b706ebfa013190bc1daf"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596681","type":"CreateEvent","actor":{"id":60168269,"login":"Buzzindown","display_login":"Buzzindown","gravatar_id":"","url":"https://api.github.com/users/Buzzindown","avatar_url":"https://avatars.githubusercontent.com/u/60168269?"},"repo":{"id":321807956,"name":"Buzzindown/CGOL","url":"https://api.github.com/repos/Buzzindown/CGOL"},"payload":{"ref":"gh-pages","ref_type":"branch","master_branch":"master","description":"Interactive web-based Conway's game of life","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596685","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":437288748,"name":"anacszlia/anacszlia","url":"https://api.github.com/repos/anacszlia/anacszlia"},"payload":{"push_id":8735901665,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"cf877c3df620b8cd0d6aa24db59ef6c07bc8d4db","before":"46acc63d54bbbc44f85a392d2126948bd17a2ca7","commits":[{"sha":"cf877c3df620b8cd0d6aa24db59ef6c07bc8d4db","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/anacszlia/anacszlia/commits/cf877c3df620b8cd0d6aa24db59ef6c07bc8d4db"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596689","type":"PushEvent","actor":{"id":8617595,"login":"eliocamp","display_login":"eliocamp","gravatar_id":"","url":"https://api.github.com/users/eliocamp","avatar_url":"https://avatars.githubusercontent.com/u/8617595?"},"repo":{"id":443440205,"name":"eliocamp/cortes","url":"https://api.github.com/repos/eliocamp/cortes"},"payload":{"push_id":8735901672,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fa5d5be98b5bec23a45b1469f52c6fb49744a372","before":"3019fbb5acf456aa42f0a83df11eeb1cba757ad3","commits":[{"sha":"fa5d5be98b5bec23a45b1469f52c6fb49744a372","author":{"email":"eliocampitelli@gmail.com","name":"Elio Campitelli"},"message":"Agrega datos (automático)","distinct":true,"url":"https://api.github.com/repos/eliocamp/cortes/commits/fa5d5be98b5bec23a45b1469f52c6fb49744a372"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596691","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901668,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c70b5ff7cac9c2fadfe2a2d61a25607591117611","before":"8f2e395b89f5db65306546cd3f8931e73f1b1ece","commits":[{"sha":"c70b5ff7cac9c2fadfe2a2d61a25607591117611","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update headline-news_2.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/c70b5ff7cac9c2fadfe2a2d61a25607591117611"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596692","type":"PushEvent","actor":{"id":92172411,"login":"sansavec","display_login":"sansavec","gravatar_id":"","url":"https://api.github.com/users/sansavec","avatar_url":"https://avatars.githubusercontent.com/u/92172411?"},"repo":{"id":415037156,"name":"sansavec/main","url":"https://api.github.com/repos/sansavec/main"},"payload":{"push_id":8735901686,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"769dafefa63f350764a7bf93e94450af7222efec","before":"54d480ce27206f198f57c2b8f1e97911ea87c972","commits":[{"sha":"769dafefa63f350764a7bf93e94450af7222efec","author":{"email":"sansavec1@gmail.com","name":"sansavec"},"message":"time updated","distinct":true,"url":"https://api.github.com/repos/sansavec/main/commits/769dafefa63f350764a7bf93e94450af7222efec"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596693","type":"PushEvent","actor":{"id":88246643,"login":"StephenFreed","display_login":"StephenFreed","gravatar_id":"","url":"https://api.github.com/users/StephenFreed","avatar_url":"https://avatars.githubusercontent.com/u/88246643?"},"repo":{"id":435989266,"name":"StephenFreed/Dot-Files","url":"https://api.github.com/repos/StephenFreed/Dot-Files"},"payload":{"push_id":8735901667,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3b7d7a1e833cc5762d8d5e05fe8df17abf743a85","before":"a8b8a151cff43b6302528697da6e9e0725e3f66d","commits":[{"sha":"3b7d7a1e833cc5762d8d5e05fe8df17abf743a85","author":{"email":"88246643+StephenFreed@users.noreply.github.com","name":"Stephen Freed"},"message":"script auto push 01-01-22 20:00:01","distinct":true,"url":"https://api.github.com/repos/StephenFreed/Dot-Files/commits/3b7d7a1e833cc5762d8d5e05fe8df17abf743a85"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596695","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":426439345,"name":"marcelorodriguesdev/marcelorodriguesdev","url":"https://api.github.com/repos/marcelorodriguesdev/marcelorodriguesdev"},"payload":{"push_id":8735901681,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"2bc8795fbba60ee9cb23ed108e063bbb23625540","before":"ff3bd965b73ff866d9bd39214ee9ab81401d3157","commits":[{"sha":"2bc8795fbba60ee9cb23ed108e063bbb23625540","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/marcelorodriguesdev/marcelorodriguesdev/commits/2bc8795fbba60ee9cb23ed108e063bbb23625540"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596696","type":"PushEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"push_id":8735901661,"size":6,"distinct_size":0,"ref":"refs/heads/witness_mhutchinson_witness_armory-drive-log","head":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","before":"130213bcaab27179ddb77ee91d451bd89acd8b0c","commits":[{"sha":"26165a511cac73ef10250307bb80a40631a288aa","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@8587264","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/26165a511cac73ef10250307bb80a40631a288aa"},{"sha":"a1200ce55b30f11403e0af5b9dfacc9dee6a641c","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@1016822","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/a1200ce55b30f11403e0af5b9dfacc9dee6a641c"},{"sha":"c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259","author":{"email":"87541280+WolseyBankWitness@users.noreply.github.com","name":"Wolsey Bank Witness"},"message":"Witness checkpoint@1017264","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259"},{"sha":"7807cd0b84f61f16d4bfbe712a3f33f7a6869d39","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/7807cd0b84f61f16d4bfbe712a3f33f7a6869d39"},{"sha":"2134c719b2a147120187ea62115520608faab0ad","author":{"email":"rene@mayrhofer.eu.org","name":"René Mayrhofer"},"message":"Witness checkpoint@1017292","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/2134c719b2a147120187ea62115520608faab0ad"},{"sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596698","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":391638376,"name":"erickapsilva1/ErickApSilva1","url":"https://api.github.com/repos/erickapsilva1/ErickApSilva1"},"payload":{"push_id":8735901676,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"9d889de9a2bfbb4715ba3e3a9e8b413c05bccad6","before":"a236ca172e5c1f146144bf364aaa0652fdb2058d","commits":[{"sha":"9d889de9a2bfbb4715ba3e3a9e8b413c05bccad6","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/erickapsilva1/ErickApSilva1/commits/9d889de9a2bfbb4715ba3e3a9e8b413c05bccad6"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596705","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901693,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2c5aebb70f1fce81d17499a6a35bfa703f12a0b8","before":"f7752b3f8b027f399b1a25d3ab0c5896aac68f61","commits":[{"sha":"2c5aebb70f1fce81d17499a6a35bfa703f12a0b8","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/2c5aebb70f1fce81d17499a6a35bfa703f12a0b8"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596712","type":"PushEvent","actor":{"id":3379460,"login":"beanslee2012","display_login":"beanslee2012","gravatar_id":"","url":"https://api.github.com/users/beanslee2012","avatar_url":"https://avatars.githubusercontent.com/u/3379460?"},"repo":{"id":215003385,"name":"beanslee2012/games","url":"https://api.github.com/repos/beanslee2012/games"},"payload":{"push_id":8735901697,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"03af12b490c9da52ac15331f5def9c4686469db6","before":"c6a3c6f4fda25ced88e55a31d20ecf8d7c3cafbd","commits":[{"sha":"03af12b490c9da52ac15331f5def9c4686469db6","author":{"email":"beanslee2007@gmail.com","name":"beanslee2012"},"message":"daily update","distinct":true,"url":"https://api.github.com/repos/beanslee2012/games/commits/03af12b490c9da52ac15331f5def9c4686469db6"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596719","type":"PushEvent","actor":{"id":67564159,"login":"coastranges","display_login":"coastranges","gravatar_id":"","url":"https://api.github.com/users/coastranges","avatar_url":"https://avatars.githubusercontent.com/u/67564159?"},"repo":{"id":279324303,"name":"coastranges/olivehill","url":"https://api.github.com/repos/coastranges/olivehill"},"payload":{"push_id":8735901714,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"896e63415d42adfee917ef58d93e79050f90433a","before":"7e6848f9cd9e09509679ab98094f5fb011f8dad4","commits":[{"sha":"896e63415d42adfee917ef58d93e79050f90433a","author":{"email":"farwest49@hotmail.com","name":"coastranges"},"message":"new_data","distinct":true,"url":"https://api.github.com/repos/coastranges/olivehill/commits/896e63415d42adfee917ef58d93e79050f90433a"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596723","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8735901682,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0146675b56c3e637a7d92a2fdaa3ed4d230510af","before":"1457070a5202ff4dd1867100174435a5f1728700","commits":[{"sha":"0146675b56c3e637a7d92a2fdaa3ed4d230510af","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/0146675b56c3e637a7d92a2fdaa3ed4d230510af"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596725","type":"PushEvent","actor":{"id":65541893,"login":"daimafengzi","display_login":"daimafengzi","gravatar_id":"","url":"https://api.github.com/users/daimafengzi","avatar_url":"https://avatars.githubusercontent.com/u/65541893?"},"repo":{"id":354704159,"name":"daimafengzi/daimafengzidata","url":"https://api.github.com/repos/daimafengzi/daimafengzidata"},"payload":{"push_id":8735901705,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ad7434e26d1ce842d8b1e131357968574749d35c","before":"6a4c292ff27c3f3ae17d0a9e9c2c9ec2ee5d957c","commits":[{"sha":"ad7434e26d1ce842d8b1e131357968574749d35c","author":{"email":"root@daimafengzi.com","name":"daimafengzi"},"message":"data","distinct":true,"url":"https://api.github.com/repos/daimafengzi/daimafengzidata/commits/ad7434e26d1ce842d8b1e131357968574749d35c"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596727","type":"PushEvent","actor":{"id":7305117,"login":"johnrigler","display_login":"johnrigler","gravatar_id":"","url":"https://api.github.com/users/johnrigler","avatar_url":"https://avatars.githubusercontent.com/u/7305117?"},"repo":{"id":236354838,"name":"johnrigler/dnsalert","url":"https://api.github.com/repos/johnrigler/dnsalert"},"payload":{"push_id":8735901702,"size":1,"distinct_size":1,"ref":"refs/heads/THRU-1","head":"4747d633e75f7fcb36562e60c896d06455a87fd4","before":"7b3a326f788470872cc020c8ae3631a61fd28bdb","commits":[{"sha":"4747d633e75f7fcb36562e60c896d06455a87fd4","author":{"email":"john@rigler.org","name":"John Rigler"},"message":"Sun Jan 2 01:00:01 UTC 2022","distinct":true,"url":"https://api.github.com/repos/johnrigler/dnsalert/commits/4747d633e75f7fcb36562e60c896d06455a87fd4"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596733","type":"PushEvent","actor":{"id":96647692,"login":"fsgr2","display_login":"fsgr2","gravatar_id":"","url":"https://api.github.com/users/fsgr2","avatar_url":"https://avatars.githubusercontent.com/u/96647692?"},"repo":{"id":443652809,"name":"fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c","url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c"},"payload":{"push_id":8735901712,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c700228f779a937a18b48343a68beaa6dda2a86c","before":"c7dcf251b491d03c19bad3978005b38c3248a652","commits":[{"sha":"c700228f779a937a18b48343a68beaa6dda2a86c","author":{"email":"96647692+fsgr2@users.noreply.github.com","name":"fsgr2"},"message":"upload file c7da212c1c5cdc572a003af02facad1b0f86d7c2dcc01598ec3cf374f6601be8d6b7eea54330c2678a13be7e5e323c0cvideo_153_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c/commits/c700228f779a937a18b48343a68beaa6dda2a86c"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596740","type":"PushEvent","actor":{"id":10905411,"login":"svigerske","display_login":"svigerske","gravatar_id":"","url":"https://api.github.com/users/svigerske","avatar_url":"https://avatars.githubusercontent.com/u/10905411?"},"repo":{"id":172628448,"name":"coin-or/HiGHS","url":"https://api.github.com/repos/coin-or/HiGHS"},"payload":{"push_id":8735901724,"size":8,"distinct_size":8,"ref":"refs/heads/prevent-wrong-dualUB-bailout","head":"db15cde0aab86ab3ca6cccc9c3dcdb5cbf196a5f","before":"140e3349c6aeaf0d85829e1662c3c7016bd2c521","commits":[{"sha":"8e24e31c7f526b083617c8b97fbcbe9c9814da59","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Copied objbound-cleanup modifications into this branch","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/8e24e31c7f526b083617c8b97fbcbe9c9814da59"},{"sha":"f2985cb8a6b615f9e13108c6032581fded8ee794","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Refined near_optimal to consider force_phase2, and no primal solve after kObjectiveBound unless there are unscaled dual infeasibilities.","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/f2985cb8a6b615f9e13108c6032581fded8ee794"},{"sha":"5a0533e5fed264ad0791e5ff846a5067057f43e7","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Investigating infeasible LP without infeasibilities","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/5a0533e5fed264ad0791e5ff846a5067057f43e7"},{"sha":"11d634ce938f75462043a5d70f71bf053e68a78c","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Need further consistency in primal inteasibility calculations","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/11d634ce938f75462043a5d70f71bf053e68a78c"},{"sha":"bb5377182bf4965a628b781d5fd4898330b07e65","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"ctest passes with modified HEkkDualRHS::updatePrimal","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/bb5377182bf4965a628b781d5fd4898330b07e65"},{"sha":"02cdb8cc65e355bb8a43a33d084b39d4d18ac844","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Deleting old primal infeasibility calculations in HEkkDualRHS.cpp","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/02cdb8cc65e355bb8a43a33d084b39d4d18ac844"},{"sha":"3eebad14d21aa469c18461fc1fb58cb04b0faccf","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"After deleting old primal infeasibility calculations in HEkkDualRHS.cpp, ctest passes","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/3eebad14d21aa469c18461fc1fb58cb04b0faccf"},{"sha":"db15cde0aab86ab3ca6cccc9c3dcdb5cbf196a5f","author":{"email":"jajhall@ed.ac.uk","name":"Julian Hall"},"message":"Formatted","distinct":true,"url":"https://api.github.com/repos/coin-or/HiGHS/commits/db15cde0aab86ab3ca6cccc9c3dcdb5cbf196a5f"}]},"public":true,"created_at":"2022-01-02T01:00:05Z","org":{"id":6062319,"login":"coin-or","gravatar_id":"","url":"https://api.github.com/orgs/coin-or","avatar_url":"https://avatars.githubusercontent.com/u/6062319?"}} +{"id":"19546596744","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8735901748,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"72744187f8122908b78f0efa635181979c5b9057","before":"0111b6a8451b175b852b9e19150af333ed658a06","commits":[{"sha":"72744187f8122908b78f0efa635181979c5b9057","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/72744187f8122908b78f0efa635181979c5b9057"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596745","type":"PushEvent","actor":{"id":79485442,"login":"brocjad","display_login":"brocjad","gravatar_id":"","url":"https://api.github.com/users/brocjad","avatar_url":"https://avatars.githubusercontent.com/u/79485442?"},"repo":{"id":353600147,"name":"brocjad/pub_hofs","url":"https://api.github.com/repos/brocjad/pub_hofs"},"payload":{"push_id":8735901747,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e586e4371336f9e506a0a23f4650886a6bc66992","before":"ec892012b1e0b51cf4b18980c7b810d5f3947184","commits":[{"sha":"e586e4371336f9e506a0a23f4650886a6bc66992","author":{"email":"79485442+brocjad@users.noreply.github.com","name":"brocjad"},"message":"update_log","distinct":true,"url":"https://api.github.com/repos/brocjad/pub_hofs/commits/e586e4371336f9e506a0a23f4650886a6bc66992"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596747","type":"PushEvent","actor":{"id":90948068,"login":"kakidevi","display_login":"kakidevi","gravatar_id":"","url":"https://api.github.com/users/kakidevi","avatar_url":"https://avatars.githubusercontent.com/u/90948068?"},"repo":{"id":407769602,"name":"kakidevi/bsc","url":"https://api.github.com/repos/kakidevi/bsc"},"payload":{"push_id":8735901723,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"041c6c5cc27764e54f52e408d6b6e8748f13fe65","before":"a4716d168828b2567eb7a7b2b771127f631ee46d","commits":[{"sha":"041c6c5cc27764e54f52e408d6b6e8748f13fe65","author":{"email":"90948068+kakidevi@users.noreply.github.com","name":"kakidevi"},"message":"bsc","distinct":true,"url":"https://api.github.com/repos/kakidevi/bsc/commits/041c6c5cc27764e54f52e408d6b6e8748f13fe65"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596752","type":"PushEvent","actor":{"id":82063332,"login":"saaralf","display_login":"saaralf","gravatar_id":"","url":"https://api.github.com/users/saaralf","avatar_url":"https://avatars.githubusercontent.com/u/82063332?"},"repo":{"id":430863316,"name":"saaralf/Stellpult-mit-Arduino","url":"https://api.github.com/repos/saaralf/Stellpult-mit-Arduino"},"payload":{"push_id":8735901722,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"17ca0b1c8c2bdc09d6ab84aca86c66befaba8f9c","before":"cbab01c8a6673bc7490569c0771d256f40cd7fd6","commits":[{"sha":"17ca0b1c8c2bdc09d6ab84aca86c66befaba8f9c","author":{"email":"keller-michael@web.de","name":"Michael Keller"},"message":"32 MCPPins erstellt und getestet","distinct":true,"url":"https://api.github.com/repos/saaralf/Stellpult-mit-Arduino/commits/17ca0b1c8c2bdc09d6ab84aca86c66befaba8f9c"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596754","type":"PushEvent","actor":{"id":32774919,"login":"TheBlaineMono","display_login":"TheBlaineMono","gravatar_id":"","url":"https://api.github.com/users/TheBlaineMono","avatar_url":"https://avatars.githubusercontent.com/u/32774919?"},"repo":{"id":401850501,"name":"TheBlaineMono/pending","url":"https://api.github.com/repos/TheBlaineMono/pending"},"payload":{"push_id":8735901732,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"62031dabe355995f86b1e86d4b6c26c32c13f836","before":"caec8cc36568fd1e721f018889a27bd52adc97bd","commits":[{"sha":"62031dabe355995f86b1e86d4b6c26c32c13f836","author":{"email":"32774919+TheBlaineMono@users.noreply.github.com","name":"TheBlaineMono"},"message":"update poollogs.json","distinct":true,"url":"https://api.github.com/repos/TheBlaineMono/pending/commits/62031dabe355995f86b1e86d4b6c26c32c13f836"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596762","type":"PushEvent","actor":{"id":60199291,"login":"JuniorJoka","display_login":"JuniorJoka","gravatar_id":"","url":"https://api.github.com/users/JuniorJoka","avatar_url":"https://avatars.githubusercontent.com/u/60199291?"},"repo":{"id":438081746,"name":"JuniorJoka/series-web","url":"https://api.github.com/repos/JuniorJoka/series-web"},"payload":{"push_id":8735901750,"size":7,"distinct_size":7,"ref":"refs/heads/main","head":"2caea0c6d0ca01f62be401abc575422b65959d5f","before":"a77cd7a44d19756912d6d2a74b7816d6fdf10ea0","commits":[{"sha":"e401258314eb89bcaad5ee13dac88ccc63946222","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"add trailer prop type","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/e401258314eb89bcaad5ee13dac88ccc63946222"},{"sha":"5bed9d7df58027ffe9dc651dc5e00d72fda3ba88","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"revert search to use old cards","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/5bed9d7df58027ffe9dc651dc5e00d72fda3ba88"},{"sha":"4568680aa18d84a6953a3417c224a394b5b08001","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"populate trailers page","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/4568680aa18d84a6953a3417c224a394b5b08001"},{"sha":"808384114c860deaf1defc58c9a6d3f3a5591dde","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"remove unsed code","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/808384114c860deaf1defc58c9a6d3f3a5591dde"},{"sha":"b788b55bf8a89808c59221645898b278eac04db2","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"initialize wide card","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/b788b55bf8a89808c59221645898b278eac04db2"},{"sha":"122658fd4d2adfbaceb96b841fe12808e034f434","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"adjust hero placement","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/122658fd4d2adfbaceb96b841fe12808e034f434"},{"sha":"2caea0c6d0ca01f62be401abc575422b65959d5f","author":{"email":"junioropokuansah@gmail.com","name":"Junior Opoku-Ansah"},"message":"add go back route","distinct":true,"url":"https://api.github.com/repos/JuniorJoka/series-web/commits/2caea0c6d0ca01f62be401abc575422b65959d5f"}]},"public":true,"created_at":"2022-01-02T01:00:05Z"} +{"id":"19546596764","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735901752,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3ea26b573859d677ced19535f96dec67e48a52bf","before":"3c1ad02eb8f4e9dd9bcf8c4296678326544ff069","commits":[{"sha":"3ea26b573859d677ced19535f96dec67e48a52bf","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:04 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/3ea26b573859d677ced19535f96dec67e48a52bf"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596770","type":"PushEvent","actor":{"id":82795154,"login":"rramoliya005","display_login":"rramoliya005","gravatar_id":"","url":"https://api.github.com/users/rramoliya005","avatar_url":"https://avatars.githubusercontent.com/u/82795154?"},"repo":{"id":436841915,"name":"rramoliya005/cs305_rr2282","url":"https://api.github.com/repos/rramoliya005/cs305_rr2282"},"payload":{"push_id":8735901746,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d9e1ecf3425760569beefa59946a6625bae47db6","before":"5f3cfdcada54dc455f20481ff93238ef1e7c5dd6","commits":[{"sha":"d9e1ecf3425760569beefa59946a6625bae47db6","author":{"email":"rr2282@nau.edu","name":"rajkumar"},"message":"files updated at 01:00:02","distinct":true,"url":"https://api.github.com/repos/rramoliya005/cs305_rr2282/commits/d9e1ecf3425760569beefa59946a6625bae47db6"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596771","type":"PushEvent","actor":{"id":1799947,"login":"yohabe","display_login":"yohabe","gravatar_id":"","url":"https://api.github.com/users/yohabe","avatar_url":"https://avatars.githubusercontent.com/u/1799947?"},"repo":{"id":294949687,"name":"yohabe/radio","url":"https://api.github.com/repos/yohabe/radio"},"payload":{"push_id":8735901756,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"421d7a076a681d79573be96ba881f1b7c660d909","before":"e0d7f7c529fbf03d19f629e96dcdeb3732d4b38c","commits":[{"sha":"421d7a076a681d79573be96ba881f1b7c660d909","author":{"email":"iehoy.eba+yohabe2@gmail.com","name":"yohabe"},"message":"a","distinct":true,"url":"https://api.github.com/repos/yohabe/radio/commits/421d7a076a681d79573be96ba881f1b7c660d909"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596776","type":"PushEvent","actor":{"id":2673952,"login":"dongs365","display_login":"dongs365","gravatar_id":"","url":"https://api.github.com/users/dongs365","avatar_url":"https://avatars.githubusercontent.com/u/2673952?"},"repo":{"id":69203608,"name":"dongs365/docker","url":"https://api.github.com/repos/dongs365/docker"},"payload":{"push_id":8735901759,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"379e64f8c3fa793e39ab22f67b0d9a7dfc8d6894","before":"3c7e01ead1bb3ead20f25c66fe978ec48a23fade","commits":[{"sha":"379e64f8c3fa793e39ab22f67b0d9a7dfc8d6894","author":{"email":"you@example.com","name":"dongs365"},"message":":whale: Sun Jan 2 09:00:02 CST 2022","distinct":true,"url":"https://api.github.com/repos/dongs365/docker/commits/379e64f8c3fa793e39ab22f67b0d9a7dfc8d6894"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596786","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735901779,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a0d517a76c221ff0f4cc075dc79f8cd7142ef594","before":"2a39796223ed820e932f01e965e59b474c8e1f97","commits":[{"sha":"a0d517a76c221ff0f4cc075dc79f8cd7142ef594","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update news392.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/a0d517a76c221ff0f4cc075dc79f8cd7142ef594"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596788","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8735901793,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"107468f924e736b9728d5911eada6ca3e265b3fe","before":"b4689443780cadde2ce9ac5a2fddd69beb3eedd9","commits":[{"sha":"107468f924e736b9728d5911eada6ca3e265b3fe","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/107468f924e736b9728d5911eada6ca3e265b3fe"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596789","type":"PushEvent","actor":{"id":94685891,"login":"StazioneMeteoCocito","display_login":"StazioneMeteoCocito","gravatar_id":"","url":"https://api.github.com/users/StazioneMeteoCocito","avatar_url":"https://avatars.githubusercontent.com/u/94685891?"},"repo":{"id":432218507,"name":"StazioneMeteoCocito/dati","url":"https://api.github.com/repos/StazioneMeteoCocito/dati"},"payload":{"push_id":8735901777,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6dffd8f77f317e6f0925c2540a27e84f4ef3e369","before":"24fa8d52b747c48762bc4361471d4b17c24f9e33","commits":[{"sha":"6dffd8f77f317e6f0925c2540a27e84f4ef3e369","author":{"email":"antifurtodomotico@gmail.com","name":"StazioneMeteoCocito"},"message":"Regular data update","distinct":true,"url":"https://api.github.com/repos/StazioneMeteoCocito/dati/commits/6dffd8f77f317e6f0925c2540a27e84f4ef3e369"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596794","type":"PushEvent","actor":{"id":60469054,"login":"friedbis","display_login":"friedbis","gravatar_id":"","url":"https://api.github.com/users/friedbis","avatar_url":"https://avatars.githubusercontent.com/u/60469054?"},"repo":{"id":368036642,"name":"friedbis/godthumbs-cake.github.io","url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io"},"payload":{"push_id":8735901776,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"adcf90abc5ea293cc72e182d3d17c2ef77a554a7","before":"6596df6b5f23712bdeeae5bcfbb604ba05ff7614","commits":[{"sha":"adcf90abc5ea293cc72e182d3d17c2ef77a554a7","author":{"email":"friedbiscuit@yf-19.net","name":"friedbis"},"message":"cleaning","distinct":true,"url":"https://api.github.com/repos/friedbis/godthumbs-cake.github.io/commits/adcf90abc5ea293cc72e182d3d17c2ef77a554a7"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596796","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901774,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"92b2fcb9a6518a0c4622e20472e98107490cf39f","before":"2c5aebb70f1fce81d17499a6a35bfa703f12a0b8","commits":[{"sha":"92b2fcb9a6518a0c4622e20472e98107490cf39f","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/92b2fcb9a6518a0c4622e20472e98107490cf39f"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596805","type":"PushEvent","actor":{"id":2907374,"login":"AceChenX","display_login":"AceChenX","gravatar_id":"","url":"https://api.github.com/users/AceChenX","avatar_url":"https://avatars.githubusercontent.com/u/2907374?"},"repo":{"id":121562440,"name":"UltracoldAtomsLab/weather_log","url":"https://api.github.com/repos/UltracoldAtomsLab/weather_log"},"payload":{"push_id":8735901795,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"157ad65451ca10e1655d64a400dca4e536cb3b71","before":"4e5fe51ca2cedf2b13fa7177df207a36f51b5b33","commits":[{"sha":"157ad65451ca10e1655d64a400dca4e536cb3b71","author":{"email":"yjlinlab@gmail.com","name":"yjlinlab"},"message":"2022年01月02日 (週日) 09時00分01秒","distinct":true,"url":"https://api.github.com/repos/UltracoldAtomsLab/weather_log/commits/157ad65451ca10e1655d64a400dca4e536cb3b71"}]},"public":true,"created_at":"2022-01-02T01:00:06Z","org":{"id":8256915,"login":"UltracoldAtomsLab","gravatar_id":"","url":"https://api.github.com/orgs/UltracoldAtomsLab","avatar_url":"https://avatars.githubusercontent.com/u/8256915?"}} +{"id":"19546596812","type":"PushEvent","actor":{"id":44822898,"login":"Gkonst1","display_login":"Gkonst1","gravatar_id":"","url":"https://api.github.com/users/Gkonst1","avatar_url":"https://avatars.githubusercontent.com/u/44822898?"},"repo":{"id":443380225,"name":"Gkonst1/Dubai-Landmarks-Blog","url":"https://api.github.com/repos/Gkonst1/Dubai-Landmarks-Blog"},"payload":{"push_id":8735901805,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"92fe312446b5e22a5690a0c5bf79e1ab119735db","before":"9831813dd69d25fda7a6d4f150c2ca0f421c37b3","commits":[{"sha":"92fe312446b5e22a5690a0c5bf79e1ab119735db","author":{"email":"giannis.konstantoulas@gmail.com","name":"Gkonst"},"message":"Updated the instructions on README","distinct":true,"url":"https://api.github.com/repos/Gkonst1/Dubai-Landmarks-Blog/commits/92fe312446b5e22a5690a0c5bf79e1ab119735db"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596815","type":"CreateEvent","actor":{"id":53108186,"login":"codestar-github-bot-1","display_login":"codestar-github-bot-1","gravatar_id":"","url":"https://api.github.com/users/codestar-github-bot-1","avatar_url":"https://avatars.githubusercontent.com/u/53108186?"},"repo":{"id":443654632,"name":"codestar-github-bot-1/user-public-seeded-repo-ap-northeast-2","url":"https://api.github.com/repos/codestar-github-bot-1/user-public-seeded-repo-ap-northeast-2"},"payload":{"ref":"master","ref_type":"branch","master_branch":"master","description":"Seeded Repository created by CFN","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596818","type":"PushEvent","actor":{"id":621412,"login":"shitchell","display_login":"shitchell","gravatar_id":"","url":"https://api.github.com/users/shitchell","avatar_url":"https://avatars.githubusercontent.com/u/621412?"},"repo":{"id":420502250,"name":"shitchell/mu-mee6","url":"https://api.github.com/repos/shitchell/mu-mee6"},"payload":{"push_id":8735901800,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f002f99603fbc90470ce1fecd623fe46f310191f","before":"25a42224e5d301b80a1a16121d3bb83cd5366391","commits":[{"sha":"f002f99603fbc90470ce1fecd623fe46f310191f","author":{"email":"shaun@shitchell.com","name":"guy"},"message":"auto-updated db","distinct":true,"url":"https://api.github.com/repos/shitchell/mu-mee6/commits/f002f99603fbc90470ce1fecd623fe46f310191f"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596820","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8735901790,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"72e37d8dae9547372ed8302c6cbe45b816c228f5","before":"72744187f8122908b78f0efa635181979c5b9057","commits":[{"sha":"72e37d8dae9547372ed8302c6cbe45b816c228f5","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/72e37d8dae9547372ed8302c6cbe45b816c228f5"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596821","type":"PushEvent","actor":{"id":56313640,"login":"lhaslett","display_login":"lhaslett","gravatar_id":"","url":"https://api.github.com/users/lhaslett","avatar_url":"https://avatars.githubusercontent.com/u/56313640?"},"repo":{"id":442337477,"name":"lhaslett/lhaslett.github.io","url":"https://api.github.com/repos/lhaslett/lhaslett.github.io"},"payload":{"push_id":8735901797,"size":1,"distinct_size":1,"ref":"refs/heads/public","head":"1d62ce66d6190dc75f8f992269c7184303eb5dc5","before":"a6b139cf103acad113b2f3b8b4a1766449d21fcd","commits":[{"sha":"1d62ce66d6190dc75f8f992269c7184303eb5dc5","author":{"email":"lhaslett@pobox.com","name":"Lee Haslett"},"message":"Auto-update conditions","distinct":true,"url":"https://api.github.com/repos/lhaslett/lhaslett.github.io/commits/1d62ce66d6190dc75f8f992269c7184303eb5dc5"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596822","type":"PushEvent","actor":{"id":87222323,"login":"CDraculaX","display_login":"CDraculaX","gravatar_id":"","url":"https://api.github.com/users/CDraculaX","avatar_url":"https://avatars.githubusercontent.com/u/87222323?"},"repo":{"id":406998288,"name":"CDraculaX/My-Ultroid-Workflow","url":"https://api.github.com/repos/CDraculaX/My-Ultroid-Workflow"},"payload":{"push_id":8735901798,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"5904fa71b0705519f47d282188c92a512778f81d","before":"4f1da4e3959662081f594ec7a1df301a67c40547","commits":[{"sha":"5904fa71b0705519f47d282188c92a512778f81d","author":{"email":"mrsadaruth2005@gmail.com","name":"CDraculaX"},"message":"Workflow : Loop 01/02/22-01:00:04am","distinct":true,"url":"https://api.github.com/repos/CDraculaX/My-Ultroid-Workflow/commits/5904fa71b0705519f47d282188c92a512778f81d"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596828","type":"PushEvent","actor":{"id":209139,"login":"friedcell","display_login":"friedcell","gravatar_id":"","url":"https://api.github.com/users/friedcell","avatar_url":"https://avatars.githubusercontent.com/u/209139?"},"repo":{"id":325311838,"name":"friedcell/git-scraping-arso","url":"https://api.github.com/repos/friedcell/git-scraping-arso"},"payload":{"push_id":8735901803,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"258739b1787a3cb43d537a4967c87498027316a0","before":"84a5e63225f89542554d7a66805d4bb1106893bd","commits":[{"sha":"258739b1787a3cb43d537a4967c87498027316a0","author":{"email":"fry@skylined.org","name":"Marko Mrdjenovic"},"message":"2022-01-02 02:00:02+01:00","distinct":true,"url":"https://api.github.com/repos/friedcell/git-scraping-arso/commits/258739b1787a3cb43d537a4967c87498027316a0"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596832","type":"PushEvent","actor":{"id":25694730,"login":"hamdyaea","display_login":"hamdyaea","gravatar_id":"","url":"https://api.github.com/users/hamdyaea","avatar_url":"https://avatars.githubusercontent.com/u/25694730?"},"repo":{"id":280520420,"name":"hamdyaea/RandomNumber","url":"https://api.github.com/repos/hamdyaea/RandomNumber"},"payload":{"push_id":8735901809,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"896426542d461725fa3e959641c6cccf9b9540c0","before":"46986cdd6dea7d8c5a9ed114274439fa2084b2b2","commits":[{"sha":"896426542d461725fa3e959641c6cccf9b9540c0","author":{"email":"hamdy.aea@protonmail.com","name":"hamdyaea"},"message":"New random number","distinct":true,"url":"https://api.github.com/repos/hamdyaea/RandomNumber/commits/896426542d461725fa3e959641c6cccf9b9540c0"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596835","type":"PushEvent","actor":{"id":845552,"login":"Thijn","display_login":"Thijn","gravatar_id":"","url":"https://api.github.com/users/Thijn","avatar_url":"https://avatars.githubusercontent.com/u/845552?"},"repo":{"id":435503196,"name":"Thijn/statuspage","url":"https://api.github.com/repos/Thijn/statuspage"},"payload":{"push_id":8735901810,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"267760e731d121fe0d8c5bdaf5d49bb400104928","before":"ba87352a465009e4b0a92e1dad01197c8dae5f5a","commits":[{"sha":"267760e731d121fe0d8c5bdaf5d49bb400104928","author":{"email":"monitoring@thijn.ovh","name":"Monitoring"},"message":"[Automated] Update Health Check Logs","distinct":true,"url":"https://api.github.com/repos/Thijn/statuspage/commits/267760e731d121fe0d8c5bdaf5d49bb400104928"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596838","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":364093107,"name":"injae/github-stats","url":"https://api.github.com/repos/injae/github-stats"},"payload":{"push_id":8735901828,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8e5a4a7935baa4608fb64dd5f94ddcbda5057a9a","before":"bfc8fdd1ae70c74cf855960476822edd3c0d2cf1","commits":[{"sha":"8e5a4a7935baa4608fb64dd5f94ddcbda5057a9a","author":{"email":"github-stats[bot]@jstrieb.github.io","name":"jstrieb/github-stats"},"message":"Update generated files","distinct":true,"url":"https://api.github.com/repos/injae/github-stats/commits/8e5a4a7935baa4608fb64dd5f94ddcbda5057a9a"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596841","type":"PushEvent","actor":{"id":22955941,"login":"Volodichev","display_login":"Volodichev","gravatar_id":"","url":"https://api.github.com/users/Volodichev","avatar_url":"https://avatars.githubusercontent.com/u/22955941?"},"repo":{"id":374556291,"name":"Volodichev/proxy-list","url":"https://api.github.com/repos/Volodichev/proxy-list"},"payload":{"push_id":8735901822,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"337022fe2381804f4d31eec2c0973a586c3f496f","before":"fd18a0aea43685e11904b1ee282b6318cba0d769","commits":[{"sha":"337022fe2381804f4d31eec2c0973a586c3f496f","author":{"email":"alex.woland@gmail.com","name":"Alexander"},"message":"hmn keys 02.01.22 04:00:01","distinct":true,"url":"https://api.github.com/repos/Volodichev/proxy-list/commits/337022fe2381804f4d31eec2c0973a586c3f496f"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596842","type":"PushEvent","actor":{"id":96756473,"login":"56456f","display_login":"56456f","gravatar_id":"","url":"https://api.github.com/users/56456f","avatar_url":"https://avatars.githubusercontent.com/u/96756473?"},"repo":{"id":443645884,"name":"56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838","url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838"},"payload":{"push_id":8735901817,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c95122e08f77f9bad275ab49f54dc0ed509b4c59","before":"bd70fe10d44d7aff0eccd75bf29c94de097f5464","commits":[{"sha":"c95122e08f77f9bad275ab49f54dc0ed509b4c59","author":{"email":"96756473+56456f@users.noreply.github.com","name":"56456f"},"message":"upload file 4b357a8687de14260112e5952bab66dad2cb85f7b55c529bbe42ca803c9e1794a9d92f061bb2535196dff44756de6d45video_476_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838/commits/c95122e08f77f9bad275ab49f54dc0ed509b4c59"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596843","type":"PushEvent","actor":{"id":32042396,"login":"obuno","display_login":"obuno","gravatar_id":"","url":"https://api.github.com/users/obuno","avatar_url":"https://avatars.githubusercontent.com/u/32042396?"},"repo":{"id":332142260,"name":"obuno/ips","url":"https://api.github.com/repos/obuno/ips"},"payload":{"push_id":8735901827,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"57b63d3d752c1adeedf75147727ee5cf966e7d10","before":"db965a24b1a1a5f584d5e66de4b48467d8f72787","commits":[{"sha":"57b63d3d752c1adeedf75147727ee5cf966e7d10","author":{"email":"32042396+obuno@users.noreply.github.com","name":"obuno"},"message":"Adding a few more...","distinct":true,"url":"https://api.github.com/repos/obuno/ips/commits/57b63d3d752c1adeedf75147727ee5cf966e7d10"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596845","type":"CreateEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"ref":"witness_mhutchinson_witness_rekor_sigstore_dev","ref_type":"branch","master_branch":"main","description":"Distributor for witnessed log checkpoints","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596846","type":"PushEvent","actor":{"id":82312550,"login":"CodeWithMyLife","display_login":"CodeWithMyLife","gravatar_id":"","url":"https://api.github.com/users/CodeWithMyLife","avatar_url":"https://avatars.githubusercontent.com/u/82312550?"},"repo":{"id":440193191,"name":"CodeWithMyLife/Proxy","url":"https://api.github.com/repos/CodeWithMyLife/Proxy"},"payload":{"push_id":8735901815,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1786f87fe81bb1c424aee3297c47bc6260c08517","before":"cd3456ddba0d0664ec27549611cf96d25fecbd1c","commits":[{"sha":"1786f87fe81bb1c424aee3297c47bc6260c08517","author":{"email":"codewithmylife@gmail.com","name":"CodeWithMyLife"},"message":"Commit","distinct":true,"url":"https://api.github.com/repos/CodeWithMyLife/Proxy/commits/1786f87fe81bb1c424aee3297c47bc6260c08517"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596847","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":383514868,"name":"benaisc/demo-MMM-parkings","url":"https://api.github.com/repos/benaisc/demo-MMM-parkings"},"payload":{"push_id":8735901832,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"493d4ec772e23c17e753b7a9f7dd89223228eb46","before":"47c60e3eb35c874f688f85bdebe69f799db99b40","commits":[{"sha":"493d4ec772e23c17e753b7a9f7dd89223228eb46","author":{"email":"flat-data@users.noreply.github.com","name":"flat-data"},"message":"Flat: latest data (2022-01-02T01:00:05.361Z)\n{\n \"date\": \"2022-01-02T01:00:05.361Z\",\n \"files\": [\n {\n \"name\": \"mmm-parkings-2022.csv\",\n \"deltaBytes\": 744,\n \"source\": \"https://www.herault-data.fr/explore/dataset/parkingtpsreel_modele0/download/?format=csv&timezone=Europe/Berlin&lang=fr&use_labels_for_header=true&csv_separator=%3B\"\n },\n {\n \"name\": \"mmm-parkings-live.csv\",\n \"deltaBytes\": 259,\n \"source\": \"https://www.herault-data.fr/explore/dataset/parkingtpsreel_modele0/download/?format=csv&timezone=Europe/Berlin&lang=fr&use_labels_for_header=true&csv_separator=%3B\"\n }\n ]\n}","distinct":true,"url":"https://api.github.com/repos/benaisc/demo-MMM-parkings/commits/493d4ec772e23c17e753b7a9f7dd89223228eb46"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596849","type":"PushEvent","actor":{"id":96756392,"login":"2342321","display_login":"2342321","gravatar_id":"","url":"https://api.github.com/users/2342321","avatar_url":"https://avatars.githubusercontent.com/u/96756392?"},"repo":{"id":443643172,"name":"2342321/64283144-753d-4f46-9669-249d244ce79b","url":"https://api.github.com/repos/2342321/64283144-753d-4f46-9669-249d244ce79b"},"payload":{"push_id":8735901824,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9c6174989749cedc85c6ad9be6e6d55342e6709c","before":"001aa2088f34a38b5ebd810e1a87efda712f1e2e","commits":[{"sha":"9c6174989749cedc85c6ad9be6e6d55342e6709c","author":{"email":"96756392+2342321@users.noreply.github.com","name":"2342321"},"message":"upload file 4949bc66864ee4f77f9d34d25731dc37b62114e9412167d9513d7e498449d6bfe340845b192ee390c1bd6cf09c4252b4video_1036_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/2342321/64283144-753d-4f46-9669-249d244ce79b/commits/9c6174989749cedc85c6ad9be6e6d55342e6709c"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596853","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901818,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3140e61f220d26f345927cf7e40dbbc2b13205f1","before":"c70b5ff7cac9c2fadfe2a2d61a25607591117611","commits":[{"sha":"3140e61f220d26f345927cf7e40dbbc2b13205f1","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog1135_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/3140e61f220d26f345927cf7e40dbbc2b13205f1"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596855","type":"PushEvent","actor":{"id":18269707,"login":"jlbl","display_login":"jlbl","gravatar_id":"","url":"https://api.github.com/users/jlbl","avatar_url":"https://avatars.githubusercontent.com/u/18269707?"},"repo":{"id":144954717,"name":"UCSF-HPC/wynton-slash","url":"https://api.github.com/repos/UCSF-HPC/wynton-slash"},"payload":{"push_id":8735901834,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2e7e3c33dfa388e67a8eb37347130f3f7f457e4b","before":"82bf908a21624132c1a6acb29ccb5ebc89cbbf3f","commits":[{"sha":"2e7e3c33dfa388e67a8eb37347130f3f7f457e4b","author":{"email":"jlb@salilab.org","name":"Joshua Baker-LePain"},"message":"STATUS: Updated figures","distinct":true,"url":"https://api.github.com/repos/UCSF-HPC/wynton-slash/commits/2e7e3c33dfa388e67a8eb37347130f3f7f457e4b"}]},"public":true,"created_at":"2022-01-02T01:00:06Z","org":{"id":16865370,"login":"UCSF-HPC","gravatar_id":"","url":"https://api.github.com/orgs/UCSF-HPC","avatar_url":"https://avatars.githubusercontent.com/u/16865370?"}} +{"id":"19546596859","type":"PushEvent","actor":{"id":8617595,"login":"eliocamp","display_login":"eliocamp","gravatar_id":"","url":"https://api.github.com/users/eliocamp","avatar_url":"https://avatars.githubusercontent.com/u/8617595?"},"repo":{"id":443440205,"name":"eliocamp/cortes","url":"https://api.github.com/repos/eliocamp/cortes"},"payload":{"push_id":8735901837,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"42c75821df4d46342cf096665ce7f462f44bfb17","before":"fa5d5be98b5bec23a45b1469f52c6fb49744a372","commits":[{"sha":"42c75821df4d46342cf096665ce7f462f44bfb17","author":{"email":"eliocampitelli@gmail.com","name":"Elio Campitelli"},"message":"Crea figura (automático)","distinct":true,"url":"https://api.github.com/repos/eliocamp/cortes/commits/42c75821df4d46342cf096665ce7f462f44bfb17"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596854","type":"PushEvent","actor":{"id":62687145,"login":"vpnsuperapp","display_login":"vpnsuperapp","gravatar_id":"","url":"https://api.github.com/users/vpnsuperapp","avatar_url":"https://avatars.githubusercontent.com/u/62687145?"},"repo":{"id":250208038,"name":"vpnsuperapp/fast","url":"https://api.github.com/repos/vpnsuperapp/fast"},"payload":{"push_id":8735901831,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b763c5241dc7fb4dee259349659eb072fa6b99f0","before":"92b2fcb9a6518a0c4622e20472e98107490cf39f","commits":[{"sha":"b763c5241dc7fb4dee259349659eb072fa6b99f0","author":{"email":"62687145+vpnsuperapp@users.noreply.github.com","name":"vpnsuperapp"},"message":"thank you","distinct":true,"url":"https://api.github.com/repos/vpnsuperapp/fast/commits/b763c5241dc7fb4dee259349659eb072fa6b99f0"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596858","type":"PushEvent","actor":{"id":3924245,"login":"0a170","display_login":"0a170","gravatar_id":"","url":"https://api.github.com/users/0a170","avatar_url":"https://avatars.githubusercontent.com/u/3924245?"},"repo":{"id":405191459,"name":"0a170/tracksort","url":"https://api.github.com/repos/0a170/tracksort"},"payload":{"push_id":8735901835,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e7c5777e696c91160f588545b22f08c08c137447","before":"8fa9bccf31bd581c0d3c5a32db90c02a777f07c1","commits":[{"sha":"e7c5777e696c91160f588545b22f08c08c137447","author":{"email":"mohamedhussen@Mohameds-MacBook-Air.local","name":"Mohamed Hussen"},"message":"static configuration file added","distinct":true,"url":"https://api.github.com/repos/0a170/tracksort/commits/e7c5777e696c91160f588545b22f08c08c137447"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596860","type":"PushEvent","actor":{"id":37930589,"login":"jjssto","display_login":"jjssto","gravatar_id":"","url":"https://api.github.com/users/jjssto","avatar_url":"https://avatars.githubusercontent.com/u/37930589?"},"repo":{"id":255091397,"name":"jjssto/Covid19_Visualisation_CH","url":"https://api.github.com/repos/jjssto/Covid19_Visualisation_CH"},"payload":{"push_id":8735901839,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"da284da3218b56e802576299154d5d932bb8172b","before":"63aa3cc5f8b9c2d4bb2e57b7d1129f862c415b7e","commits":[{"sha":"da284da3218b56e802576299154d5d932bb8172b","author":{"email":"jjssto@posteo.de","name":"jjssto (server)"},"message":" \"Automatic Update\"","distinct":true,"url":"https://api.github.com/repos/jjssto/Covid19_Visualisation_CH/commits/da284da3218b56e802576299154d5d932bb8172b"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596868","type":"PushEvent","actor":{"id":25484400,"login":"allanah1","display_login":"allanah1","gravatar_id":"","url":"https://api.github.com/users/allanah1","avatar_url":"https://avatars.githubusercontent.com/u/25484400?"},"repo":{"id":443652396,"name":"allanah1/IMDB_Movies_NLP","url":"https://api.github.com/repos/allanah1/IMDB_Movies_NLP"},"payload":{"push_id":8735901838,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b62ba9399af34c8ed64ae9887b81f7442c0644fb","before":"af7bb46e9033b7f607ba450c89525b436dcc6107","commits":[{"sha":"b62ba9399af34c8ed64ae9887b81f7442c0644fb","author":{"email":"francis.allanah@gmail.com","name":"Francis Allanah"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/allanah1/IMDB_Movies_NLP/commits/b62ba9399af34c8ed64ae9887b81f7442c0644fb"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596869","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":395841984,"name":"condwanaland/myscrobble","url":"https://api.github.com/repos/condwanaland/myscrobble"},"payload":{"push_id":8735901841,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c82471ca458437f6471ae4ec79bb7b8184430c28","before":"2bf365db526988721200942dbdf2ba581f424062","commits":[{"sha":"c82471ca458437f6471ae4ec79bb7b8184430c28","author":{"email":"actions@github.com","name":"GitHub Actions"},"message":"add data","distinct":true,"url":"https://api.github.com/repos/condwanaland/myscrobble/commits/c82471ca458437f6471ae4ec79bb7b8184430c28"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596871","type":"PushEvent","actor":{"id":1345124,"login":"lucienkerl","display_login":"lucienkerl","gravatar_id":"","url":"https://api.github.com/users/lucienkerl","avatar_url":"https://avatars.githubusercontent.com/u/1345124?"},"repo":{"id":340109909,"name":"lucienkerl/status","url":"https://api.github.com/repos/lucienkerl/status"},"payload":{"push_id":8735901850,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"c80ffa2483448499bb6d047f41d22c0c3de02913","before":"51d7fa9a1957639d41e515dc0606688276e7bc40","commits":[{"sha":"1138e085b8be045cf97a386ce1992cb342399331","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/lucienkerl/status/commits/1138e085b8be045cf97a386ce1992cb342399331"},{"sha":"c80ffa2483448499bb6d047f41d22c0c3de02913","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/lucienkerl/status/commits/c80ffa2483448499bb6d047f41d22c0c3de02913"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596872","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":434249753,"name":"danielmribeiro/danielmribeiro","url":"https://api.github.com/repos/danielmribeiro/danielmribeiro"},"payload":{"push_id":8735901836,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"ab81a91e8462f2256a986e5fd43a86f9b6ee1ddd","before":"f4907c923d33c5802491e262a595e7a2418af1cc","commits":[{"sha":"ab81a91e8462f2256a986e5fd43a86f9b6ee1ddd","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/danielmribeiro/danielmribeiro/commits/ab81a91e8462f2256a986e5fd43a86f9b6ee1ddd"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596875","type":"PushEvent","actor":{"id":62742305,"login":"seagulltool","display_login":"seagulltool","gravatar_id":"","url":"https://api.github.com/users/seagulltool","avatar_url":"https://avatars.githubusercontent.com/u/62742305?"},"repo":{"id":250501046,"name":"seagulltool/seagulltool.github.io","url":"https://api.github.com/repos/seagulltool/seagulltool.github.io"},"payload":{"push_id":8735901849,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6a3ab6a62263d7ad8803433eb32e9bc371555f81","before":"4d23c1a73f9753413064e8ff115882440349498d","commits":[{"sha":"6a3ab6a62263d7ad8803433eb32e9bc371555f81","author":{"email":"seagulltool@users.noreply.github.com","name":"Seagull"},"message":"update cache","distinct":true,"url":"https://api.github.com/repos/seagulltool/seagulltool.github.io/commits/6a3ab6a62263d7ad8803433eb32e9bc371555f81"}]},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596876","type":"CreateEvent","actor":{"id":88298970,"login":"JoshuaColell","display_login":"JoshuaColell","gravatar_id":"","url":"https://api.github.com/users/JoshuaColell","avatar_url":"https://avatars.githubusercontent.com/u/88298970?"},"repo":{"id":443654642,"name":"JoshuaColell/sol","url":"https://api.github.com/repos/JoshuaColell/sol"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:06Z"} +{"id":"19546596877","type":"IssueCommentEvent","actor":{"id":39514782,"login":"sonarcloud[bot]","display_login":"sonarcloud","gravatar_id":"","url":"https://api.github.com/users/sonarcloud[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39514782?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225","repository_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock","labels_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225/labels{/name}","comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225/comments","events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225/events","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/225","id":1091925792,"node_id":"PR_kwDODukjUM4wcD_K","number":225,"title":"Portuguese Translation","user":{"login":"gitlocalize-app[bot]","id":55277160,"node_id":"MDM6Qm90NTUyNzcxNjA=","avatar_url":"https://avatars.githubusercontent.com/in/40992?v=4","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D","html_url":"https://github.com/apps/gitlocalize-app","followers_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/followers","following_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/repos","events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/received_events","type":"Bot","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2022-01-02T00:58:53Z","updated_at":"2022-01-02T01:00:06Z","closed_at":null,"author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/225","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/225","diff_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/225.diff","patch_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/225.patch","merged_at":null},"body":"\n\n[See review request on GitLocalize](https://gitlocalize.com/repo/4481/pt/review/39682)","reactions":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments/1003644269","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/225#issuecomment-1003644269","issue_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/225","id":1003644269,"node_id":"IC_kwDODukjUM470mVt","user":{"login":"sonarcloud[bot]","id":39514782,"node_id":"MDM6Qm90Mzk1MTQ3ODI=","avatar_url":"https://avatars.githubusercontent.com/in/12526?v=4","gravatar_id":"","url":"https://api.github.com/users/sonarcloud%5Bbot%5D","html_url":"https://github.com/apps/sonarcloud","followers_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/followers","following_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/repos","events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-02T01:00:06Z","updated_at":"2022-01-02T01:00:06Z","author_association":"NONE","body":"Kudos, SonarCloud Quality Gate passed!    ![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')\n\n[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=BUG) \n[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=VULNERABILITY) \n[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=SECURITY_HOTSPOT) \n[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=225&resolved=false&types=CODE_SMELL)\n\n[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=BentoBoxWorld_AOneBlock&pullRequest=225&metric=coverage&view=list) No Coverage information \n[![No Duplication information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/NoDuplicationInfo-16px.png 'No Duplication information')](https://sonarcloud.io/component_measures?id=BentoBoxWorld_AOneBlock&pullRequest=225&metric=duplicated_lines_density&view=list) No Duplication information\n\n","reactions":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments/1003644269/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:06Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546596878","type":"PushEvent","actor":{"id":6504102,"login":"Animtim","display_login":"Animtim","gravatar_id":"","url":"https://api.github.com/users/Animtim","avatar_url":"https://avatars.githubusercontent.com/u/6504102?"},"repo":{"id":16627197,"name":"gcompris/GCompris-qt","url":"https://api.github.com/repos/gcompris/GCompris-qt"},"payload":{"push_id":8735901823,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cc48a3125372224344f1065dfa01eea845297962","before":"ea4130e5cd02bd3583220c42cc7b5a10c27bbd25","commits":[{"sha":"cc48a3125372224344f1065dfa01eea845297962","author":{"email":"scripty@kde.org","name":"l10n daemon script"},"message":"GIT_SILENT made messages (after extraction)","distinct":true,"url":"https://api.github.com/repos/gcompris/GCompris-qt/commits/cc48a3125372224344f1065dfa01eea845297962"}]},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":20139155,"login":"gcompris","gravatar_id":"","url":"https://api.github.com/orgs/gcompris","avatar_url":"https://avatars.githubusercontent.com/u/20139155?"}} +{"id":"19546596880","type":"PushEvent","actor":{"id":5253690,"login":"weirdcalculator","display_login":"weirdcalculator","gravatar_id":"","url":"https://api.github.com/users/weirdcalculator","avatar_url":"https://avatars.githubusercontent.com/u/5253690?"},"repo":{"id":153466799,"name":"weirdcalculator/wptdolphin","url":"https://api.github.com/repos/weirdcalculator/wptdolphin"},"payload":{"push_id":8735901853,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2b11e1bc85d700d98988a0fdf7bff8f47c6556f7","before":"c2462e6337145f68039fb0793fce239d97f1a55c","commits":[{"sha":"2b11e1bc85d700d98988a0fdf7bff8f47c6556f7","author":{"email":"weirdcalculator@gmail.com","name":"Amin"},"message":"test update","distinct":true,"url":"https://api.github.com/repos/weirdcalculator/wptdolphin/commits/2b11e1bc85d700d98988a0fdf7bff8f47c6556f7"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596882","type":"PushEvent","actor":{"id":1616850,"login":"HenrikBengtsson","display_login":"HenrikBengtsson","gravatar_id":"","url":"https://api.github.com/users/HenrikBengtsson","avatar_url":"https://avatars.githubusercontent.com/u/1616850?"},"repo":{"id":94832006,"name":"UCSF-TI/TIPCC-slash","url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash"},"payload":{"push_id":8735901852,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"049506961da25baa4fb2e347e4faeae96af64a7b","before":"76362806370ce3c30930ce42ddc7cf1b4b645c43","commits":[{"sha":"049506961da25baa4fb2e347e4faeae96af64a7b","author":{"email":"hbslash-github@h.braju.com","name":"hbslash"},"message":"STATUS: Updated figures","distinct":true,"url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash/commits/049506961da25baa4fb2e347e4faeae96af64a7b"}]},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":14284214,"login":"UCSF-TI","gravatar_id":"","url":"https://api.github.com/orgs/UCSF-TI","avatar_url":"https://avatars.githubusercontent.com/u/14284214?"}} +{"id":"19546596884","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735901855,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cafb13560eb20604b29bd88f7fb4484f998cb819","before":"3ea26b573859d677ced19535f96dec67e48a52bf","commits":[{"sha":"cafb13560eb20604b29bd88f7fb4484f998cb819","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:05 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/cafb13560eb20604b29bd88f7fb4484f998cb819"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596887","type":"PullRequestEvent","actor":{"id":49162745,"login":"kishieel","display_login":"kishieel","gravatar_id":"","url":"https://api.github.com/users/kishieel","avatar_url":"https://avatars.githubusercontent.com/u/49162745?"},"repo":{"id":330274698,"name":"marcocesarato/php-conventional-changelog","url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog"},"payload":{"action":"opened","number":34,"pull_request":{"url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34","id":812662844,"node_id":"PR_kwDOE6-Xis4wcEA8","html_url":"https://github.com/marcocesarato/php-conventional-changelog/pull/34","diff_url":"https://github.com/marcocesarato/php-conventional-changelog/pull/34.diff","patch_url":"https://github.com/marcocesarato/php-conventional-changelog/pull/34.patch","issue_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/34","number":34,"state":"open","locked":false,"title":"Add optional annotation to tag object","user":{"login":"kishieel","id":49162745,"node_id":"MDQ6VXNlcjQ5MTYyNzQ1","avatar_url":"https://avatars.githubusercontent.com/u/49162745?v=4","gravatar_id":"","url":"https://api.github.com/users/kishieel","html_url":"https://github.com/kishieel","followers_url":"https://api.github.com/users/kishieel/followers","following_url":"https://api.github.com/users/kishieel/following{/other_user}","gists_url":"https://api.github.com/users/kishieel/gists{/gist_id}","starred_url":"https://api.github.com/users/kishieel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kishieel/subscriptions","organizations_url":"https://api.github.com/users/kishieel/orgs","repos_url":"https://api.github.com/users/kishieel/repos","events_url":"https://api.github.com/users/kishieel/events{/privacy}","received_events_url":"https://api.github.com/users/kishieel/received_events","type":"User","site_admin":false},"body":"# Why this PR?\r\n\r\nInstead of lightweight tags, I would like to have annotated tags when generating the changelog.\r\n\r\n# What changed? \r\n\r\nAs annotation flag is optional nothing change for current users of package. Those who would like to have annotated tags may use `--annotate-tag` flag on current release scripts. The new flag uses an optional value, which is a message to be used to annotate the tag. If no value is given, the tag name will be used as an annotation.\r\n\r\n### Examples\r\n\r\n```\r\n\"scripts\": [\r\n \"release\": \"conventional-changelog --commit\", # works as before pr\r\n \"release:no-message\": \"conventional-changelog --annotate-tag --commit\", # uses tag name as annotation message \r\n \"release:with-message\": \"conventional-changelog --annotate-tag 'custom message' --commit\", # uses 'custom message' as annotation message \r\n]\r\n```","created_at":"2022-01-02T01:00:06Z","updated_at":"2022-01-02T01:00:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34/commits","review_comments_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34/comments","review_comment_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/comments{/number}","comments_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/34/comments","statuses_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/statuses/e738b29b22cbdaa1cd1490408cff3b1b4299a2f2","head":{"label":"kishieel:main","ref":"main","sha":"e738b29b22cbdaa1cd1490408cff3b1b4299a2f2","user":{"login":"kishieel","id":49162745,"node_id":"MDQ6VXNlcjQ5MTYyNzQ1","avatar_url":"https://avatars.githubusercontent.com/u/49162745?v=4","gravatar_id":"","url":"https://api.github.com/users/kishieel","html_url":"https://github.com/kishieel","followers_url":"https://api.github.com/users/kishieel/followers","following_url":"https://api.github.com/users/kishieel/following{/other_user}","gists_url":"https://api.github.com/users/kishieel/gists{/gist_id}","starred_url":"https://api.github.com/users/kishieel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kishieel/subscriptions","organizations_url":"https://api.github.com/users/kishieel/orgs","repos_url":"https://api.github.com/users/kishieel/repos","events_url":"https://api.github.com/users/kishieel/events{/privacy}","received_events_url":"https://api.github.com/users/kishieel/received_events","type":"User","site_admin":false},"repo":{"id":443646194,"node_id":"R_kgDOGnGA8g","name":"php-conventional-changelog","full_name":"kishieel/php-conventional-changelog","private":false,"owner":{"login":"kishieel","id":49162745,"node_id":"MDQ6VXNlcjQ5MTYyNzQ1","avatar_url":"https://avatars.githubusercontent.com/u/49162745?v=4","gravatar_id":"","url":"https://api.github.com/users/kishieel","html_url":"https://github.com/kishieel","followers_url":"https://api.github.com/users/kishieel/followers","following_url":"https://api.github.com/users/kishieel/following{/other_user}","gists_url":"https://api.github.com/users/kishieel/gists{/gist_id}","starred_url":"https://api.github.com/users/kishieel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kishieel/subscriptions","organizations_url":"https://api.github.com/users/kishieel/orgs","repos_url":"https://api.github.com/users/kishieel/repos","events_url":"https://api.github.com/users/kishieel/events{/privacy}","received_events_url":"https://api.github.com/users/kishieel/received_events","type":"User","site_admin":false},"html_url":"https://github.com/kishieel/php-conventional-changelog","description":"A PHP tool built to generate a changelog from a project's commit messages and metadata following the conventionalcommits.org and automate versioning with semver.org.","fork":true,"url":"https://api.github.com/repos/kishieel/php-conventional-changelog","forks_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/forks","keys_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/teams","hooks_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/hooks","issue_events_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/issues/events{/number}","events_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/events","assignees_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/assignees{/user}","branches_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/branches{/branch}","tags_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/tags","blobs_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/git/refs{/sha}","trees_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/statuses/{sha}","languages_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/languages","stargazers_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/stargazers","contributors_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/contributors","subscribers_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/subscribers","subscription_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/subscription","commits_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/commits{/sha}","git_commits_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/git/commits{/sha}","comments_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/comments{/number}","issue_comment_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/issues/comments{/number}","contents_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/contents/{+path}","compare_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/merges","archive_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/downloads","issues_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/issues{/number}","pulls_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/pulls{/number}","milestones_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/milestones{/number}","notifications_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/labels{/name}","releases_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/releases{/id}","deployments_url":"https://api.github.com/repos/kishieel/php-conventional-changelog/deployments","created_at":"2022-01-01T23:50:51Z","updated_at":"2022-01-02T00:46:57Z","pushed_at":"2022-01-02T00:46:55Z","git_url":"git://github.com/kishieel/php-conventional-changelog.git","ssh_url":"git@github.com:kishieel/php-conventional-changelog.git","clone_url":"https://github.com/kishieel/php-conventional-changelog.git","svn_url":"https://github.com/kishieel/php-conventional-changelog","homepage":"","size":961,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main"}},"base":{"label":"marcocesarato:main","ref":"main","sha":"11b4fe5ac5a15a99d79f9dca0c56027455e01ca3","user":{"login":"marcocesarato","id":36447518,"node_id":"MDQ6VXNlcjM2NDQ3NTE4","avatar_url":"https://avatars.githubusercontent.com/u/36447518?v=4","gravatar_id":"","url":"https://api.github.com/users/marcocesarato","html_url":"https://github.com/marcocesarato","followers_url":"https://api.github.com/users/marcocesarato/followers","following_url":"https://api.github.com/users/marcocesarato/following{/other_user}","gists_url":"https://api.github.com/users/marcocesarato/gists{/gist_id}","starred_url":"https://api.github.com/users/marcocesarato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcocesarato/subscriptions","organizations_url":"https://api.github.com/users/marcocesarato/orgs","repos_url":"https://api.github.com/users/marcocesarato/repos","events_url":"https://api.github.com/users/marcocesarato/events{/privacy}","received_events_url":"https://api.github.com/users/marcocesarato/received_events","type":"User","site_admin":false},"repo":{"id":330274698,"node_id":"MDEwOlJlcG9zaXRvcnkzMzAyNzQ2OTg=","name":"php-conventional-changelog","full_name":"marcocesarato/php-conventional-changelog","private":false,"owner":{"login":"marcocesarato","id":36447518,"node_id":"MDQ6VXNlcjM2NDQ3NTE4","avatar_url":"https://avatars.githubusercontent.com/u/36447518?v=4","gravatar_id":"","url":"https://api.github.com/users/marcocesarato","html_url":"https://github.com/marcocesarato","followers_url":"https://api.github.com/users/marcocesarato/followers","following_url":"https://api.github.com/users/marcocesarato/following{/other_user}","gists_url":"https://api.github.com/users/marcocesarato/gists{/gist_id}","starred_url":"https://api.github.com/users/marcocesarato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcocesarato/subscriptions","organizations_url":"https://api.github.com/users/marcocesarato/orgs","repos_url":"https://api.github.com/users/marcocesarato/repos","events_url":"https://api.github.com/users/marcocesarato/events{/privacy}","received_events_url":"https://api.github.com/users/marcocesarato/received_events","type":"User","site_admin":false},"html_url":"https://github.com/marcocesarato/php-conventional-changelog","description":"A PHP tool built to generate a changelog from a project's commit messages and metadata following the conventionalcommits.org and automate versioning with semver.org.","fork":false,"url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog","forks_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/forks","keys_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/teams","hooks_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/hooks","issue_events_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/events{/number}","events_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/events","assignees_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/assignees{/user}","branches_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/branches{/branch}","tags_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/tags","blobs_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/git/refs{/sha}","trees_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/statuses/{sha}","languages_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/languages","stargazers_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/stargazers","contributors_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/contributors","subscribers_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/subscribers","subscription_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/subscription","commits_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/commits{/sha}","git_commits_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/git/commits{/sha}","comments_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/comments{/number}","issue_comment_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/comments{/number}","contents_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/contents/{+path}","compare_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/merges","archive_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/downloads","issues_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues{/number}","pulls_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls{/number}","milestones_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/milestones{/number}","notifications_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/labels{/name}","releases_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/releases{/id}","deployments_url":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/deployments","created_at":"2021-01-16T23:03:08Z","updated_at":"2021-12-29T11:15:40Z","pushed_at":"2021-12-09T13:05:11Z","git_url":"git://github.com/marcocesarato/php-conventional-changelog.git","ssh_url":"git@github.com:marcocesarato/php-conventional-changelog.git","clone_url":"https://github.com/marcocesarato/php-conventional-changelog.git","svn_url":"https://github.com/marcocesarato/php-conventional-changelog","homepage":"","size":961,"stargazers_count":98,"watchers_count":98,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":9,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"topics":["autoversion","autoversioning","changelog","commit","commits","composer","convention","conventional","conventional-changelog","conventional-changelog-preset","conventional-commit","conventional-commits","generation","git","history","php","php-conventional-changelog","php-convetional-commit","semver","tool"],"visibility":"public","forks":17,"open_issues":9,"watchers":98,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34"},"html":{"href":"https://github.com/marcocesarato/php-conventional-changelog/pull/34"},"issue":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/34"},"comments":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/issues/34/comments"},"review_comments":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34/comments"},"review_comment":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/pulls/34/commits"},"statuses":{"href":"https://api.github.com/repos/marcocesarato/php-conventional-changelog/statuses/e738b29b22cbdaa1cd1490408cff3b1b4299a2f2"}},"author_association":"NONE","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":11,"deletions":6,"changed_files":3}},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596888","type":"PushEvent","actor":{"id":152281,"login":"luksan","display_login":"luksan","gravatar_id":"","url":"https://api.github.com/users/luksan","avatar_url":"https://avatars.githubusercontent.com/u/152281?"},"repo":{"id":222313330,"name":"luksan/ivt490","url":"https://api.github.com/repos/luksan/ivt490"},"payload":{"push_id":8735901861,"size":1,"distinct_size":1,"ref":"refs/heads/datalog","head":"13bd856cf37f7e52bbe705cdd778de0c9b97ea32","before":"956d4f03597b931bb13b10fc7d6b0e30bb1b7388","commits":[{"sha":"13bd856cf37f7e52bbe705cdd778de0c9b97ea32","author":{"email":"luksan+pi-ivt490@gmail.com","name":"pi-ivt940"},"message":"log update Sun 02 Jan 2022 02:00:03 AM CET","distinct":true,"url":"https://api.github.com/repos/luksan/ivt490/commits/13bd856cf37f7e52bbe705cdd778de0c9b97ea32"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596889","type":"PushEvent","actor":{"id":33041980,"login":"hebawom","display_login":"hebawom","gravatar_id":"","url":"https://api.github.com/users/hebawom","avatar_url":"https://avatars.githubusercontent.com/u/33041980?"},"repo":{"id":385861604,"name":"hebawom/hebawom.github.io","url":"https://api.github.com/repos/hebawom/hebawom.github.io"},"payload":{"push_id":8735901859,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9c6e3ce6adf139298a941da5bb9e94917f49fadd","before":"cbd8f5c41e9f688f50cf278b392633793f7abd70","commits":[{"sha":"9c6e3ce6adf139298a941da5bb9e94917f49fadd","author":{"email":"33041980+hebawom@users.noreply.github.com","name":"hebawom"},"message":"python commit","distinct":true,"url":"https://api.github.com/repos/hebawom/hebawom.github.io/commits/9c6e3ce6adf139298a941da5bb9e94917f49fadd"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596893","type":"PushEvent","actor":{"id":95848666,"login":"libaibaibaia","display_login":"libaibaibaia","gravatar_id":"","url":"https://api.github.com/users/libaibaibaia","avatar_url":"https://avatars.githubusercontent.com/u/95848666?"},"repo":{"id":443610925,"name":"libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657","url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657"},"payload":{"push_id":8735901870,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6403cd60b4526eef2f321024aaea677d400ebddd","before":"7eab30fd9f9ecaa2e48a182e6c4b1a47031d2c35","commits":[{"sha":"6403cd60b4526eef2f321024aaea677d400ebddd","author":{"email":"95848666+libaibaibaia@users.noreply.github.com","name":"libaibaibaia"},"message":"upload file 293fdae9e24ed223f7b80980f6216ebd74b048c1498ed98095402726911a03f6a32000b6d6a8c7a02dfbc4ee29951c15af60bfaf7fb0fc5e974dd20e17dbcc9cvideo_2060_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657/commits/6403cd60b4526eef2f321024aaea677d400ebddd"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596899","type":"WatchEvent","actor":{"id":62381412,"login":"Utor220","display_login":"Utor220","gravatar_id":"","url":"https://api.github.com/users/Utor220","avatar_url":"https://avatars.githubusercontent.com/u/62381412?"},"repo":{"id":247692781,"name":"ViGEm/DsHidMini","url":"https://api.github.com/repos/ViGEm/DsHidMini"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":35784496,"login":"ViGEm","gravatar_id":"","url":"https://api.github.com/orgs/ViGEm","avatar_url":"https://avatars.githubusercontent.com/u/35784496?"}} +{"id":"19546596903","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371289,"node_id":"PRR_kwDOFeJvGc4yNZDZ","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:07Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371289","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371289"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546596904","type":"PushEvent","actor":{"id":89232984,"login":"lina127","display_login":"lina127","gravatar_id":"","url":"https://api.github.com/users/lina127","avatar_url":"https://avatars.githubusercontent.com/u/89232984?"},"repo":{"id":443649214,"name":"lina127/PlamFarm","url":"https://api.github.com/repos/lina127/PlamFarm"},"payload":{"push_id":8735901877,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"a2f94602ae8d2247468009c135737bbac23e6937","before":"030b25efc324c59459be17d4a6044ec1579e3b06","commits":[{"sha":"a2f94602ae8d2247468009c135737bbac23e6937","author":{"email":"89232984+lina127@users.noreply.github.com","name":"Lina Kim"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/lina127/PlamFarm/commits/a2f94602ae8d2247468009c135737bbac23e6937"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596907","type":"PushEvent","actor":{"id":86739701,"login":"ZzVAZYzZ","display_login":"ZzVAZYzZ","gravatar_id":"","url":"https://api.github.com/users/ZzVAZYzZ","avatar_url":"https://avatars.githubusercontent.com/u/86739701?"},"repo":{"id":405714951,"name":"ZzVAZYzZ/main","url":"https://api.github.com/repos/ZzVAZYzZ/main"},"payload":{"push_id":8735901869,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1d3c96539c6494b6e64edf4edd6f4bebdea156d1","before":"ee7c10d9652c3991eabcdae7dff491228e753eed","commits":[{"sha":"1d3c96539c6494b6e64edf4edd6f4bebdea156d1","author":{"email":"haiminh454@yahoo.com","name":"ZzVAZYzZ"},"message":"changed","distinct":true,"url":"https://api.github.com/repos/ZzVAZYzZ/main/commits/1d3c96539c6494b6e64edf4edd6f4bebdea156d1"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596908","type":"PushEvent","actor":{"id":18710147,"login":"njcx","display_login":"njcx","gravatar_id":"","url":"https://api.github.com/users/njcx","avatar_url":"https://avatars.githubusercontent.com/u/18710147?"},"repo":{"id":260698981,"name":"njcx/spark_cluster_by_docker","url":"https://api.github.com/repos/njcx/spark_cluster_by_docker"},"payload":{"push_id":8735901866,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cede041e9b7445b504026ef51825c650f1e51316","before":"5fd332aabda73909b86b1ead5551966bbf938a03","commits":[{"sha":"cede041e9b7445b504026ef51825c650f1e51316","author":{"email":"njcx86@gmail.com","name":"nJcx"},"message":"init","distinct":true,"url":"https://api.github.com/repos/njcx/spark_cluster_by_docker/commits/cede041e9b7445b504026ef51825c650f1e51316"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596912","type":"PushEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":43692783,"name":"clearlinux-pkgs/gcc","url":"https://api.github.com/repos/clearlinux-pkgs/gcc"},"payload":{"push_id":8735901872,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"cb33db36f4c82036531aa425bc90155e23efba52","before":"1c0cf68b8bafa0db4f5f66afab74a95b526e15e1","commits":[{"sha":"1571337cab78c0a2a9461be7caba1691f92e59a4","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"stable update to releases/gcc-11.2.0-616-ge6dcc14640","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/gcc/commits/1571337cab78c0a2a9461be7caba1691f92e59a4"},{"sha":"cb33db36f4c82036531aa425bc90155e23efba52","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"stable update to releases/gcc-11.2.0-618-g3b2b18144c","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/gcc/commits/cb33db36f4c82036531aa425bc90155e23efba52"}]},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546596914","type":"CreateEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":43692783,"name":"clearlinux-pkgs/gcc","url":"https://api.github.com/repos/clearlinux-pkgs/gcc"},"payload":{"ref":"11.2.0-1432","ref_type":"tag","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546596915","type":"WatchEvent","actor":{"id":37935337,"login":"AllofLife","display_login":"AllofLife","gravatar_id":"","url":"https://api.github.com/users/AllofLife","avatar_url":"https://avatars.githubusercontent.com/u/37935337?"},"repo":{"id":76972071,"name":"gogakoreli/snake","url":"https://api.github.com/repos/gogakoreli/snake"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596916","type":"PushEvent","actor":{"id":47672957,"login":"the404devs","display_login":"the404devs","gravatar_id":"","url":"https://api.github.com/users/the404devs","avatar_url":"https://avatars.githubusercontent.com/u/47672957?"},"repo":{"id":443611229,"name":"the404devs/First-World","url":"https://api.github.com/repos/the404devs/First-World"},"payload":{"push_id":8735901738,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7f7342862081532f13b003c7a74e6cece72f30dd","before":"ce4fb9ef9427c4e3b04d751bbdaa7bac096b88a3","commits":[{"sha":"7f7342862081532f13b003c7a74e6cece72f30dd","author":{"email":"the404devs@gmail.com","name":"Owen Bowden"},"message":"2019-12-05: Contents of `Darkwood Rise (6th Anniversary - 2019-12-05).zip`","distinct":true,"url":"https://api.github.com/repos/the404devs/First-World/commits/7f7342862081532f13b003c7a74e6cece72f30dd"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596917","type":"PushEvent","actor":{"id":53380118,"login":"remkes","display_login":"remkes","gravatar_id":"","url":"https://api.github.com/users/remkes","avatar_url":"https://avatars.githubusercontent.com/u/53380118?"},"repo":{"id":200544460,"name":"remkes/calculus2","url":"https://api.github.com/repos/remkes/calculus2"},"payload":{"push_id":8735901887,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"48c46b4ba3f3795bfd3c27b75c7061f45356f6e5","before":"94746f48d77d389394ec063d958fbb298b732154","commits":[{"sha":"48c46b4ba3f3795bfd3c27b75c7061f45356f6e5","author":{"email":"remkes.kooistra@kingsu.ca","name":"remkes"},"message":"Reorg before winter 2020 term","distinct":true,"url":"https://api.github.com/repos/remkes/calculus2/commits/48c46b4ba3f3795bfd3c27b75c7061f45356f6e5"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596919","type":"PushEvent","actor":{"id":13621271,"login":"ChameleonTartu","display_login":"ChameleonTartu","gravatar_id":"","url":"https://api.github.com/users/ChameleonTartu","avatar_url":"https://avatars.githubusercontent.com/u/13621271?"},"repo":{"id":356867737,"name":"ChameleonTartu/buymeacoffee-repo-stats","url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats"},"payload":{"push_id":8735901881,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"e6a7e991c600fdc2ce2d9edae5d874adbc045845","before":"fa00d518e6d7c1c3c46d0c57377f9a92fc47f302","commits":[{"sha":"c62868e00a5728d8aaec54ab83c9ca44d89eb322","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: report 01-02-0058-0D61 for greenbird/p360-contact-manager","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/c62868e00a5728d8aaec54ab83c9ca44d89eb322"},{"sha":"e6a7e991c600fdc2ce2d9edae5d874adbc045845","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/e6a7e991c600fdc2ce2d9edae5d874adbc045845"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596920","type":"PushEvent","actor":{"id":878993,"login":"dongri","display_login":"dongri","gravatar_id":"","url":"https://api.github.com/users/dongri","avatar_url":"https://avatars.githubusercontent.com/u/878993?"},"repo":{"id":49806758,"name":"dongri/pages","url":"https://api.github.com/repos/dongri/pages"},"payload":{"push_id":8735901880,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"1915038ec98371cecf6b755e5d2d40efd3a18475","before":"092b7ccdcbe0ac3e157b322104d4dcd459fba579","commits":[{"sha":"1915038ec98371cecf6b755e5d2d40efd3a18475","author":{"email":"dongrify@gmail.com","name":"Dongri Jin"},"message":"草","distinct":true,"url":"https://api.github.com/repos/dongri/pages/commits/1915038ec98371cecf6b755e5d2d40efd3a18475"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596921","type":"PushEvent","actor":{"id":89155218,"login":"Psychoterapiaodadoz","display_login":"Psychoterapiaodadoz","gravatar_id":"","url":"https://api.github.com/users/Psychoterapiaodadoz","avatar_url":"https://avatars.githubusercontent.com/u/89155218?"},"repo":{"id":397678574,"name":"Psychoterapiaodadoz/main","url":"https://api.github.com/repos/Psychoterapiaodadoz/main"},"payload":{"push_id":8735901884,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"67abd0a6845bc908418418a82855f349962b53cf","before":"23df9f36210402e72a90ee9e36412134d7c1ecb8","commits":[{"sha":"67abd0a6845bc908418418a82855f349962b53cf","author":{"email":"89155218+Psychoterapiaodadoz@users.noreply.github.com","name":"Psychoterapiaodadoz"},"message":"Update articles.html","distinct":true,"url":"https://api.github.com/repos/Psychoterapiaodadoz/main/commits/67abd0a6845bc908418418a82855f349962b53cf"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596922","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735901886,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"92afd603c6accde20113a6e5a571654b0af4c540","before":"a0d517a76c221ff0f4cc075dc79f8cd7142ef594","commits":[{"sha":"92afd603c6accde20113a6e5a571654b0af4c540","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update news392_2.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/92afd603c6accde20113a6e5a571654b0af4c540"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596924","type":"PushEvent","actor":{"id":352441,"login":"ym","display_login":"ym","gravatar_id":"","url":"https://api.github.com/users/ym","avatar_url":"https://avatars.githubusercontent.com/u/352441?"},"repo":{"id":135142260,"name":"misakaio/chnroutes2","url":"https://api.github.com/repos/misakaio/chnroutes2"},"payload":{"push_id":8735901882,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"21b96896af62c16d3515b43858c419b8e1d7832d","before":"3c55148adbf6daacd74ba33aee0aba5fc59bf924","commits":[{"sha":"21b96896af62c16d3515b43858c419b8e1d7832d","author":{"email":"noc@misaka.io","name":"RouteBot"},"message":"auto update","distinct":true,"url":"https://api.github.com/repos/misakaio/chnroutes2/commits/21b96896af62c16d3515b43858c419b8e1d7832d"}]},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":29917333,"login":"misakaio","gravatar_id":"","url":"https://api.github.com/orgs/misakaio","avatar_url":"https://avatars.githubusercontent.com/u/29917333?"}} +{"id":"19546596929","type":"PullRequestEvent","actor":{"id":2276355,"login":"dnicolson","display_login":"dnicolson","gravatar_id":"","url":"https://api.github.com/users/dnicolson","avatar_url":"https://avatars.githubusercontent.com/u/2276355?"},"repo":{"id":189771833,"name":"dnicolson/Binary-Plist","url":"https://api.github.com/repos/dnicolson/Binary-Plist"},"payload":{"action":"closed","number":83,"pull_request":{"url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83","id":812442864,"node_id":"PR_kwDOC0-wOc4wbOTw","html_url":"https://github.com/dnicolson/Binary-Plist/pull/83","diff_url":"https://github.com/dnicolson/Binary-Plist/pull/83.diff","patch_url":"https://github.com/dnicolson/Binary-Plist/pull/83.patch","issue_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/83","number":83,"state":"closed","locked":false,"title":"Bump @typescript-eslint/parser from 5.7.0 to 5.8.1","user":{"login":"dependabot[bot]","id":49699333,"node_id":"MDM6Qm90NDk2OTkzMzM=","avatar_url":"https://avatars.githubusercontent.com/in/29110?v=4","gravatar_id":"","url":"https://api.github.com/users/dependabot%5Bbot%5D","html_url":"https://github.com/apps/dependabot","followers_url":"https://api.github.com/users/dependabot%5Bbot%5D/followers","following_url":"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/dependabot%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/dependabot%5Bbot%5D/repos","events_url":"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/dependabot%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.7.0 to 5.8.1.\n
\nRelease notes\n

Sourced from @​typescript-eslint/parser's releases.

\n
\n

v5.8.1

\n

5.8.1 (2021-12-27)

\n

Bug Fixes

\n
    \n
  • eslint-plugin: [consistent-indexed-object-style] do not report for circular references (#4347) (6edebcd)
  • \n
  • eslint-plugin: [consistent-type-definitions] correct fixer with declare keyword (#4334) (0cd911a)
  • \n
  • eslint-plugin: [padding-line-between-statements] make function overloading is also processed (#4345) (d31ec26)
  • \n
\n

v5.8.0

\n

5.8.0 (2021-12-20)

\n

Bug Fixes

\n
    \n
  • eslint-plugin: [no-implied-eval] improve performance (#4313) (e344596)
  • \n
  • eslint-plugin: [padding-line-between-statements] type StatementTypes can't differenciate from variable (#4270) (bfc4324)
  • \n
  • eslint-plugin: [strict-boolean-expression] false positive for truthy boolean (#4275) (72c2e41)
  • \n
  • eslint-plugin: array-type mark AST_NODE_TYPES.TSBigIntKeyword as simple (#4274) (74e544e)
  • \n
  • eslint-plugin: handle method overloading in semi (#4318) (3b87b49)
  • \n
  • experimental-utils: support immutable members (#3844) (3d33a77)
  • \n
\n

Features

\n
    \n
  • eslint-plugin: [no-throw-literal] add options to to disallow any/unknown (#4207) (ff0adf9)
  • \n
  • eslint-plugin: [restrict-plus-operand] add allowAny option (#4260) (2788545)
  • \n
\n
\n
\n
\nChangelog\n

Sourced from @​typescript-eslint/parser's changelog.

\n
\n

5.8.1 (2021-12-27)

\n

Note: Version bump only for package @​typescript-eslint/parser

\n

5.8.0 (2021-12-20)

\n

Note: Version bump only for package @​typescript-eslint/parser

\n
\n
\n
\nCommits\n\n
\n
\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/parser&package-manager=npm_and_yarn&previous-version=5.7.0&new-version=5.8.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n
\nDependabot commands and options\n
\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n
","created_at":"2021-12-31T20:00:34Z","updated_at":"2022-01-02T01:00:06Z","closed_at":"2022-01-02T01:00:06Z","merged_at":"2022-01-02T01:00:06Z","merge_commit_sha":"445cd610eea94d7f02683f30c3cd00567729285a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1449726767,"node_id":"MDU6TGFiZWwxNDQ5NzI2NzY3","url":"https://api.github.com/repos/dnicolson/Binary-Plist/labels/dependencies","name":"dependencies","color":"0366d6","default":false,"description":"Pull requests that update a dependency file"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83/commits","review_comments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83/comments","review_comment_url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/83/comments","statuses_url":"https://api.github.com/repos/dnicolson/Binary-Plist/statuses/e117dc47c0f6927065ee80edffee06ead8bb37c9","head":{"label":"dnicolson:dependabot/npm_and_yarn/typescript-eslint/parser-5.8.1","ref":"dependabot/npm_and_yarn/typescript-eslint/parser-5.8.1","sha":"e117dc47c0f6927065ee80edffee06ead8bb37c9","user":{"login":"dnicolson","id":2276355,"node_id":"MDQ6VXNlcjIyNzYzNTU=","avatar_url":"https://avatars.githubusercontent.com/u/2276355?v=4","gravatar_id":"","url":"https://api.github.com/users/dnicolson","html_url":"https://github.com/dnicolson","followers_url":"https://api.github.com/users/dnicolson/followers","following_url":"https://api.github.com/users/dnicolson/following{/other_user}","gists_url":"https://api.github.com/users/dnicolson/gists{/gist_id}","starred_url":"https://api.github.com/users/dnicolson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnicolson/subscriptions","organizations_url":"https://api.github.com/users/dnicolson/orgs","repos_url":"https://api.github.com/users/dnicolson/repos","events_url":"https://api.github.com/users/dnicolson/events{/privacy}","received_events_url":"https://api.github.com/users/dnicolson/received_events","type":"User","site_admin":false},"repo":{"id":189771833,"node_id":"MDEwOlJlcG9zaXRvcnkxODk3NzE4MzM=","name":"Binary-Plist","full_name":"dnicolson/Binary-Plist","private":false,"owner":{"login":"dnicolson","id":2276355,"node_id":"MDQ6VXNlcjIyNzYzNTU=","avatar_url":"https://avatars.githubusercontent.com/u/2276355?v=4","gravatar_id":"","url":"https://api.github.com/users/dnicolson","html_url":"https://github.com/dnicolson","followers_url":"https://api.github.com/users/dnicolson/followers","following_url":"https://api.github.com/users/dnicolson/following{/other_user}","gists_url":"https://api.github.com/users/dnicolson/gists{/gist_id}","starred_url":"https://api.github.com/users/dnicolson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnicolson/subscriptions","organizations_url":"https://api.github.com/users/dnicolson/orgs","repos_url":"https://api.github.com/users/dnicolson/repos","events_url":"https://api.github.com/users/dnicolson/events{/privacy}","received_events_url":"https://api.github.com/users/dnicolson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/dnicolson/Binary-Plist","description":"🔀 Visual Studio Code extension to read and write binary plist files","fork":false,"url":"https://api.github.com/repos/dnicolson/Binary-Plist","forks_url":"https://api.github.com/repos/dnicolson/Binary-Plist/forks","keys_url":"https://api.github.com/repos/dnicolson/Binary-Plist/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dnicolson/Binary-Plist/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dnicolson/Binary-Plist/teams","hooks_url":"https://api.github.com/repos/dnicolson/Binary-Plist/hooks","issue_events_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/events{/number}","events_url":"https://api.github.com/repos/dnicolson/Binary-Plist/events","assignees_url":"https://api.github.com/repos/dnicolson/Binary-Plist/assignees{/user}","branches_url":"https://api.github.com/repos/dnicolson/Binary-Plist/branches{/branch}","tags_url":"https://api.github.com/repos/dnicolson/Binary-Plist/tags","blobs_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/refs{/sha}","trees_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dnicolson/Binary-Plist/statuses/{sha}","languages_url":"https://api.github.com/repos/dnicolson/Binary-Plist/languages","stargazers_url":"https://api.github.com/repos/dnicolson/Binary-Plist/stargazers","contributors_url":"https://api.github.com/repos/dnicolson/Binary-Plist/contributors","subscribers_url":"https://api.github.com/repos/dnicolson/Binary-Plist/subscribers","subscription_url":"https://api.github.com/repos/dnicolson/Binary-Plist/subscription","commits_url":"https://api.github.com/repos/dnicolson/Binary-Plist/commits{/sha}","git_commits_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/commits{/sha}","comments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/comments{/number}","issue_comment_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/comments{/number}","contents_url":"https://api.github.com/repos/dnicolson/Binary-Plist/contents/{+path}","compare_url":"https://api.github.com/repos/dnicolson/Binary-Plist/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dnicolson/Binary-Plist/merges","archive_url":"https://api.github.com/repos/dnicolson/Binary-Plist/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dnicolson/Binary-Plist/downloads","issues_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues{/number}","pulls_url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls{/number}","milestones_url":"https://api.github.com/repos/dnicolson/Binary-Plist/milestones{/number}","notifications_url":"https://api.github.com/repos/dnicolson/Binary-Plist/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dnicolson/Binary-Plist/labels{/name}","releases_url":"https://api.github.com/repos/dnicolson/Binary-Plist/releases{/id}","deployments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/deployments","created_at":"2019-06-01T19:47:31Z","updated_at":"2021-12-31T13:26:04Z","pushed_at":"2022-01-02T01:00:06Z","git_url":"git://github.com/dnicolson/Binary-Plist.git","ssh_url":"git@github.com:dnicolson/Binary-Plist.git","clone_url":"https://github.com/dnicolson/Binary-Plist.git","svn_url":"https://github.com/dnicolson/Binary-Plist","homepage":"","size":3138,"stargazers_count":6,"watchers_count":6,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":3,"watchers":6,"default_branch":"master"}},"base":{"label":"dnicolson:master","ref":"master","sha":"6f72950473e07ac552d504cfcae063c021652d69","user":{"login":"dnicolson","id":2276355,"node_id":"MDQ6VXNlcjIyNzYzNTU=","avatar_url":"https://avatars.githubusercontent.com/u/2276355?v=4","gravatar_id":"","url":"https://api.github.com/users/dnicolson","html_url":"https://github.com/dnicolson","followers_url":"https://api.github.com/users/dnicolson/followers","following_url":"https://api.github.com/users/dnicolson/following{/other_user}","gists_url":"https://api.github.com/users/dnicolson/gists{/gist_id}","starred_url":"https://api.github.com/users/dnicolson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnicolson/subscriptions","organizations_url":"https://api.github.com/users/dnicolson/orgs","repos_url":"https://api.github.com/users/dnicolson/repos","events_url":"https://api.github.com/users/dnicolson/events{/privacy}","received_events_url":"https://api.github.com/users/dnicolson/received_events","type":"User","site_admin":false},"repo":{"id":189771833,"node_id":"MDEwOlJlcG9zaXRvcnkxODk3NzE4MzM=","name":"Binary-Plist","full_name":"dnicolson/Binary-Plist","private":false,"owner":{"login":"dnicolson","id":2276355,"node_id":"MDQ6VXNlcjIyNzYzNTU=","avatar_url":"https://avatars.githubusercontent.com/u/2276355?v=4","gravatar_id":"","url":"https://api.github.com/users/dnicolson","html_url":"https://github.com/dnicolson","followers_url":"https://api.github.com/users/dnicolson/followers","following_url":"https://api.github.com/users/dnicolson/following{/other_user}","gists_url":"https://api.github.com/users/dnicolson/gists{/gist_id}","starred_url":"https://api.github.com/users/dnicolson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnicolson/subscriptions","organizations_url":"https://api.github.com/users/dnicolson/orgs","repos_url":"https://api.github.com/users/dnicolson/repos","events_url":"https://api.github.com/users/dnicolson/events{/privacy}","received_events_url":"https://api.github.com/users/dnicolson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/dnicolson/Binary-Plist","description":"🔀 Visual Studio Code extension to read and write binary plist files","fork":false,"url":"https://api.github.com/repos/dnicolson/Binary-Plist","forks_url":"https://api.github.com/repos/dnicolson/Binary-Plist/forks","keys_url":"https://api.github.com/repos/dnicolson/Binary-Plist/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dnicolson/Binary-Plist/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dnicolson/Binary-Plist/teams","hooks_url":"https://api.github.com/repos/dnicolson/Binary-Plist/hooks","issue_events_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/events{/number}","events_url":"https://api.github.com/repos/dnicolson/Binary-Plist/events","assignees_url":"https://api.github.com/repos/dnicolson/Binary-Plist/assignees{/user}","branches_url":"https://api.github.com/repos/dnicolson/Binary-Plist/branches{/branch}","tags_url":"https://api.github.com/repos/dnicolson/Binary-Plist/tags","blobs_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/refs{/sha}","trees_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dnicolson/Binary-Plist/statuses/{sha}","languages_url":"https://api.github.com/repos/dnicolson/Binary-Plist/languages","stargazers_url":"https://api.github.com/repos/dnicolson/Binary-Plist/stargazers","contributors_url":"https://api.github.com/repos/dnicolson/Binary-Plist/contributors","subscribers_url":"https://api.github.com/repos/dnicolson/Binary-Plist/subscribers","subscription_url":"https://api.github.com/repos/dnicolson/Binary-Plist/subscription","commits_url":"https://api.github.com/repos/dnicolson/Binary-Plist/commits{/sha}","git_commits_url":"https://api.github.com/repos/dnicolson/Binary-Plist/git/commits{/sha}","comments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/comments{/number}","issue_comment_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/comments{/number}","contents_url":"https://api.github.com/repos/dnicolson/Binary-Plist/contents/{+path}","compare_url":"https://api.github.com/repos/dnicolson/Binary-Plist/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dnicolson/Binary-Plist/merges","archive_url":"https://api.github.com/repos/dnicolson/Binary-Plist/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dnicolson/Binary-Plist/downloads","issues_url":"https://api.github.com/repos/dnicolson/Binary-Plist/issues{/number}","pulls_url":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls{/number}","milestones_url":"https://api.github.com/repos/dnicolson/Binary-Plist/milestones{/number}","notifications_url":"https://api.github.com/repos/dnicolson/Binary-Plist/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dnicolson/Binary-Plist/labels{/name}","releases_url":"https://api.github.com/repos/dnicolson/Binary-Plist/releases{/id}","deployments_url":"https://api.github.com/repos/dnicolson/Binary-Plist/deployments","created_at":"2019-06-01T19:47:31Z","updated_at":"2021-12-31T13:26:04Z","pushed_at":"2022-01-02T01:00:06Z","git_url":"git://github.com/dnicolson/Binary-Plist.git","ssh_url":"git@github.com:dnicolson/Binary-Plist.git","clone_url":"https://github.com/dnicolson/Binary-Plist.git","svn_url":"https://github.com/dnicolson/Binary-Plist","homepage":"","size":3138,"stargazers_count":6,"watchers_count":6,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":1,"open_issues":3,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83"},"html":{"href":"https://github.com/dnicolson/Binary-Plist/pull/83"},"issue":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/83"},"comments":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/issues/83/comments"},"review_comments":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83/comments"},"review_comment":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/pulls/83/commits"},"statuses":{"href":"https://api.github.com/repos/dnicolson/Binary-Plist/statuses/e117dc47c0f6927065ee80edffee06ead8bb37c9"}},"author_association":"CONTRIBUTOR","auto_merge":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"dnicolson","id":2276355,"node_id":"MDQ6VXNlcjIyNzYzNTU=","avatar_url":"https://avatars.githubusercontent.com/u/2276355?v=4","gravatar_id":"","url":"https://api.github.com/users/dnicolson","html_url":"https://github.com/dnicolson","followers_url":"https://api.github.com/users/dnicolson/followers","following_url":"https://api.github.com/users/dnicolson/following{/other_user}","gists_url":"https://api.github.com/users/dnicolson/gists{/gist_id}","starred_url":"https://api.github.com/users/dnicolson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dnicolson/subscriptions","organizations_url":"https://api.github.com/users/dnicolson/orgs","repos_url":"https://api.github.com/users/dnicolson/repos","events_url":"https://api.github.com/users/dnicolson/events{/privacy}","received_events_url":"https://api.github.com/users/dnicolson/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":48,"deletions":48,"changed_files":2}},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596932","type":"PushEvent","actor":{"id":18024210,"login":"maxwell-jun","display_login":"maxwell-jun","gravatar_id":"","url":"https://api.github.com/users/maxwell-jun","avatar_url":"https://avatars.githubusercontent.com/u/18024210?"},"repo":{"id":231216142,"name":"maxwell-jun/NewDailySignIn","url":"https://api.github.com/repos/maxwell-jun/NewDailySignIn"},"payload":{"push_id":8735901889,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3852eb0d02e68e7c97f44f15244501db05468f01","before":"57ba7e497f9bbeb9f53ecd714a8255d39652202f","commits":[{"sha":"3852eb0d02e68e7c97f44f15244501db05468f01","author":{"email":"maxwell_jun@163.com","name":"maxwell"},"message":"20220102-010001","distinct":true,"url":"https://api.github.com/repos/maxwell-jun/NewDailySignIn/commits/3852eb0d02e68e7c97f44f15244501db05468f01"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596937","type":"PushEvent","actor":{"id":90582067,"login":"FedericoD3","display_login":"FedericoD3","gravatar_id":"","url":"https://api.github.com/users/FedericoD3","avatar_url":"https://avatars.githubusercontent.com/u/90582067?"},"repo":{"id":443186361,"name":"FedericoD3/LogsQM","url":"https://api.github.com/repos/FedericoD3/LogsQM"},"payload":{"push_id":8735901899,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c9ec6baeccef98b94e1144eb489922683a28871c","before":"2d6b39773c24b4329f394c976ba6e1f1f57b2728","commits":[{"sha":"c9ec6baeccef98b94e1144eb489922683a28871c","author":{"email":"your@email.com","name":"Federico Duran"},"message":"Update del 2022-01-01_21:00","distinct":true,"url":"https://api.github.com/repos/FedericoD3/LogsQM/commits/c9ec6baeccef98b94e1144eb489922683a28871c"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596938","type":"PushEvent","actor":{"id":87412134,"login":"vophu1991","display_login":"vophu1991","gravatar_id":"","url":"https://api.github.com/users/vophu1991","avatar_url":"https://avatars.githubusercontent.com/u/87412134?"},"repo":{"id":400809901,"name":"vophu1991/iptv1","url":"https://api.github.com/repos/vophu1991/iptv1"},"payload":{"push_id":8735901905,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"634badd962a3a8d8b3e0e0538326863cc1afdab2","before":"085397441e9e06d38e2f097ee46f8be082c5e3bc","commits":[{"sha":"634badd962a3a8d8b3e0e0538326863cc1afdab2","author":{"email":"87412134+vophu1991@users.noreply.github.com","name":"vophu1991"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/vophu1991/iptv1/commits/634badd962a3a8d8b3e0e0538326863cc1afdab2"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596954","type":"PushEvent","actor":{"id":35780502,"login":"bthompson7","display_login":"bthompson7","gravatar_id":"","url":"https://api.github.com/users/bthompson7","avatar_url":"https://avatars.githubusercontent.com/u/35780502?"},"repo":{"id":237661423,"name":"bthompson7/pi-sensor","url":"https://api.github.com/repos/bthompson7/pi-sensor"},"payload":{"push_id":8735901913,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f04b3248477b18014e877afbaec07805f640793a","before":"9bdff75eb33a74b96553b93f0fe80f8efe6a5b15","commits":[{"sha":"f04b3248477b18014e877afbaec07805f640793a","author":{"email":"splitoe@gmail.com","name":"bthompson7"},"message":"Nightly automatic database backup","distinct":true,"url":"https://api.github.com/repos/bthompson7/pi-sensor/commits/f04b3248477b18014e877afbaec07805f640793a"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596955","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735901914,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"7d6f61b46e2dd7b21e153d965184c1758c223158","before":"cafb13560eb20604b29bd88f7fb4484f998cb819","commits":[{"sha":"7d6f61b46e2dd7b21e153d965184c1758c223158","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:06 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/7d6f61b46e2dd7b21e153d965184c1758c223158"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596957","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":394114116,"name":"Funnyzinho/Funnyzinho","url":"https://api.github.com/repos/Funnyzinho/Funnyzinho"},"payload":{"push_id":8735901915,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"3cab2b5ac5c16eda921bd845fc44ca5b0365149c","before":"84dd6e7e2d14f7f187c11a83d1c3ad4d88191cbf","commits":[{"sha":"3cab2b5ac5c16eda921bd845fc44ca5b0365149c","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/Funnyzinho/Funnyzinho/commits/3cab2b5ac5c16eda921bd845fc44ca5b0365149c"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596962","type":"PushEvent","actor":{"id":5690934,"login":"Lars-","display_login":"Lars-","gravatar_id":"","url":"https://api.github.com/users/Lars-","avatar_url":"https://avatars.githubusercontent.com/u/5690934?"},"repo":{"id":297981397,"name":"Lars-/PIA-servers","url":"https://api.github.com/repos/Lars-/PIA-servers"},"payload":{"push_id":8735901918,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"dd2a23443123c83cd82562e8afe09bc9837f35d3","before":"327246886830d0ae7aee3914034c579a990165d5","commits":[{"sha":"dd2a23443123c83cd82562e8afe09bc9837f35d3","author":{"email":"lars@ljpc.nl","name":"Lars Jansen"},"message":"Scheduled update","distinct":true,"url":"https://api.github.com/repos/Lars-/PIA-servers/commits/dd2a23443123c83cd82562e8afe09bc9837f35d3"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596964","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735901930,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b9b3d99ca04e92d771c3c96ba5ec0c4e51ce7a05","before":"3140e61f220d26f345927cf7e40dbbc2b13205f1","commits":[{"sha":"b9b3d99ca04e92d771c3c96ba5ec0c4e51ce7a05","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog1138_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/b9b3d99ca04e92d771c3c96ba5ec0c4e51ce7a05"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596965","type":"PushEvent","actor":{"id":86405567,"login":"ADAttitude","display_login":"ADAttitude","gravatar_id":"","url":"https://api.github.com/users/ADAttitude","avatar_url":"https://avatars.githubusercontent.com/u/86405567?"},"repo":{"id":379863144,"name":"ADAttitude/ADAttitude.github.io","url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io"},"payload":{"push_id":8735901917,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e2c1c0be804e4ec2072f8510bc40531dea4486c2","before":"72e37d8dae9547372ed8302c6cbe45b816c228f5","commits":[{"sha":"e2c1c0be804e4ec2072f8510bc40531dea4486c2","author":{"email":"86405567+ADAttitude@users.noreply.github.com","name":"ADAttitude"},"message":"Update list of player scores","distinct":true,"url":"https://api.github.com/repos/ADAttitude/ADAttitude.github.io/commits/e2c1c0be804e4ec2072f8510bc40531dea4486c2"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596967","type":"PushEvent","actor":{"id":35032477,"login":"d2a-pnagel","display_login":"d2a-pnagel","gravatar_id":"","url":"https://api.github.com/users/d2a-pnagel","avatar_url":"https://avatars.githubusercontent.com/u/35032477?"},"repo":{"id":281976195,"name":"data2act/open-data","url":"https://api.github.com/repos/data2act/open-data"},"payload":{"push_id":8735901910,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b27a2029bf40aaa184f5f1d67702bf39015bb421","before":"f8b5fa260fd18849f7cf8f904619b44d6b249423","commits":[{"sha":"b27a2029bf40aaa184f5f1d67702bf39015bb421","author":{"email":"ad@valuecare.nl","name":"Helmhaar"},"message":"Downloaded files","distinct":true,"url":"https://api.github.com/repos/data2act/open-data/commits/b27a2029bf40aaa184f5f1d67702bf39015bb421"}]},"public":true,"created_at":"2022-01-02T01:00:07Z","org":{"id":4310788,"login":"data2act","gravatar_id":"","url":"https://api.github.com/orgs/data2act","avatar_url":"https://avatars.githubusercontent.com/u/4310788?"}} +{"id":"19546596970","type":"PushEvent","actor":{"id":2276355,"login":"dnicolson","display_login":"dnicolson","gravatar_id":"","url":"https://api.github.com/users/dnicolson","avatar_url":"https://avatars.githubusercontent.com/u/2276355?"},"repo":{"id":189771833,"name":"dnicolson/Binary-Plist","url":"https://api.github.com/repos/dnicolson/Binary-Plist"},"payload":{"push_id":8735901931,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"445cd610eea94d7f02683f30c3cd00567729285a","before":"6f72950473e07ac552d504cfcae063c021652d69","commits":[{"sha":"e117dc47c0f6927065ee80edffee06ead8bb37c9","author":{"email":"49699333+dependabot[bot]@users.noreply.github.com","name":"dependabot[bot]"},"message":"Bump @typescript-eslint/parser from 5.7.0 to 5.8.1\n\nBumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.7.0 to 5.8.1.\n- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)\n- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)\n- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.8.1/packages/parser)\n\n---\nupdated-dependencies:\n- dependency-name: \"@typescript-eslint/parser\"\n dependency-type: direct:development\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ","distinct":true,"url":"https://api.github.com/repos/dnicolson/Binary-Plist/commits/e117dc47c0f6927065ee80edffee06ead8bb37c9"},{"sha":"445cd610eea94d7f02683f30c3cd00567729285a","author":{"email":"david.nicolson@gmail.com","name":"Dave Nicolson"},"message":"Merge pull request #83 from dnicolson/dependabot/npm_and_yarn/typescript-eslint/parser-5.8.1","distinct":true,"url":"https://api.github.com/repos/dnicolson/Binary-Plist/commits/445cd610eea94d7f02683f30c3cd00567729285a"}]},"public":true,"created_at":"2022-01-02T01:00:07Z"} +{"id":"19546596973","type":"PushEvent","actor":{"id":11965368,"login":"majidalaeinia","display_login":"majidalaeinia","gravatar_id":"","url":"https://api.github.com/users/majidalaeinia","avatar_url":"https://avatars.githubusercontent.com/u/11965368?"},"repo":{"id":443650796,"name":"majidalaeinia/subtitle-renamifier","url":"https://api.github.com/repos/majidalaeinia/subtitle-renamifier"},"payload":{"push_id":8735901945,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bb8fd6a1ec804b025fb37df041aab4c0f25eeb51","before":"d0f8c83ebda680e7ae3335df0d0de241b98e3755","commits":[{"sha":"bb8fd6a1ec804b025fb37df041aab4c0f25eeb51","author":{"email":"alaeinia.majid@gmail.com","name":"Majid Alaeinia"},"message":"Move the image to the top of the readme","distinct":true,"url":"https://api.github.com/repos/majidalaeinia/subtitle-renamifier/commits/bb8fd6a1ec804b025fb37df041aab4c0f25eeb51"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596974","type":"PushEvent","actor":{"id":693300,"login":"labeneko","display_login":"labeneko","gravatar_id":"","url":"https://api.github.com/users/labeneko","avatar_url":"https://avatars.githubusercontent.com/u/693300?"},"repo":{"id":411148177,"name":"labeneko/time","url":"https://api.github.com/repos/labeneko/time"},"payload":{"push_id":8735901932,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"6e8d6bc969beacb0ed70fcbe7fc775eb1ea20639","before":"89c24fd4482f9d100d611895fb9ec3ee0ab451d7","commits":[{"sha":"6e8d6bc969beacb0ed70fcbe7fc775eb1ea20639","author":{"email":"ec2-user@example.com","name":"ec2-user"},"message":"時間を保存","distinct":true,"url":"https://api.github.com/repos/labeneko/time/commits/6e8d6bc969beacb0ed70fcbe7fc775eb1ea20639"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596976","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8735901943,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"314b853bd83d3a214046c569cf2b5e7f1dede44c","before":"0146675b56c3e637a7d92a2fdaa3ed4d230510af","commits":[{"sha":"314b853bd83d3a214046c569cf2b5e7f1dede44c","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/314b853bd83d3a214046c569cf2b5e7f1dede44c"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596977","type":"PushEvent","actor":{"id":96756216,"login":"fsadfsda","display_login":"fsadfsda","gravatar_id":"","url":"https://api.github.com/users/fsadfsda","avatar_url":"https://avatars.githubusercontent.com/u/96756216?"},"repo":{"id":443617733,"name":"fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4","url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4"},"payload":{"push_id":8735901944,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c5f55b66909078fb1b4c7099b8427e0c07addeb3","before":"f5e193ce4560fb30c4ea951a972d6c56332044bf","commits":[{"sha":"c5f55b66909078fb1b4c7099b8427e0c07addeb3","author":{"email":"96756216+fsadfsda@users.noreply.github.com","name":"fsadfsda"},"message":"upload file b04a51b503c23390399c39db437b927240688da92fab708e7ab544b21654bc50fdde3fb16aabd257dc88429d1bedde12video_443_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4/commits/c5f55b66909078fb1b4c7099b8427e0c07addeb3"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596978","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":437063043,"name":"ewandrotab/ewandrotab","url":"https://api.github.com/repos/ewandrotab/ewandrotab"},"payload":{"push_id":8735901942,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"2b702ab29a2c998970c54d51af0e7df35f188e0c","before":"923ce02e1f2b92e42608885af99125f588f2dfac","commits":[{"sha":"2b702ab29a2c998970c54d51af0e7df35f188e0c","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/ewandrotab/ewandrotab/commits/2b702ab29a2c998970c54d51af0e7df35f188e0c"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596980","type":"CreateEvent","actor":{"id":5574,"login":"serdar","display_login":"serdar","gravatar_id":"","url":"https://api.github.com/users/serdar","avatar_url":"https://avatars.githubusercontent.com/u/5574?"},"repo":{"id":443654645,"name":"serdar/serdar","url":"https://api.github.com/repos/serdar/serdar"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596981","type":"PushEvent","actor":{"id":3126484,"login":"hakatashi","display_login":"hakatashi","gravatar_id":"","url":"https://api.github.com/users/hakatashi","avatar_url":"https://avatars.githubusercontent.com/u/3126484?"},"repo":{"id":372285142,"name":"hakatashi/word.hakatashi.com","url":"https://api.github.com/repos/hakatashi/word.hakatashi.com"},"payload":{"push_id":8735901935,"size":1,"distinct_size":1,"ref":"refs/heads/source","head":"08b4c24d13ba73bd521610aa6cdae47550ad23a1","before":"123095eb74266001452a98e8ee280c4473c06cf1","commits":[{"sha":"08b4c24d13ba73bd521610aa6cdae47550ad23a1","author":{"email":"hakatasiloving@gmail.com","name":"Koki Takahashi"},"message":"BOT: Add source/_posts/瑕瑾.md","distinct":true,"url":"https://api.github.com/repos/hakatashi/word.hakatashi.com/commits/08b4c24d13ba73bd521610aa6cdae47550ad23a1"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596987","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":405420337,"name":"lucasdutradev/lucasdutradev","url":"https://api.github.com/repos/lucasdutradev/lucasdutradev"},"payload":{"push_id":8735901947,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"1ce4707246e03fcaf53de11f5af6974b8336a9a8","before":"72dc6fdff42e82b89e2b8e15e3810679ab8114eb","commits":[{"sha":"1ce4707246e03fcaf53de11f5af6974b8336a9a8","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/lucasdutradev/lucasdutradev/commits/1ce4707246e03fcaf53de11f5af6974b8336a9a8"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596992","type":"PullRequestEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"action":"opened","number":34104,"pull_request":{"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104","id":812662846,"node_id":"PR_kwDOGFjbLs4wcEA-","html_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34104","diff_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34104.diff","patch_url":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34104.patch","issue_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34104","number":34104,"state":"open","locked":false,"title":"[Witness] mhutchinson.witness: Rekor@1017292","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"body":null,"created_at":"2022-01-02T01:00:07Z","updated_at":"2022-01-02T01:00:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104/commits","review_comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104/comments","review_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34104/comments","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/426fc7f628e367c0674c2fe3a48585a29bbdc2d5","head":{"label":"mhutchinson:witness_mhutchinson_witness_rekor_sigstore_dev","ref":"witness_mhutchinson_witness_rekor_sigstore_dev","sha":"426fc7f628e367c0674c2fe3a48585a29bbdc2d5","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"repo":{"id":408476462,"node_id":"MDEwOlJlcG9zaXRvcnk0MDg0NzY0NjI=","name":"mhutchinson-distributor","full_name":"mhutchinson/mhutchinson-distributor","private":false,"owner":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mhutchinson/mhutchinson-distributor","description":"Distributor for witnessed log checkpoints","fork":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor","forks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/forks","keys_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/teams","hooks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/hooks","issue_events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/events{/number}","events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/events","assignees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/assignees{/user}","branches_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/branches{/branch}","tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/tags","blobs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/refs{/sha}","trees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/{sha}","languages_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/languages","stargazers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/stargazers","contributors_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contributors","subscribers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscribers","subscription_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscription","commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits{/sha}","git_commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/commits{/sha}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/comments{/number}","issue_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/comments{/number}","contents_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contents/{+path}","compare_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/merges","archive_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/downloads","issues_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues{/number}","pulls_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls{/number}","milestones_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/milestones{/number}","notifications_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/labels{/name}","releases_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/releases{/id}","deployments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/deployments","created_at":"2021-09-20T14:30:28Z","updated_at":"2022-01-02T00:58:29Z","pushed_at":"2022-01-02T01:00:07Z","git_url":"git://github.com/mhutchinson/mhutchinson-distributor.git","ssh_url":"git@github.com:mhutchinson/mhutchinson-distributor.git","clone_url":"https://github.com/mhutchinson/mhutchinson-distributor.git","svn_url":"https://github.com/mhutchinson/mhutchinson-distributor","homepage":null,"size":26282,"stargazers_count":1,"watchers_count":1,"language":"Roff","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":5,"open_issues":3,"watchers":1,"default_branch":"main"}},"base":{"label":"mhutchinson:main","ref":"main","sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","user":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"repo":{"id":408476462,"node_id":"MDEwOlJlcG9zaXRvcnk0MDg0NzY0NjI=","name":"mhutchinson-distributor","full_name":"mhutchinson/mhutchinson-distributor","private":false,"owner":{"login":"mhutchinson","id":1355668,"node_id":"MDQ6VXNlcjEzNTU2Njg=","avatar_url":"https://avatars.githubusercontent.com/u/1355668?v=4","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","html_url":"https://github.com/mhutchinson","followers_url":"https://api.github.com/users/mhutchinson/followers","following_url":"https://api.github.com/users/mhutchinson/following{/other_user}","gists_url":"https://api.github.com/users/mhutchinson/gists{/gist_id}","starred_url":"https://api.github.com/users/mhutchinson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhutchinson/subscriptions","organizations_url":"https://api.github.com/users/mhutchinson/orgs","repos_url":"https://api.github.com/users/mhutchinson/repos","events_url":"https://api.github.com/users/mhutchinson/events{/privacy}","received_events_url":"https://api.github.com/users/mhutchinson/received_events","type":"User","site_admin":false},"html_url":"https://github.com/mhutchinson/mhutchinson-distributor","description":"Distributor for witnessed log checkpoints","fork":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor","forks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/forks","keys_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/teams","hooks_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/hooks","issue_events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/events{/number}","events_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/events","assignees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/assignees{/user}","branches_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/branches{/branch}","tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/tags","blobs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/refs{/sha}","trees_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/{sha}","languages_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/languages","stargazers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/stargazers","contributors_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contributors","subscribers_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscribers","subscription_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/subscription","commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits{/sha}","git_commits_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/git/commits{/sha}","comments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/comments{/number}","issue_comment_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/comments{/number}","contents_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/contents/{+path}","compare_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/merges","archive_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/downloads","issues_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues{/number}","pulls_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls{/number}","milestones_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/milestones{/number}","notifications_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/labels{/name}","releases_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/releases{/id}","deployments_url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/deployments","created_at":"2021-09-20T14:30:28Z","updated_at":"2022-01-02T00:58:29Z","pushed_at":"2022-01-02T01:00:07Z","git_url":"git://github.com/mhutchinson/mhutchinson-distributor.git","ssh_url":"git@github.com:mhutchinson/mhutchinson-distributor.git","clone_url":"https://github.com/mhutchinson/mhutchinson-distributor.git","svn_url":"https://github.com/mhutchinson/mhutchinson-distributor","homepage":null,"size":26282,"stargazers_count":1,"watchers_count":1,"language":"Roff","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":3,"license":null,"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":5,"open_issues":3,"watchers":1,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104"},"html":{"href":"https://github.com/mhutchinson/mhutchinson-distributor/pull/34104"},"issue":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34104"},"comments":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/issues/34104/comments"},"review_comments":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104/comments"},"review_comment":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/pulls/34104/commits"},"statuses":{"href":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/statuses/426fc7f628e367c0674c2fe3a48585a29bbdc2d5"}},"author_association":"OWNER","auto_merge":null,"active_lock_reason":null,"merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":7,"deletions":0,"changed_files":1}},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596994","type":"DeleteEvent","actor":{"id":2276355,"login":"dnicolson","display_login":"dnicolson","gravatar_id":"","url":"https://api.github.com/users/dnicolson","avatar_url":"https://avatars.githubusercontent.com/u/2276355?"},"repo":{"id":189771833,"name":"dnicolson/Binary-Plist","url":"https://api.github.com/repos/dnicolson/Binary-Plist"},"payload":{"ref":"dependabot/npm_and_yarn/typescript-eslint/parser-5.8.1","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546596995","type":"PushEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"push_id":8735901920,"size":1,"distinct_size":1,"ref":"refs/heads/witness_mhutchinson_witness_rekor_sigstore_dev","head":"426fc7f628e367c0674c2fe3a48585a29bbdc2d5","before":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","commits":[{"sha":"426fc7f628e367c0674c2fe3a48585a29bbdc2d5","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@1017292","distinct":true,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/426fc7f628e367c0674c2fe3a48585a29bbdc2d5"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597002","type":"ReleaseEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":443653616,"name":"baqidiandian/action_build_twrp_device_tree","url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree"},"payload":{"action":"published","release":{"url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree/releases/56260336","assets_url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree/releases/56260336/assets","upload_url":"https://uploads.github.com/repos/baqidiandian/action_build_twrp_device_tree/releases/56260336/assets{?name,label}","html_url":"https://github.com/baqidiandian/action_build_twrp_device_tree/releases/tag/1644908345","id":56260336,"author":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"node_id":"RE_kwDOGnGd8M4DWnbw","tag_name":"1644908345","target_commitish":"main","name":"TWRP_Device_Tree-1644908345","draft":false,"prerelease":false,"created_at":"2022-01-02T00:54:30Z","published_at":"2022-01-02T01:00:08Z","assets":[],"tarball_url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree/tarball/1644908345","zipball_url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree/zipball/1644908345","body":"DeviceTree for twrp","short_description_html":"

DeviceTree for twrp

","is_short_description_html_truncated":false}},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597008","type":"PushEvent","actor":{"id":74294005,"login":"wangbuera","display_login":"wangbuera","gravatar_id":"","url":"https://api.github.com/users/wangbuera","avatar_url":"https://avatars.githubusercontent.com/u/74294005?"},"repo":{"id":443621630,"name":"wangbuera/a251e050-c61d-45bd-8486-ece183c80617","url":"https://api.github.com/repos/wangbuera/a251e050-c61d-45bd-8486-ece183c80617"},"payload":{"push_id":8735901958,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3da76d4fac522888f566864ada722add8a91f9e9","before":"482bab8d5c5db3171e6145296b6e3e9e9314f6e4","commits":[{"sha":"3da76d4fac522888f566864ada722add8a91f9e9","author":{"email":"74294005+wangbuera@users.noreply.github.com","name":"wangbuera"},"message":"upload file 352e7098a94d2ddbedeb43cd449a6a111ba98766e57890eb4a73e94cc9af27dc9bfa4cf8b6c75242992dd5513b0794c1video_1310_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/wangbuera/a251e050-c61d-45bd-8486-ece183c80617/commits/3da76d4fac522888f566864ada722add8a91f9e9"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597009","type":"PushEvent","actor":{"id":50355424,"login":"aangindra","display_login":"aangindra","gravatar_id":"","url":"https://api.github.com/users/aangindra","avatar_url":"https://avatars.githubusercontent.com/u/50355424?"},"repo":{"id":298136473,"name":"aangindra/raven","url":"https://api.github.com/repos/aangindra/raven"},"payload":{"push_id":8735901950,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"77c1af1a3815309a654db222ff99a2e976ce855a","before":"e36b89fff615b5c440367a9cb447ce3444ac9667","commits":[{"sha":"77c1af1a3815309a654db222ff99a2e976ce855a","author":{"email":"indra.aang.f@gmail.com","name":"aangindra"},"message":"add autoreply","distinct":true,"url":"https://api.github.com/repos/aangindra/raven/commits/77c1af1a3815309a654db222ff99a2e976ce855a"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597010","type":"PushEvent","actor":{"id":93067263,"login":"TheLegendaryKingdom","display_login":"TheLegendaryKingdom","gravatar_id":"","url":"https://api.github.com/users/TheLegendaryKingdom","avatar_url":"https://avatars.githubusercontent.com/u/93067263?"},"repo":{"id":420826190,"name":"TheLegendaryKingdom/LegacyOfAzeroth","url":"https://api.github.com/repos/TheLegendaryKingdom/LegacyOfAzeroth"},"payload":{"push_id":8735901965,"size":2,"distinct_size":2,"ref":"refs/heads/source","head":"413e4b52d82edabb36dae6c7230ea7fbd9e935ec","before":"a31105145fe195f19a0097f236fdfad3bc2e4977","commits":[{"sha":"929514b5b88274b3790009722057d05ba915bd17","author":{"email":"91289495+neifion-00000000@users.noreply.github.com","name":"neifion-00000000"},"message":"fix(DB/Waypoints): Pathing corrections for 2 NPCs in Shadowglen (#9758)\n\n* fix(db): Pathing corrections for 2 NPCs in Shadowglen\r\n\r\nPathing for creatures 46484 and 46499 were slightly incorrect.\r\nValues pulled from packets.\r\n\r\nPacket data used for this commit has been submitted to AC.","distinct":true,"url":"https://api.github.com/repos/TheLegendaryKingdom/LegacyOfAzeroth/commits/929514b5b88274b3790009722057d05ba915bd17"},{"sha":"413e4b52d82edabb36dae6c7230ea7fbd9e935ec","author":{"email":"azerothcorebot@gmail.com","name":"AzerothCoreBot"},"message":"chore(DB): import pending files\n\nReferenced commit(s): 929514b5b88274b3790009722057d05ba915bd17","distinct":true,"url":"https://api.github.com/repos/TheLegendaryKingdom/LegacyOfAzeroth/commits/413e4b52d82edabb36dae6c7230ea7fbd9e935ec"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597011","type":"CreateEvent","actor":{"id":1121362,"login":"swordqiu","display_login":"swordqiu","gravatar_id":"","url":"https://api.github.com/users/swordqiu","avatar_url":"https://avatars.githubusercontent.com/u/1121362?"},"repo":{"id":186521601,"name":"swordqiu/sdnagent","url":"https://api.github.com/repos/swordqiu/sdnagent"},"payload":{"ref":"hotfix/qj-update-vendor-vpc-vip-20210102","ref_type":"branch","master_branch":"master","description":"Yunion OneCloud Host SDN Agent","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597018","type":"PushEvent","actor":{"id":666642,"login":"kevinbowen777","display_login":"kevinbowen777","gravatar_id":"","url":"https://api.github.com/users/kevinbowen777","avatar_url":"https://avatars.githubusercontent.com/u/666642?"},"repo":{"id":193308024,"name":"kevinbowen777/xfce-repocapp","url":"https://api.github.com/repos/kevinbowen777/xfce-repocapp"},"payload":{"push_id":8735901955,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"93ad9547515207f44627508e3776796ea19df520","before":"c5f9eb3df8fe116715347f76b07da2a29c777db4","commits":[{"sha":"eca5de19e01209fefa2bda61031c3af4c6665a6b","author":{"email":"kevin.bowen@gmail.com","name":"Kevin Bowen"},"message":"Add error handling for KeyboardInterrupt. fixes issue #19","distinct":true,"url":"https://api.github.com/repos/kevinbowen777/xfce-repocapp/commits/eca5de19e01209fefa2bda61031c3af4c6665a6b"},{"sha":"93ad9547515207f44627508e3776796ea19df520","author":{"email":"kevin.bowen@gmail.com","name":"Kevin Bowen"},"message":"Merge branch 'issue19_bugfix' into 'master'\n\nAdd error handling for KeyboardInterrupt. fixes issue #19\n\nCloses #19\n\nSee merge request kevinbowen/xfce-repocapp!11","distinct":true,"url":"https://api.github.com/repos/kevinbowen777/xfce-repocapp/commits/93ad9547515207f44627508e3776796ea19df520"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597019","type":"PushEvent","actor":{"id":96628723,"login":"fsafw","display_login":"fsafw","gravatar_id":"","url":"https://api.github.com/users/fsafw","avatar_url":"https://avatars.githubusercontent.com/u/96628723?"},"repo":{"id":443647489,"name":"fsafw/021f4748-7894-4845-9faf-18b4c351d770","url":"https://api.github.com/repos/fsafw/021f4748-7894-4845-9faf-18b4c351d770"},"payload":{"push_id":8735901964,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"baa971b82391dddec69e73baba72aa9f87e3dd60","before":"46ebde7dee7b86ef209b18d9e397868eac4a8184","commits":[{"sha":"baa971b82391dddec69e73baba72aa9f87e3dd60","author":{"email":"96628723+fsafw@users.noreply.github.com","name":"fsafw"},"message":"upload file a275ae7117c38183b2162aef8e8bd4cfacd2d44395cdeb1d5b59834afa9ab3a80c788e678f2a94166dfdcaebfd088b10video_2364_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsafw/021f4748-7894-4845-9faf-18b4c351d770/commits/baa971b82391dddec69e73baba72aa9f87e3dd60"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597022","type":"PushEvent","actor":{"id":43969715,"login":"vscode-issue-tracker-bot","display_login":"vscode-issue-tracker-bot","gravatar_id":"","url":"https://api.github.com/users/vscode-issue-tracker-bot","avatar_url":"https://avatars.githubusercontent.com/u/43969715?"},"repo":{"id":148243208,"name":"lannonbr/vscode-issue-tracker","url":"https://api.github.com/repos/lannonbr/vscode-issue-tracker"},"payload":{"push_id":8735901946,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"8dd70e137f19380d4ff7fae5a92189dfe3931b8d","before":"87ff791ec690cdeb8e4318665d4578e6174afa4a","commits":[{"sha":"8dd70e137f19380d4ff7fae5a92189dfe3931b8d","author":{"email":"vscodeissuetrackerbot@gmail.com","name":"VS Code Issue Tracker Bot"},"message":"Updated data source","distinct":true,"url":"https://api.github.com/repos/lannonbr/vscode-issue-tracker/commits/8dd70e137f19380d4ff7fae5a92189dfe3931b8d"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597023","type":"CreateEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":443653616,"name":"baqidiandian/action_build_twrp_device_tree","url":"https://api.github.com/repos/baqidiandian/action_build_twrp_device_tree"},"payload":{"ref":"1644908345","ref_type":"tag","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597027","type":"DeleteEvent","actor":{"id":666642,"login":"kevinbowen777","display_login":"kevinbowen777","gravatar_id":"","url":"https://api.github.com/users/kevinbowen777","avatar_url":"https://avatars.githubusercontent.com/u/666642?"},"repo":{"id":193308024,"name":"kevinbowen777/xfce-repocapp","url":"https://api.github.com/repos/kevinbowen777/xfce-repocapp"},"payload":{"ref":"issue19_bugfix","ref_type":"branch","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597032","type":"PushEvent","actor":{"id":533180,"login":"scriptzteam","display_login":"scriptzteam","gravatar_id":"","url":"https://api.github.com/users/scriptzteam","avatar_url":"https://avatars.githubusercontent.com/u/533180?"},"repo":{"id":106103843,"name":"scriptzteam/UseNet-Newsgroups-Stats-v3","url":"https://api.github.com/repos/scriptzteam/UseNet-Newsgroups-Stats-v3"},"payload":{"push_id":8735901979,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6abd54e85376efebf1bbe4c431829b441ee8c6c1","before":"fdd31288709e562b4d149ca9d2b76a805140d7a7","commits":[{"sha":"6abd54e85376efebf1bbe4c431829b441ee8c6c1","author":{"email":"scriptzteam@gmail.com","name":"scriptzteam"},"message":"Update ^^","distinct":true,"url":"https://api.github.com/repos/scriptzteam/UseNet-Newsgroups-Stats-v3/commits/6abd54e85376efebf1bbe4c431829b441ee8c6c1"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597035","type":"PushEvent","actor":{"id":1708197,"login":"j2ghz","display_login":"j2ghz","gravatar_id":"","url":"https://api.github.com/users/j2ghz","avatar_url":"https://avatars.githubusercontent.com/u/1708197?"},"repo":{"id":123195420,"name":"j2ghz/tachiyomi","url":"https://api.github.com/repos/j2ghz/tachiyomi"},"payload":{"push_id":8735901968,"size":1,"distinct_size":1,"ref":"refs/heads/translations","head":"8c348809ae598efe5af719b8fd8c1440f27d5e4c","before":"ba0308313fc1b6c19b1762f5bed0b1dee7630fba","commits":[{"sha":"8c348809ae598efe5af719b8fd8c1440f27d5e4c","author":{"email":"hosted@weblate.org","name":"Hosted Weblate"},"message":"Weblate translations\n\nCo-authored-by: DarKCroX \nCo-authored-by: Giorgio Sanna \nCo-authored-by: Hosted Weblate \nCo-authored-by: Jozef Hollý \nCo-authored-by: Lyfja \nCo-authored-by: Pitpe11 \nCo-authored-by: Swyter \nCo-authored-by: Роман \nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/cs/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/de/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/el/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/es/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/it/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ms/\nTranslate-URL: https://hosted.weblate.org/projects/tachiyomi/strings/ru/\nTranslation: Tachiyomi/Tachiyomi 0.x","distinct":true,"url":"https://api.github.com/repos/j2ghz/tachiyomi/commits/8c348809ae598efe5af719b8fd8c1440f27d5e4c"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597039","type":"PushEvent","actor":{"id":48616242,"login":"Burnov","display_login":"Burnov","gravatar_id":"","url":"https://api.github.com/users/Burnov","avatar_url":"https://avatars.githubusercontent.com/u/48616242?"},"repo":{"id":441641074,"name":"Burnov/Burnov.github.io","url":"https://api.github.com/repos/Burnov/Burnov.github.io"},"payload":{"push_id":8735901981,"size":2,"distinct_size":2,"ref":"refs/heads/main","head":"4bc24f26f4a45c1f6873865092ac3f939c578c46","before":"da5d143abc2fab5c19e48dc7bf30aed63a865ef9","commits":[{"sha":"2d243faf2b0e7c172e32c23f622d717ddc0bcfcb","author":{"email":"xls19900910@qq.com","name":"Burnov"},"message":"Site updated: 2022-01-01 11:26:55","distinct":true,"url":"https://api.github.com/repos/Burnov/Burnov.github.io/commits/2d243faf2b0e7c172e32c23f622d717ddc0bcfcb"},{"sha":"4bc24f26f4a45c1f6873865092ac3f939c578c46","author":{"email":"xls19900910@qq.com","name":"Burnov"},"message":"Site updated: 2022-01-02 08:59:58","distinct":true,"url":"https://api.github.com/repos/Burnov/Burnov.github.io/commits/4bc24f26f4a45c1f6873865092ac3f939c578c46"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597040","type":"PushEvent","actor":{"id":71947768,"login":"domenusfedo","display_login":"domenusfedo","gravatar_id":"","url":"https://api.github.com/users/domenusfedo","avatar_url":"https://avatars.githubusercontent.com/u/71947768?"},"repo":{"id":430095502,"name":"domenusfedo/revide","url":"https://api.github.com/repos/domenusfedo/revide"},"payload":{"push_id":8735901967,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"68328b6778dc8fe8854384f01cabf8bd6a454200","before":"34870322fb433db2f11093d8ba12e2c4f9ad0f1d","commits":[{"sha":"68328b6778dc8fe8854384f01cabf8bd6a454200","author":{"email":"domanusfedo@gmail.com","name":"domenusfedo"},"message":"Updates","distinct":true,"url":"https://api.github.com/repos/domenusfedo/revide/commits/68328b6778dc8fe8854384f01cabf8bd6a454200"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597043","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":392566204,"name":"HUIUUSB/TV1INDONESIA_SKY4K","url":"https://api.github.com/repos/HUIUUSB/TV1INDONESIA_SKY4K"},"payload":{"push_id":8735901985,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"be49e8f4027d2ca200169127cfc5a1a9672d5a6b","before":"e540d2a6905859d7e3006eab6cffda197af34eb1","commits":[{"sha":"be49e8f4027d2ca200169127cfc5a1a9672d5a6b","author":{"email":"sky4k666@gmail.com","name":"AHUIQING"},"message":"link is updated","distinct":true,"url":"https://api.github.com/repos/HUIUUSB/TV1INDONESIA_SKY4K/commits/be49e8f4027d2ca200169127cfc5a1a9672d5a6b"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597047","type":"PushEvent","actor":{"id":47844,"login":"kiang","display_login":"kiang","gravatar_id":"","url":"https://api.github.com/users/kiang","avatar_url":"https://avatars.githubusercontent.com/u/47844?"},"repo":{"id":238189243,"name":"kiang/pharmacies","url":"https://api.github.com/repos/kiang/pharmacies"},"payload":{"push_id":8735901987,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3ac549c03c0f9e290ab714ae6cc662ee295ba7c4","before":"de864ba48737d077b8808ffc0c82e55f4220d938","commits":[{"sha":"3ac549c03c0f9e290ab714ae6cc662ee295ba7c4","author":{"email":"noreply@localhost","name":"auto commit"},"message":"auto update @ 2022-01-02 09:00:01","distinct":true,"url":"https://api.github.com/repos/kiang/pharmacies/commits/3ac549c03c0f9e290ab714ae6cc662ee295ba7c4"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597048","type":"PushEvent","actor":{"id":218262,"login":"jonarbo","display_login":"jonarbo","gravatar_id":"","url":"https://api.github.com/users/jonarbo","avatar_url":"https://avatars.githubusercontent.com/u/218262?"},"repo":{"id":62302067,"name":"nyuad-hpc/dalman","url":"https://api.github.com/repos/nyuad-hpc/dalman"},"payload":{"push_id":8735901991,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"2124e3a9e7490b6518bbe016b8700e258c9b1638","before":"25d51fa03a37219e807f00545bb0089626907b95","commits":[{"sha":"2124e3a9e7490b6518bbe016b8700e258c9b1638","author":{"email":"jn63@nyu.edu","name":"Jorge Naranjo"},"message":"dalma load updated on Sun Jan 2 05:00:02 GST 2022","distinct":true,"url":"https://api.github.com/repos/nyuad-hpc/dalman/commits/2124e3a9e7490b6518bbe016b8700e258c9b1638"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597053","type":"WatchEvent","actor":{"id":90908412,"login":"eferbarn","display_login":"eferbarn","gravatar_id":"","url":"https://api.github.com/users/eferbarn","avatar_url":"https://avatars.githubusercontent.com/u/90908412?"},"repo":{"id":135647391,"name":"cryptofinlabs/canoe-solidity","url":"https://api.github.com/repos/cryptofinlabs/canoe-solidity"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:08Z","org":{"id":35980796,"login":"cryptofinlabs","gravatar_id":"","url":"https://api.github.com/orgs/cryptofinlabs","avatar_url":"https://avatars.githubusercontent.com/u/35980796?"}} +{"id":"19546597055","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735901996,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"25bb0d33f7d6f2d95731dd13116ad9e39e29e265","before":"7d6f61b46e2dd7b21e153d965184c1758c223158","commits":[{"sha":"25bb0d33f7d6f2d95731dd13116ad9e39e29e265","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:07 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/25bb0d33f7d6f2d95731dd13116ad9e39e29e265"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597056","type":"CreateEvent","actor":{"id":71301360,"login":"YatinSai","display_login":"YatinSai","gravatar_id":"","url":"https://api.github.com/users/YatinSai","avatar_url":"https://avatars.githubusercontent.com/u/71301360?"},"repo":{"id":443654648,"name":"YatinSai/API-Problem","url":"https://api.github.com/repos/YatinSai/API-Problem"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597062","type":"PushEvent","actor":{"id":16610169,"login":"365taole","display_login":"365taole","gravatar_id":"","url":"https://api.github.com/users/365taole","avatar_url":"https://avatars.githubusercontent.com/u/16610169?"},"repo":{"id":443490727,"name":"365taole/meizi","url":"https://api.github.com/repos/365taole/meizi"},"payload":{"push_id":8735902008,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"acc5cf6d9af7697854dddd4a57e3a2614415825b","before":"1933b99a47d4f54c183afed24643356bd21861cb","commits":[{"sha":"acc5cf6d9af7697854dddd4a57e3a2614415825b","author":{"email":"365taole@gmail.com","name":"365taole"},"message":"9_42133/02124911-7-2F7.jpg","distinct":true,"url":"https://api.github.com/repos/365taole/meizi/commits/acc5cf6d9af7697854dddd4a57e3a2614415825b"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597063","type":"PushEvent","actor":{"id":1616850,"login":"HenrikBengtsson","display_login":"HenrikBengtsson","gravatar_id":"","url":"https://api.github.com/users/HenrikBengtsson","avatar_url":"https://avatars.githubusercontent.com/u/1616850?"},"repo":{"id":94832006,"name":"UCSF-TI/TIPCC-slash","url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash"},"payload":{"push_id":8735901997,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b82220a1fea357deed042e1f9a5baada057da74a","before":"049506961da25baa4fb2e347e4faeae96af64a7b","commits":[{"sha":"b82220a1fea357deed042e1f9a5baada057da74a","author":{"email":"hbslash-github@h.braju.com","name":"hbslash"},"message":"STATUS: Updated figures","distinct":true,"url":"https://api.github.com/repos/UCSF-TI/TIPCC-slash/commits/b82220a1fea357deed042e1f9a5baada057da74a"}]},"public":true,"created_at":"2022-01-02T01:00:08Z","org":{"id":14284214,"login":"UCSF-TI","gravatar_id":"","url":"https://api.github.com/orgs/UCSF-TI","avatar_url":"https://avatars.githubusercontent.com/u/14284214?"}} +{"id":"19546597064","type":"PushEvent","actor":{"id":9958703,"login":"memk","display_login":"memk","gravatar_id":"","url":"https://api.github.com/users/memk","avatar_url":"https://avatars.githubusercontent.com/u/9958703?"},"repo":{"id":23534870,"name":"parkr/status","url":"https://api.github.com/repos/parkr/status"},"payload":{"push_id":8735901995,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5c5148148b3ff6a7f6c9a16f6cded5ccc2e5f310","before":"1dcd163c55a6d3d2d1fcdd683ec88e8f9c90f38d","commits":[{"sha":"5c5148148b3ff6a7f6c9a16f6cded5ccc2e5f310","author":{"email":"memke@hushmail.com","name":"memk"},"message":"[checkup] store updates/1641085206477763679-check.json [ci skip]","distinct":true,"url":"https://api.github.com/repos/parkr/status/commits/5c5148148b3ff6a7f6c9a16f6cded5ccc2e5f310"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597066","type":"PushEvent","actor":{"id":15090643,"login":"kx1t","display_login":"kx1t","gravatar_id":"","url":"https://api.github.com/users/kx1t","avatar_url":"https://avatars.githubusercontent.com/u/15090643?"},"repo":{"id":347419011,"name":"kx1t/planefence-airlinecodes","url":"https://api.github.com/repos/kx1t/planefence-airlinecodes"},"payload":{"push_id":8735902007,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cbac491f5eb5dccd69afc2f87eb7631d13157983","before":"2a2283b269e903d57558fd355d4673fdce0ba340","commits":[{"sha":"cbac491f5eb5dccd69afc2f87eb7631d13157983","author":{"email":"kx1t@amsat.org","name":"kx1t"},"message":"auto-upload Sun 02 Jan 2022 01:00:04 AM UTC","distinct":true,"url":"https://api.github.com/repos/kx1t/planefence-airlinecodes/commits/cbac491f5eb5dccd69afc2f87eb7631d13157983"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597067","type":"PushEvent","actor":{"id":1505378,"login":"alex-courtis","display_login":"alex-courtis","gravatar_id":"","url":"https://api.github.com/users/alex-courtis","avatar_url":"https://avatars.githubusercontent.com/u/1505378?"},"repo":{"id":15240516,"name":"alex-courtis/arch","url":"https://api.github.com/repos/alex-courtis/arch"},"payload":{"push_id":8735901990,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f231c36453c323304e9abe3a0a18b9c422194c51","before":"6dddf796dd1c4a3d3d9394418888c27c75edd617","commits":[{"sha":"f231c36453c323304e9abe3a0a18b9c422194c51","author":{"email":"alex@courtis.org","name":"Alexander Courtis"},"message":"zsh: ssh host specific colours, host name in non-home prompts","distinct":true,"url":"https://api.github.com/repos/alex-courtis/arch/commits/f231c36453c323304e9abe3a0a18b9c422194c51"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597069","type":"CreateEvent","actor":{"id":5574,"login":"serdar","display_login":"serdar","gravatar_id":"","url":"https://api.github.com/users/serdar","avatar_url":"https://avatars.githubusercontent.com/u/5574?"},"repo":{"id":443654645,"name":"serdar/serdar","url":"https://api.github.com/repos/serdar/serdar"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597070","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735902002,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c99e494303414301894e41f9b0f69a07250c2b2d","before":"92afd603c6accde20113a6e5a571654b0af4c540","commits":[{"sha":"c99e494303414301894e41f9b0f69a07250c2b2d","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update news2007.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/c99e494303414301894e41f9b0f69a07250c2b2d"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597071","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":438324252,"name":"marvinjoel/marvinjoel","url":"https://api.github.com/repos/marvinjoel/marvinjoel"},"payload":{"push_id":8735902001,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"83f372eb33b488a1c1a901488dff900890a8f97a","before":"171d1c63df9000f989f1c2548b2569168f6aacff","commits":[{"sha":"83f372eb33b488a1c1a901488dff900890a8f97a","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/marvinjoel/marvinjoel/commits/83f372eb33b488a1c1a901488dff900890a8f97a"}]},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597075","type":"WatchEvent","actor":{"id":80215799,"login":"m0hamedAit","display_login":"m0hamedAit","gravatar_id":"","url":"https://api.github.com/users/m0hamedAit","avatar_url":"https://avatars.githubusercontent.com/u/80215799?"},"repo":{"id":148876755,"name":"edyoda/data-science-complete-tutorial","url":"https://api.github.com/repos/edyoda/data-science-complete-tutorial"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:08Z","org":{"id":22793100,"login":"edyoda","gravatar_id":"","url":"https://api.github.com/orgs/edyoda","avatar_url":"https://avatars.githubusercontent.com/u/22793100?"}} +{"id":"19546597102","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":175250222,"name":"EdisonJwa/Blog","url":"https://api.github.com/repos/EdisonJwa/Blog"},"payload":{"comment":{"url":"https://api.github.com/repos/EdisonJwa/Blog/comments/62776623","html_url":"https://github.com/EdisonJwa/Blog/commit/714663d436f36deedbb6975020c78d2505346b6f#commitcomment-62776623","id":62776623,"node_id":"CC_kwDOCnIbLs4DveUv","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"714663d436f36deedbb6975020c78d2505346b6f","created_at":"2022-01-02T01:00:08Z","updated_at":"2022-01-02T01:00:08Z","author_association":"NONE","body":"Failed to assign a domain to your deployment due to the following error:\n\nAliasing the Deployment Timed Out","reactions":{"url":"https://api.github.com/repos/EdisonJwa/Blog/comments/62776623/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-02T01:00:08Z"} +{"id":"19546597076","type":"PushEvent","actor":{"id":53513,"login":"nsuan","display_login":"nsuan","gravatar_id":"","url":"https://api.github.com/users/nsuan","avatar_url":"https://avatars.githubusercontent.com/u/53513?"},"repo":{"id":370881581,"name":"nsuan/furry-fortnight","url":"https://api.github.com/repos/nsuan/furry-fortnight"},"payload":{"push_id":8735902004,"size":5,"distinct_size":5,"ref":"refs/heads/main","head":"f3c0717cf77b4e0ddba3b81820e3ddcc58aa2a3a","before":"21ee47f6292488bee795c3c863f0bb09259fc59c","commits":[{"sha":"fe79165ba2012e0d41a7fcc9a54b5d3332eff5df","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Sat Jan 1 19:07:20 EST 2022","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/fe79165ba2012e0d41a7fcc9a54b5d3332eff5df"},{"sha":"02eaf3dc289c2c769dbd73d86b6b62731a45041f","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Sat Jan 1 19:23:27 EST 2022","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/02eaf3dc289c2c769dbd73d86b6b62731a45041f"},{"sha":"43ee1709cea85629f152a73b7a3343ad67f04935","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update users Sat Jan 1 19:23:27 EST 2022","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/43ee1709cea85629f152a73b7a3343ad67f04935"},{"sha":"2766a293161418ba5a2ab67f2e250f777f652842","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Sat Jan 1 19:39:34 EST 2022","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/2766a293161418ba5a2ab67f2e250f777f652842"},{"sha":"f3c0717cf77b4e0ddba3b81820e3ddcc58aa2a3a","author":{"email":"nsuan@nonexiste.net","name":"Nick Suan"},"message":"update userinfo Sat Jan 1 19:55:48 EST 2022","distinct":true,"url":"https://api.github.com/repos/nsuan/furry-fortnight/commits/f3c0717cf77b4e0ddba3b81820e3ddcc58aa2a3a"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597078","type":"PushEvent","actor":{"id":95848666,"login":"libaibaibaia","display_login":"libaibaibaia","gravatar_id":"","url":"https://api.github.com/users/libaibaibaia","avatar_url":"https://avatars.githubusercontent.com/u/95848666?"},"repo":{"id":443610925,"name":"libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657","url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657"},"payload":{"push_id":8735902012,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f7a0b434bc8273a69e37f6a90ca2d242fa7d3fbe","before":"6403cd60b4526eef2f321024aaea677d400ebddd","commits":[{"sha":"f7a0b434bc8273a69e37f6a90ca2d242fa7d3fbe","author":{"email":"95848666+libaibaibaia@users.noreply.github.com","name":"libaibaibaia"},"message":"upload file 293fdae9e24ed223f7b80980f6216ebd74b048c1498ed98095402726911a03f6a32000b6d6a8c7a02dfbc4ee29951c15af60bfaf7fb0fc5e974dd20e17dbcc9cvideo_75_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/libaibaibaia/3d569310-1b45-4725-9c7a-a3c937a25657/commits/f7a0b434bc8273a69e37f6a90ca2d242fa7d3fbe"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597083","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":340884485,"name":"suzucan2020/screenshots-ci-action-test","url":"https://api.github.com/repos/suzucan2020/screenshots-ci-action-test"},"payload":{"push_id":8735902016,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"8c3ba56607484e9930f0feb754659adef28377f4","before":"a0b59ae3cb5efa4fef3deccd6c7080816fc9fc71","commits":[{"sha":"8c3ba56607484e9930f0feb754659adef28377f4","author":{"email":"suzucan2020@users.noreply.github.com","name":"suzucan2020"},"message":"Add changes","distinct":true,"url":"https://api.github.com/repos/suzucan2020/screenshots-ci-action-test/commits/8c3ba56607484e9930f0feb754659adef28377f4"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597085","type":"PushEvent","actor":{"id":4447136,"login":"su-github-machine-user","display_login":"su-github-machine-user","gravatar_id":"","url":"https://api.github.com/users/su-github-machine-user","avatar_url":"https://avatars.githubusercontent.com/u/4447136?"},"repo":{"id":10314483,"name":"su-github-machine-user/github-nagios-check","url":"https://api.github.com/repos/su-github-machine-user/github-nagios-check"},"payload":{"push_id":8735902013,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7934190a0bd31fd3bcf081ca6336d2556c842237","before":"461cec00828c9bf21ab3b39d98f6f17c79aa140c","commits":[{"sha":"7934190a0bd31fd3bcf081ca6336d2556c842237","author":{"email":"noreply@su.se","name":"root"},"message":"currentTime: 1641085206","distinct":true,"url":"https://api.github.com/repos/su-github-machine-user/github-nagios-check/commits/7934190a0bd31fd3bcf081ca6336d2556c842237"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597086","type":"PushEvent","actor":{"id":9713112,"login":"taejoong","display_login":"taejoong","gravatar_id":"","url":"https://api.github.com/users/taejoong","avatar_url":"https://avatars.githubusercontent.com/u/9713112?"},"repo":{"id":327043790,"name":"kimchi-crypto/kimchi-crypto.github.io","url":"https://api.github.com/repos/kimchi-crypto/kimchi-crypto.github.io"},"payload":{"push_id":8735902003,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d40cd02ddd9de96f6d9c0f8159368a471ad30c09","before":"73e4d2e51905e76901cc6db8b561cd95d7900b59","commits":[{"sha":"d40cd02ddd9de96f6d9c0f8159368a471ad30c09","author":{"email":"tijay00@gmail.com","name":"taejoong"},"message":"ho","distinct":true,"url":"https://api.github.com/repos/kimchi-crypto/kimchi-crypto.github.io/commits/d40cd02ddd9de96f6d9c0f8159368a471ad30c09"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597087","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735902023,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f6338f966998db7d68f22d3d2c8b91d908b9aa75","before":"b9b3d99ca04e92d771c3c96ba5ec0c4e51ce7a05","commits":[{"sha":"f6338f966998db7d68f22d3d2c8b91d908b9aa75","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog1745_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/f6338f966998db7d68f22d3d2c8b91d908b9aa75"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597105","type":"PushEvent","actor":{"id":96906971,"login":"312fsd","display_login":"312fsd","gravatar_id":"","url":"https://api.github.com/users/312fsd","avatar_url":"https://avatars.githubusercontent.com/u/96906971?"},"repo":{"id":443620980,"name":"312fsd/8d38d019-9f8f-43f2-8c63-a73137cad6b9","url":"https://api.github.com/repos/312fsd/8d38d019-9f8f-43f2-8c63-a73137cad6b9"},"payload":{"push_id":8735902032,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4485a8cfdca5a17a80b0802036969c123791a2d3","before":"267d792ed672bbc14bddd3c710f705b1a38adb07","commits":[{"sha":"4485a8cfdca5a17a80b0802036969c123791a2d3","author":{"email":"96906971+312fsd@users.noreply.github.com","name":"312fsd"},"message":"upload file 2c6742953b83e2ef0d6779fdee008ef466e3798ef44f4315de3a6b3adc0f002921c8aad9e68b5ff0d4ab9a45a014fa44video_1839_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/312fsd/8d38d019-9f8f-43f2-8c63-a73137cad6b9/commits/4485a8cfdca5a17a80b0802036969c123791a2d3"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597106","type":"PushEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":139614827,"name":"clearlinux-pkgs/R-conting","url":"https://api.github.com/repos/clearlinux-pkgs/R-conting"},"payload":{"push_id":8735902034,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"654a5b96d80967cb3635b0c7ba58be086605bdfa","before":"9e04b50e72211db7dad9b42b828010f852886445","commits":[{"sha":"edecda7625390dd635b85f6e140f09bd5dcc28b5","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 1.7-28 to 1.7-29","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-conting/commits/edecda7625390dd635b85f6e140f09bd5dcc28b5"},{"sha":"654a5b96d80967cb3635b0c7ba58be086605bdfa","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 1.7-29 to 1.7-30","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-conting/commits/654a5b96d80967cb3635b0c7ba58be086605bdfa"}]},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546597110","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371290,"node_id":"PRR_kwDOFeJvGc4yNZDa","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:09Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371290","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371290"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546597111","type":"CreateEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":139614827,"name":"clearlinux-pkgs/R-conting","url":"https://api.github.com/repos/clearlinux-pkgs/R-conting"},"payload":{"ref":"1.7-30","ref_type":"tag","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546597112","type":"CreateEvent","actor":{"id":96752817,"login":"Jeffersonthoo","display_login":"Jeffersonthoo","gravatar_id":"","url":"https://api.github.com/users/Jeffersonthoo","avatar_url":"https://avatars.githubusercontent.com/u/96752817?"},"repo":{"id":443654650,"name":"Jeffersonthoo/jeffersonthoo","url":"https://api.github.com/repos/Jeffersonthoo/jeffersonthoo"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597116","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8735902045,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d088f7eb67c3bded692d3a5946615a8ca54bd2c5","before":"107468f924e736b9728d5911eada6ca3e265b3fe","commits":[{"sha":"d088f7eb67c3bded692d3a5946615a8ca54bd2c5","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/d088f7eb67c3bded692d3a5946615a8ca54bd2c5"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597117","type":"CreateEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":125558537,"name":"clearlinux-pkgs/R-CVST","url":"https://api.github.com/repos/clearlinux-pkgs/R-CVST"},"payload":{"ref":"0.2.2-41","ref_type":"tag","master_branch":"master","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546597119","type":"WatchEvent","actor":{"id":9508883,"login":"nurularifin83","display_login":"nurularifin83","gravatar_id":"","url":"https://api.github.com/users/nurularifin83","avatar_url":"https://avatars.githubusercontent.com/u/9508883?"},"repo":{"id":170355508,"name":"livewire/livewire","url":"https://api.github.com/repos/livewire/livewire"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":51960834,"login":"livewire","gravatar_id":"","url":"https://api.github.com/orgs/livewire","avatar_url":"https://avatars.githubusercontent.com/u/51960834?"}} +{"id":"19546597120","type":"PushEvent","actor":{"id":47494140,"login":"Anzodroid","display_login":"Anzodroid","gravatar_id":"","url":"https://api.github.com/users/Anzodroid","avatar_url":"https://avatars.githubusercontent.com/u/47494140?"},"repo":{"id":431053567,"name":"Anzodroid/SpeedTest","url":"https://api.github.com/repos/Anzodroid/SpeedTest"},"payload":{"push_id":8735902040,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"b80525357ab5a12d7fd136e0a97bc52328eb971e","before":"392788982d39dcb34ac963c8ee9f9073d4be60cd","commits":[{"sha":"b80525357ab5a12d7fd136e0a97bc52328eb971e","author":{"email":"anzodroid@gmail.com","name":"anzodroid"},"message":"Speedtest results updated at 2022-01-02 12:00:01","distinct":true,"url":"https://api.github.com/repos/Anzodroid/SpeedTest/commits/b80525357ab5a12d7fd136e0a97bc52328eb971e"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597121","type":"PushEvent","actor":{"id":20404730,"login":"clrpackages","display_login":"clrpackages","gravatar_id":"","url":"https://api.github.com/users/clrpackages","avatar_url":"https://avatars.githubusercontent.com/u/20404730?"},"repo":{"id":125558537,"name":"clearlinux-pkgs/R-CVST","url":"https://api.github.com/repos/clearlinux-pkgs/R-CVST"},"payload":{"push_id":8735902036,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"9b9726e2802ed7fb0a8b2bcc3f593ed5dd1efbd6","before":"84c157d45ce9b587a79b5e4fda726926aad0fad6","commits":[{"sha":"69563d0d6fe9a37dcdf5410d1657645b6b124098","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 0.2.2-39 to 0.2.2-40","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-CVST/commits/69563d0d6fe9a37dcdf5410d1657645b6b124098"},{"sha":"9b9726e2802ed7fb0a8b2bcc3f593ed5dd1efbd6","author":{"email":"arjan.van.de.ven@intel.com","name":"Arjan van de Ven"},"message":"version bump from 0.2.2-40 to 0.2.2-41","distinct":true,"url":"https://api.github.com/repos/clearlinux-pkgs/R-CVST/commits/9b9726e2802ed7fb0a8b2bcc3f593ed5dd1efbd6"}]},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":14979720,"login":"clearlinux-pkgs","gravatar_id":"","url":"https://api.github.com/orgs/clearlinux-pkgs","avatar_url":"https://avatars.githubusercontent.com/u/14979720?"}} +{"id":"19546597122","type":"PushEvent","actor":{"id":61189782,"login":"NiwakaDev","display_login":"NiwakaDev","gravatar_id":"","url":"https://api.github.com/users/NiwakaDev","avatar_url":"https://avatars.githubusercontent.com/u/61189782?"},"repo":{"id":438577356,"name":"NiwakaDev/JIT_X86_EMULATOR","url":"https://api.github.com/repos/NiwakaDev/JIT_X86_EMULATOR"},"payload":{"push_id":8735902042,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ae2163ba2a141a050b180e8dda8367ad187eebd5","before":"0f986c064bd745ffc842e2f6506347f220c07710","commits":[{"sha":"ae2163ba2a141a050b180e8dda8367ad187eebd5","author":{"email":"te1823ya@gmail.com","name":"Tetsuya-Nishikawa"},"message":"Jit.cppの修正","distinct":true,"url":"https://api.github.com/repos/NiwakaDev/JIT_X86_EMULATOR/commits/ae2163ba2a141a050b180e8dda8367ad187eebd5"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597131","type":"PushEvent","actor":{"id":1355668,"login":"mhutchinson","display_login":"mhutchinson","gravatar_id":"","url":"https://api.github.com/users/mhutchinson","avatar_url":"https://avatars.githubusercontent.com/u/1355668?"},"repo":{"id":408476462,"name":"mhutchinson/mhutchinson-distributor","url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor"},"payload":{"push_id":8735902044,"size":6,"distinct_size":0,"ref":"refs/heads/witness_mhutchinson_witness_Pixel-Transparency-Log-2021","head":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","before":"130213bcaab27179ddb77ee91d451bd89acd8b0c","commits":[{"sha":"26165a511cac73ef10250307bb80a40631a288aa","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@8587264","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/26165a511cac73ef10250307bb80a40631a288aa"},{"sha":"a1200ce55b30f11403e0af5b9dfacc9dee6a641c","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@1016822","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/a1200ce55b30f11403e0af5b9dfacc9dee6a641c"},{"sha":"c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259","author":{"email":"87541280+WolseyBankWitness@users.noreply.github.com","name":"Wolsey Bank Witness"},"message":"Witness checkpoint@1017264","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259"},{"sha":"7807cd0b84f61f16d4bfbe712a3f33f7a6869d39","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/7807cd0b84f61f16d4bfbe712a3f33f7a6869d39"},{"sha":"2134c719b2a147120187ea62115520608faab0ad","author":{"email":"rene@mayrhofer.eu.org","name":"René Mayrhofer"},"message":"Witness checkpoint@1017292","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/2134c719b2a147120187ea62115520608faab0ad"},{"sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/mhutchinson/mhutchinson-distributor/commits/f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597132","type":"PushEvent","actor":{"id":68882296,"login":"harikalyani25","display_login":"harikalyani25","gravatar_id":"","url":"https://api.github.com/users/harikalyani25","avatar_url":"https://avatars.githubusercontent.com/u/68882296?"},"repo":{"id":361058155,"name":"harikalyani25/Inceptez-DataScience","url":"https://api.github.com/repos/harikalyani25/Inceptez-DataScience"},"payload":{"push_id":8735902060,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ded1ae0d5207c007abb28762e0c05a0511f9e33c","before":"0c74994dbb1a05b6dfda52a66ba19a3da2139e05","commits":[{"sha":"ded1ae0d5207c007abb28762e0c05a0511f9e33c","author":{"email":"68882296+harikalyani25@users.noreply.github.com","name":"Hari Hara Prasad"},"message":"Add files via upload","distinct":true,"url":"https://api.github.com/repos/harikalyani25/Inceptez-DataScience/commits/ded1ae0d5207c007abb28762e0c05a0511f9e33c"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597136","type":"PushEvent","actor":{"id":10919270,"login":"roosterkid","display_login":"roosterkid","gravatar_id":"","url":"https://api.github.com/users/roosterkid","avatar_url":"https://avatars.githubusercontent.com/u/10919270?"},"repo":{"id":356787170,"name":"roosterkid/openproxylist","url":"https://api.github.com/repos/roosterkid/openproxylist"},"payload":{"push_id":8735902053,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"01d80ef40ecf3b73e9d5735487f237c1c37dc5cc","before":"25bb0d33f7d6f2d95731dd13116ad9e39e29e265","commits":[{"sha":"01d80ef40ecf3b73e9d5735487f237c1c37dc5cc","author":{"email":"ariesbrow114@gmail.com","name":"roosterkid"},"message":"update 2022-01-02 08:00:08 GMT+7","distinct":true,"url":"https://api.github.com/repos/roosterkid/openproxylist/commits/01d80ef40ecf3b73e9d5735487f237c1c37dc5cc"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597137","type":"IssueCommentEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":443575056,"name":"T0mbr0s/360Site","url":"https://api.github.com/repos/T0mbr0s/360Site"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1","repository_url":"https://api.github.com/repos/T0mbr0s/360Site","labels_url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1/comments","events_url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1/events","html_url":"https://github.com/T0mbr0s/360Site/pull/1","id":1091925853,"node_id":"PR_kwDOGnBrEM4wcEAA","number":1,"title":"Videos now manage via JSON file","user":{"login":"Vinnie6167","id":34876120,"node_id":"MDQ6VXNlcjM0ODc2MTIw","avatar_url":"https://avatars.githubusercontent.com/u/34876120?v=4","gravatar_id":"","url":"https://api.github.com/users/Vinnie6167","html_url":"https://github.com/Vinnie6167","followers_url":"https://api.github.com/users/Vinnie6167/followers","following_url":"https://api.github.com/users/Vinnie6167/following{/other_user}","gists_url":"https://api.github.com/users/Vinnie6167/gists{/gist_id}","starred_url":"https://api.github.com/users/Vinnie6167/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vinnie6167/subscriptions","organizations_url":"https://api.github.com/users/Vinnie6167/orgs","repos_url":"https://api.github.com/users/Vinnie6167/repos","events_url":"https://api.github.com/users/Vinnie6167/events{/privacy}","received_events_url":"https://api.github.com/users/Vinnie6167/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-02T00:59:23Z","updated_at":"2022-01-02T01:00:09Z","closed_at":"2022-01-02T00:59:29Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/T0mbr0s/360Site/pulls/1","html_url":"https://github.com/T0mbr0s/360Site/pull/1","diff_url":"https://github.com/T0mbr0s/360Site/pull/1.diff","patch_url":"https://github.com/T0mbr0s/360Site/pull/1.patch","merged_at":"2022-01-02T00:59:29Z"},"body":null,"reactions":{"url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/T0mbr0s/360Site/issues/comments/1003644272","html_url":"https://github.com/T0mbr0s/360Site/pull/1#issuecomment-1003644272","issue_url":"https://api.github.com/repos/T0mbr0s/360Site/issues/1","id":1003644272,"node_id":"IC_kwDOGnBrEM470mVw","user":{"login":"github-actions[bot]","id":41898282,"node_id":"MDM6Qm90NDE4OTgyODI=","avatar_url":"https://avatars.githubusercontent.com/in/15368?v=4","gravatar_id":"","url":"https://api.github.com/users/github-actions%5Bbot%5D","html_url":"https://github.com/apps/github-actions","followers_url":"https://api.github.com/users/github-actions%5Bbot%5D/followers","following_url":"https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github-actions%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/github-actions%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/github-actions%5Bbot%5D/repos","events_url":"https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/github-actions%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-02T01:00:09Z","updated_at":"2022-01-02T01:00:09Z","author_association":"NONE","body":"Visit the preview URL for this PR (updated for commit e8d5bb6):\n\n[https://happybirthdaynick-f9c86--pr1-addvideos-cps0ff36.web.app](https://happybirthdaynick-f9c86--pr1-addvideos-cps0ff36.web.app)\n\n(expires Sun, 09 Jan 2022 01:00:04 GMT)\n\n🔥 via [Firebase Hosting GitHub Action](https://github.com/marketplace/actions/deploy-to-firebase-hosting) 🌎","reactions":{"url":"https://api.github.com/repos/T0mbr0s/360Site/issues/comments/1003644272/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":77705852,"login":"T0mbr0s","gravatar_id":"","url":"https://api.github.com/orgs/T0mbr0s","avatar_url":"https://avatars.githubusercontent.com/u/77705852?"}} +{"id":"19546597160","type":"PublicEvent","actor":{"id":20835663,"login":"xgeorgio","display_login":"xgeorgio","gravatar_id":"","url":"https://api.github.com/users/xgeorgio","avatar_url":"https://avatars.githubusercontent.com/u/20835663?"},"repo":{"id":443525436,"name":"xgeorgio/dev","url":"https://api.github.com/repos/xgeorgio/dev"},"payload":{},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597143","type":"PushEvent","actor":{"id":83618193,"login":"contributor120","display_login":"contributor120","gravatar_id":"","url":"https://api.github.com/users/contributor120","avatar_url":"https://avatars.githubusercontent.com/u/83618193?"},"repo":{"id":364082962,"name":"contributor120/rthk_checker","url":"https://api.github.com/repos/contributor120/rthk_checker"},"payload":{"push_id":8735902052,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"661392d54fdd9369b38770640388b2675d4c053a","before":"fa246aea37eca5c211ecf5dfc2a08267fe8d1814","commits":[{"sha":"661392d54fdd9369b38770640388b2675d4c053a","author":{"email":"contributor120@gmail.com","name":"contributor120"},"message":"\"CSV update\"","distinct":true,"url":"https://api.github.com/repos/contributor120/rthk_checker/commits/661392d54fdd9369b38770640388b2675d4c053a"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597150","type":"PushEvent","actor":{"id":96464003,"login":"zhouqn3","display_login":"zhouqn3","gravatar_id":"","url":"https://api.github.com/users/zhouqn3","avatar_url":"https://avatars.githubusercontent.com/u/96464003?"},"repo":{"id":443627392,"name":"zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3","url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3"},"payload":{"push_id":8735902063,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f995fe715f06d359bec97f1ea974df7c6eed6e28","before":"fe379b13436d775aacf6e85df4876b4036a0355c","commits":[{"sha":"f995fe715f06d359bec97f1ea974df7c6eed6e28","author":{"email":"96464003+zhouqn3@users.noreply.github.com","name":"zhouqn3"},"message":"upload file f7e0cbd7f2b2d1615e02e70c7ae2e8179799e99122b5cf8ae5405a027598980e41ba338d4d23ab204fdd360b9dcc5243video_2030_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3/commits/f995fe715f06d359bec97f1ea974df7c6eed6e28"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597151","type":"PushEvent","actor":{"id":125509,"login":"winder","display_login":"winder","gravatar_id":"","url":"https://api.github.com/users/winder","avatar_url":"https://avatars.githubusercontent.com/u/125509?"},"repo":{"id":191266671,"name":"algorand/go-algorand","url":"https://api.github.com/repos/algorand/go-algorand"},"payload":{"push_id":8735902068,"size":1,"distinct_size":1,"ref":"refs/heads/rel/nightly","head":"75949f47c4581928955f0b34d50fd87161634a66","before":"ad63110749a1da77479e458c988331ac4e5b00dc","commits":[{"sha":"75949f47c4581928955f0b34d50fd87161634a66","author":{"email":"ci-bot@algorand.com","name":"ci-bot"},"message":"Build 1111 Data","distinct":true,"url":"https://api.github.com/repos/algorand/go-algorand/commits/75949f47c4581928955f0b34d50fd87161634a66"}]},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":23182699,"login":"algorand","gravatar_id":"","url":"https://api.github.com/orgs/algorand","avatar_url":"https://avatars.githubusercontent.com/u/23182699?"}} +{"id":"19546597157","type":"PushEvent","actor":{"id":28039927,"login":"bensuperpc","display_login":"bensuperpc","gravatar_id":"","url":"https://api.github.com/users/bensuperpc","avatar_url":"https://avatars.githubusercontent.com/u/28039927?"},"repo":{"id":373482825,"name":"bensuperpc/docker-minecraft-server-1","url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1"},"payload":{"push_id":8735902069,"size":3,"distinct_size":0,"ref":"refs/heads/HEAD","head":"5c0cf0354867bc37f65391dd2eb582cf3c3dbb56","before":"6520655d6c428aa1350b4886c2c5635e1fa12bba","commits":[{"sha":"4ba0a9c98c42bc4d00e6f0219228bfeb7370846c","author":{"email":"Jordy.Hulck@outlook.com","name":"Jordy Hulck"},"message":"Support downloading CurseForge modpack when USE_MODPACK_START_SCRIPT is false (#1229)","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/4ba0a9c98c42bc4d00e6f0219228bfeb7370846c"},{"sha":"00cae995a72c16bede695e0d17066189d789b995","author":{"email":"itzgeoff@gmail.com","name":"Geoff Bourne"},"message":"Removed USE_LARGE_PAGES since its use is removed from Java 17\n#1239","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/00cae995a72c16bede695e0d17066189d789b995"},{"sha":"5c0cf0354867bc37f65391dd2eb582cf3c3dbb56","author":{"email":"itzg@users.noreply.github.com","name":"itzg"},"message":"docs: Auto update markdown TOC","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/5c0cf0354867bc37f65391dd2eb582cf3c3dbb56"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597159","type":"PushEvent","actor":{"id":94412535,"login":"nhsexposed","display_login":"nhsexposed","gravatar_id":"","url":"https://api.github.com/users/nhsexposed","avatar_url":"https://avatars.githubusercontent.com/u/94412535?"},"repo":{"id":428450913,"name":"nhsexposed/UK-Pagers","url":"https://api.github.com/repos/nhsexposed/UK-Pagers"},"payload":{"push_id":8735902067,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c24d8d67e8b33dfa1383985993b9b071e5f8106d","before":"e5c22a11d05b4a270c71145d300b2449ed455f32","commits":[{"sha":"c24d8d67e8b33dfa1383985993b9b071e5f8106d","author":{"email":"nhsexposed@protonmail.com","name":"nhsexposed"},"message":"Periodic update Sun Jan 2 01:00:02 UTC 2022","distinct":true,"url":"https://api.github.com/repos/nhsexposed/UK-Pagers/commits/c24d8d67e8b33dfa1383985993b9b071e5f8106d"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597161","type":"PushEvent","actor":{"id":88195055,"login":"RealYalaSo","display_login":"RealYalaSo","gravatar_id":"","url":"https://api.github.com/users/RealYalaSo","avatar_url":"https://avatars.githubusercontent.com/u/88195055?"},"repo":{"id":428556282,"name":"superrr-vpn/status","url":"https://api.github.com/repos/superrr-vpn/status"},"payload":{"push_id":8735902064,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"536391b4fca194de8d5f44cd78259ee7909b5222","before":"28d90d719551508e96e32268da953cbc867c14eb","commits":[{"sha":"70190dc619217a3051983edcd461efb270e68af9","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/superrr-vpn/status/commits/70190dc619217a3051983edcd461efb270e68af9"},{"sha":"536391b4fca194de8d5f44cd78259ee7909b5222","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/superrr-vpn/status/commits/536391b4fca194de8d5f44cd78259ee7909b5222"}]},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":94783393,"login":"superrr-vpn","gravatar_id":"","url":"https://api.github.com/orgs/superrr-vpn","avatar_url":"https://avatars.githubusercontent.com/u/94783393?"}} +{"id":"19546597162","type":"PushEvent","actor":{"id":74298055,"login":"210000blk-bot","display_login":"210000blk-bot","gravatar_id":"","url":"https://api.github.com/users/210000blk-bot","avatar_url":"https://avatars.githubusercontent.com/u/74298055?"},"repo":{"id":283538441,"name":"redoules/210000blocktheory","url":"https://api.github.com/repos/redoules/210000blocktheory"},"payload":{"push_id":8735902076,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"af8bfe38ac3f1c3d0522c2da5b0668a3789b2c10","before":"7c05f2849770d936e1ab764cb667ed1c26706d7f","commits":[{"sha":"af8bfe38ac3f1c3d0522c2da5b0668a3789b2c10","author":{"email":"networkdust@gmail.com","name":"root"},"message":"updating index file","distinct":true,"url":"https://api.github.com/repos/redoules/210000blocktheory/commits/af8bfe38ac3f1c3d0522c2da5b0668a3789b2c10"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597164","type":"PushEvent","actor":{"id":2907374,"login":"AceChenX","display_login":"AceChenX","gravatar_id":"","url":"https://api.github.com/users/AceChenX","avatar_url":"https://avatars.githubusercontent.com/u/2907374?"},"repo":{"id":121541950,"name":"UltracoldAtomsLab/chamber_log","url":"https://api.github.com/repos/UltracoldAtomsLab/chamber_log"},"payload":{"push_id":8735902071,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"920510bd258b67843087d3768daa0211d35ac2d8","before":"fc23422d08a35400620249c89c5bde630dd92fc6","commits":[{"sha":"920510bd258b67843087d3768daa0211d35ac2d8","author":{"email":"yjlinlab@gmail.com","name":"yjlinlab"},"message":"2022年01月02日 (週日) 09時00分05秒","distinct":true,"url":"https://api.github.com/repos/UltracoldAtomsLab/chamber_log/commits/920510bd258b67843087d3768daa0211d35ac2d8"}]},"public":true,"created_at":"2022-01-02T01:00:09Z","org":{"id":8256915,"login":"UltracoldAtomsLab","gravatar_id":"","url":"https://api.github.com/orgs/UltracoldAtomsLab","avatar_url":"https://avatars.githubusercontent.com/u/8256915?"}} +{"id":"19546597165","type":"PushEvent","actor":{"id":45486116,"login":"CurrencyKeypirinha","display_login":"CurrencyKeypirinha","gravatar_id":"","url":"https://api.github.com/users/CurrencyKeypirinha","avatar_url":"https://avatars.githubusercontent.com/u/45486116?"},"repo":{"id":155561633,"name":"CurrencyKeypirinha/currency-exchange","url":"https://api.github.com/repos/CurrencyKeypirinha/currency-exchange"},"payload":{"push_id":8735902079,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"78b61a4ae5db9789859c96d3bd80d4030514c59e","before":"4c46fd6d84881e49a673d31c66d908113a6f9a88","commits":[{"sha":"78b61a4ae5db9789859c96d3bd80d4030514c59e","author":{"email":"agieselvedana@gmail.com","name":"Arthur Vedana"},"message":"Update currencies.json","distinct":true,"url":"https://api.github.com/repos/CurrencyKeypirinha/currency-exchange/commits/78b61a4ae5db9789859c96d3bd80d4030514c59e"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597168","type":"PushEvent","actor":{"id":90582067,"login":"FedericoD3","display_login":"FedericoD3","gravatar_id":"","url":"https://api.github.com/users/FedericoD3","avatar_url":"https://avatars.githubusercontent.com/u/90582067?"},"repo":{"id":442018948,"name":"FedericoD3/LogsUZ","url":"https://api.github.com/repos/FedericoD3/LogsUZ"},"payload":{"push_id":8735902078,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f3fe9f16dd3f562777890e3252943b768d117186","before":"d1232b09153fb345f506674f7d2360f4558d371e","commits":[{"sha":"f3fe9f16dd3f562777890e3252943b768d117186","author":{"email":"fvduran@gmail.com","name":"FedericoD3"},"message":"Update del 2022-01-01_21:00","distinct":true,"url":"https://api.github.com/repos/FedericoD3/LogsUZ/commits/f3fe9f16dd3f562777890e3252943b768d117186"}]},"public":true,"created_at":"2022-01-02T01:00:09Z"} +{"id":"19546597171","type":"PushEvent","actor":{"id":2839925,"login":"richmahn","display_login":"richmahn","gravatar_id":"","url":"https://api.github.com/users/richmahn","avatar_url":"https://avatars.githubusercontent.com/u/2839925?"},"repo":{"id":51323538,"name":"unfoldingWord/dcs","url":"https://api.github.com/repos/unfoldingWord/dcs"},"payload":{"push_id":8735902070,"size":2,"distinct_size":2,"ref":"refs/heads/main","head":"acda10c0b0b5acbfb35711bce4c26c4e4b43e68b","before":"5fbffd585b7e3c14bfd0aa48c3dabe80dc66df38","commits":[{"sha":"6a3611cc3d3b2e401464a855f4630f606f52eb67","author":{"email":"teabot@gitea.io","name":"GiteaBot"},"message":"[skip ci] Updated licenses and gitignores","distinct":true,"url":"https://api.github.com/repos/unfoldingWord/dcs/commits/6a3611cc3d3b2e401464a855f4630f606f52eb67"},{"sha":"acda10c0b0b5acbfb35711bce4c26c4e4b43e68b","author":{"email":"rich.mahn@unfoldingword.org","name":"Richard Mahn"},"message":"Merge remote-tracking branch 'upstream/main'","distinct":true,"url":"https://api.github.com/repos/unfoldingWord/dcs/commits/acda10c0b0b5acbfb35711bce4c26c4e4b43e68b"}]},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":6601424,"login":"unfoldingWord","gravatar_id":"","url":"https://api.github.com/orgs/unfoldingWord","avatar_url":"https://avatars.githubusercontent.com/u/6601424?"}} +{"id":"19546597172","type":"IssueCommentEvent","actor":{"id":37411558,"login":"docker-desktop-robot","display_login":"docker-desktop-robot","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","avatar_url":"https://avatars.githubusercontent.com/u/37411558?"},"repo":{"id":64405875,"name":"docker/for-win","url":"https://api.github.com/repos/docker/for-win"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/docker/for-win/issues/12240","repository_url":"https://api.github.com/repos/docker/for-win","labels_url":"https://api.github.com/repos/docker/for-win/issues/12240/labels{/name}","comments_url":"https://api.github.com/repos/docker/for-win/issues/12240/comments","events_url":"https://api.github.com/repos/docker/for-win/issues/12240/events","html_url":"https://github.com/docker/for-win/issues/12240","id":1015448594,"node_id":"I_kwDOA9bBc848hoQS","number":12240,"title":"The junction created by powershell when building a docker image points to nothing","user":{"login":"xiangfan-ms","id":25832891,"node_id":"MDQ6VXNlcjI1ODMyODkx","avatar_url":"https://avatars.githubusercontent.com/u/25832891?v=4","gravatar_id":"","url":"https://api.github.com/users/xiangfan-ms","html_url":"https://github.com/xiangfan-ms","followers_url":"https://api.github.com/users/xiangfan-ms/followers","following_url":"https://api.github.com/users/xiangfan-ms/following{/other_user}","gists_url":"https://api.github.com/users/xiangfan-ms/gists{/gist_id}","starred_url":"https://api.github.com/users/xiangfan-ms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiangfan-ms/subscriptions","organizations_url":"https://api.github.com/users/xiangfan-ms/orgs","repos_url":"https://api.github.com/users/xiangfan-ms/repos","events_url":"https://api.github.com/users/xiangfan-ms/events{/privacy}","received_events_url":"https://api.github.com/users/xiangfan-ms/received_events","type":"User","site_admin":false},"labels":[{"id":3311513132,"node_id":"MDU6TGFiZWwzMzExNTEzMTMy","url":"https://api.github.com/repos/docker/for-win/labels/version/4.0.0","name":"version/4.0.0","color":"ededed","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-10-04T17:39:11Z","updated_at":"2022-01-02T01:00:09Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"\r\n\r\n\r\n - [ x ] I have tried with the latest version of Docker Desktop\r\n - [ x ] I have tried disabling enabled experimental features\r\n - [ x ] I have uploaded Diagnostics\r\n - Diagnostics ID: E9449031-6CD9-4DCC-BDF4-7BB4E9D2866E/20211004173625\r\n\r\n### Actual behavior\r\nThe junction created by 'powershell New-Item -ItemType Junction' when building a docker image points to nothing\r\nIn contrast:\r\nThe junction created by 'mklink /J' when building a docker image works\r\nThe junction created by 'powershell New-Item -ItemType Junction' in the running container works\r\n\r\n### Expected behavior\r\nThe junction should point to the target location\r\n\r\n### Information\r\n\r\n - Windows Version: 10.0.19043.1237\r\n - Docker Desktop Version: 4.0.0 (67817)\r\n - WSL2 or Hyper-V backend? WSL2\r\n - Are you running inside a virtualized Windows e.g. on a cloud server or a VM: No\r\n\r\n### Steps to reproduce the behavior\r\n\r\n\r\n 1. On the hosting machine: docker build -t test .\r\n\r\nDockerfile\r\n```\r\nFROM mcr.microsoft.com/windows/servercore:ltsc2019\r\nRUN mkdir test\r\nRUN mklink /J sym1 C:\\test\r\nRUN mklink /J sym2 \\\\?\\C:\\test\r\nRUN powershell New-Item -ItemType Junction -Path C:\\sym3 -Value C:\\test\r\nRUN dir\r\n```\r\n\r\nOutput\r\n```\r\n sym1 [C:\\test]\r\n sym2 [\\\\?\\C:\\test]\r\n sym3 []\r\n```\r\n\r\n 2. On the hosting machine: docker run -it test cmd.exe\r\n 3. In the running container: dir\r\n\r\n```\r\n sym1 [C:\\test]\r\n sym2 [\\\\?\\C:\\test]\r\n sym3 []\r\n```\r\n 4. In the running container: powershell New-Item -ItemType Junction -Path C:\\sym4 -Value C:\\test\r\n 5. In the running container: dir\r\n\r\n```\r\n sym4 [\\??\\C:\\test]\r\n```\r\n","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/12240/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/docker/for-win/issues/12240/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644273","html_url":"https://github.com/docker/for-win/issues/12240#issuecomment-1003644273","issue_url":"https://api.github.com/repos/docker/for-win/issues/12240","id":1003644273,"node_id":"IC_kwDOA9bBc8470mVx","user":{"login":"docker-desktop-robot","id":37411558,"node_id":"MDQ6VXNlcjM3NDExNTU4","avatar_url":"https://avatars.githubusercontent.com/u/37411558?v=4","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","html_url":"https://github.com/docker-desktop-robot","followers_url":"https://api.github.com/users/docker-desktop-robot/followers","following_url":"https://api.github.com/users/docker-desktop-robot/following{/other_user}","gists_url":"https://api.github.com/users/docker-desktop-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/docker-desktop-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker-desktop-robot/subscriptions","organizations_url":"https://api.github.com/users/docker-desktop-robot/orgs","repos_url":"https://api.github.com/users/docker-desktop-robot/repos","events_url":"https://api.github.com/users/docker-desktop-robot/events{/privacy}","received_events_url":"https://api.github.com/users/docker-desktop-robot/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:09Z","updated_at":"2022-01-02T01:00:09Z","author_association":"COLLABORATOR","body":"Issues go stale after 90 days of inactivity.\nMark the issue as fresh with `/remove-lifecycle stale` comment.\nStale issues will be closed after an additional 30 days of inactivity.\n\nPrevent issues from auto-closing with an `/lifecycle frozen` comment.\n\nIf this issue is safe to close now please do so.\n\nSend feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.\n/lifecycle stale","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644273/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":5429470,"login":"docker","gravatar_id":"","url":"https://api.github.com/orgs/docker","avatar_url":"https://avatars.githubusercontent.com/u/5429470?"}} +{"id":"19546597175","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":406231599,"name":"chu-shen/proxy_rsshub","url":"https://api.github.com/repos/chu-shen/proxy_rsshub"},"payload":{"push_id":8735902080,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"9ac5b230d1146c8aa69234586998b987c25448a3","before":"72ea1179c5ab32f467d3a0c4416d57ef6b51ebb5","commits":[{"sha":"9ac5b230d1146c8aa69234586998b987c25448a3","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Auto Commit","distinct":true,"url":"https://api.github.com/repos/chu-shen/proxy_rsshub/commits/9ac5b230d1146c8aa69234586998b987c25448a3"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597178","type":"PushEvent","actor":{"id":96464003,"login":"zhouqn3","display_login":"zhouqn3","gravatar_id":"","url":"https://api.github.com/users/zhouqn3","avatar_url":"https://avatars.githubusercontent.com/u/96464003?"},"repo":{"id":443627392,"name":"zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3","url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3"},"payload":{"push_id":8735902084,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"c866fdd29af80607e5df8217031efc2e80cb95c4","before":"f995fe715f06d359bec97f1ea974df7c6eed6e28","commits":[{"sha":"c866fdd29af80607e5df8217031efc2e80cb95c4","author":{"email":"96464003+zhouqn3@users.noreply.github.com","name":"zhouqn3"},"message":"upload file f7e0cbd7f2b2d1615e02e70c7ae2e8179799e99122b5cf8ae5405a027598980e41ba338d4d23ab204fdd360b9dcc5243video_929_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/zhouqn3/1f19e58a-58ac-495d-912d-b8356c70dbd3/commits/c866fdd29af80607e5df8217031efc2e80cb95c4"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597179","type":"WatchEvent","actor":{"id":3009471,"login":"gsbrewer","display_login":"gsbrewer","gravatar_id":"","url":"https://api.github.com/users/gsbrewer","avatar_url":"https://avatars.githubusercontent.com/u/3009471?"},"repo":{"id":827590,"name":"beetbox/beets","url":"https://api.github.com/repos/beetbox/beets"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":15920313,"login":"beetbox","gravatar_id":"","url":"https://api.github.com/orgs/beetbox","avatar_url":"https://avatars.githubusercontent.com/u/15920313?"}} +{"id":"19546597187","type":"PushEvent","actor":{"id":28039927,"login":"bensuperpc","display_login":"bensuperpc","gravatar_id":"","url":"https://api.github.com/users/bensuperpc","avatar_url":"https://avatars.githubusercontent.com/u/28039927?"},"repo":{"id":373482825,"name":"bensuperpc/docker-minecraft-server-1","url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1"},"payload":{"push_id":8735902092,"size":3,"distinct_size":0,"ref":"refs/heads/master","head":"5c0cf0354867bc37f65391dd2eb582cf3c3dbb56","before":"6520655d6c428aa1350b4886c2c5635e1fa12bba","commits":[{"sha":"4ba0a9c98c42bc4d00e6f0219228bfeb7370846c","author":{"email":"Jordy.Hulck@outlook.com","name":"Jordy Hulck"},"message":"Support downloading CurseForge modpack when USE_MODPACK_START_SCRIPT is false (#1229)","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/4ba0a9c98c42bc4d00e6f0219228bfeb7370846c"},{"sha":"00cae995a72c16bede695e0d17066189d789b995","author":{"email":"itzgeoff@gmail.com","name":"Geoff Bourne"},"message":"Removed USE_LARGE_PAGES since its use is removed from Java 17\n#1239","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/00cae995a72c16bede695e0d17066189d789b995"},{"sha":"5c0cf0354867bc37f65391dd2eb582cf3c3dbb56","author":{"email":"itzg@users.noreply.github.com","name":"itzg"},"message":"docs: Auto update markdown TOC","distinct":false,"url":"https://api.github.com/repos/bensuperpc/docker-minecraft-server-1/commits/5c0cf0354867bc37f65391dd2eb582cf3c3dbb56"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597189","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":430824850,"name":"thiagomartinss/thiagomartinss","url":"https://api.github.com/repos/thiagomartinss/thiagomartinss"},"payload":{"push_id":8735902087,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"63be730391b9a9e30e1b6d5a3b173309927f078e","before":"4431d1d3eafbe525b77b1c7e7427805b9d0e7159","commits":[{"sha":"63be730391b9a9e30e1b6d5a3b173309927f078e","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/thiagomartinss/thiagomartinss/commits/63be730391b9a9e30e1b6d5a3b173309927f078e"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597192","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735902103,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"68b178bb31b8087fe6422cf2f08c1971e87748e1","before":"c99e494303414301894e41f9b0f69a07250c2b2d","commits":[{"sha":"68b178bb31b8087fe6422cf2f08c1971e87748e1","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update news2008.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/68b178bb31b8087fe6422cf2f08c1971e87748e1"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597194","type":"PushEvent","actor":{"id":63484882,"login":"h7c","display_login":"h7c","gravatar_id":"","url":"https://api.github.com/users/h7c","avatar_url":"https://avatars.githubusercontent.com/u/63484882?"},"repo":{"id":336684301,"name":"h7c/shiu","url":"https://api.github.com/repos/h7c/shiu"},"payload":{"push_id":8735902093,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"181d64e2f3494e962a2965a93bbd98201240daa1","before":"7097891923ae4896797157e9428689648a106e2d","commits":[{"sha":"181d64e2f3494e962a2965a93bbd98201240daa1","author":{"email":"h7c@dev.null","name":"h7c"},"message":"update 2021/12.js","distinct":true,"url":"https://api.github.com/repos/h7c/shiu/commits/181d64e2f3494e962a2965a93bbd98201240daa1"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597199","type":"PushEvent","actor":{"id":4279052,"login":"wp3355168","display_login":"wp3355168","gravatar_id":"","url":"https://api.github.com/users/wp3355168","avatar_url":"https://avatars.githubusercontent.com/u/4279052?"},"repo":{"id":303892175,"name":"wp3355168/Typora-Picgo-Gitee","url":"https://api.github.com/repos/wp3355168/Typora-Picgo-Gitee"},"payload":{"push_id":8735902106,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6629148714a16fa458d939e2ae2ef3e9830e8867","before":"cb1244074faebadbed5cdd436293066564faa6a5","commits":[{"sha":"6629148714a16fa458d939e2ae2ef3e9830e8867","author":{"email":"513985180@qq.com","name":"wp3355168"},"message":"Upload by PicGo","distinct":true,"url":"https://api.github.com/repos/wp3355168/Typora-Picgo-Gitee/commits/6629148714a16fa458d939e2ae2ef3e9830e8867"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597201","type":"PushEvent","actor":{"id":31819732,"login":"dustinrouillard","display_login":"dustinrouillard","gravatar_id":"","url":"https://api.github.com/users/dustinrouillard","avatar_url":"https://avatars.githubusercontent.com/u/31819732?"},"repo":{"id":277890197,"name":"dustinrouillard/dustinrouillard","url":"https://api.github.com/repos/dustinrouillard/dustinrouillard"},"payload":{"push_id":8735902100,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"17a07756135f7566e012ad541799fb5e08f09ff7","before":"194ae101763c9ce742e908d1ce3de634bfd31fba","commits":[{"sha":"17a07756135f7566e012ad541799fb5e08f09ff7","author":{"email":"api@dstn.to","name":"dstn.to - API Automation"},"message":"Updating recent statistics","distinct":true,"url":"https://api.github.com/repos/dustinrouillard/dustinrouillard/commits/17a07756135f7566e012ad541799fb5e08f09ff7"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597204","type":"PushEvent","actor":{"id":982490,"login":"inkblot","display_login":"inkblot","gravatar_id":"","url":"https://api.github.com/users/inkblot","avatar_url":"https://avatars.githubusercontent.com/u/982490?"},"repo":{"id":146677880,"name":"inkblot/aws-lambda-maven-plugin","url":"https://api.github.com/repos/inkblot/aws-lambda-maven-plugin"},"payload":{"push_id":8735902097,"size":2,"distinct_size":1,"ref":"refs/heads/dev","head":"4faf3aee8a5c2ede1e8e04d9c3c6ad64030d6c3f","before":"9b773b79c6ef7efd37ee37d44a20ef2e2cc72e64","commits":[{"sha":"87672443904aabd0f50e40812826ebc94d2de221","author":{"email":"inkblot@movealong.org","name":"Nate Riffe"},"message":"Update parent pom\n\nUse movealong-oss 0.0.23 with some updated dependencies","distinct":false,"url":"https://api.github.com/repos/inkblot/aws-lambda-maven-plugin/commits/87672443904aabd0f50e40812826ebc94d2de221"},{"sha":"4faf3aee8a5c2ede1e8e04d9c3c6ad64030d6c3f","author":{"email":"inkblot@movealong.org","name":"Nate Riffe"},"message":"Beginning 0.0.16-SNAPSHOT development","distinct":true,"url":"https://api.github.com/repos/inkblot/aws-lambda-maven-plugin/commits/4faf3aee8a5c2ede1e8e04d9c3c6ad64030d6c3f"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597206","type":"PushEvent","actor":{"id":96804436,"login":"dfa54","display_login":"dfa54","gravatar_id":"","url":"https://api.github.com/users/dfa54","avatar_url":"https://avatars.githubusercontent.com/u/96804436?"},"repo":{"id":443642660,"name":"dfa54/acae3345-3db5-484e-bf04-b37c955c10f0","url":"https://api.github.com/repos/dfa54/acae3345-3db5-484e-bf04-b37c955c10f0"},"payload":{"push_id":8735902101,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3632af96533d0bfe8938d213224f67b5519a36e3","before":"3e9005a9db8117aa42b98ff2038e313ca835a034","commits":[{"sha":"3632af96533d0bfe8938d213224f67b5519a36e3","author":{"email":"96804436+dfa54@users.noreply.github.com","name":"dfa54"},"message":"upload file 78981b52286ddfdefe7bd026fb81ce036c03f9f789a26b108d92a7db310d3470d324d26e6e29eab1f51d660d868cc93cvideo_1291_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/dfa54/acae3345-3db5-484e-bf04-b37c955c10f0/commits/3632af96533d0bfe8938d213224f67b5519a36e3"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597209","type":"PushEvent","actor":{"id":53069675,"login":"codebydom","display_login":"codebydom","gravatar_id":"","url":"https://api.github.com/users/codebydom","avatar_url":"https://avatars.githubusercontent.com/u/53069675?"},"repo":{"id":365043036,"name":"codebydom/git-some","url":"https://api.github.com/repos/codebydom/git-some"},"payload":{"push_id":8735902108,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"45c50289bdc9b8e9d641a09b1941af15ccede6ac","before":"219d6f2f954e32a5107dccb6076bc215a93d68b4","commits":[{"sha":"45c50289bdc9b8e9d641a09b1941af15ccede6ac","author":{"email":"code.by.dom@gmail.com","name":"codebydom"},"message":"fixed the time to 01-01-2022 @ 18:00","distinct":true,"url":"https://api.github.com/repos/codebydom/git-some/commits/45c50289bdc9b8e9d641a09b1941af15ccede6ac"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597214","type":"PushEvent","actor":{"id":53029023,"login":"alexanderolvera","display_login":"alexanderolvera","gravatar_id":"","url":"https://api.github.com/users/alexanderolvera","avatar_url":"https://avatars.githubusercontent.com/u/53029023?"},"repo":{"id":438119393,"name":"rpp-boc-spectre/BlueOcean","url":"https://api.github.com/repos/rpp-boc-spectre/BlueOcean"},"payload":{"push_id":8735902099,"size":1,"distinct_size":1,"ref":"refs/heads/DashboardTracks","head":"5dee948f4c95ea4af05b4ee983eec8b93ec7160b","before":"395d366e3ed987e7017213a7a809b9a3e8740acb","commits":[{"sha":"5dee948f4c95ea4af05b4ee983eec8b93ec7160b","author":{"email":"alexander.olvera943@gmail.com","name":"alexanderolvera"},"message":"Added functionality to tracklist to get the users tracks and list them","distinct":true,"url":"https://api.github.com/repos/rpp-boc-spectre/BlueOcean/commits/5dee948f4c95ea4af05b4ee983eec8b93ec7160b"}]},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":96098888,"login":"rpp-boc-spectre","gravatar_id":"","url":"https://api.github.com/orgs/rpp-boc-spectre","avatar_url":"https://avatars.githubusercontent.com/u/96098888?"}} +{"id":"19546597215","type":"CreateEvent","actor":{"id":42283162,"login":"aws-aemilia","display_login":"aws-aemilia","gravatar_id":"","url":"https://api.github.com/users/aws-aemilia","avatar_url":"https://avatars.githubusercontent.com/u/42283162?"},"repo":{"id":443654649,"name":"aws-aemilia/react-app7271175612363282","url":"https://api.github.com/repos/aws-aemilia/react-app7271175612363282"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597216","type":"PushEvent","actor":{"id":96603710,"login":"li123v","display_login":"li123v","gravatar_id":"","url":"https://api.github.com/users/li123v","avatar_url":"https://avatars.githubusercontent.com/u/96603710?"},"repo":{"id":443646377,"name":"li123v/21655d02-6b55-437b-99d7-76c7f3dc1621","url":"https://api.github.com/repos/li123v/21655d02-6b55-437b-99d7-76c7f3dc1621"},"payload":{"push_id":8735902118,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"55d9c42986824e32c5187874ffeb80a8896a97fb","before":"7a12173a5bb853fb74ac8705e8ebd2f7ef4ff217","commits":[{"sha":"55d9c42986824e32c5187874ffeb80a8896a97fb","author":{"email":"96603710+li123v@users.noreply.github.com","name":"li123v"},"message":"upload file d48e264feb9a64493dccfaaea1284b2c71902d39f8407eee894a8f562deaa0b136c93791cda50fa25246fd08c1ad1c44video_280_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/li123v/21655d02-6b55-437b-99d7-76c7f3dc1621/commits/55d9c42986824e32c5187874ffeb80a8896a97fb"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597219","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8735902124,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"766665f6fa8d43fb6e090511e457e0d748cbd244","before":"314b853bd83d3a214046c569cf2b5e7f1dede44c","commits":[{"sha":"766665f6fa8d43fb6e090511e457e0d748cbd244","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/766665f6fa8d43fb6e090511e457e0d748cbd244"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597220","type":"PushEvent","actor":{"id":41176085,"login":"tkxkd0159","display_login":"tkxkd0159","gravatar_id":"","url":"https://api.github.com/users/tkxkd0159","avatar_url":"https://avatars.githubusercontent.com/u/41176085?"},"repo":{"id":344305957,"name":"tkxkd0159/tkxkd0159","url":"https://api.github.com/repos/tkxkd0159/tkxkd0159"},"payload":{"push_id":8735902111,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"cd728406057c3f9255d991fe20341901706bcb24","before":"cd4fbf22160a1b928ca8f830ea3f96fde7a85461","commits":[{"sha":"cd728406057c3f9255d991fe20341901706bcb24","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"readme-bot"},"message":"Updated with Dev Metrics","distinct":true,"url":"https://api.github.com/repos/tkxkd0159/tkxkd0159/commits/cd728406057c3f9255d991fe20341901706bcb24"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597222","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735902113,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0f42089ef1b18757f349126ffc2969977e453fad","before":"f6338f966998db7d68f22d3d2c8b91d908b9aa75","commits":[{"sha":"0f42089ef1b18757f349126ffc2969977e453fad","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog202_1.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/0f42089ef1b18757f349126ffc2969977e453fad"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597223","type":"PushEvent","actor":{"id":7587960,"login":"weng-pang","display_login":"weng-pang","gravatar_id":"","url":"https://api.github.com/users/weng-pang","avatar_url":"https://avatars.githubusercontent.com/u/7587960?"},"repo":{"id":414192976,"name":"Fluffy-Pan/fp-sauces","url":"https://api.github.com/repos/Fluffy-Pan/fp-sauces"},"payload":{"push_id":8735902116,"size":1,"distinct_size":1,"ref":"refs/heads/golf","head":"188e99cb91f1d84bbac6e3dcf28767b23b85710a","before":"cb1f8968d75e1ce779521de30a23402c94d2d434","commits":[{"sha":"188e99cb91f1d84bbac6e3dcf28767b23b85710a","author":{"email":"warren@valentine-flowershop.com","name":"Weng Long Pang (GOLF)"},"message":"golf.json Updated","distinct":true,"url":"https://api.github.com/repos/Fluffy-Pan/fp-sauces/commits/188e99cb91f1d84bbac6e3dcf28767b23b85710a"}]},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":91823622,"login":"Fluffy-Pan","gravatar_id":"","url":"https://api.github.com/orgs/Fluffy-Pan","avatar_url":"https://avatars.githubusercontent.com/u/91823622?"}} +{"id":"19546597224","type":"PushEvent","actor":{"id":94870481,"login":"DJP2137","display_login":"DJP2137","gravatar_id":"","url":"https://api.github.com/users/DJP2137","avatar_url":"https://avatars.githubusercontent.com/u/94870481?"},"repo":{"id":430861196,"name":"DJP2137/ROBOPryczi","url":"https://api.github.com/repos/DJP2137/ROBOPryczi"},"payload":{"push_id":8735902117,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"73f05b95ebe51fd2b960c2c8b9164b41f31b93c5","before":"7622769a5747315ccba2011182c0a75df3902660","commits":[{"sha":"73f05b95ebe51fd2b960c2c8b9164b41f31b93c5","author":{"email":"owowpp1@users.noreply.github.com","name":"owowpp1"},"message":"oke","distinct":true,"url":"https://api.github.com/repos/DJP2137/ROBOPryczi/commits/73f05b95ebe51fd2b960c2c8b9164b41f31b93c5"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597225","type":"PushEvent","actor":{"id":57410559,"login":"ikp-773","display_login":"ikp-773","gravatar_id":"","url":"https://api.github.com/users/ikp-773","avatar_url":"https://avatars.githubusercontent.com/u/57410559?"},"repo":{"id":300383006,"name":"ikp-773/ikp-773","url":"https://api.github.com/repos/ikp-773/ikp-773"},"payload":{"push_id":8735902130,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"bf2da79af6a7e19138b2285a7d2fecdff6e82e68","before":"3a6fd292712cb446591e3e11052af8349ff7ccc6","commits":[{"sha":"bf2da79af6a7e19138b2285a7d2fecdff6e82e68","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"readme-bot"},"message":"Charts Updated","distinct":true,"url":"https://api.github.com/repos/ikp-773/ikp-773/commits/bf2da79af6a7e19138b2285a7d2fecdff6e82e68"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597226","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":289198022,"name":"magdapoppins/magdapoppins","url":"https://api.github.com/repos/magdapoppins/magdapoppins"},"payload":{"push_id":8735902125,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"122f7e7631d68b43102491deb655576050d32296","before":"16a84751691d7428a4c734f3e782de0a81bec471","commits":[{"sha":"122f7e7631d68b43102491deb655576050d32296","author":{"email":"github-actions[bot]@users.noreply.github.com","name":"Actions"},"message":"Set the zen 🪐","distinct":true,"url":"https://api.github.com/repos/magdapoppins/magdapoppins/commits/122f7e7631d68b43102491deb655576050d32296"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597228","type":"ForkEvent","actor":{"id":69416693,"login":"Innokentie","display_login":"Innokentie","gravatar_id":"","url":"https://api.github.com/users/Innokentie","avatar_url":"https://avatars.githubusercontent.com/u/69416693?"},"repo":{"id":278335273,"name":"anuraghazra/github-readme-stats","url":"https://api.github.com/repos/anuraghazra/github-readme-stats"},"payload":{"forkee":{"id":443654653,"node_id":"R_kgDOGnGh_Q","name":"github-readme-stats","full_name":"Innokentie/github-readme-stats","private":false,"owner":{"login":"Innokentie","id":69416693,"node_id":"MDQ6VXNlcjY5NDE2Njkz","avatar_url":"https://avatars.githubusercontent.com/u/69416693?v=4","gravatar_id":"","url":"https://api.github.com/users/Innokentie","html_url":"https://github.com/Innokentie","followers_url":"https://api.github.com/users/Innokentie/followers","following_url":"https://api.github.com/users/Innokentie/following{/other_user}","gists_url":"https://api.github.com/users/Innokentie/gists{/gist_id}","starred_url":"https://api.github.com/users/Innokentie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Innokentie/subscriptions","organizations_url":"https://api.github.com/users/Innokentie/orgs","repos_url":"https://api.github.com/users/Innokentie/repos","events_url":"https://api.github.com/users/Innokentie/events{/privacy}","received_events_url":"https://api.github.com/users/Innokentie/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Innokentie/github-readme-stats","description":":zap: Dynamically generated stats for your github readmes","fork":true,"url":"https://api.github.com/repos/Innokentie/github-readme-stats","forks_url":"https://api.github.com/repos/Innokentie/github-readme-stats/forks","keys_url":"https://api.github.com/repos/Innokentie/github-readme-stats/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Innokentie/github-readme-stats/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Innokentie/github-readme-stats/teams","hooks_url":"https://api.github.com/repos/Innokentie/github-readme-stats/hooks","issue_events_url":"https://api.github.com/repos/Innokentie/github-readme-stats/issues/events{/number}","events_url":"https://api.github.com/repos/Innokentie/github-readme-stats/events","assignees_url":"https://api.github.com/repos/Innokentie/github-readme-stats/assignees{/user}","branches_url":"https://api.github.com/repos/Innokentie/github-readme-stats/branches{/branch}","tags_url":"https://api.github.com/repos/Innokentie/github-readme-stats/tags","blobs_url":"https://api.github.com/repos/Innokentie/github-readme-stats/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Innokentie/github-readme-stats/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Innokentie/github-readme-stats/git/refs{/sha}","trees_url":"https://api.github.com/repos/Innokentie/github-readme-stats/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Innokentie/github-readme-stats/statuses/{sha}","languages_url":"https://api.github.com/repos/Innokentie/github-readme-stats/languages","stargazers_url":"https://api.github.com/repos/Innokentie/github-readme-stats/stargazers","contributors_url":"https://api.github.com/repos/Innokentie/github-readme-stats/contributors","subscribers_url":"https://api.github.com/repos/Innokentie/github-readme-stats/subscribers","subscription_url":"https://api.github.com/repos/Innokentie/github-readme-stats/subscription","commits_url":"https://api.github.com/repos/Innokentie/github-readme-stats/commits{/sha}","git_commits_url":"https://api.github.com/repos/Innokentie/github-readme-stats/git/commits{/sha}","comments_url":"https://api.github.com/repos/Innokentie/github-readme-stats/comments{/number}","issue_comment_url":"https://api.github.com/repos/Innokentie/github-readme-stats/issues/comments{/number}","contents_url":"https://api.github.com/repos/Innokentie/github-readme-stats/contents/{+path}","compare_url":"https://api.github.com/repos/Innokentie/github-readme-stats/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Innokentie/github-readme-stats/merges","archive_url":"https://api.github.com/repos/Innokentie/github-readme-stats/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Innokentie/github-readme-stats/downloads","issues_url":"https://api.github.com/repos/Innokentie/github-readme-stats/issues{/number}","pulls_url":"https://api.github.com/repos/Innokentie/github-readme-stats/pulls{/number}","milestones_url":"https://api.github.com/repos/Innokentie/github-readme-stats/milestones{/number}","notifications_url":"https://api.github.com/repos/Innokentie/github-readme-stats/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Innokentie/github-readme-stats/labels{/name}","releases_url":"https://api.github.com/repos/Innokentie/github-readme-stats/releases{/id}","deployments_url":"https://api.github.com/repos/Innokentie/github-readme-stats/deployments","created_at":"2022-01-02T01:00:10Z","updated_at":"2022-01-02T00:49:30Z","pushed_at":"2021-12-29T15:53:50Z","git_url":"git://github.com/Innokentie/github-readme-stats.git","ssh_url":"git@github.com:Innokentie/github-readme-stats.git","clone_url":"https://github.com/Innokentie/github-readme-stats.git","svn_url":"https://github.com/Innokentie/github-readme-stats","homepage":"https://github-readme-stats.vercel.app","size":970,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":0,"default_branch":"main","public":true}},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597229","type":"PushEvent","actor":{"id":94809377,"login":"Oracle-2","display_login":"Oracle-2","gravatar_id":"","url":"https://api.github.com/users/Oracle-2","avatar_url":"https://avatars.githubusercontent.com/u/94809377?"},"repo":{"id":443654539,"name":"Oracle-2/shin-megami-tensei","url":"https://api.github.com/repos/Oracle-2/shin-megami-tensei"},"payload":{"push_id":8735902131,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"84b649b437b8978b089db827dc3d768da1c3bd1a","before":"55ec97aedd115cc9ea87ab579253a88b4ed7dc06","commits":[{"sha":"84b649b437b8978b089db827dc3d768da1c3bd1a","author":{"email":"94809377+Oracle-2@users.noreply.github.com","name":"Oracle-2"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/Oracle-2/shin-megami-tensei/commits/84b649b437b8978b089db827dc3d768da1c3bd1a"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597232","type":"CreateEvent","actor":{"id":84364656,"login":"miscany","display_login":"miscany","gravatar_id":"","url":"https://api.github.com/users/miscany","avatar_url":"https://avatars.githubusercontent.com/u/84364656?"},"repo":{"id":443654652,"name":"miscany/Battleship","url":"https://api.github.com/repos/miscany/Battleship"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Created with CodeSandbox","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597237","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":242003190,"name":"kivy-garden/tickmarker","url":"https://api.github.com/repos/kivy-garden/tickmarker"},"payload":{"push_id":8735902120,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"e22d0b29119818fd0b0856e20cfc496ea1b82111","before":"f42ab68f10d942ee4d5bdb384ef1c35a406002b9","commits":[{"sha":"e22d0b29119818fd0b0856e20cfc496ea1b82111","author":{"email":"kivy@kivy.org","name":"Kivy Developers"},"message":"Docs for git-2fbfc055409151280c24598f7d5caf74079c7f02","distinct":true,"url":"https://api.github.com/repos/kivy-garden/tickmarker/commits/e22d0b29119818fd0b0856e20cfc496ea1b82111"}]},"public":true,"created_at":"2022-01-02T01:00:10Z","org":{"id":4097273,"login":"kivy-garden","gravatar_id":"","url":"https://api.github.com/orgs/kivy-garden","avatar_url":"https://avatars.githubusercontent.com/u/4097273?"}} +{"id":"19546597238","type":"PushEvent","actor":{"id":9958703,"login":"memk","display_login":"memk","gravatar_id":"","url":"https://api.github.com/users/memk","avatar_url":"https://avatars.githubusercontent.com/u/9958703?"},"repo":{"id":23534870,"name":"parkr/status","url":"https://api.github.com/repos/parkr/status"},"payload":{"push_id":8735902126,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6c149d8e68ad9a4da95c4fb790f09d81c87f3893","before":"5c5148148b3ff6a7f6c9a16f6cded5ccc2e5f310","commits":[{"sha":"6c149d8e68ad9a4da95c4fb790f09d81c87f3893","author":{"email":"memke@hushmail.com","name":"memk"},"message":"[checkup] store updates/index.json [ci skip]","distinct":true,"url":"https://api.github.com/repos/parkr/status/commits/6c149d8e68ad9a4da95c4fb790f09d81c87f3893"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597245","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":365528280,"name":"jameshi16/fgo-gamepress-feed-generator","url":"https://api.github.com/repos/jameshi16/fgo-gamepress-feed-generator"},"payload":{"push_id":8735902132,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"57b973b1fc1695c4f72335f597930dd67ecb8184","before":"abbefb96bc150bfb629634860401b407f2a3899c","commits":[{"sha":"57b973b1fc1695c4f72335f597930dd67ecb8184","author":{"email":"bot@github.com","name":"Feed publishing bot"},"message":"Update built atom.xml","distinct":true,"url":"https://api.github.com/repos/jameshi16/fgo-gamepress-feed-generator/commits/57b973b1fc1695c4f72335f597930dd67ecb8184"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597240","type":"PushEvent","actor":{"id":79732966,"login":"lhy1130","display_login":"lhy1130","gravatar_id":"","url":"https://api.github.com/users/lhy1130","avatar_url":"https://avatars.githubusercontent.com/u/79732966?"},"repo":{"id":443652994,"name":"lhy1130/Real_Time_Image_Animation","url":"https://api.github.com/repos/lhy1130/Real_Time_Image_Animation"},"payload":{"push_id":8735902121,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"437cdf840b2648d2502d072a07f87e2cc6a67b15","before":"369b450b05d72b9aa03327b0f9b15d65d7f8a1b1","commits":[{"sha":"437cdf840b2648d2502d072a07f87e2cc6a67b15","author":{"email":"3210817198@qq.com","name":"lhy1130"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/lhy1130/Real_Time_Image_Animation/commits/437cdf840b2648d2502d072a07f87e2cc6a67b15"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597251","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":402612704,"name":"Namaomo/academic-kickstart","url":"https://api.github.com/repos/Namaomo/academic-kickstart"},"payload":{"push_id":8735902138,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"cf906346c29fc6e60fe9586a928ca11262d9736c","before":"ed378825e58b307610a1998d4d0d5e017713e728","commits":[{"sha":"cf906346c29fc6e60fe9586a928ca11262d9736c","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"docs: update","distinct":true,"url":"https://api.github.com/repos/Namaomo/academic-kickstart/commits/cf906346c29fc6e60fe9586a928ca11262d9736c"}]},"public":true,"created_at":"2022-01-02T01:00:10Z"} +{"id":"19546597255","type":"PushEvent","actor":{"id":2733767,"login":"mydnic","display_login":"mydnic","gravatar_id":"","url":"https://api.github.com/users/mydnic","avatar_url":"https://avatars.githubusercontent.com/u/2733767?"},"repo":{"id":407181792,"name":"abcreche/status","url":"https://api.github.com/repos/abcreche/status"},"payload":{"push_id":8735902143,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"ed8eba7bc1458e9452a49ce983d6dc331ca7be3f","before":"ea904dd8190e394537a9d5ebd045495651c8c4e9","commits":[{"sha":"9caeb051b77e8e6708e2a34260ee296e9a751a3a","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":pencil: Update summary in README [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/abcreche/status/commits/9caeb051b77e8e6708e2a34260ee296e9a751a3a"},{"sha":"ed8eba7bc1458e9452a49ce983d6dc331ca7be3f","author":{"email":"73812536+upptime-bot@users.noreply.github.com","name":"Upptime Bot"},"message":":card_file_box: Update status summary [skip ci] [upptime]","distinct":true,"url":"https://api.github.com/repos/abcreche/status/commits/ed8eba7bc1458e9452a49ce983d6dc331ca7be3f"}]},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":47718124,"login":"abcreche","gravatar_id":"","url":"https://api.github.com/orgs/abcreche","avatar_url":"https://avatars.githubusercontent.com/u/47718124?"}} +{"id":"19546597258","type":"PushEvent","actor":{"id":6826762,"login":"clockworkgr","display_login":"clockworkgr","gravatar_id":"","url":"https://api.github.com/users/clockworkgr","avatar_url":"https://avatars.githubusercontent.com/u/6826762?"},"repo":{"id":432378656,"name":"clockworkgr/validator","url":"https://api.github.com/repos/clockworkgr/validator"},"payload":{"push_id":8735902146,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e8a0966005e938ce5356357d32a82b9fea398652","before":"f789364135352ae828f86a09cff5d1929fd53726","commits":[{"sha":"e8a0966005e938ce5356357d32a82b9fea398652","author":{"email":"validator@clockwork.gr","name":"Clockwork Validator"},"message":"Update","distinct":true,"url":"https://api.github.com/repos/clockworkgr/validator/commits/e8a0966005e938ce5356357d32a82b9fea398652"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597260","type":"PushEvent","actor":{"id":96647692,"login":"fsgr2","display_login":"fsgr2","gravatar_id":"","url":"https://api.github.com/users/fsgr2","avatar_url":"https://avatars.githubusercontent.com/u/96647692?"},"repo":{"id":443652809,"name":"fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c","url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c"},"payload":{"push_id":8735902145,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"4cd9e02318c9bca3150ec4a4f1088fc7bbd10ad9","before":"c700228f779a937a18b48343a68beaa6dda2a86c","commits":[{"sha":"4cd9e02318c9bca3150ec4a4f1088fc7bbd10ad9","author":{"email":"96647692+fsgr2@users.noreply.github.com","name":"fsgr2"},"message":"upload file c7da212c1c5cdc572a003af02facad1b0f86d7c2dcc01598ec3cf374f6601be8d6b7eea54330c2678a13be7e5e323c0cvideo_2043_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c/commits/4cd9e02318c9bca3150ec4a4f1088fc7bbd10ad9"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597261","type":"PushEvent","actor":{"id":13786931,"login":"saagarjha","display_login":"saagarjha","gravatar_id":"","url":"https://api.github.com/users/saagarjha","avatar_url":"https://avatars.githubusercontent.com/u/13786931?"},"repo":{"id":233569390,"name":"ahjragaas/busybox","url":"https://api.github.com/repos/ahjragaas/busybox"},"payload":{"push_id":8735902147,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5c0c5582319a5123635c9fd62f8e99ef01cceb3f","before":"4d4f1f2096f06d69a6f205f0d8e33d4398f25677","commits":[{"sha":"5c0c5582319a5123635c9fd62f8e99ef01cceb3f","author":{"email":"vda.linux@googlemail.com","name":"Denys Vlasenko"},"message":"libbb/sha1: code shrink in medium-speed version\n\nfunction old new delta\nsha1_process_block64 654 641 -13\n\nSigned-off-by: Denys Vlasenko ","distinct":true,"url":"https://api.github.com/repos/ahjragaas/busybox/commits/5c0c5582319a5123635c9fd62f8e99ef01cceb3f"}]},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":67018031,"login":"ahjragaas","gravatar_id":"","url":"https://api.github.com/orgs/ahjragaas","avatar_url":"https://avatars.githubusercontent.com/u/67018031?"}} +{"id":"19546597262","type":"WatchEvent","actor":{"id":26596852,"login":"noamkadosh","display_login":"noamkadosh","gravatar_id":"","url":"https://api.github.com/users/noamkadosh","avatar_url":"https://avatars.githubusercontent.com/u/26596852?"},"repo":{"id":110028636,"name":"jest-community/eslint-plugin-jest","url":"https://api.github.com/repos/jest-community/eslint-plugin-jest"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":32196900,"login":"jest-community","gravatar_id":"","url":"https://api.github.com/orgs/jest-community","avatar_url":"https://avatars.githubusercontent.com/u/32196900?"}} +{"id":"19546597263","type":"PushEvent","actor":{"id":96804436,"login":"dfa54","display_login":"dfa54","gravatar_id":"","url":"https://api.github.com/users/dfa54","avatar_url":"https://avatars.githubusercontent.com/u/96804436?"},"repo":{"id":443642660,"name":"dfa54/acae3345-3db5-484e-bf04-b37c955c10f0","url":"https://api.github.com/repos/dfa54/acae3345-3db5-484e-bf04-b37c955c10f0"},"payload":{"push_id":8735902144,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"3e8343d54677ff53d0652428938ae842ac14da15","before":"3632af96533d0bfe8938d213224f67b5519a36e3","commits":[{"sha":"3e8343d54677ff53d0652428938ae842ac14da15","author":{"email":"96804436+dfa54@users.noreply.github.com","name":"dfa54"},"message":"upload file 78981b52286ddfdefe7bd026fb81ce036c03f9f789a26b108d92a7db310d3470d324d26e6e29eab1f51d660d868cc93cvideo_513_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/dfa54/acae3345-3db5-484e-bf04-b37c955c10f0/commits/3e8343d54677ff53d0652428938ae842ac14da15"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597265","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371292,"node_id":"PRR_kwDOFeJvGc4yNZDc","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:10Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371292","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371292"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546597266","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":381691064,"name":"jiangcong1996/congjiang","url":"https://api.github.com/repos/jiangcong1996/congjiang"},"payload":{"push_id":8735902155,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c15c79734623f431c58d09a765af6870581241a1","before":"78fc49b15f14f4f3049311ef3991ae45f2108075","commits":[{"sha":"c15c79734623f431c58d09a765af6870581241a1","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"docs: update","distinct":true,"url":"https://api.github.com/repos/jiangcong1996/congjiang/commits/c15c79734623f431c58d09a765af6870581241a1"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597267","type":"PushEvent","actor":{"id":7042,"login":"petertodd","display_login":"petertodd","gravatar_id":"","url":"https://api.github.com/users/petertodd","avatar_url":"https://avatars.githubusercontent.com/u/7042?"},"repo":{"id":164409575,"name":"opentimestamps/nist-inject","url":"https://api.github.com/repos/opentimestamps/nist-inject"},"payload":{"push_id":8735902148,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"9aaf6f7a1f0dd12d688cc1219a06aaafbdebf5f6","before":"a98db8f00d1c8773d42357412c076b661a2f4230","commits":[{"sha":"9aaf6f7a1f0dd12d688cc1219a06aaafbdebf5f6","author":{"email":"nist-inject@opentimestamps.org","name":"nist-injector-bot"},"message":".","distinct":true,"url":"https://api.github.com/repos/opentimestamps/nist-inject/commits/9aaf6f7a1f0dd12d688cc1219a06aaafbdebf5f6"}]},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":2550462,"login":"opentimestamps","gravatar_id":"","url":"https://api.github.com/orgs/opentimestamps","avatar_url":"https://avatars.githubusercontent.com/u/2550462?"}} +{"id":"19546597271","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":404610593,"name":"bwj124/bwj124","url":"https://api.github.com/repos/bwj124/bwj124"},"payload":{"push_id":8735902157,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"530359bbddd3458205be5966656573fdd6cb5984","before":"682fce2cdbae786fd07c240aa60535239892ae01","commits":[{"sha":"530359bbddd3458205be5966656573fdd6cb5984","author":{"email":"57085345+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"bot: update README.md automatically","distinct":true,"url":"https://api.github.com/repos/bwj124/bwj124/commits/530359bbddd3458205be5966656573fdd6cb5984"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597275","type":"CreateEvent","actor":{"id":84364656,"login":"miscany","display_login":"miscany","gravatar_id":"","url":"https://api.github.com/users/miscany","avatar_url":"https://avatars.githubusercontent.com/u/84364656?"},"repo":{"id":443654652,"name":"miscany/Battleship","url":"https://api.github.com/repos/miscany/Battleship"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":"Created with CodeSandbox","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597278","type":"PushEvent","actor":{"id":75946299,"login":"waykom","display_login":"waykom","gravatar_id":"","url":"https://api.github.com/users/waykom","avatar_url":"https://avatars.githubusercontent.com/u/75946299?"},"repo":{"id":438238394,"name":"waykom/weibo_top","url":"https://api.github.com/repos/waykom/weibo_top"},"payload":{"push_id":8735902160,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"66cde4e66da870f2fe4130c546bc88bdd73cfc6e","before":"f2cdfb7d628e1cc7aec959a90716c8a7d2775cd8","commits":[{"sha":"66cde4e66da870f2fe4130c546bc88bdd73cfc6e","author":{"email":"waykom1@gmail.com","name":"weibo_top"},"message":"upload-bot","distinct":true,"url":"https://api.github.com/repos/waykom/weibo_top/commits/66cde4e66da870f2fe4130c546bc88bdd73cfc6e"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597279","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735902165,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7346f5c2caf3dcab99f1bebdb84fa905cbba4361","before":"68b178bb31b8087fe6422cf2f08c1971e87748e1","commits":[{"sha":"7346f5c2caf3dcab99f1bebdb84fa905cbba4361","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update ncid278.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/7346f5c2caf3dcab99f1bebdb84fa905cbba4361"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597281","type":"PushEvent","actor":{"id":60825784,"login":"predictcrypto","display_login":"predictcrypto","gravatar_id":"","url":"https://api.github.com/users/predictcrypto","avatar_url":"https://avatars.githubusercontent.com/u/60825784?"},"repo":{"id":411428751,"name":"predictcrypto/pins","url":"https://api.github.com/repos/predictcrypto/pins"},"payload":{"push_id":8735902161,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2967ac70c23fd976fb5958b2a6da9da160dfa046","before":"139ca27ffee3d21727af4b2bdb67ad971e8757d8","commits":[{"sha":"2967ac70c23fd976fb5958b2a6da9da160dfa046","author":{"email":"60825784+predictcrypto@users.noreply.github.com","name":"predictcrypto"},"message":"update open_cv_sales","distinct":true,"url":"https://api.github.com/repos/predictcrypto/pins/commits/2967ac70c23fd976fb5958b2a6da9da160dfa046"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597282","type":"PushEvent","actor":{"id":14807290,"login":"GodsVictory","display_login":"GodsVictory","gravatar_id":"","url":"https://api.github.com/users/GodsVictory","avatar_url":"https://avatars.githubusercontent.com/u/14807290?"},"repo":{"id":297433705,"name":"GodsVictory/FFOptimizer","url":"https://api.github.com/repos/GodsVictory/FFOptimizer"},"payload":{"push_id":8735902159,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"fff688c84be0e770ff58d9dcbaf5227bdfcf972e","before":"9e257c1d83a3b70983835a142720f4532b5c0594","commits":[{"sha":"fff688c84be0e770ff58d9dcbaf5227bdfcf972e","author":{"email":"reidandkat@gmail.com","name":"Gods"},"message":"update ranks","distinct":true,"url":"https://api.github.com/repos/GodsVictory/FFOptimizer/commits/fff688c84be0e770ff58d9dcbaf5227bdfcf972e"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597285","type":"PushEvent","actor":{"id":47586961,"login":"jingjiecb","display_login":"jingjiecb","gravatar_id":"","url":"https://api.github.com/users/jingjiecb","avatar_url":"https://avatars.githubusercontent.com/u/47586961?"},"repo":{"id":359029863,"name":"jingjiecb/mc_backup","url":"https://api.github.com/repos/jingjiecb/mc_backup"},"payload":{"push_id":8735902167,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"428cd6839024600a067f8c7613212da4c3bfc18a","before":"3ce72a03638a3e6b0f234627fdeeade384c5a562","commits":[{"sha":"428cd6839024600a067f8c7613212da4c3bfc18a","author":{"email":"jingjiecb@gmail.com","name":"claws"},"message":"update mc world at Sun 02 Jan 2022 01:00:02 AM UTC","distinct":true,"url":"https://api.github.com/repos/jingjiecb/mc_backup/commits/428cd6839024600a067f8c7613212da4c3bfc18a"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597286","type":"IssueCommentEvent","actor":{"id":37411558,"login":"docker-desktop-robot","display_login":"docker-desktop-robot","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","avatar_url":"https://avatars.githubusercontent.com/u/37411558?"},"repo":{"id":64405875,"name":"docker/for-win","url":"https://api.github.com/repos/docker/for-win"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/docker/for-win/issues/12236","repository_url":"https://api.github.com/repos/docker/for-win","labels_url":"https://api.github.com/repos/docker/for-win/issues/12236/labels{/name}","comments_url":"https://api.github.com/repos/docker/for-win/issues/12236/comments","events_url":"https://api.github.com/repos/docker/for-win/issues/12236/events","html_url":"https://github.com/docker/for-win/issues/12236","id":1014897921,"node_id":"I_kwDOA9bBc848fh0B","number":12236,"title":"DockerDesktopVM Keeps creating vEthernet adapters","user":{"login":"ak99372","id":9924769,"node_id":"MDQ6VXNlcjk5MjQ3Njk=","avatar_url":"https://avatars.githubusercontent.com/u/9924769?v=4","gravatar_id":"","url":"https://api.github.com/users/ak99372","html_url":"https://github.com/ak99372","followers_url":"https://api.github.com/users/ak99372/followers","following_url":"https://api.github.com/users/ak99372/following{/other_user}","gists_url":"https://api.github.com/users/ak99372/gists{/gist_id}","starred_url":"https://api.github.com/users/ak99372/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ak99372/subscriptions","organizations_url":"https://api.github.com/users/ak99372/orgs","repos_url":"https://api.github.com/users/ak99372/repos","events_url":"https://api.github.com/users/ak99372/events{/privacy}","received_events_url":"https://api.github.com/users/ak99372/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2021-10-04T08:43:44Z","updated_at":"2022-01-02T01:00:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"\r\n\r\n\r\n - [x] I have tried with the latest version of Docker Desktop\r\n - [x] I have tried disabling enabled experimental features\r\n\r\n### Actual behavior\r\nAfter Docker Desktop installation the Hyper-V keeps creating vEthernet (Default Switch) adapters and just won't stop \r\n![image](https://user-images.githubusercontent.com/9924769/135819849-aca1ef8f-c6f6-45c5-b59b-cef9464007ba.png)\r\n\r\n### Expected behavior\r\n\r\nSingle adapter?\r\n\r\n### Information\r\n\r\n - Windows Version: Win 10x64\r\n - Docker Desktop Version: 4.1.0\r\n\r\n### Steps to reproduce the behavior\r\n\r\n\r\n 1. Install Docker Desktop for Windows\r\n 2. Open Network Connections\r\n","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/12236/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/docker/for-win/issues/12236/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644274","html_url":"https://github.com/docker/for-win/issues/12236#issuecomment-1003644274","issue_url":"https://api.github.com/repos/docker/for-win/issues/12236","id":1003644274,"node_id":"IC_kwDOA9bBc8470mVy","user":{"login":"docker-desktop-robot","id":37411558,"node_id":"MDQ6VXNlcjM3NDExNTU4","avatar_url":"https://avatars.githubusercontent.com/u/37411558?v=4","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","html_url":"https://github.com/docker-desktop-robot","followers_url":"https://api.github.com/users/docker-desktop-robot/followers","following_url":"https://api.github.com/users/docker-desktop-robot/following{/other_user}","gists_url":"https://api.github.com/users/docker-desktop-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/docker-desktop-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker-desktop-robot/subscriptions","organizations_url":"https://api.github.com/users/docker-desktop-robot/orgs","repos_url":"https://api.github.com/users/docker-desktop-robot/repos","events_url":"https://api.github.com/users/docker-desktop-robot/events{/privacy}","received_events_url":"https://api.github.com/users/docker-desktop-robot/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:11Z","updated_at":"2022-01-02T01:00:11Z","author_association":"COLLABORATOR","body":"Issues go stale after 90 days of inactivity.\nMark the issue as fresh with `/remove-lifecycle stale` comment.\nStale issues will be closed after an additional 30 days of inactivity.\n\nPrevent issues from auto-closing with an `/lifecycle frozen` comment.\n\nIf this issue is safe to close now please do so.\n\nSend feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.\n/lifecycle stale","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644274/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":5429470,"login":"docker","gravatar_id":"","url":"https://api.github.com/orgs/docker","avatar_url":"https://avatars.githubusercontent.com/u/5429470?"}} +{"id":"19546597288","type":"PushEvent","actor":{"id":21187699,"login":"harryji168","display_login":"harryji168","gravatar_id":"","url":"https://api.github.com/users/harryji168","avatar_url":"https://avatars.githubusercontent.com/u/21187699?"},"repo":{"id":415383122,"name":"harryji168/Summary_Notes","url":"https://api.github.com/repos/harryji168/Summary_Notes"},"payload":{"push_id":8735902168,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"24d8fcb29f02e5a8da451d8f88ea08bcda93d18b","before":"c3e01bb62ab351c50cd4b246ff7a510487aab17d","commits":[{"sha":"24d8fcb29f02e5a8da451d8f88ea08bcda93d18b","author":{"email":"jiharry@hotmail.com","name":"Harry Ji"},"message":"Sat 01 Jan 2022 05:00:09 PM PST","distinct":true,"url":"https://api.github.com/repos/harryji168/Summary_Notes/commits/24d8fcb29f02e5a8da451d8f88ea08bcda93d18b"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597290","type":"PushEvent","actor":{"id":59638023,"login":"jsvpn","display_login":"jsvpn","gravatar_id":"","url":"https://api.github.com/users/jsvpn","avatar_url":"https://avatars.githubusercontent.com/u/59638023?"},"repo":{"id":232489689,"name":"jsvpn/jsproxy","url":"https://api.github.com/repos/jsvpn/jsproxy"},"payload":{"push_id":8735902163,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"5fcb7c4ec2f23eed44ec036ac6049fa9add67190","before":"fdf262e674a02f81a7e0ee1e5a9768d360bff05c","commits":[{"sha":"5fcb7c4ec2f23eed44ec036ac6049fa9add67190","author":{"email":"linling08@gmail.com","name":"jsvpn"},"message":"dev","distinct":true,"url":"https://api.github.com/repos/jsvpn/jsproxy/commits/5fcb7c4ec2f23eed44ec036ac6049fa9add67190"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597291","type":"PushEvent","actor":{"id":10641117,"login":"ravisayal","display_login":"ravisayal","gravatar_id":"","url":"https://api.github.com/users/ravisayal","avatar_url":"https://avatars.githubusercontent.com/u/10641117?"},"repo":{"id":334813624,"name":"ravisayal/ipcam_utils","url":"https://api.github.com/repos/ravisayal/ipcam_utils"},"payload":{"push_id":8735902164,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f993aee0aa33900e1d3d4e69a0f3ab3357b9b2c6","before":"357a6bd16cb2a09d36ac51fd03bca562bc408321","commits":[{"sha":"f993aee0aa33900e1d3d4e69a0f3ab3357b9b2c6","author":{"email":"ravisayal@yahoo.com","name":"Ravi Sayal"},"message":"Saving battery_data_cron.sh as of 01/01/2022 20:00:02","distinct":true,"url":"https://api.github.com/repos/ravisayal/ipcam_utils/commits/f993aee0aa33900e1d3d4e69a0f3ab3357b9b2c6"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597293","type":"PushEvent","actor":{"id":27687623,"login":"tonn1o","display_login":"tonn1o","gravatar_id":"","url":"https://api.github.com/users/tonn1o","avatar_url":"https://avatars.githubusercontent.com/u/27687623?"},"repo":{"id":424408145,"name":"tonn1o/algo-addict","url":"https://api.github.com/repos/tonn1o/algo-addict"},"payload":{"push_id":8735902171,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"f362a79c57a340aad9c0de4b1fb29d03a814436c","before":"7b4a609c40a3ba940a4cb721fb3e2cb8e47189d5","commits":[{"sha":"f362a79c57a340aad9c0de4b1fb29d03a814436c","author":{"email":"a.babenko.e@gmail.com","name":"Toni Babenko"},"message":"add bfe problem","distinct":true,"url":"https://api.github.com/repos/tonn1o/algo-addict/commits/f362a79c57a340aad9c0de4b1fb29d03a814436c"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597294","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735902174,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"67eebee976ce730ae3d6d630ed126dd95a58035b","before":"0f42089ef1b18757f349126ffc2969977e453fad","commits":[{"sha":"67eebee976ce730ae3d6d630ed126dd95a58035b","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog202_2.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/67eebee976ce730ae3d6d630ed126dd95a58035b"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597295","type":"PushEvent","actor":{"id":96647692,"login":"fsgr2","display_login":"fsgr2","gravatar_id":"","url":"https://api.github.com/users/fsgr2","avatar_url":"https://avatars.githubusercontent.com/u/96647692?"},"repo":{"id":443652809,"name":"fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c","url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c"},"payload":{"push_id":8735902172,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"e68b815786c3b6053074d56e8d46e58ba33a0706","before":"4cd9e02318c9bca3150ec4a4f1088fc7bbd10ad9","commits":[{"sha":"e68b815786c3b6053074d56e8d46e58ba33a0706","author":{"email":"96647692+fsgr2@users.noreply.github.com","name":"fsgr2"},"message":"upload file c7da212c1c5cdc572a003af02facad1b0f86d7c2dcc01598ec3cf374f6601be8d6b7eea54330c2678a13be7e5e323c0cvideo_173_0_501406.ts","distinct":true,"url":"https://api.github.com/repos/fsgr2/322d603f-ab3a-4ff4-848a-1e21dcc11f2c/commits/e68b815786c3b6053074d56e8d46e58ba33a0706"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597298","type":"PushEvent","actor":{"id":96629288,"login":"dfdsa434","display_login":"dfdsa434","gravatar_id":"","url":"https://api.github.com/users/dfdsa434","avatar_url":"https://avatars.githubusercontent.com/u/96629288?"},"repo":{"id":443654441,"name":"dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1","url":"https://api.github.com/repos/dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1"},"payload":{"push_id":8735902179,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"d7d5616729e4f8f1578ff02f131364a35924356c","before":"e4c01a4d218ae51f8ed52f81bbe9a88804b03f20","commits":[{"sha":"d7d5616729e4f8f1578ff02f131364a35924356c","author":{"email":"96629288+dfdsa434@users.noreply.github.com","name":"dfdsa434"},"message":"upload file 55740ba1033f6c7a4e065dc6012c23cf6ac9fc23ee3bd689bcf1cbdb5b1980be68b53e12dfd95a0d10d0471ad3edbc55video_1348_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/dfdsa434/b9cf28c3-0851-4cd6-9fe5-b092b1c0b4a1/commits/d7d5616729e4f8f1578ff02f131364a35924356c"}]},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597300","type":"IssueCommentEvent","actor":{"id":64548098,"login":"TheButterbrotMan","display_login":"TheButterbrotMan","gravatar_id":"","url":"https://api.github.com/users/TheButterbrotMan","avatar_url":"https://avatars.githubusercontent.com/u/64548098?"},"repo":{"id":161049765,"name":"Snownee/SnowRealMagic","url":"https://api.github.com/repos/Snownee/SnowRealMagic"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169","repository_url":"https://api.github.com/repos/Snownee/SnowRealMagic","labels_url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169/labels{/name}","comments_url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169/comments","events_url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169/events","html_url":"https://github.com/Snownee/SnowRealMagic/issues/169","id":1091925855,"node_id":"I_kwDOCZlspc5BFXdf","number":169,"title":"Not tagged as fabric?","user":{"login":"TheButterbrotMan","id":64548098,"node_id":"MDQ6VXNlcjY0NTQ4MDk4","avatar_url":"https://avatars.githubusercontent.com/u/64548098?v=4","gravatar_id":"","url":"https://api.github.com/users/TheButterbrotMan","html_url":"https://github.com/TheButterbrotMan","followers_url":"https://api.github.com/users/TheButterbrotMan/followers","following_url":"https://api.github.com/users/TheButterbrotMan/following{/other_user}","gists_url":"https://api.github.com/users/TheButterbrotMan/gists{/gist_id}","starred_url":"https://api.github.com/users/TheButterbrotMan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheButterbrotMan/subscriptions","organizations_url":"https://api.github.com/users/TheButterbrotMan/orgs","repos_url":"https://api.github.com/users/TheButterbrotMan/repos","events_url":"https://api.github.com/users/TheButterbrotMan/events{/privacy}","received_events_url":"https://api.github.com/users/TheButterbrotMan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-02T00:59:23Z","updated_at":"2022-01-02T01:00:11Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"### Mod loader\r\n\r\nFabric\r\n\r\n### Minecraft version\r\n\r\n1.18.1\r\n\r\n### Mod version\r\n\r\n3.1.0\r\n\r\n### Modloader version\r\n\r\n0.12.12\r\n\r\n### Modpack info\r\n\r\nhttps://www.curseforge.com/minecraft/modpacks/deathdusk\r\n\r\n### If bug:\r\n\r\n- [X] Can you reproduce this issue with relevant mods only?\r\n\r\n### If bug: The latest.log file\r\n\r\n_No response_\r\n\r\n### Issue description\r\n\r\n_No response_","reactions":{"url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/comments/1003644275","html_url":"https://github.com/Snownee/SnowRealMagic/issues/169#issuecomment-1003644275","issue_url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/169","id":1003644275,"node_id":"IC_kwDOCZlspc470mVz","user":{"login":"TheButterbrotMan","id":64548098,"node_id":"MDQ6VXNlcjY0NTQ4MDk4","avatar_url":"https://avatars.githubusercontent.com/u/64548098?v=4","gravatar_id":"","url":"https://api.github.com/users/TheButterbrotMan","html_url":"https://github.com/TheButterbrotMan","followers_url":"https://api.github.com/users/TheButterbrotMan/followers","following_url":"https://api.github.com/users/TheButterbrotMan/following{/other_user}","gists_url":"https://api.github.com/users/TheButterbrotMan/gists{/gist_id}","starred_url":"https://api.github.com/users/TheButterbrotMan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TheButterbrotMan/subscriptions","organizations_url":"https://api.github.com/users/TheButterbrotMan/orgs","repos_url":"https://api.github.com/users/TheButterbrotMan/repos","events_url":"https://api.github.com/users/TheButterbrotMan/events{/privacy}","received_events_url":"https://api.github.com/users/TheButterbrotMan/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:11Z","updated_at":"2022-01-02T01:00:11Z","author_association":"NONE","body":"https://i.imgur.com/K1zLRlS.png","reactions":{"url":"https://api.github.com/repos/Snownee/SnowRealMagic/issues/comments/1003644275/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597305","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443654655,"name":"shalini-devgit/Shalini-PerfBlue1","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue1"},"payload":{"ref":null,"ref_type":"repository","master_branch":"master","description":"Blue Testing1","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:11Z"} +{"id":"19546597307","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":62485194,"name":"Citadel-Station-13/Citadel-Station-13","url":"https://api.github.com/repos/Citadel-Station-13/Citadel-Station-13"},"payload":{"push_id":8735902153,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"09276a14df310dea78ac87e5084f524ea5c2973a","before":"c208b8a984cc0c3f561ab92719229a656c1d3927","commits":[{"sha":"09276a14df310dea78ac87e5084f524ea5c2973a","author":{"email":"46569814+DeltaFire15@users.noreply.github.com","name":"DeltaFire15"},"message":"Deploying to gh-pages from @ c63489abe42a3522c116dccaf1e9d62e0b1ed9a1 🚀","distinct":true,"url":"https://api.github.com/repos/Citadel-Station-13/Citadel-Station-13/commits/09276a14df310dea78ac87e5084f524ea5c2973a"}]},"public":true,"created_at":"2022-01-02T01:00:11Z","org":{"id":11160241,"login":"Citadel-Station-13","gravatar_id":"","url":"https://api.github.com/orgs/Citadel-Station-13","avatar_url":"https://avatars.githubusercontent.com/u/11160241?"}} +{"id":"19546597311","type":"PushEvent","actor":{"id":96769010,"login":"YuriyMikh","display_login":"YuriyMikh","gravatar_id":"","url":"https://api.github.com/users/YuriyMikh","avatar_url":"https://avatars.githubusercontent.com/u/96769010?"},"repo":{"id":442402324,"name":"YuriyMikh/goit-markup-hw-01","url":"https://api.github.com/repos/YuriyMikh/goit-markup-hw-01"},"payload":{"push_id":8735902184,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"018fcb86ded9d6a9d9504df23b7cf33d927af2e2","before":"2055153ac139ada425d1a0a58ed1d77afc4d54f9","commits":[{"sha":"018fcb86ded9d6a9d9504df23b7cf33d927af2e2","author":{"email":"pamukkale1717@gmail.com","name":"YuriyMikh"},"message":"Добавлены настройки prettier","distinct":true,"url":"https://api.github.com/repos/YuriyMikh/goit-markup-hw-01/commits/018fcb86ded9d6a9d9504df23b7cf33d927af2e2"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597312","type":"PushEvent","actor":{"id":43343391,"login":"openoms","display_login":"openoms","gravatar_id":"","url":"https://api.github.com/users/openoms","avatar_url":"https://avatars.githubusercontent.com/u/43343391?"},"repo":{"id":140937793,"name":"rootzoll/raspiblitz","url":"https://api.github.com/repos/rootzoll/raspiblitz"},"payload":{"push_id":8735902176,"size":1,"distinct_size":1,"ref":"refs/heads/dev","head":"5072272075468a068b6100310291af6a6691aea9","before":"75251e55574823b52c52612c202bbe44933fc196","commits":[{"sha":"5072272075468a068b6100310291af6a6691aea9","author":{"email":"oms@tuta.io","name":"openoms"},"message":"chantools update to v0.10.1","distinct":true,"url":"https://api.github.com/repos/rootzoll/raspiblitz/commits/5072272075468a068b6100310291af6a6691aea9"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597316","type":"PushEvent","actor":{"id":73713921,"login":"light101-cyber","display_login":"light101-cyber","gravatar_id":"","url":"https://api.github.com/users/light101-cyber","avatar_url":"https://avatars.githubusercontent.com/u/73713921?"},"repo":{"id":443652985,"name":"light101-cyber/snakegame","url":"https://api.github.com/repos/light101-cyber/snakegame"},"payload":{"push_id":8735902178,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"35f9c7c0b1b65bbdb012bde0867d9d9b6ed4347d","before":"3e90dfdb8855b0fee1a2a2c447e51a560755084b","commits":[{"sha":"35f9c7c0b1b65bbdb012bde0867d9d9b6ed4347d","author":{"email":"73713921+light101-cyber@users.noreply.github.com","name":"Light Attah"},"message":"Create README.md","distinct":true,"url":"https://api.github.com/repos/light101-cyber/snakegame/commits/35f9c7c0b1b65bbdb012bde0867d9d9b6ed4347d"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597318","type":"PushEvent","actor":{"id":83063752,"login":"A-42","display_login":"A-42","gravatar_id":"","url":"https://api.github.com/users/A-42","avatar_url":"https://avatars.githubusercontent.com/u/83063752?"},"repo":{"id":441227751,"name":"A-42/ultroid-wf-example","url":"https://api.github.com/repos/A-42/ultroid-wf-example"},"payload":{"push_id":8735902185,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"2798193e226e9784f384ca7272844df3053a908f","before":"54950c8b67cc85458a29771da38349b8796b1d93","commits":[{"sha":"2798193e226e9784f384ca7272844df3053a908f","author":{"email":"telegramguru307@gmail.com","name":"A-42"},"message":"Workflow : Loop 01/02/22-01:00:10am","distinct":true,"url":"https://api.github.com/repos/A-42/ultroid-wf-example/commits/2798193e226e9784f384ca7272844df3053a908f"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597320","type":"PushEvent","actor":{"id":8221099,"login":"bepsvpt","display_login":"bepsvpt","gravatar_id":"","url":"https://api.github.com/users/bepsvpt","avatar_url":"https://avatars.githubusercontent.com/u/8221099?"},"repo":{"id":107020163,"name":"bepsvpt-fork/homebrew-core","url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core"},"payload":{"push_id":8735902182,"size":56,"distinct_size":56,"ref":"refs/heads/master","head":"76c7461b557ac13291c9ff478f55077c17d00872","before":"b655bde0c035affaa9cef8d7e35c0f344eddbc53","commits":[{"sha":"310dbc455a5a40b5687b573f5bb375aa5fa93b9d","author":{"email":"120050102@qq.com","name":"yedf2"},"message":"dtm 1.8.1 (new formula)\n\n* dtm 1.8.1\n* test and version ok\n* apply suggestion change\n* first binary use default\n* use output, but an error reported in my local reinstall\n* version check added\n\nCloses #92214.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/310dbc455a5a40b5687b573f5bb375aa5fa93b9d"},{"sha":"8ad54375ed35cea95f93160fedda2a2962c6f76b","author":{"email":"1484494+SMillerDev@users.noreply.github.com","name":"Sean Molenaar"},"message":"dtm: add 1.8.1 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/8ad54375ed35cea95f93160fedda2a2962c6f76b"},{"sha":"51b04a8c4fda072aec3737983766dad46ccb6817","author":{"email":"branchevincent@gmail.com","name":"Branch Vincent"},"message":"datafusion: fix build\n\nCloses #92314.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/51b04a8c4fda072aec3737983766dad46ccb6817"},{"sha":"773ffa9079563a72fcda76a217d7d68e1c52b04b","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"lesspipe 2.00\n\n* lesspipe 2.00\n* update test and remove `LESS_ADVANCED_PREPROCESSOR`\n > - tarcolor enhanced and renamed to archive_color, archive listings colorizations\n\n > - incompatible change: LESS_ADVANCED_PREPROCESSOR no longer honored\n\nCloses #92307.\n\nSigned-off-by: Rui Chen \nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/773ffa9079563a72fcda76a217d7d68e1c52b04b"},{"sha":"4809b0bd2562a38e78d1c13527129febc550189b","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"lesspipe: update 2.00 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/4809b0bd2562a38e78d1c13527129febc550189b"},{"sha":"bd2def72f5e5831abd6b611621d42b52d52ee21c","author":{"email":"porkepix@gmail.com","name":"Porkepix"},"message":"code-minimap 0.6.3\n\nCloses #92358.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/bd2def72f5e5831abd6b611621d42b52d52ee21c"},{"sha":"c81dce45131cadf45c6ac16cd55695ca07db530d","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"code-minimap: update 0.6.3 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/c81dce45131cadf45c6ac16cd55695ca07db530d"},{"sha":"7281f310da8f810bc19e30ea53707cb97306ed02","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"mlkit 4.6.0\n\n* mlkit 4.6.0\n* mlkit: update license\n\nCloses #92313.\n\nCo-authored-by: rui \nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/7281f310da8f810bc19e30ea53707cb97306ed02"},{"sha":"b6821dc6550192982a584a001eacdec8f7ec2c69","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"mlkit: update 4.6.0 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/b6821dc6550192982a584a001eacdec8f7ec2c69"},{"sha":"262cc8e0f95ee0f923e16926538384bbfba3bf07","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"tomee-webprofile 8.0.8\n\nCloses #92331.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/262cc8e0f95ee0f923e16926538384bbfba3bf07"},{"sha":"ceaa88e37ef978b00a08b352d9c602743cc3f918","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"tomee-webprofile: update 8.0.8 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/ceaa88e37ef978b00a08b352d9c602743cc3f918"},{"sha":"aa4223071b684516474b165e2f5cda7bff49910d","author":{"email":"owine@users.noreply.github.com","name":"owine"},"message":"numpy 1.22.0\n\nCloses #92338.\n\nSigned-off-by: rui \nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/aa4223071b684516474b165e2f5cda7bff49910d"},{"sha":"058860d5f043a7671c3c2e8264c775f4da225066","author":{"email":"30379873+carlocab@users.noreply.github.com","name":"Carlo Cabrera"},"message":"numpy: update 1.22.0 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/058860d5f043a7671c3c2e8264c775f4da225066"},{"sha":"d4b0b818060abd0d43a161fbed740841f7c57501","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"tomee-plus 8.0.8\n\nCloses #92330.\n\nSigned-off-by: Sean Molenaar <1484494+SMillerDev@users.noreply.github.com>\nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/d4b0b818060abd0d43a161fbed740841f7c57501"},{"sha":"70221e7c8e28709fd4da550cede9d1bf41e94be8","author":{"email":"1589480+BrewTestBot@users.noreply.github.com","name":"BrewTestBot"},"message":"tomee-plus: update 8.0.8 bottle.","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/70221e7c8e28709fd4da550cede9d1bf41e94be8"},{"sha":"3c3a0e58ceb9afa901222da4a26f0fe32e13b5d7","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"synced_versions_formulae: sync nifi-registry and nifi\n\nSigned-off-by: Rui Chen ","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/3c3a0e58ceb9afa901222da4a26f0fe32e13b5d7"},{"sha":"85c296a776dc69721f106b0d5b6825e1de9e03a1","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"synced_versions_formulae: sync apache-pulsar and libpulsar\n\nSigned-off-by: Rui Chen ","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/85c296a776dc69721f106b0d5b6825e1de9e03a1"},{"sha":"233fd29820466a416d0fb93badef75991405bb71","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"synced_versions_formulae: sync avro-{c,cpp,tools}\n\nSigned-off-by: Rui Chen ","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/233fd29820466a416d0fb93badef75991405bb71"},{"sha":"2ac1fca9314c4e064ea15057ee540422545de5f7","author":{"email":"rui@chenrui.dev","name":"Rui Chen"},"message":"synced_versions_formulae: sync moreutils and sponge\n\nSigned-off-by: Rui Chen ","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/2ac1fca9314c4e064ea15057ee540422545de5f7"},{"sha":"9586b2b70f1b6d526f0e283ca17b971b66349065","author":{"email":"porkepix@gmail.com","name":"Porkepix"},"message":"dosbox-x 0.83.21\n\nCloses #92357.\n\nSigned-off-by: rui \nSigned-off-by: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com>","distinct":true,"url":"https://api.github.com/repos/bepsvpt-fork/homebrew-core/commits/9586b2b70f1b6d526f0e283ca17b971b66349065"}]},"public":true,"created_at":"2022-01-02T01:00:12Z","org":{"id":23422726,"login":"bepsvpt-fork","gravatar_id":"","url":"https://api.github.com/orgs/bepsvpt-fork","avatar_url":"https://avatars.githubusercontent.com/u/23422726?"}} +{"id":"19546597323","type":"PushEvent","actor":{"id":30046214,"login":"tranphuquy19","display_login":"tranphuquy19","gravatar_id":"","url":"https://api.github.com/users/tranphuquy19","avatar_url":"https://avatars.githubusercontent.com/u/30046214?"},"repo":{"id":284512772,"name":"tranphuquy19/tranphuquy19","url":"https://api.github.com/repos/tranphuquy19/tranphuquy19"},"payload":{"push_id":8735902188,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c3398cdc8b77b861ac8ebe505b8da782a6189ae1","before":"673a9751cde3bc37bb8d60c0707cf823b955b3d9","commits":[{"sha":"c3398cdc8b77b861ac8ebe505b8da782a6189ae1","author":{"email":"tranphuquy19@gmail.com","name":"tranphuquy19"},"message":"update README.md","distinct":true,"url":"https://api.github.com/repos/tranphuquy19/tranphuquy19/commits/c3398cdc8b77b861ac8ebe505b8da782a6189ae1"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597324","type":"PushEvent","actor":{"id":65277980,"login":"DenverLeee","display_login":"DenverLeee","gravatar_id":"","url":"https://api.github.com/users/DenverLeee","avatar_url":"https://avatars.githubusercontent.com/u/65277980?"},"repo":{"id":436452647,"name":"DenverLeee/GameDesgin-No_Time_To_Die","url":"https://api.github.com/repos/DenverLeee/GameDesgin-No_Time_To_Die"},"payload":{"push_id":8735902195,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"01a3cec8a90d9f181c6b855c8bd28489ea68ab93","before":"1b295ab4fce39a11761ca3072685bbce506ac800","commits":[{"sha":"01a3cec8a90d9f181c6b855c8bd28489ea68ab93","author":{"email":"1139643975@qq.com","name":"Denver"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/DenverLeee/GameDesgin-No_Time_To_Die/commits/01a3cec8a90d9f181c6b855c8bd28489ea68ab93"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597333","type":"PushEvent","actor":{"id":96756216,"login":"fsadfsda","display_login":"fsadfsda","gravatar_id":"","url":"https://api.github.com/users/fsadfsda","avatar_url":"https://avatars.githubusercontent.com/u/96756216?"},"repo":{"id":443617733,"name":"fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4","url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4"},"payload":{"push_id":8735902191,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"dc7dc8d2a69f91d1e3ab21893be553d2d6619c6c","before":"c5f55b66909078fb1b4c7099b8427e0c07addeb3","commits":[{"sha":"dc7dc8d2a69f91d1e3ab21893be553d2d6619c6c","author":{"email":"96756216+fsadfsda@users.noreply.github.com","name":"fsadfsda"},"message":"upload file b04a51b503c23390399c39db437b927240688da92fab708e7ab544b21654bc50fdde3fb16aabd257dc88429d1bedde12video_877_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/fsadfsda/4f355e8d-f100-4806-bf3b-03788c4b4cf4/commits/dc7dc8d2a69f91d1e3ab21893be553d2d6619c6c"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597337","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":424926526,"name":"LuisLenzi/LuisLenzi","url":"https://api.github.com/repos/LuisLenzi/LuisLenzi"},"payload":{"push_id":8735902193,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"07d230492a5f411df20e27909c622a0cb215bf04","before":"f9766fb0953514338793d148282048319db85f7a","commits":[{"sha":"07d230492a5f411df20e27909c622a0cb215bf04","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/LuisLenzi/LuisLenzi/commits/07d230492a5f411df20e27909c622a0cb215bf04"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597340","type":"CommitCommentEvent","actor":{"id":35613825,"login":"vercel[bot]","display_login":"vercel","gravatar_id":"","url":"https://api.github.com/users/vercel[bot]","avatar_url":"https://avatars.githubusercontent.com/u/35613825?"},"repo":{"id":308543945,"name":"ichn-hu/issue-tracker","url":"https://api.github.com/repos/ichn-hu/issue-tracker"},"payload":{"comment":{"url":"https://api.github.com/repos/ichn-hu/issue-tracker/comments/62776624","html_url":"https://github.com/ichn-hu/issue-tracker/commit/8eb3403cffc6a82dda23f0c4dc1afe6b0be2fa2f#commitcomment-62776624","id":62776624,"node_id":"CC_kwDOEmQByc4DveUw","user":{"login":"vercel[bot]","id":35613825,"node_id":"MDM6Qm90MzU2MTM4MjU=","avatar_url":"https://avatars.githubusercontent.com/in/8329?v=4","gravatar_id":"","url":"https://api.github.com/users/vercel%5Bbot%5D","html_url":"https://github.com/apps/vercel","followers_url":"https://api.github.com/users/vercel%5Bbot%5D/followers","following_url":"https://api.github.com/users/vercel%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/vercel%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/vercel%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vercel%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/vercel%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/vercel%5Bbot%5D/repos","events_url":"https://api.github.com/users/vercel%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/vercel%5Bbot%5D/received_events","type":"Bot","site_admin":false},"position":null,"line":null,"path":null,"commit_id":"8eb3403cffc6a82dda23f0c4dc1afe6b0be2fa2f","created_at":"2022-01-02T01:00:12Z","updated_at":"2022-01-02T01:00:12Z","author_association":"NONE","body":"Successfully deployed to the following URLs:\n\n* [issue-tracker-lovat.vercel.app](https://issue-tracker-lovat.vercel.app) \n* [issue-tracker-git-master-ichn-hu.vercel.app](https://issue-tracker-git-master-ichn-hu.vercel.app) \n* [issue-tracker-ichn-hu.vercel.app](https://issue-tracker-ichn-hu.vercel.app)","reactions":{"url":"https://api.github.com/repos/ichn-hu/issue-tracker/comments/62776624/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0}}},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597341","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":374742582,"name":"realviacauchy/realviacauchy.github.io","url":"https://api.github.com/repos/realviacauchy/realviacauchy.github.io"},"payload":{"push_id":8735902203,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"58fd87d3a17c5747bc2946aec529b8941cf234fd","before":"a02051d2653f753f6a55ef6529b6101d7516c6d5","commits":[{"sha":"58fd87d3a17c5747bc2946aec529b8941cf234fd","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"docs: update","distinct":true,"url":"https://api.github.com/repos/realviacauchy/realviacauchy.github.io/commits/58fd87d3a17c5747bc2946aec529b8941cf234fd"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597347","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":396547681,"name":"lhjt/readme-stats","url":"https://api.github.com/repos/lhjt/readme-stats"},"payload":{"push_id":8735902207,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7b80288716dbd4c2f33c7935f70484b24de4764d","before":"ea004f83f827d56328e5940b702aba9cd452056a","commits":[{"sha":"7b80288716dbd4c2f33c7935f70484b24de4764d","author":{"email":"github-stats[bot]@jstrieb.github.io","name":"jstrieb/github-stats"},"message":"Update generated files","distinct":true,"url":"https://api.github.com/repos/lhjt/readme-stats/commits/7b80288716dbd4c2f33c7935f70484b24de4764d"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597350","type":"PullRequestReviewEvent","actor":{"id":49736102,"login":"kodiakhq[bot]","display_login":"kodiakhq","gravatar_id":"","url":"https://api.github.com/users/kodiakhq[bot]","avatar_url":"https://avatars.githubusercontent.com/u/49736102?"},"repo":{"id":367161113,"name":"kubepack/module-testdata","url":"https://api.github.com/repos/kubepack/module-testdata"},"payload":{"action":"created","review":{"id":842371294,"node_id":"PRR_kwDOFeJvGc4yNZDe","user":{"login":"kodiakhq[bot]","id":49736102,"node_id":"MDM6Qm90NDk3MzYxMDI=","avatar_url":"https://avatars.githubusercontent.com/in/29196?v=4","gravatar_id":"","url":"https://api.github.com/users/kodiakhq%5Bbot%5D","html_url":"https://github.com/apps/kodiakhq","followers_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/followers","following_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/repos","events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/kodiakhq%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":null,"commit_id":"7705f617ff498a6302d577a742d7856459ffe799","submitted_at":"2022-01-02T01:00:12Z","state":"approved","html_url":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371294","pull_request_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","author_association":"NONE","_links":{"html":{"href":"https://github.com/kubepack/module-testdata/pull/6#pullrequestreview-842371294"},"pull_request":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6","id":744868238,"node_id":"PR_kwDOFeJvGc4sZcmO","html_url":"https://github.com/kubepack/module-testdata/pull/6","diff_url":"https://github.com/kubepack/module-testdata/pull/6.diff","patch_url":"https://github.com/kubepack/module-testdata/pull/6.patch","issue_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6","number":6,"state":"open","locked":false,"title":"Update repository config","user":{"login":"1gtm","id":28918474,"node_id":"MDQ6VXNlcjI4OTE4NDc0","avatar_url":"https://avatars.githubusercontent.com/u/28918474?v=4","gravatar_id":"","url":"https://api.github.com/users/1gtm","html_url":"https://github.com/1gtm","followers_url":"https://api.github.com/users/1gtm/followers","following_url":"https://api.github.com/users/1gtm/following{/other_user}","gists_url":"https://api.github.com/users/1gtm/gists{/gist_id}","starred_url":"https://api.github.com/users/1gtm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/1gtm/subscriptions","organizations_url":"https://api.github.com/users/1gtm/orgs","repos_url":"https://api.github.com/users/1gtm/repos","events_url":"https://api.github.com/users/1gtm/events{/privacy}","received_events_url":"https://api.github.com/users/1gtm/received_events","type":"User","site_admin":false},"body":"Signed-off-by: 1gtm <1gtm@appscode.com>","created_at":"2021-09-28T14:24:23Z","updated_at":"2022-01-02T01:00:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7d4f0ebc1a8db693aebf05ce9f2fbf5d703049e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":3192671031,"node_id":"MDU6TGFiZWwzMTkyNjcxMDMx","url":"https://api.github.com/repos/kubepack/module-testdata/labels/automerge","name":"automerge","color":"fef2c0","default":false,"description":"Kodiak will auto merge PRs that have this label"}],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits","review_comments_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments","review_comment_url":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799","head":{"label":"kubepack:generic-repo-refresher","ref":"generic-repo-refresher","sha":"7705f617ff498a6302d577a742d7856459ffe799","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"base":{"label":"kubepack:master","ref":"master","sha":"be8124540f64db4920c6bb0b2b47292a083eec81","user":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"repo":{"id":367161113,"node_id":"MDEwOlJlcG9zaXRvcnkzNjcxNjExMTM=","name":"module-testdata","full_name":"kubepack/module-testdata","private":false,"owner":{"login":"kubepack","id":30606241,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNjA2MjQx","avatar_url":"https://avatars.githubusercontent.com/u/30606241?v=4","gravatar_id":"","url":"https://api.github.com/users/kubepack","html_url":"https://github.com/kubepack","followers_url":"https://api.github.com/users/kubepack/followers","following_url":"https://api.github.com/users/kubepack/following{/other_user}","gists_url":"https://api.github.com/users/kubepack/gists{/gist_id}","starred_url":"https://api.github.com/users/kubepack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubepack/subscriptions","organizations_url":"https://api.github.com/users/kubepack/orgs","repos_url":"https://api.github.com/users/kubepack/repos","events_url":"https://api.github.com/users/kubepack/events{/privacy}","received_events_url":"https://api.github.com/users/kubepack/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/kubepack/module-testdata","description":null,"fork":false,"url":"https://api.github.com/repos/kubepack/module-testdata","forks_url":"https://api.github.com/repos/kubepack/module-testdata/forks","keys_url":"https://api.github.com/repos/kubepack/module-testdata/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubepack/module-testdata/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubepack/module-testdata/teams","hooks_url":"https://api.github.com/repos/kubepack/module-testdata/hooks","issue_events_url":"https://api.github.com/repos/kubepack/module-testdata/issues/events{/number}","events_url":"https://api.github.com/repos/kubepack/module-testdata/events","assignees_url":"https://api.github.com/repos/kubepack/module-testdata/assignees{/user}","branches_url":"https://api.github.com/repos/kubepack/module-testdata/branches{/branch}","tags_url":"https://api.github.com/repos/kubepack/module-testdata/tags","blobs_url":"https://api.github.com/repos/kubepack/module-testdata/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubepack/module-testdata/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubepack/module-testdata/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubepack/module-testdata/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubepack/module-testdata/statuses/{sha}","languages_url":"https://api.github.com/repos/kubepack/module-testdata/languages","stargazers_url":"https://api.github.com/repos/kubepack/module-testdata/stargazers","contributors_url":"https://api.github.com/repos/kubepack/module-testdata/contributors","subscribers_url":"https://api.github.com/repos/kubepack/module-testdata/subscribers","subscription_url":"https://api.github.com/repos/kubepack/module-testdata/subscription","commits_url":"https://api.github.com/repos/kubepack/module-testdata/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubepack/module-testdata/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubepack/module-testdata/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubepack/module-testdata/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubepack/module-testdata/contents/{+path}","compare_url":"https://api.github.com/repos/kubepack/module-testdata/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubepack/module-testdata/merges","archive_url":"https://api.github.com/repos/kubepack/module-testdata/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubepack/module-testdata/downloads","issues_url":"https://api.github.com/repos/kubepack/module-testdata/issues{/number}","pulls_url":"https://api.github.com/repos/kubepack/module-testdata/pulls{/number}","milestones_url":"https://api.github.com/repos/kubepack/module-testdata/milestones{/number}","notifications_url":"https://api.github.com/repos/kubepack/module-testdata/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubepack/module-testdata/labels{/name}","releases_url":"https://api.github.com/repos/kubepack/module-testdata/releases{/id}","deployments_url":"https://api.github.com/repos/kubepack/module-testdata/deployments","created_at":"2021-05-13T20:02:25Z","updated_at":"2021-09-03T14:38:21Z","pushed_at":"2022-01-01T07:05:31Z","git_url":"git://github.com/kubepack/module-testdata.git","ssh_url":"git@github.com:kubepack/module-testdata.git","clone_url":"https://github.com/kubepack/module-testdata.git","svn_url":"https://github.com/kubepack/module-testdata","homepage":null,"size":18558,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":4,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"allow_forking":true,"is_template":false,"topics":[],"visibility":"public","forks":0,"open_issues":4,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6"},"html":{"href":"https://github.com/kubepack/module-testdata/pull/6"},"issue":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6"},"comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubepack/module-testdata/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/kubepack/module-testdata/statuses/7705f617ff498a6302d577a742d7856459ffe799"}},"author_association":"COLLABORATOR","auto_merge":null,"active_lock_reason":null}},"public":true,"created_at":"2022-01-02T01:00:12Z","org":{"id":30606241,"login":"kubepack","gravatar_id":"","url":"https://api.github.com/orgs/kubepack","avatar_url":"https://avatars.githubusercontent.com/u/30606241?"}} +{"id":"19546597357","type":"PushEvent","actor":{"id":24590319,"login":"hcarrara","display_login":"hcarrara","gravatar_id":"","url":"https://api.github.com/users/hcarrara","avatar_url":"https://avatars.githubusercontent.com/u/24590319?"},"repo":{"id":423298280,"name":"hcarrara/watchdog","url":"https://api.github.com/repos/hcarrara/watchdog"},"payload":{"push_id":8735902220,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"b9638832211c9f94c99b6bd950333c2b01175449","before":"05ea0ef51f0242dd6e5bf1c27fa2f7f17b925552","commits":[{"sha":"b9638832211c9f94c99b6bd950333c2b01175449","author":{"email":"hugo.carrara@yahoo.com.br","name":"Hugo Carrara"},"message":"watchdog","distinct":true,"url":"https://api.github.com/repos/hcarrara/watchdog/commits/b9638832211c9f94c99b6bd950333c2b01175449"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597360","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":342210857,"name":"usmanahmedmalik/usmanahmedmalik","url":"https://api.github.com/repos/usmanahmedmalik/usmanahmedmalik"},"payload":{"push_id":8735902205,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"0bff915f3ebca432ded1b16b4320b20abaef5e65","before":"fd5a865e27619d253578913bbb397c419393091e","commits":[{"sha":"0bff915f3ebca432ded1b16b4320b20abaef5e65","author":{"email":"actions@users.noreply.github.com","name":"Automated Publisher"},"message":"Automated publish: Sun Jan 2 01:00:10 UTC 2022 fd5a865e27619d253578913bbb397c419393091e","distinct":true,"url":"https://api.github.com/repos/usmanahmedmalik/usmanahmedmalik/commits/0bff915f3ebca432ded1b16b4320b20abaef5e65"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597361","type":"PushEvent","actor":{"id":16610169,"login":"365taole","display_login":"365taole","gravatar_id":"","url":"https://api.github.com/users/365taole","avatar_url":"https://avatars.githubusercontent.com/u/16610169?"},"repo":{"id":443490727,"name":"365taole/meizi","url":"https://api.github.com/repos/365taole/meizi"},"payload":{"push_id":8735902218,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"ebb2ce85802555e3ecb5c1abb471c095637eae6d","before":"acc5cf6d9af7697854dddd4a57e3a2614415825b","commits":[{"sha":"ebb2ce85802555e3ecb5c1abb471c095637eae6d","author":{"email":"365taole@gmail.com","name":"365taole"},"message":"9_42133/02124911-8-V32.jpg","distinct":true,"url":"https://api.github.com/repos/365taole/meizi/commits/ebb2ce85802555e3ecb5c1abb471c095637eae6d"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597362","type":"PushEvent","actor":{"id":42703204,"login":"luisfsm","display_login":"luisfsm","gravatar_id":"","url":"https://api.github.com/users/luisfsm","avatar_url":"https://avatars.githubusercontent.com/u/42703204?"},"repo":{"id":443648657,"name":"luisfsm/BeeCrowdExercicios","url":"https://api.github.com/repos/luisfsm/BeeCrowdExercicios"},"payload":{"push_id":8735902219,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"98f3d65e506c8ceb8e1baa4510d87375df533d48","before":"b0ce6b785dcf1b6c8b62164011238c5192f085a7","commits":[{"sha":"98f3d65e506c8ceb8e1baa4510d87375df533d48","author":{"email":"luis.s.mendes20@gmail.com","name":"luis felipe"},"message":"add ex 1003 e edit","distinct":true,"url":"https://api.github.com/repos/luisfsm/BeeCrowdExercicios/commits/98f3d65e506c8ceb8e1baa4510d87375df533d48"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597364","type":"IssuesEvent","actor":{"id":69738947,"login":"Henry111182","display_login":"Henry111182","gravatar_id":"","url":"https://api.github.com/users/Henry111182","avatar_url":"https://avatars.githubusercontent.com/u/69738947?"},"repo":{"id":1593053,"name":"pioneerspacesim/pioneer","url":"https://api.github.com/repos/pioneerspacesim/pioneer"},"payload":{"action":"closed","issue":{"url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314","repository_url":"https://api.github.com/repos/pioneerspacesim/pioneer","labels_url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314/labels{/name}","comments_url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314/comments","events_url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314/events","html_url":"https://github.com/pioneerspacesim/pioneer/issues/5314","id":1091897758,"node_id":"I_kwDOABhO3c5BFQme","number":5314,"title":"Question for the developers of Pioneer.","user":{"login":"Henry111182","id":69738947,"node_id":"MDQ6VXNlcjY5NzM4OTQ3","avatar_url":"https://avatars.githubusercontent.com/u/69738947?v=4","gravatar_id":"","url":"https://api.github.com/users/Henry111182","html_url":"https://github.com/Henry111182","followers_url":"https://api.github.com/users/Henry111182/followers","following_url":"https://api.github.com/users/Henry111182/following{/other_user}","gists_url":"https://api.github.com/users/Henry111182/gists{/gist_id}","starred_url":"https://api.github.com/users/Henry111182/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Henry111182/subscriptions","organizations_url":"https://api.github.com/users/Henry111182/orgs","repos_url":"https://api.github.com/users/Henry111182/repos","events_url":"https://api.github.com/users/Henry111182/events{/privacy}","received_events_url":"https://api.github.com/users/Henry111182/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2022-01-01T21:42:34Z","updated_at":"2022-01-02T01:00:12Z","closed_at":"2022-01-02T01:00:12Z","author_association":"NONE","active_lock_reason":null,"body":"So, I downloaded Pioneer off of Itch.io and thought that was the newest version, and of course, I booted the game. After some time, I made a full save that isn't just a blank slate anymore, and I had discovered that there are more newer versions, and when I booted the game, it said my save had errors! And I don't want to redo my entire save, but also, I don't want to leave the new features behind. Is there any way I can fix my save so I can play on the newest version?","reactions":{"url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/pioneerspacesim/pioneer/issues/5314/timeline","performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:12Z","org":{"id":719820,"login":"pioneerspacesim","gravatar_id":"","url":"https://api.github.com/orgs/pioneerspacesim","avatar_url":"https://avatars.githubusercontent.com/u/719820?"}} +{"id":"19546597365","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":62485194,"name":"Citadel-Station-13/Citadel-Station-13","url":"https://api.github.com/repos/Citadel-Station-13/Citadel-Station-13"},"payload":{"push_id":8735902224,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"ef29f39fab46535b0a32697694fc9504967a5e68","before":"09276a14df310dea78ac87e5084f524ea5c2973a","commits":[{"sha":"ef29f39fab46535b0a32697694fc9504967a5e68","author":{"email":"46569814+DeltaFire15@users.noreply.github.com","name":"DeltaFire15"},"message":"Deploying to gh-pages from @ c63489abe42a3522c116dccaf1e9d62e0b1ed9a1 🚀","distinct":true,"url":"https://api.github.com/repos/Citadel-Station-13/Citadel-Station-13/commits/ef29f39fab46535b0a32697694fc9504967a5e68"}]},"public":true,"created_at":"2022-01-02T01:00:12Z","org":{"id":11160241,"login":"Citadel-Station-13","gravatar_id":"","url":"https://api.github.com/orgs/Citadel-Station-13","avatar_url":"https://avatars.githubusercontent.com/u/11160241?"}} +{"id":"19546597366","type":"PushEvent","actor":{"id":20679825,"login":"acid-chicken","display_login":"acid-chicken","gravatar_id":"","url":"https://api.github.com/users/acid-chicken","avatar_url":"https://avatars.githubusercontent.com/u/20679825?"},"repo":{"id":77326607,"name":"misskey-dev/misskey","url":"https://api.github.com/repos/misskey-dev/misskey"},"payload":{"push_id":8735902226,"size":1,"distinct_size":1,"ref":"refs/heads/patch/autogen/v11","head":"e1ec3f6d13410f475d3e28d2b613cb36e3570158","before":"a554629d6b6ca1caeda0a71313f28bc737bf4ea4","commits":[{"sha":"e1ec3f6d13410f475d3e28d2b613cb36e3570158","author":{"email":"root@acid-chicken.com","name":"Acid Chicken (硫酸鶏)"},"message":"Update README.md [AUTOGEN]","distinct":true,"url":"https://api.github.com/repos/misskey-dev/misskey/commits/e1ec3f6d13410f475d3e28d2b613cb36e3570158"}]},"public":true,"created_at":"2022-01-02T01:00:12Z","org":{"id":81036415,"login":"misskey-dev","gravatar_id":"","url":"https://api.github.com/orgs/misskey-dev","avatar_url":"https://avatars.githubusercontent.com/u/81036415?"}} +{"id":"19546597373","type":"IssueCommentEvent","actor":{"id":706948,"login":"daemitus","display_login":"daemitus","gravatar_id":"","url":"https://api.github.com/users/daemitus","avatar_url":"https://avatars.githubusercontent.com/u/706948?"},"repo":{"id":291109297,"name":"daemitus/XIVComboPlugin","url":"https://api.github.com/repos/daemitus/XIVComboPlugin"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70","repository_url":"https://api.github.com/repos/daemitus/XIVComboPlugin","labels_url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70/labels{/name}","comments_url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70/comments","events_url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70/events","html_url":"https://github.com/daemitus/XIVComboPlugin/issues/70","id":1090753248,"node_id":"I_kwDOEVn5sc5BA5Lg","number":70,"title":"Monk possible combo","user":{"login":"Samidaro","id":82609238,"node_id":"MDQ6VXNlcjgyNjA5MjM4","avatar_url":"https://avatars.githubusercontent.com/u/82609238?v=4","gravatar_id":"","url":"https://api.github.com/users/Samidaro","html_url":"https://github.com/Samidaro","followers_url":"https://api.github.com/users/Samidaro/followers","following_url":"https://api.github.com/users/Samidaro/following{/other_user}","gists_url":"https://api.github.com/users/Samidaro/gists{/gist_id}","starred_url":"https://api.github.com/users/Samidaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Samidaro/subscriptions","organizations_url":"https://api.github.com/users/Samidaro/orgs","repos_url":"https://api.github.com/users/Samidaro/repos","events_url":"https://api.github.com/users/Samidaro/events{/privacy}","received_events_url":"https://api.github.com/users/Samidaro/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2021-12-29T21:17:25Z","updated_at":"2022-01-02T01:00:12Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"Dragon Kick/Bootshine. \r\nIs it possible to make Bootshine become Dragon Kick when unlocked and the leaden fist buff is currently not on the character?\r\nthanks\r\n","reactions":{"url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/comments/1003644278","html_url":"https://github.com/daemitus/XIVComboPlugin/issues/70#issuecomment-1003644278","issue_url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/70","id":1003644278,"node_id":"IC_kwDOEVn5sc470mV2","user":{"login":"daemitus","id":706948,"node_id":"MDQ6VXNlcjcwNjk0OA==","avatar_url":"https://avatars.githubusercontent.com/u/706948?v=4","gravatar_id":"","url":"https://api.github.com/users/daemitus","html_url":"https://github.com/daemitus","followers_url":"https://api.github.com/users/daemitus/followers","following_url":"https://api.github.com/users/daemitus/following{/other_user}","gists_url":"https://api.github.com/users/daemitus/gists{/gist_id}","starred_url":"https://api.github.com/users/daemitus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daemitus/subscriptions","organizations_url":"https://api.github.com/users/daemitus/orgs","repos_url":"https://api.github.com/users/daemitus/repos","events_url":"https://api.github.com/users/daemitus/events{/privacy}","received_events_url":"https://api.github.com/users/daemitus/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:12Z","updated_at":"2022-01-02T01:00:12Z","author_association":"OWNER","body":"Ill go back through it at some point, ive been crafting and suffering\nthrough a cold (covid?) the past week.\n\nOn Sat, Jan 1, 2022 at 7:57 PM Samidaro ***@***.***> wrote:\n\n> He originally had it but commented out since it was in my fork and was\n> mostly there to help me out with upgrading code, but since has removed it.\n> I figured he had a reason for not including it in this version, as a result.\n> So you don't think it can be added again? Thanks\n>\n> —\n> Reply to this email directly, view it on GitHub\n> ,\n> or unsubscribe\n> \n> .\n> Triage notifications on the go with GitHub Mobile for iOS\n> \n> or Android\n> .\n>\n> You are receiving this because you are subscribed to this thread.Message\n> ID: ***@***.***>\n>\n","reactions":{"url":"https://api.github.com/repos/daemitus/XIVComboPlugin/issues/comments/1003644278/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597374","type":"PushEvent","actor":{"id":86695110,"login":"safiyamirza","display_login":"safiyamirza","gravatar_id":"","url":"https://api.github.com/users/safiyamirza","avatar_url":"https://avatars.githubusercontent.com/u/86695110?"},"repo":{"id":438372271,"name":"safiyamirza/react-native-nucampsite","url":"https://api.github.com/repos/safiyamirza/react-native-nucampsite"},"payload":{"push_id":8735902227,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7d7c1ac724ccb6ec74906ef7b3e71012bac1a547","before":"48decccfd6b38d491fe8c395b83f4a3874c166e0","commits":[{"sha":"7d7c1ac724ccb6ec74906ef7b3e71012bac1a547","author":{"email":"safiya.mirza1994@gmail.com","name":"Safiya Mirza"},"message":"Alert","distinct":true,"url":"https://api.github.com/repos/safiyamirza/react-native-nucampsite/commits/7d7c1ac724ccb6ec74906ef7b3e71012bac1a547"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597375","type":"PushEvent","actor":{"id":87541280,"login":"WolseyBankWitness","display_login":"WolseyBankWitness","gravatar_id":"","url":"https://api.github.com/users/WolseyBankWitness","avatar_url":"https://avatars.githubusercontent.com/u/87541280?"},"repo":{"id":411743137,"name":"WolseyBankWitness/mhutchinson-distributor","url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor"},"payload":{"push_id":8735902222,"size":6,"distinct_size":0,"ref":"refs/heads/witness_wolsey-bank-alfred_sum_golang_org","head":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","before":"130213bcaab27179ddb77ee91d451bd89acd8b0c","commits":[{"sha":"26165a511cac73ef10250307bb80a40631a288aa","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@8587264","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/26165a511cac73ef10250307bb80a40631a288aa"},{"sha":"a1200ce55b30f11403e0af5b9dfacc9dee6a641c","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@1016822","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/a1200ce55b30f11403e0af5b9dfacc9dee6a641c"},{"sha":"c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259","author":{"email":"87541280+WolseyBankWitness@users.noreply.github.com","name":"Wolsey Bank Witness"},"message":"Witness checkpoint@1017264","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259"},{"sha":"7807cd0b84f61f16d4bfbe712a3f33f7a6869d39","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/7807cd0b84f61f16d4bfbe712a3f33f7a6869d39"},{"sha":"2134c719b2a147120187ea62115520608faab0ad","author":{"email":"rene@mayrhofer.eu.org","name":"René Mayrhofer"},"message":"Witness checkpoint@1017292","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/2134c719b2a147120187ea62115520608faab0ad"},{"sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597377","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227724995,"name":"cnqgcm367/djy","url":"https://api.github.com/repos/cnqgcm367/djy"},"payload":{"push_id":8735902231,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"f4db03175317f5b5a672120eb6bb7984386ae916","before":"7346f5c2caf3dcab99f1bebdb84fa905cbba4361","commits":[{"sha":"f4db03175317f5b5a672120eb6bb7984386ae916","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update ncid283.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/djy/commits/f4db03175317f5b5a672120eb6bb7984386ae916"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597379","type":"PushEvent","actor":{"id":95110082,"login":"tanner-johnson2718","display_login":"tanner-johnson2718","gravatar_id":"","url":"https://api.github.com/users/tanner-johnson2718","avatar_url":"https://avatars.githubusercontent.com/u/95110082?"},"repo":{"id":433644455,"name":"tanner-johnson2718/MEME_OS_2","url":"https://api.github.com/repos/tanner-johnson2718/MEME_OS_2"},"payload":{"push_id":8735902236,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"27496a2f2e12fe164d8cf97e986e8ca738c02b20","before":"077374cad1b9eb5a7463ac7d42ca50c967798a62","commits":[{"sha":"27496a2f2e12fe164d8cf97e986e8ca738c02b20","author":{"email":"tanner.johnson2718@gmail.com","name":"tanner"},"message":"HUGE REFAC - updating README to present new development focus i.e. clean ass driver code","distinct":true,"url":"https://api.github.com/repos/tanner-johnson2718/MEME_OS_2/commits/27496a2f2e12fe164d8cf97e986e8ca738c02b20"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597382","type":"PushEvent","actor":{"id":57966523,"login":"ANASS99T","display_login":"ANASS99T","gravatar_id":"","url":"https://api.github.com/users/ANASS99T","avatar_url":"https://avatars.githubusercontent.com/u/57966523?"},"repo":{"id":431653604,"name":"ANASS99T/portfolio","url":"https://api.github.com/repos/ANASS99T/portfolio"},"payload":{"push_id":8735902242,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"548f90822a240c4fd811c96d0b314cf34674a082","before":"8112cbee8b2638d240e0d4fb55ea43a4247b5f29","commits":[{"sha":"548f90822a240c4fd811c96d0b314cf34674a082","author":{"email":"Anass.taher@gmail.com","name":"ANASS OULED BEN TAHAR"},"message":"update config.json","distinct":true,"url":"https://api.github.com/repos/ANASS99T/portfolio/commits/548f90822a240c4fd811c96d0b314cf34674a082"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597383","type":"CreateEvent","actor":{"id":86157719,"login":"Miissy","display_login":"Miissy","gravatar_id":"","url":"https://api.github.com/users/Miissy","avatar_url":"https://avatars.githubusercontent.com/u/86157719?"},"repo":{"id":443654321,"name":"Miissy/SeersoftheLake.github.io","url":"https://api.github.com/repos/Miissy/SeersoftheLake.github.io"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597385","type":"PushEvent","actor":{"id":28039927,"login":"bensuperpc","display_login":"bensuperpc","gravatar_id":"","url":"https://api.github.com/users/bensuperpc","avatar_url":"https://avatars.githubusercontent.com/u/28039927?"},"repo":{"id":373913590,"name":"bensuperpc/contentdb","url":"https://api.github.com/repos/bensuperpc/contentdb"},"payload":{"push_id":8735902241,"size":2,"distinct_size":0,"ref":"refs/heads/HEAD","head":"8f4e214c52beeb400cdddc79d486e1aea3dcc096","before":"4dfb35a57b0d2b8b5ecd39a80c6c23c87ed55682","commits":[{"sha":"e3465871117ff2adf755b23cc955f4f492f4ff20","author":{"email":"rw@rubenwardy.com","name":"rubenwardy"},"message":"Remove thumbs from helpful votes","distinct":false,"url":"https://api.github.com/repos/bensuperpc/contentdb/commits/e3465871117ff2adf755b23cc955f4f492f4ff20"},{"sha":"8f4e214c52beeb400cdddc79d486e1aea3dcc096","author":{"email":"rw@rubenwardy.com","name":"rubenwardy"},"message":"Add review votes page","distinct":false,"url":"https://api.github.com/repos/bensuperpc/contentdb/commits/8f4e214c52beeb400cdddc79d486e1aea3dcc096"}]},"public":true,"created_at":"2022-01-02T01:00:12Z"} +{"id":"19546597387","type":"PushEvent","actor":{"id":95662857,"login":"musiccp","display_login":"musiccp","gravatar_id":"","url":"https://api.github.com/users/musiccp","avatar_url":"https://avatars.githubusercontent.com/u/95662857?"},"repo":{"id":443020848,"name":"musiccp/ultroid-wf-example","url":"https://api.github.com/repos/musiccp/ultroid-wf-example"},"payload":{"push_id":8735902234,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0937b99dfb0ecd2c9ee35a1ad7aebfffc1b431e4","before":"cfcf197e999795f593cba35bdf996f425966e177","commits":[{"sha":"0937b99dfb0ecd2c9ee35a1ad7aebfffc1b431e4","author":{"email":"leo.fabiani@alice.it","name":"musiccp"},"message":"Workflow : Loop 01/02/22-01:00:11am","distinct":true,"url":"https://api.github.com/repos/musiccp/ultroid-wf-example/commits/0937b99dfb0ecd2c9ee35a1ad7aebfffc1b431e4"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597389","type":"PushEvent","actor":{"id":58833107,"login":"cnqgcm367","display_login":"cnqgcm367","gravatar_id":"","url":"https://api.github.com/users/cnqgcm367","avatar_url":"https://avatars.githubusercontent.com/u/58833107?"},"repo":{"id":227725053,"name":"cnqgcm367/ntdtv","url":"https://api.github.com/repos/cnqgcm367/ntdtv"},"payload":{"push_id":8735902240,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"438340905def65baefd2fa3248de8093ca83d3ee","before":"67eebee976ce730ae3d6d630ed126dd95a58035b","commits":[{"sha":"438340905def65baefd2fa3248de8093ca83d3ee","author":{"email":"58833107+cnqgcm367@users.noreply.github.com","name":"cnqgcm367"},"message":"Update prog202_3.md","distinct":true,"url":"https://api.github.com/repos/cnqgcm367/ntdtv/commits/438340905def65baefd2fa3248de8093ca83d3ee"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597390","type":"PushEvent","actor":{"id":11586312,"login":"doublefreeman","display_login":"doublefreeman","gravatar_id":"","url":"https://api.github.com/users/doublefreeman","avatar_url":"https://avatars.githubusercontent.com/u/11586312?"},"repo":{"id":363824228,"name":"doublefreeman/number","url":"https://api.github.com/repos/doublefreeman/number"},"payload":{"push_id":8735902232,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"2c3f18fe4f73110f7d3d1e06be362910ab88d66d","before":"ea9f7e645f0581f039487b4c92a71a98e315848f","commits":[{"sha":"2c3f18fe4f73110f7d3d1e06be362910ab88d66d","author":{"email":"317471917@qq.com","name":"doublefreeman"},"message":"update","distinct":true,"url":"https://api.github.com/repos/doublefreeman/number/commits/2c3f18fe4f73110f7d3d1e06be362910ab88d66d"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597391","type":"PushEvent","actor":{"id":58354051,"login":"eriklolson","display_login":"eriklolson","gravatar_id":"","url":"https://api.github.com/users/eriklolson","avatar_url":"https://avatars.githubusercontent.com/u/58354051?"},"repo":{"id":438797797,"name":"eriklolson/wineshop","url":"https://api.github.com/repos/eriklolson/wineshop"},"payload":{"push_id":8735902244,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"eee13381f4d94237f54cd953a3e2286958080992","before":"7487322fd1989ded386fc48c4fca573dad069980","commits":[{"sha":"eee13381f4d94237f54cd953a3e2286958080992","author":{"email":"eriklolson@gmail.com","name":"eriklolson"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/eriklolson/wineshop/commits/eee13381f4d94237f54cd953a3e2286958080992"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597393","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":411018283,"name":"HxnDev/HxnDev","url":"https://api.github.com/repos/HxnDev/HxnDev"},"payload":{"push_id":8735902235,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"0491ede6cd19dda8fca91f5a836a2f7a26f90bf7","before":"0c47b4f3d03576555c97a477c5405fafdc77a48c","commits":[{"sha":"0491ede6cd19dda8fca91f5a836a2f7a26f90bf7","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/HxnDev/HxnDev/commits/0491ede6cd19dda8fca91f5a836a2f7a26f90bf7"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597394","type":"PushEvent","actor":{"id":13621271,"login":"ChameleonTartu","display_login":"ChameleonTartu","gravatar_id":"","url":"https://api.github.com/users/ChameleonTartu","avatar_url":"https://avatars.githubusercontent.com/u/13621271?"},"repo":{"id":356867737,"name":"ChameleonTartu/buymeacoffee-repo-stats","url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats"},"payload":{"push_id":8735902239,"size":6,"distinct_size":6,"ref":"refs/heads/master","head":"484d423b317b7e8fa3edc8435ddd4d5bcc3ff931","before":"e6a7e991c600fdc2ce2d9edae5d874adbc045845","commits":[{"sha":"9519b5e26817b0b0f05da9c479694cd781ff571e","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: snap 01-02-0058-D093 for greenbird/piri-web","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/9519b5e26817b0b0f05da9c479694cd781ff571e"},{"sha":"2aa6ec7209d55cae375699c49971ae09fd89155a","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: vc agg 01-02-0058-D093 for greenbird/piri-web","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/2aa6ec7209d55cae375699c49971ae09fd89155a"},{"sha":"c545d20568dbc7c350a7dc3212feb3c72f895275","author":{"email":"action@github.com","name":"GitHub Action"},"message":"ghrs: report 01-02-0058-D093 for greenbird/piri-web","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/c545d20568dbc7c350a7dc3212feb3c72f895275"},{"sha":"cc8d647e3bd0c005a0ebbe2042083f904ee92448","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/cc8d647e3bd0c005a0ebbe2042083f904ee92448"},{"sha":"ddb5efc43fdfc10e830226a392bb1a4c9c21a9d8","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/ddb5efc43fdfc10e830226a392bb1a4c9c21a9d8"},{"sha":"484d423b317b7e8fa3edc8435ddd4d5bcc3ff931","author":{"email":"action@github.com","name":"GitHub Action"},"message":"Merge branch 'master' of https://github.com/ChameleonTartu/buymeacoffee-repo-stats","distinct":true,"url":"https://api.github.com/repos/ChameleonTartu/buymeacoffee-repo-stats/commits/484d423b317b7e8fa3edc8435ddd4d5bcc3ff931"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597396","type":"CreateEvent","actor":{"id":75841818,"login":"shalini-devgit","display_login":"shalini-devgit","gravatar_id":"","url":"https://api.github.com/users/shalini-devgit","avatar_url":"https://avatars.githubusercontent.com/u/75841818?"},"repo":{"id":443654656,"name":"shalini-devgit/Shalini-PerfBlue2","url":"https://api.github.com/repos/shalini-devgit/Shalini-PerfBlue2"},"payload":{"ref":null,"ref_type":"repository","master_branch":"main","description":"Blue Testing2","pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597397","type":"PushEvent","actor":{"id":79057028,"login":"arthur-lage","display_login":"arthur-lage","gravatar_id":"","url":"https://api.github.com/users/arthur-lage","avatar_url":"https://avatars.githubusercontent.com/u/79057028?"},"repo":{"id":443431305,"name":"arthur-lage/auth-server","url":"https://api.github.com/repos/arthur-lage/auth-server"},"payload":{"push_id":8735902238,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"0acb500a08bf9bfafc7fa2bae8a5b5fdd5c8c2a0","before":"ee04d613133ceaf4eea8f3ee7d26205134b643cc","commits":[{"sha":"0acb500a08bf9bfafc7fa2bae8a5b5fdd5c8c2a0","author":{"email":"arthurlage2006@gmail.com","name":"Arthur Lage"},"message":"send token only","distinct":true,"url":"https://api.github.com/repos/arthur-lage/auth-server/commits/0acb500a08bf9bfafc7fa2bae8a5b5fdd5c8c2a0"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597406","type":"CreateEvent","actor":{"id":25250675,"login":"prief","display_login":"prief","gravatar_id":"","url":"https://api.github.com/users/prief","avatar_url":"https://avatars.githubusercontent.com/u/25250675?"},"repo":{"id":443654108,"name":"prief/mall","url":"https://api.github.com/repos/prief/mall"},"payload":{"ref":"main","ref_type":"branch","master_branch":"main","description":null,"pusher_type":"user"},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597407","type":"PushEvent","actor":{"id":40587912,"login":"supermobiteam2","display_login":"supermobiteam2","gravatar_id":"","url":"https://api.github.com/users/supermobiteam2","avatar_url":"https://avatars.githubusercontent.com/u/40587912?"},"repo":{"id":138681984,"name":"supermobiteam2/Tizi","url":"https://api.github.com/repos/supermobiteam2/Tizi"},"payload":{"push_id":8735902252,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"02076512c01194d74fef8d07957748ca94d3e768","before":"766665f6fa8d43fb6e090511e457e0d748cbd244","commits":[{"sha":"02076512c01194d74fef8d07957748ca94d3e768","author":{"email":"40587912+supermobiteam2@users.noreply.github.com","name":"supermobiteam2"},"message":"tizi ios","distinct":true,"url":"https://api.github.com/repos/supermobiteam2/Tizi/commits/02076512c01194d74fef8d07957748ca94d3e768"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597411","type":"PushEvent","actor":{"id":1351912,"login":"BarryThePenguin","display_login":"BarryThePenguin","gravatar_id":"","url":"https://api.github.com/users/BarryThePenguin","avatar_url":"https://avatars.githubusercontent.com/u/1351912?"},"repo":{"id":161257939,"name":"BarryThePenguin/advent-of-code","url":"https://api.github.com/repos/BarryThePenguin/advent-of-code"},"payload":{"push_id":8735902249,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"67a7f0a7559e6b7a0a3af197082b630147b2d03a","before":"cba8618c2f30654f8404aaa6fffd0268833b3865","commits":[{"sha":"67a7f0a7559e6b7a0a3af197082b630147b2d03a","author":{"email":"jonno.haines@gmail.com","name":"Jonathan Haines"},"message":"Fix lint","distinct":true,"url":"https://api.github.com/repos/BarryThePenguin/advent-of-code/commits/67a7f0a7559e6b7a0a3af197082b630147b2d03a"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597412","type":"IssueCommentEvent","actor":{"id":37411558,"login":"docker-desktop-robot","display_login":"docker-desktop-robot","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","avatar_url":"https://avatars.githubusercontent.com/u/37411558?"},"repo":{"id":64405875,"name":"docker/for-win","url":"https://api.github.com/repos/docker/for-win"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/docker/for-win/issues/10179","repository_url":"https://api.github.com/repos/docker/for-win","labels_url":"https://api.github.com/repos/docker/for-win/issues/10179/labels{/name}","comments_url":"https://api.github.com/repos/docker/for-win/issues/10179/comments","events_url":"https://api.github.com/repos/docker/for-win/issues/10179/events","html_url":"https://github.com/docker/for-win/issues/10179","id":791638350,"node_id":"MDU6SXNzdWU3OTE2MzgzNTA=","number":10179,"title":"Memory leak - allocates > 37GB of RAM","user":{"login":"h0wXD","id":10574115,"node_id":"MDQ6VXNlcjEwNTc0MTE1","avatar_url":"https://avatars.githubusercontent.com/u/10574115?v=4","gravatar_id":"","url":"https://api.github.com/users/h0wXD","html_url":"https://github.com/h0wXD","followers_url":"https://api.github.com/users/h0wXD/followers","following_url":"https://api.github.com/users/h0wXD/following{/other_user}","gists_url":"https://api.github.com/users/h0wXD/gists{/gist_id}","starred_url":"https://api.github.com/users/h0wXD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h0wXD/subscriptions","organizations_url":"https://api.github.com/users/h0wXD/orgs","repos_url":"https://api.github.com/users/h0wXD/repos","events_url":"https://api.github.com/users/h0wXD/events{/privacy}","received_events_url":"https://api.github.com/users/h0wXD/received_events","type":"User","site_admin":false},"labels":[{"id":2657944185,"node_id":"MDU6TGFiZWwyNjU3OTQ0MTg1","url":"https://api.github.com/repos/docker/for-win/labels/version/3.1.0","name":"version/3.1.0","color":"ededed","default":false,"description":null}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":42,"created_at":"2021-01-22T02:09:56Z","updated_at":"2022-01-02T01:00:12Z","closed_at":null,"author_association":"NONE","active_lock_reason":null,"body":"* [x] I have tried with the latest version of Docker Desktop\r\n* [ ] I have tried disabling enabled experimental features\r\n* [ ] I have uploaded Diagnostics\r\n* Diagnostics ID:\r\n* [x] I am using the Docker WSL2 Backend\r\n* [ ] I am using the Docker Hyper-V Backend\r\n\r\n### Actual behavior\r\nDocker desktop 3.1.0, which I just updated to yesterday, crashed my entire workstation, eating up all available memory and causing applications to crash. \r\nI have 'Send usage statistics' enabled but had to manually terminate the process by task manager.\r\n\r\n### Expected behavior\r\nNo memory leak\r\n\r\n### Information\r\n* Windows Version: Windows 10, Version 20H2 (OS Build 19042.685)\r\n* Docker Desktop Version: 3.1.0 (51484)\r\n* WSL2 or Hyper-V backend? WSL2 \r\n* Are you running inside a virtualized Windows e.g. on a cloud server or on a mac VM: No\r\n\r\n### Steps to reproduce the behavior\r\nI don't know how to reproduce, but I only did few things:\r\nright click the tray, open settings\r\nright click the tray, dashboard, scrolled down to a docker-compose of redis-master/redis-slave, saw the console, and closed the window again. \r\n\r\n![image](https://user-images.githubusercontent.com/10574115/105436135-9a18cb80-5c99-11eb-9a2f-86945cb1b3d7.png)\r\n\r\n","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/10179/reactions","total_count":9,"+1":9,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/docker/for-win/issues/10179/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644279","html_url":"https://github.com/docker/for-win/issues/10179#issuecomment-1003644279","issue_url":"https://api.github.com/repos/docker/for-win/issues/10179","id":1003644279,"node_id":"IC_kwDOA9bBc8470mV3","user":{"login":"docker-desktop-robot","id":37411558,"node_id":"MDQ6VXNlcjM3NDExNTU4","avatar_url":"https://avatars.githubusercontent.com/u/37411558?v=4","gravatar_id":"","url":"https://api.github.com/users/docker-desktop-robot","html_url":"https://github.com/docker-desktop-robot","followers_url":"https://api.github.com/users/docker-desktop-robot/followers","following_url":"https://api.github.com/users/docker-desktop-robot/following{/other_user}","gists_url":"https://api.github.com/users/docker-desktop-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/docker-desktop-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/docker-desktop-robot/subscriptions","organizations_url":"https://api.github.com/users/docker-desktop-robot/orgs","repos_url":"https://api.github.com/users/docker-desktop-robot/repos","events_url":"https://api.github.com/users/docker-desktop-robot/events{/privacy}","received_events_url":"https://api.github.com/users/docker-desktop-robot/received_events","type":"User","site_admin":false},"created_at":"2022-01-02T01:00:12Z","updated_at":"2022-01-02T01:00:12Z","author_association":"COLLABORATOR","body":"Issues go stale after 90 days of inactivity.\nMark the issue as fresh with `/remove-lifecycle stale` comment.\nStale issues will be closed after an additional 30 days of inactivity.\n\nPrevent issues from auto-closing with an `/lifecycle frozen` comment.\n\nIf this issue is safe to close now please do so.\n\nSend feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.\n/lifecycle stale","reactions":{"url":"https://api.github.com/repos/docker/for-win/issues/comments/1003644279/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:13Z","org":{"id":5429470,"login":"docker","gravatar_id":"","url":"https://api.github.com/orgs/docker","avatar_url":"https://avatars.githubusercontent.com/u/5429470?"}} +{"id":"19546597413","type":"PushEvent","actor":{"id":71078,"login":"alexandrenavarro","display_login":"alexandrenavarro","gravatar_id":"","url":"https://api.github.com/users/alexandrenavarro","avatar_url":"https://avatars.githubusercontent.com/u/71078?"},"repo":{"id":13884081,"name":"alexandrenavarro/wiki","url":"https://api.github.com/repos/alexandrenavarro/wiki"},"payload":{"push_id":8735902251,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"64d24ee4f79a2fd32db32c003819f7264d7790d7","before":"a68f067dd3f9b8ed5eefef28ecc4c84c7c00d58e","commits":[{"sha":"64d24ee4f79a2fd32db32c003819f7264d7790d7","author":{"email":"alexandre.j.navarro@gmail.com","name":"Alexandre Navarro"},"message":"Update Configuration.md","distinct":true,"url":"https://api.github.com/repos/alexandrenavarro/wiki/commits/64d24ee4f79a2fd32db32c003819f7264d7790d7"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597416","type":"PushEvent","actor":{"id":84364656,"login":"miscany","display_login":"miscany","gravatar_id":"","url":"https://api.github.com/users/miscany","avatar_url":"https://avatars.githubusercontent.com/u/84364656?"},"repo":{"id":443654652,"name":"miscany/Battleship","url":"https://api.github.com/repos/miscany/Battleship"},"payload":{"push_id":8735902256,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"46d5a130205e0afc9c23b50e353067698c5d2f8a","before":"1576650fdd8a34b0bbeb96005d3dd7cbe1652e8e","commits":[{"sha":"46d5a130205e0afc9c23b50e353067698c5d2f8a","author":{"email":"84364656+miscany@users.noreply.github.com","name":"miscany"},"message":"Initial commit","distinct":true,"url":"https://api.github.com/repos/miscany/Battleship/commits/46d5a130205e0afc9c23b50e353067698c5d2f8a"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597420","type":"PushEvent","actor":{"id":4350458,"login":"mmenta","display_login":"mmenta","gravatar_id":"","url":"https://api.github.com/users/mmenta","avatar_url":"https://avatars.githubusercontent.com/u/4350458?"},"repo":{"id":416239545,"name":"mmenta/trivia-admin","url":"https://api.github.com/repos/mmenta/trivia-admin"},"payload":{"push_id":8735902257,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3a222735c933e6d6d1986dac8d06806be1bedf92","before":"34ffd0aa97ca861229c50ba5688b84624b7573ac","commits":[{"sha":"3a222735c933e6d6d1986dac8d06806be1bedf92","author":{"email":"mario.menta@gmail.com","name":"Mario Menta"},"message":"login process","distinct":true,"url":"https://api.github.com/repos/mmenta/trivia-admin/commits/3a222735c933e6d6d1986dac8d06806be1bedf92"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597424","type":"PushEvent","actor":{"id":87541280,"login":"WolseyBankWitness","display_login":"WolseyBankWitness","gravatar_id":"","url":"https://api.github.com/users/WolseyBankWitness","avatar_url":"https://avatars.githubusercontent.com/u/87541280?"},"repo":{"id":411743137,"name":"WolseyBankWitness/mhutchinson-distributor","url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor"},"payload":{"push_id":8735902266,"size":6,"distinct_size":0,"ref":"refs/heads/witness_wolsey-bank-alfred_armory-drive-log","head":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","before":"130213bcaab27179ddb77ee91d451bd89acd8b0c","commits":[{"sha":"26165a511cac73ef10250307bb80a40631a288aa","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@8587264","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/26165a511cac73ef10250307bb80a40631a288aa"},{"sha":"a1200ce55b30f11403e0af5b9dfacc9dee6a641c","author":{"email":"mhutchinson@gmail.com","name":"Martin Hutchinson"},"message":"Witness checkpoint@1016822","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/a1200ce55b30f11403e0af5b9dfacc9dee6a641c"},{"sha":"c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259","author":{"email":"87541280+WolseyBankWitness@users.noreply.github.com","name":"Wolsey Bank Witness"},"message":"Witness checkpoint@1017264","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/c6e811f3a302b3b4bec9c9e53e7ec9b1ef6fe259"},{"sha":"7807cd0b84f61f16d4bfbe712a3f33f7a6869d39","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/7807cd0b84f61f16d4bfbe712a3f33f7a6869d39"},{"sha":"2134c719b2a147120187ea62115520608faab0ad","author":{"email":"rene@mayrhofer.eu.org","name":"René Mayrhofer"},"message":"Witness checkpoint@1017292","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/2134c719b2a147120187ea62115520608faab0ad"},{"sha":"f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d","author":{"email":"actions@github.com","name":"Serverless Bot"},"message":"Automatically merge witness signatures","distinct":false,"url":"https://api.github.com/repos/WolseyBankWitness/mhutchinson-distributor/commits/f81172e9d7de9c7f69e28d58d9c706a7d0dc3d8d"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597434","type":"PushEvent","actor":{"id":28039927,"login":"bensuperpc","display_login":"bensuperpc","gravatar_id":"","url":"https://api.github.com/users/bensuperpc","avatar_url":"https://avatars.githubusercontent.com/u/28039927?"},"repo":{"id":373913590,"name":"bensuperpc/contentdb","url":"https://api.github.com/repos/bensuperpc/contentdb"},"payload":{"push_id":8735902264,"size":2,"distinct_size":0,"ref":"refs/heads/master","head":"8f4e214c52beeb400cdddc79d486e1aea3dcc096","before":"4dfb35a57b0d2b8b5ecd39a80c6c23c87ed55682","commits":[{"sha":"e3465871117ff2adf755b23cc955f4f492f4ff20","author":{"email":"rw@rubenwardy.com","name":"rubenwardy"},"message":"Remove thumbs from helpful votes","distinct":false,"url":"https://api.github.com/repos/bensuperpc/contentdb/commits/e3465871117ff2adf755b23cc955f4f492f4ff20"},{"sha":"8f4e214c52beeb400cdddc79d486e1aea3dcc096","author":{"email":"rw@rubenwardy.com","name":"rubenwardy"},"message":"Add review votes page","distinct":false,"url":"https://api.github.com/repos/bensuperpc/contentdb/commits/8f4e214c52beeb400cdddc79d486e1aea3dcc096"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597436","type":"PushEvent","actor":{"id":96756473,"login":"56456f","display_login":"56456f","gravatar_id":"","url":"https://api.github.com/users/56456f","avatar_url":"https://avatars.githubusercontent.com/u/96756473?"},"repo":{"id":443645884,"name":"56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838","url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838"},"payload":{"push_id":8735902271,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"390508736b0cd367f7116c2223b488206a409e6f","before":"c95122e08f77f9bad275ab49f54dc0ed509b4c59","commits":[{"sha":"390508736b0cd367f7116c2223b488206a409e6f","author":{"email":"96756473+56456f@users.noreply.github.com","name":"56456f"},"message":"upload file 4b357a8687de14260112e5952bab66dad2cb85f7b55c529bbe42ca803c9e1794a9d92f061bb2535196dff44756de6d45video_1557_0_2017579.ts","distinct":true,"url":"https://api.github.com/repos/56456f/8f70ed14-3a89-46d1-bc6b-8a6295e59838/commits/390508736b0cd367f7116c2223b488206a409e6f"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597440","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":422021136,"name":"RawdneyGoncalves/RawdneyGoncalves","url":"https://api.github.com/repos/RawdneyGoncalves/RawdneyGoncalves"},"payload":{"push_id":8735902269,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"ace83986d1959ab6fb6392b416b5838a7e2b9dfb","before":"aaaab08cf2ebc506b8bb17bf1ff84d945be45475","commits":[{"sha":"ace83986d1959ab6fb6392b416b5838a7e2b9dfb","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/RawdneyGoncalves/RawdneyGoncalves/commits/ace83986d1959ab6fb6392b416b5838a7e2b9dfb"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597444","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":440264169,"name":"UrielAnd/UrielAnd","url":"https://api.github.com/repos/UrielAnd/UrielAnd"},"payload":{"push_id":8735902272,"size":1,"distinct_size":1,"ref":"refs/heads/output","head":"34bc5f4fa3911ddae50d1bf0c2a4f83dde15f3ac","before":"c50748b2b11fcd23f53d67d3288b55054f367767","commits":[{"sha":"34bc5f4fa3911ddae50d1bf0c2a4f83dde15f3ac","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"Deploy to GitHub pages","distinct":true,"url":"https://api.github.com/repos/UrielAnd/UrielAnd/commits/34bc5f4fa3911ddae50d1bf0c2a4f83dde15f3ac"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597445","type":"IssueCommentEvent","actor":{"id":39514782,"login":"sonarcloud[bot]","display_login":"sonarcloud","gravatar_id":"","url":"https://api.github.com/users/sonarcloud[bot]","avatar_url":"https://avatars.githubusercontent.com/u/39514782?"},"repo":{"id":250159952,"name":"BentoBoxWorld/AOneBlock","url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222","repository_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock","labels_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222/labels{/name}","comments_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222/comments","events_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222/events","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/222","id":1091925584,"node_id":"PR_kwDODukjUM4wcD8t","number":222,"title":"Czech translation","user":{"login":"gitlocalize-app[bot]","id":55277160,"node_id":"MDM6Qm90NTUyNzcxNjA=","avatar_url":"https://avatars.githubusercontent.com/in/40992?v=4","gravatar_id":"","url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D","html_url":"https://github.com/apps/gitlocalize-app","followers_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/followers","following_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/repos","events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/gitlocalize-app%5Bbot%5D/received_events","type":"Bot","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2022-01-02T00:57:19Z","updated_at":"2022-01-02T01:00:13Z","closed_at":"2022-01-02T00:57:38Z","author_association":"CONTRIBUTOR","active_lock_reason":null,"draft":false,"pull_request":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/pulls/222","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/222","diff_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/222.diff","patch_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/222.patch","merged_at":"2022-01-02T00:57:38Z"},"body":"\n\n[See review request on GitLocalize](https://gitlocalize.com/repo/4481/cs/review/39679)","reactions":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"timeline_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222/timeline","performed_via_github_app":null},"comment":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments/1003644281","html_url":"https://github.com/BentoBoxWorld/AOneBlock/pull/222#issuecomment-1003644281","issue_url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/222","id":1003644281,"node_id":"IC_kwDODukjUM470mV5","user":{"login":"sonarcloud[bot]","id":39514782,"node_id":"MDM6Qm90Mzk1MTQ3ODI=","avatar_url":"https://avatars.githubusercontent.com/in/12526?v=4","gravatar_id":"","url":"https://api.github.com/users/sonarcloud%5Bbot%5D","html_url":"https://github.com/apps/sonarcloud","followers_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/followers","following_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/repos","events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2022-01-02T01:00:13Z","updated_at":"2022-01-02T01:00:13Z","author_association":"NONE","body":"Kudos, SonarCloud Quality Gate passed!    ![Quality Gate passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/passed-16px.png 'Quality Gate passed')\n\n[![Bug](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/bug-16px.png 'Bug')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=BUG) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=BUG) [0 Bugs](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=BUG) \n[![Vulnerability](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/vulnerability-16px.png 'Vulnerability')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=VULNERABILITY) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=VULNERABILITY) [0 Vulnerabilities](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=VULNERABILITY) \n[![Security Hotspot](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/security_hotspot-16px.png 'Security Hotspot')](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=SECURITY_HOTSPOT) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=SECURITY_HOTSPOT) [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=SECURITY_HOTSPOT) \n[![Code Smell](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/code_smell-16px.png 'Code Smell')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=CODE_SMELL) [![A](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/RatingBadge/A-16px.png 'A')](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=CODE_SMELL) [0 Code Smells](https://sonarcloud.io/project/issues?id=BentoBoxWorld_AOneBlock&pullRequest=222&resolved=false&types=CODE_SMELL)\n\n[![No Coverage information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/CoverageChart/NoCoverageInfo-16px.png 'No Coverage information')](https://sonarcloud.io/component_measures?id=BentoBoxWorld_AOneBlock&pullRequest=222&metric=coverage&view=list) No Coverage information \n[![No Duplication information](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/Duplications/NoDuplicationInfo-16px.png 'No Duplication information')](https://sonarcloud.io/component_measures?id=BentoBoxWorld_AOneBlock&pullRequest=222&metric=duplicated_lines_density&view=list) No Duplication information\n\n","reactions":{"url":"https://api.github.com/repos/BentoBoxWorld/AOneBlock/issues/comments/1003644281/reactions","total_count":0,"+1":0,"-1":0,"laugh":0,"hooray":0,"confused":0,"heart":0,"rocket":0,"eyes":0},"performed_via_github_app":null}},"public":true,"created_at":"2022-01-02T01:00:13Z","org":{"id":41555324,"login":"BentoBoxWorld","gravatar_id":"","url":"https://api.github.com/orgs/BentoBoxWorld","avatar_url":"https://avatars.githubusercontent.com/u/41555324?"}} +{"id":"19546597446","type":"PushEvent","actor":{"id":83965139,"login":"webutil-git","display_login":"webutil-git","gravatar_id":"","url":"https://api.github.com/users/webutil-git","avatar_url":"https://avatars.githubusercontent.com/u/83965139?"},"repo":{"id":249515714,"name":"Stevens-EWS/faculty-profiles","url":"https://api.github.com/repos/Stevens-EWS/faculty-profiles"},"payload":{"push_id":8735902268,"size":1,"distinct_size":1,"ref":"refs/heads/Scheduled-builds","head":"0e4bb1813d7d82e3bb56d5ca00bdff221bb09cc7","before":"8fbd36fcbfa2d1efe4778ce2a2b7c3f15798a5fc","commits":[{"sha":"0e4bb1813d7d82e3bb56d5ca00bdff221bb09cc7","author":{"email":"webutil-git@stevens.edu","name":"webutil"},"message":"Scheduled build.","distinct":true,"url":"https://api.github.com/repos/Stevens-EWS/faculty-profiles/commits/0e4bb1813d7d82e3bb56d5ca00bdff221bb09cc7"}]},"public":true,"created_at":"2022-01-02T01:00:13Z","org":{"id":63423467,"login":"Stevens-EWS","gravatar_id":"","url":"https://api.github.com/orgs/Stevens-EWS","avatar_url":"https://avatars.githubusercontent.com/u/63423467?"}} +{"id":"19546597447","type":"PushEvent","actor":{"id":40586421,"login":"himobi","display_login":"himobi","gravatar_id":"","url":"https://api.github.com/users/himobi","avatar_url":"https://avatars.githubusercontent.com/u/40586421?"},"repo":{"id":138676186,"name":"himobi/hotspot","url":"https://api.github.com/repos/himobi/hotspot"},"payload":{"push_id":8735902267,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"e31dbd2692ae13fd5102c6fb0999d1754384bf30","before":"d088f7eb67c3bded692d3a5946615a8ca54bd2c5","commits":[{"sha":"e31dbd2692ae13fd5102c6fb0999d1754384bf30","author":{"email":"40586421+himobi@users.noreply.github.com","name":"himobi"},"message":"thank you Eugene P.","distinct":true,"url":"https://api.github.com/repos/himobi/hotspot/commits/e31dbd2692ae13fd5102c6fb0999d1754384bf30"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597452","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":391966829,"name":"DY112/Homepage","url":"https://api.github.com/repos/DY112/Homepage"},"payload":{"push_id":8735902283,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bf465c5aa5cf9c32aead1cefe102e5683c5594c0","before":"10720562f696f5162414863940267781d10b2e16","commits":[{"sha":"bf465c5aa5cf9c32aead1cefe102e5683c5594c0","author":{"email":"41898282+github-actions[bot]@users.noreply.github.com","name":"github-actions[bot]"},"message":"docs: update","distinct":true,"url":"https://api.github.com/repos/DY112/Homepage/commits/bf465c5aa5cf9c32aead1cefe102e5683c5594c0"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597454","type":"PushEvent","actor":{"id":17692105,"login":"FireMario211","display_login":"FireMario211","gravatar_id":"","url":"https://api.github.com/users/FireMario211","avatar_url":"https://avatars.githubusercontent.com/u/17692105?"},"repo":{"id":352123037,"name":"Em1tt/ametrine.host","url":"https://api.github.com/repos/Em1tt/ametrine.host"},"payload":{"push_id":8735902286,"size":1,"distinct_size":1,"ref":"refs/heads/main","head":"fdc257ed1a1fef77e0b1d8e8874f54726c17c95a","before":"b9e179bdd73ebd1955dce82df1f852e0f1718085","commits":[{"sha":"fdc257ed1a1fef77e0b1d8e8874f54726c17c95a","author":{"email":"17692105+FireMario211@users.noreply.github.com","name":"Fire"},"message":"Fix merge conflict","distinct":true,"url":"https://api.github.com/repos/Em1tt/ametrine.host/commits/fdc257ed1a1fef77e0b1d8e8874f54726c17c95a"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597455","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":291940172,"name":"l-eg/autoapi-2","url":"https://api.github.com/repos/l-eg/autoapi-2"},"payload":{"push_id":8735902280,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"d9622e47a756ba33487063c9768d0341bf48842c","before":"58317724db03a74e3815a2d9321e4464a251c220","commits":[{"sha":"d9622e47a756ba33487063c9768d0341bf48842c","author":{"email":"AutoupdateRobot@email.com","name":"AutoupdateRobot"},"message":"update new refresh_token","distinct":true,"url":"https://api.github.com/repos/l-eg/autoapi-2/commits/d9622e47a756ba33487063c9768d0341bf48842c"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597458","type":"PushEvent","actor":{"id":9743724,"login":"cocacola-ty","display_login":"cocacola-ty","gravatar_id":"","url":"https://api.github.com/users/cocacola-ty","avatar_url":"https://avatars.githubusercontent.com/u/9743724?"},"repo":{"id":133922242,"name":"cocacola-ty/MagicBox","url":"https://api.github.com/repos/cocacola-ty/MagicBox"},"payload":{"push_id":8735902291,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"7739f963c204e5f66d45a6287b7f5d28784918e0","before":"f1ec2fc2d26cb641dd11bbcb36431fa3e9c1252c","commits":[{"sha":"7739f963c204e5f66d45a6287b7f5d28784918e0","author":{"email":"444069440@qq.com","name":"tianyu_f"},"message":"Update road_map.drawio.png","distinct":true,"url":"https://api.github.com/repos/cocacola-ty/MagicBox/commits/7739f963c204e5f66d45a6287b7f5d28784918e0"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597464","type":"WatchEvent","actor":{"id":18752268,"login":"daneelcayce","display_login":"daneelcayce","gravatar_id":"","url":"https://api.github.com/users/daneelcayce","avatar_url":"https://avatars.githubusercontent.com/u/18752268?"},"repo":{"id":336827894,"name":"mcdejonge/IMPULSE-TRACKER-THEME","url":"https://api.github.com/repos/mcdejonge/IMPULSE-TRACKER-THEME"},"payload":{"action":"started"},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597463","type":"PushEvent","actor":{"id":94635152,"login":"SomaKijana","display_login":"SomaKijana","gravatar_id":"","url":"https://api.github.com/users/SomaKijana","avatar_url":"https://avatars.githubusercontent.com/u/94635152?"},"repo":{"id":442622873,"name":"SomaKijana/paint-github-subscription-f692c","url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c"},"payload":{"push_id":8735902293,"size":5,"distinct_size":5,"ref":"refs/heads/main","head":"99e7ba04596f46fcde42bf2772cdc61f3069ffb1","before":"9041c7b370f3ceec6e4ff223bc54f6a0cdb99858","commits":[{"sha":"fca1c7da8aa596982bb9b8a84a2eb65b1e9f3380","author":{"email":"94635152+SomaKijana@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c/commits/fca1c7da8aa596982bb9b8a84a2eb65b1e9f3380"},{"sha":"044285a2cb65e6d73c022d2b512c4456f6f61c8f","author":{"email":"94635152+SomaKijana@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c/commits/044285a2cb65e6d73c022d2b512c4456f6f61c8f"},{"sha":"3b7d958fa65f474e572a15eef0dc084ea945f808","author":{"email":"94635152+SomaKijana@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c/commits/3b7d958fa65f474e572a15eef0dc084ea945f808"},{"sha":"a6aab1125dd94b8b1f75452fcc9e7ab8dc29bc49","author":{"email":"94635152+SomaKijana@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c/commits/a6aab1125dd94b8b1f75452fcc9e7ab8dc29bc49"},{"sha":"99e7ba04596f46fcde42bf2772cdc61f3069ffb1","author":{"email":"94635152+SomaKijana@users.noreply.github.com","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/SomaKijana/paint-github-subscription-f692c/commits/99e7ba04596f46fcde42bf2772cdc61f3069ffb1"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597469","type":"PushEvent","actor":{"id":41898282,"login":"github-actions[bot]","display_login":"github-actions","gravatar_id":"","url":"https://api.github.com/users/github-actions[bot]","avatar_url":"https://avatars.githubusercontent.com/u/41898282?"},"repo":{"id":369378571,"name":"pdso/rss","url":"https://api.github.com/repos/pdso/rss"},"payload":{"push_id":8735902294,"size":1,"distinct_size":1,"ref":"refs/heads/gh-pages","head":"fd03a80366e6ca852a4a7bace4efe6ec78b7877f","before":"0832f02aca94fc6821699af23ea558d53e9095e0","commits":[{"sha":"fd03a80366e6ca852a4a7bace4efe6ec78b7877f","author":{"email":"pdso@users.noreply.github.com","name":"pdso"},"message":"deploy: 26657d45c041aeece7939ef7d91e9a6313eee205","distinct":true,"url":"https://api.github.com/repos/pdso/rss/commits/fd03a80366e6ca852a4a7bace4efe6ec78b7877f"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597470","type":"PushEvent","actor":{"id":23085638,"login":"yagizoral","display_login":"yagizoral","gravatar_id":"","url":"https://api.github.com/users/yagizoral","avatar_url":"https://avatars.githubusercontent.com/u/23085638?"},"repo":{"id":428080592,"name":"yagizoral/paint-github-subscription-e2643","url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643"},"payload":{"push_id":8735902297,"size":4,"distinct_size":4,"ref":"refs/heads/main","head":"8d2fbae6b2d2aa935bbdb77cd098308e4708dae3","before":"730ef72007ffe1006dc99d3f44203a2d6230d508","commits":[{"sha":"cbf0bb465fc6ed31a41679f34b476f774fc4ee56","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/cbf0bb465fc6ed31a41679f34b476f774fc4ee56"},{"sha":"aee642c7e68cf27d3668f4b8129bd7b99615cceb","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/aee642c7e68cf27d3668f4b8129bd7b99615cceb"},{"sha":"ab0722f2f46a4bacf67579f8e778fd7e615c06f5","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/ab0722f2f46a4bacf67579f8e778fd7e615c06f5"},{"sha":"8d2fbae6b2d2aa935bbdb77cd098308e4708dae3","author":{"email":"mustafa.oral@outlook.com.tr","name":"www-data"},"message":"paint-github","distinct":true,"url":"https://api.github.com/repos/yagizoral/paint-github-subscription-e2643/commits/8d2fbae6b2d2aa935bbdb77cd098308e4708dae3"}]},"public":true,"created_at":"2022-01-02T01:00:13Z"} +{"id":"19546597475","type":"IssueCommentEvent","actor":{"id":11247099,"login":"antfu","display_login":"antfu","gravatar_id":"","url":"https://api.github.com/users/antfu","avatar_url":"https://avatars.githubusercontent.com/u/11247099?"},"repo":{"id":412152628,"name":"antfu/unocss","url":"https://api.github.com/repos/antfu/unocss"},"payload":{"action":"created","issue":{"url":"https://api.github.com/repos/antfu/unocss/issues/367","repository_url":"https://api.github.com/repos/antfu/unocss","labels_url":"https://api.github.com/repos/antfu/unocss/issues/367/labels{/name}","comments_url":"https://api.github.com/repos/antfu/unocss/issues/367/comments","events_url":"https://api.github.com/repos/antfu/unocss/issues/367/events","html_url":"https://github.com/antfu/unocss/issues/367","id":1091923728,"node_id":"I_kwDOGJDzNM5BFW8Q","number":367,"title":"Regression from 0.18.1 to 0.19.0 grid-cols with square brackets is no longer recognized","user":{"login":"deleonio","id":6279703,"node_id":"MDQ6VXNlcjYyNzk3MDM=","avatar_url":"https://avatars.githubusercontent.com/u/6279703?v=4","gravatar_id":"","url":"https://api.github.com/users/deleonio","html_url":"https://github.com/deleonio","followers_url":"https://api.github.com/users/deleonio/followers","following_url":"https://api.github.com/users/deleonio/following{/other_user}","gists_url":"https://api.github.com/users/deleonio/gists{/gist_id}","starred_url":"https://api.github.com/users/deleonio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deleonio/subscriptions","organizations_url":"https://api.github.com/users/deleonio/orgs","repos_url":"https://api.github.com/users/deleonio/repos","events_url":"https://api.github.com/users/deleonio/events{/privacy}","received_events_url":"https://api.github.com/users/deleonio/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2022-01-02T00:40:21Z","updated_at":"2022-01-02T01:00:13Z","closed_at":"2022-01-02T00:47:18Z","author_association":"NONE","active_lock_reason":null,"body":"After update @unocss up to 0.19 and higher, the grid-cols with square brackets is no longer recognized.\r\n\r\n```jsx\r\n
\r\n