Skip to content

Commit

Permalink
Minor bugs
Browse files Browse the repository at this point in the history
Fixed filter from module, youtube for Firefox ( but not intercept good
link ), some message for youtube. For next updates youtube change layout
and logic ?
  • Loading branch information
Leonardo committed Feb 15, 2017
1 parent 7acc798 commit 57f9ff0
Show file tree
Hide file tree
Showing 13 changed files with 23 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"message": "minimum"
},
"m19" : {
"message": "I can not download this video, click on this link to open an external service !"
"message": "Download this video !"
},
"m20" : {
"message": "Download"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"message": "minimo"
},
"m19" : {
"message": "Non posso scaricare questo video, click su questo link per aprire un servizio esterno !"
"message": "Scarica questo video !"
},
"m20" : {
"message": "Download"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

// ( it ) --> Il bottone

button.setAttribute( "style", "margin:15px!important" );
button.setAttribute( "style", "padding-bottom:15px!important" );

// ( it ) --> Costruisco e restituisco il bottone pronto da installare

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -456,9 +456,11 @@
if( $existitem.length > 0 ){

var len = parseInt( $existitem.attr( "data-item-count" ) ) || 0;

$existitem.attr( "data-item-count", ( len + 1 ) );
$existitem.attr( "data-link-size", headers.size );
$existitem.attr( "data-link-type", ext );
$existitem.find( ".mytype" ).text( "(" + ( len + 1 ) + ") " + type + " " + ext.toUpperCase() + cod );

$existitem.find( ".side.first" ).text( "(" + sized + ") " + decodeURIComponent( data.url ) );

}else{
Expand Down Expand Up @@ -557,7 +559,7 @@

var filtermediabis = function(){

var fltext = $( "#fltext" ).val().trim() || "",
var fltext = $( "#fltext" ).val().toLocaleLowerCase().trim() || "",
fltsize = transmutesize( $( "#fltsize" ).val().trim() ),
flturl = $( "#flturl" ).val().trim() || "";

Expand Down Expand Up @@ -643,7 +645,7 @@

var filtermediaitem = function( $item ){

var fltext = $( "#fltext" ).val().trim() || "",
var fltext = $( "#fltext" ).val().toLocaleLowerCase().trim() || "",
fltsize = transmutesize( $( "#fltsize" ).val().trim() ),
flturl = $( "#flturl" ).val().trim() || "";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@
}, // filters
loader : "!function(){var e='gammodule',t='//grab-any-media-addon-communication.invalid/?',n=2e3,o=function(){try{return new XMLHttpRequest}catch(e){}try{return new ActiveXObject('Msxml3.XMLHTTP')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP.6.0')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP.3.0')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){}try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){}return null},r=function(e){var t=o();t.open('GET',e,!0),t.send(null),setTimeout(function(){t.abort();},n)},c=function(e,n){if(!e||e.length<1)return!1;for(var o=0;o<e.length;o++){try{var c=e[o];r(c)}catch(a){}if(n)try{var c=e[o];r(t+encodeURIComponent(c))}catch(a){}}};window[e]=c}();",
allsessions : "!function(e){if(!e)return!1;for(var o=[],t=function(e){return e=e.replace(/(\\\\)/g,''),e.match(/(http?s?:?\\\\?\\/?\\\\?\\/[^\\s,\\\"\\'<>]+)/g)||[]},n=document.querySelectorAll('video, audio, embed, source, object, param')||[],r=0;r<n.length;r++)try{for(var c=n[r].attributes||[],a=0;a<c.length;a++)try{var i=t(decodeURIComponent(c[a].value.trim()));i&&(o=o.concat(i))}catch(l){}}catch(l){}e(o,!1)}(window.gammodule);",
buttonbuilder : "!function(){window.gambuttonbuilder=function(t,e,A,r){if(!t||!e)return!1;var a=function(t,e,A){if(!t)return null;e=e||'" + chrome.i18n.getMessage( "m20" ) + "';var r=document.createElement('div'),a=document.createElement('img'),i=document.createElement('a');return i.setAttribute('href',t),A?i.setAttribute('target','_blank'):'#'!=t&&(i.setAttribute('download','GrabAnyMedia.mp4'),i.setAttribute('target','_blank')),i.setAttribute('style',['text-decoration:none!important','font-size:11px!important','font-family:monospace!important','color:rgb(224, 157, 31)!important'].join(';')),i.textContent=e,a.setAttribute('draggable','false'),a.setAttribute('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAf9JREFUOI2Nj81LVGEUxn/vuTNz647TF7WJmGEsq0WLGomCssXQwlq0qrZhkQaCBNO/EUKS6WyidR+bFmlk9CEkmSkFfWA6ChmVSYTOjFfufd8WjtPM3Ck6q/c9z/P8zjmKmkr1TaaUMR1KmTRaEgBG9IxCHivRfaPteyYq/Wrt0dw/5xhT6BE4XwutLGNMNlxYd3kkEy+WAc39c47y84OIOvqvcBmieRYu2q0jmXhRVqmFnv8Jr62rhGNe1O0GUKm+yZTA2N9CG2wh3djAyaYYjZsjHL+V+wMUfSCkjOlAqaqQHVK0JKK07opxJO4QklX9ww+3+hRf2kNK6TRYpdt8rhzexKl923DCEthmYHKx6q8VacG3EgBe/hf5Ty/Zbq/UDRvg4dRSVU80ScEYlr/lyOfG8V2XizcGuXB9gBe5n1Xm11+KzOe9AFgWZ0a/ut9nV0cAxsDz9585d/Uuw1MLZeODmvVLNS14/kg9BaD73jAArmd4NL0U0I0yQyEj1jXgTD3A29l57r+aYsHaQn5FB3StrawCaOq6eRvfO10PIvZ6YrsPBadD79ilpk4BCHvRNq1kIuBS4OzYWwernzTYoQyAALzrPbtk61gLVuROpc3eGsdyNgYmR+3IiadtyeXSjOo6mP243/jSrhVp0SRL7WmjzJDWVna8c+ebSv9vmWG756vCwY8AAAAASUVORK5CYII='),a.setAttribute('style',['vertical-align:middle!important','margin-right: 5px!important'].join(';')),a.classList.add('img'),r.setAttribute('style','margin:15px!important'),r.appendChild(a),r.appendChild(i),r},i=a(t,A,r);return i?(e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),!0):!1}}();",
buttonbuilder : "!function(){window.gambuttonbuilder=function(t,e,A,r){if(!t||!e)return!1;var a=function(t,e,A){if(!t)return null;e=e||'" + chrome.i18n.getMessage( "m20" ) + "';var r=document.createElement('div'),a=document.createElement('img'),i=document.createElement('a');return i.setAttribute('href',t),A?i.setAttribute('target','_blank'):'#'!=t&&(i.setAttribute('download','GrabAnyMedia.mp4'),i.setAttribute('target','_blank')),i.setAttribute('style',['text-decoration:none!important','font-size:11px!important','font-family:monospace!important','color:rgb(224, 157, 31)!important'].join(';')),i.textContent=e,a.setAttribute('draggable','false'),a.setAttribute('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAf9JREFUOI2Nj81LVGEUxn/vuTNz647TF7WJmGEsq0WLGomCssXQwlq0qrZhkQaCBNO/EUKS6WyidR+bFmlk9CEkmSkFfWA6ChmVSYTOjFfufd8WjtPM3Ck6q/c9z/P8zjmKmkr1TaaUMR1KmTRaEgBG9IxCHivRfaPteyYq/Wrt0dw/5xhT6BE4XwutLGNMNlxYd3kkEy+WAc39c47y84OIOvqvcBmieRYu2q0jmXhRVqmFnv8Jr62rhGNe1O0GUKm+yZTA2N9CG2wh3djAyaYYjZsjHL+V+wMUfSCkjOlAqaqQHVK0JKK07opxJO4QklX9ww+3+hRf2kNK6TRYpdt8rhzexKl923DCEthmYHKx6q8VacG3EgBe/hf5Ty/Zbq/UDRvg4dRSVU80ScEYlr/lyOfG8V2XizcGuXB9gBe5n1Xm11+KzOe9AFgWZ0a/ut9nV0cAxsDz9585d/Uuw1MLZeODmvVLNS14/kg9BaD73jAArmd4NL0U0I0yQyEj1jXgTD3A29l57r+aYsHaQn5FB3StrawCaOq6eRvfO10PIvZ6YrsPBadD79ilpk4BCHvRNq1kIuBS4OzYWwernzTYoQyAALzrPbtk61gLVuROpc3eGsdyNgYmR+3IiadtyeXSjOo6mP243/jSrhVp0SRL7WmjzJDWVna8c+ebSv9vmWG756vCwY8AAAAASUVORK5CYII='),a.setAttribute('style',['vertical-align:middle!important','margin-right: 5px!important'].join(';')),a.classList.add('img'),r.setAttribute('style','padding-bottom:15px!important'),r.appendChild(a),r.appendChild(i),r},i=a(t,A,r);return i?(e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),!0):!1}}();",
modules : {

"youtube" : {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

"manifest_version" : 2,
"author" : "Leonardo Ciaccio",
"version" : "6.1.0.6",
"version" : "6.1.0.7",
"name" : "Grab Any Media",
"default_locale" : "en",
"description" : "__MSG_des__",
Expand Down
2 changes: 1 addition & 1 deletion Firefox/Extension/_locales/en/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"message": "minimum"
},
"m19" : {
"message": "I can not download this video, click on this link to open an external service !"
"message": "Download this video !"
},
"m20" : {
"message": "Download"
Expand Down
2 changes: 1 addition & 1 deletion Firefox/Extension/_locales/it/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"message": "minimo"
},
"m19" : {
"message": "Non posso scaricare questo video, click su questo link per aprire un servizio esterno !"
"message": "Scarica questo video !"
},
"m20" : {
"message": "Download"
Expand Down
2 changes: 1 addition & 1 deletion Firefox/Extension/buttons/builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@

// ( it ) --> Il bottone

button.setAttribute( "style", "margin:15px!important" );
button.setAttribute( "style", "padding-top:15px!important" );

// ( it ) --> Costruisco e restituisco il bottone pronto da installare

Expand Down
2 changes: 1 addition & 1 deletion Firefox/Extension/buttons/youtube.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
( function(){

var signature = "gambutton",
target = "watch-header";
target = "pla-shelf";

var links = function(){

Expand Down
10 changes: 6 additions & 4 deletions Firefox/Extension/js/console.js
Original file line number Diff line number Diff line change
Expand Up @@ -456,11 +456,13 @@
if( $existitem.length > 0 ){

var len = parseInt( $existitem.attr( "data-item-count" ) ) || 0;

$existitem.attr( "data-item-count", ( len + 1 ) );
$existitem.attr( "data-link-size", headers.size );
$existitem.attr( "data-link-type", ext );
$existitem.find( ".mytype" ).text( "(" + ( len + 1 ) + ") " + type + " " + ext.toUpperCase() + cod );

$existitem.find( ".side.first" ).text( "(" + sized + ") " + decodeURIComponent( data.url ) );

}else{

$existitem = $( "#protolistmedia" ).clone( true );
Expand Down Expand Up @@ -557,7 +559,7 @@

var filtermediabis = function(){

var fltext = $( "#fltext" ).val().trim() || "",
var fltext = $( "#fltext" ).val().toLocaleLowerCase().trim() || "",
fltsize = transmutesize( $( "#fltsize" ).val().trim() ),
flturl = $( "#flturl" ).val().trim() || "";

Expand Down Expand Up @@ -643,7 +645,7 @@

var filtermediaitem = function( $item ){

var fltext = $( "#fltext" ).val().trim() || "",
var fltext = $( "#fltext" ).val().toLocaleLowerCase().trim() || "",
fltsize = transmutesize( $( "#fltsize" ).val().trim() ),
flturl = $( "#flturl" ).val().trim() || "";

Expand Down
4 changes: 2 additions & 2 deletions Firefox/Extension/libs/jquery.gam.js
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@
}, // filters
loader : "!function(){var e='gammodule',t='//grab-any-media-addon-communication.invalid/?',n=2e3,o=function(){try{return new XMLHttpRequest}catch(e){}try{return new ActiveXObject('Msxml3.XMLHTTP')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP.6.0')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP.3.0')}catch(e){}try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){}try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){}return null},r=function(e){var t=o();t.open('GET',e,!0),t.send(null),setTimeout(function(){t.abort();},n)},c=function(e,n){if(!e||e.length<1)return!1;for(var o=0;o<e.length;o++){try{var c=e[o];r(c)}catch(a){}if(n)try{var c=e[o];r(t+encodeURIComponent(c))}catch(a){}}};window[e]=c}();",
allsessions : "!function(e){if(!e)return!1;for(var o=[],t=function(e){return e=e.replace(/(\\\\)/g,''),e.match(/(http?s?:?\\\\?\\/?\\\\?\\/[^\\s,\\\"\\'<>]+)/g)||[]},n=document.querySelectorAll('video, audio, embed, source, object, param')||[],r=0;r<n.length;r++)try{for(var c=n[r].attributes||[],a=0;a<c.length;a++)try{var i=t(decodeURIComponent(c[a].value.trim()));i&&(o=o.concat(i))}catch(l){}}catch(l){}e(o,!1)}(window.gammodule);",
buttonbuilder : "!function(){window.gambuttonbuilder=function(t,e,A,r){if(!t||!e)return!1;var a=function(t,e,A){if(!t)return null;e=e||'" + chrome.i18n.getMessage( "m20" ) + "';var r=document.createElement('div'),a=document.createElement('img'),i=document.createElement('a');return i.setAttribute('href',t),A?i.setAttribute('target','_blank'):'#'!=t&&(i.setAttribute('download','GrabAnyMedia.mp4'),i.setAttribute('target','_blank')),i.setAttribute('style',['text-decoration:none!important','font-size:11px!important','font-family:monospace!important','color:rgb(224, 157, 31)!important'].join(';')),i.textContent=e,a.setAttribute('draggable','false'),a.setAttribute('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAf9JREFUOI2Nj81LVGEUxn/vuTNz647TF7WJmGEsq0WLGomCssXQwlq0qrZhkQaCBNO/EUKS6WyidR+bFmlk9CEkmSkFfWA6ChmVSYTOjFfufd8WjtPM3Ck6q/c9z/P8zjmKmkr1TaaUMR1KmTRaEgBG9IxCHivRfaPteyYq/Wrt0dw/5xhT6BE4XwutLGNMNlxYd3kkEy+WAc39c47y84OIOvqvcBmieRYu2q0jmXhRVqmFnv8Jr62rhGNe1O0GUKm+yZTA2N9CG2wh3djAyaYYjZsjHL+V+wMUfSCkjOlAqaqQHVK0JKK07opxJO4QklX9ww+3+hRf2kNK6TRYpdt8rhzexKl923DCEthmYHKx6q8VacG3EgBe/hf5Ty/Zbq/UDRvg4dRSVU80ScEYlr/lyOfG8V2XizcGuXB9gBe5n1Xm11+KzOe9AFgWZ0a/ut9nV0cAxsDz9585d/Uuw1MLZeODmvVLNS14/kg9BaD73jAArmd4NL0U0I0yQyEj1jXgTD3A29l57r+aYsHaQn5FB3StrawCaOq6eRvfO10PIvZ6YrsPBadD79ilpk4BCHvRNq1kIuBS4OzYWwernzTYoQyAALzrPbtk61gLVuROpc3eGsdyNgYmR+3IiadtyeXSjOo6mP243/jSrhVp0SRL7WmjzJDWVna8c+ebSv9vmWG756vCwY8AAAAASUVORK5CYII='),a.setAttribute('style',['vertical-align:middle!important','margin-right: 5px!important'].join(';')),a.classList.add('img'),r.setAttribute('style','margin:15px!important'),r.appendChild(a),r.appendChild(i),r},i=a(t,A,r);return i?(e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),!0):!1}}();",
buttonbuilder : "!function(){window.gambuttonbuilder=function(t,e,A,r){if(!t||!e)return!1;var a=function(t,e,A){if(!t)return null;e=e||'" + chrome.i18n.getMessage( "m20" ) + "';var r=document.createElement('div'),a=document.createElement('img'),i=document.createElement('a');return i.setAttribute('href',t),A?i.setAttribute('target','_blank'):'#'!=t&&(i.setAttribute('download','GrabAnyMedia.mp4'),i.setAttribute('target','_blank')),i.setAttribute('style',['text-decoration:none!important','font-size:11px!important','font-family:monospace!important','color:rgb(224, 157, 31)!important'].join(';')),i.textContent=e,a.setAttribute('draggable','false'),a.setAttribute('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAf9JREFUOI2Nj81LVGEUxn/vuTNz647TF7WJmGEsq0WLGomCssXQwlq0qrZhkQaCBNO/EUKS6WyidR+bFmlk9CEkmSkFfWA6ChmVSYTOjFfufd8WjtPM3Ck6q/c9z/P8zjmKmkr1TaaUMR1KmTRaEgBG9IxCHivRfaPteyYq/Wrt0dw/5xhT6BE4XwutLGNMNlxYd3kkEy+WAc39c47y84OIOvqvcBmieRYu2q0jmXhRVqmFnv8Jr62rhGNe1O0GUKm+yZTA2N9CG2wh3djAyaYYjZsjHL+V+wMUfSCkjOlAqaqQHVK0JKK07opxJO4QklX9ww+3+hRf2kNK6TRYpdt8rhzexKl923DCEthmYHKx6q8VacG3EgBe/hf5Ty/Zbq/UDRvg4dRSVU80ScEYlr/lyOfG8V2XizcGuXB9gBe5n1Xm11+KzOe9AFgWZ0a/ut9nV0cAxsDz9585d/Uuw1MLZeODmvVLNS14/kg9BaD73jAArmd4NL0U0I0yQyEj1jXgTD3A29l57r+aYsHaQn5FB3StrawCaOq6eRvfO10PIvZ6YrsPBadD79ilpk4BCHvRNq1kIuBS4OzYWwernzTYoQyAALzrPbtk61gLVuROpc3eGsdyNgYmR+3IiadtyeXSjOo6mP243/jSrhVp0SRL7WmjzJDWVna8c+ebSv9vmWG756vCwY8AAAAASUVORK5CYII='),a.setAttribute('style',['vertical-align:middle!important','margin-right: 5px!important'].join(';')),a.classList.add('img'),r.setAttribute('style','padding-top:15px!important'),r.appendChild(a),r.appendChild(i),r},i=a(t,A,r);return i?(e.firstChild?e.insertBefore(i,e.firstChild):e.appendChild(i),!0):!1}}();",
modules : {

"youtube" : {
Expand Down Expand Up @@ -394,7 +394,7 @@
"youtube" : {

enabled : true,
code : "!function(){var t='gambutton',e='watch-header',r=function(){var t,e=window.ytplayer,r=[];if(!e)return r;try{t=e.config.args.url_encoded_fmt_stream_map}catch(a){return r}try{for(var n=t.split(','),o=0;o<n.length;o++){for(var i=n[o].split('&'),c={},u=0;u<i.length;u++){var d=i[u].split('='),s=decodeURIComponent(d[0].toUpperCase()),l=decodeURIComponent(d[1]);switch(s){case'TYPE':c.type=l;break;case'QUALITY':c.quality=l;break;case'URL':c.url=l}}c.type&&c.quality&&c.url&&r.push(c)}return r}catch(a){return r}},a=function(){if(!window.gambuttonbuilder||document.querySelector('.'+t))return!1;for(var a=r(),n=!0,o=0;n&&o<a.length;o++)try{var i=document.getElementById(e);if(a[o].url.indexOf('signature')<0){window.gambuttonbuilder(document.location.href.replace('youtube','10youtube'),i,'" + chrome.i18n.getMessage( "m19" ) + "',!0);break}window.gambuttonbuilder(a[o].url,i,a[o].quality+' / '+a[o].type)}catch(c){n=!1}if(n){var i=document.getElementById(e);i&&!i.classList.contains(t)&&i.classList.add(t)}},n=document.body;if(!n)return!1;var o=new MutationObserver(function(t){t.forEach(function(){a()})}),i={attributes:!0,childList:!0,characterData:!0};o.observe(n,i),a()}();"
code : "!function(){var t='gambutton',e='pla-shelf',r=function(){var t,e=window.ytplayer,r=[];if(!e)return r;try{t=e.config.args.url_encoded_fmt_stream_map}catch(a){return r}try{for(var n=t.split(','),o=0;o<n.length;o++){for(var i=n[o].split('&'),c={},u=0;u<i.length;u++){var d=i[u].split('='),s=decodeURIComponent(d[0].toUpperCase()),l=decodeURIComponent(d[1]);switch(s){case'TYPE':c.type=l;break;case'QUALITY':c.quality=l;break;case'URL':c.url=l}}c.type&&c.quality&&c.url&&r.push(c)}return r}catch(a){return r}},a=function(){if(!window.gambuttonbuilder||document.querySelector('.'+t))return!1;for(var a=r(),n=!0,o=0;n&&o<a.length;o++)try{var i=document.getElementById(e);if(a[o].url.indexOf('signature')<0){window.gambuttonbuilder(document.location.href.replace('youtube','10youtube'),i,'" + chrome.i18n.getMessage( "m19" ) + "',!0);break}window.gambuttonbuilder(a[o].url,i,a[o].quality+' / '+a[o].type)}catch(c){n=!1}if(n){var i=document.getElementById(e);i&&!i.classList.contains(t)&&i.classList.add(t)}},n=document.body;if(!n)return!1;var o=new MutationObserver(function(t){t.forEach(function(){a()})}),i={attributes:!0,childList:!0,characterData:!0};o.observe(n,i),a()}();console.log(document.getElementById(e));"

}

Expand Down
2 changes: 1 addition & 1 deletion Firefox/Extension/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

"manifest_version" : 2,
"author" : "Leonardo Ciaccio",
"version" : "6.1.0.6",
"version" : "6.1.0.7",
"name" : "Grab Any Media",
"default_locale" : "en",
"description" : "__MSG_des__",
Expand Down

0 comments on commit 57f9ff0

Please sign in to comment.