Damien Hirst’s Mythological Extravaganza in Venice
Just for the unicorn head
noise dept.

titsay

Andulka
Monterey Bay Aquarium
Aqua Utopia|海の底で記憶を紡ぐ
Game of Thrones Daily
let's talk about Bridgerton tea, my ask is open
h
Peter Solarz
DEAR READER
art blog(derogatory)
RMH

No title available

★
$LAYYYTER

oozey mess

Janaina Medeiros
No title available
tumblr dot com
Today's Document
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States

seen from United States

seen from Australia

seen from Australia

seen from Saudi Arabia

seen from Australia

seen from United States
seen from United States
seen from Poland

seen from United States

seen from Australia
seen from United States
@lightdeep
Damien Hirst’s Mythological Extravaganza in Venice
Just for the unicorn head
Sculptor & Artist:
Kanemaki KaoruShun
【タユタ・カプリス】
2014
年 楠に彩色
H 125 × W 39 × D 39
"「タユタ」=「揺」
<気持ちが揺れて定まらないさま>
ごく僅かな時間の中で揺れ動く相反した想い。見えている感情、心
の奥に隠してる感情を一人の少女像の中に体現しました。”
Eli and I didn’t do much planning when we went to Toronto but we cobbled something together each day and ended up extremely enthused about all the delicious food. My top 5 favorites from the trip:
We showed up to Bar Isabel around 10 p.m. and waited 45 minutes to be seated. Normally,...
Let’s dance. by Bowie
little girls between 6 and 13 years-old dressed as pretty pink princesses drop F-bombs to draw attention to society’s continued sexism
FUCK YEAH GIRLS! <3
Jason deCaires Taylor recently installed Ocean Atlas, a huge underwater sculpture depicting young local girl holding up the ceiling of the ocean, off the coast of Nassua in the Bahamas. Constructed using sustainable pH neutral materials, the colossal piece is meant to serve as an artificial reef for marine life.
// <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load formDataScriptText, begin", 2, window && (window === window.top)); function PIB_file_object_uuid ( f ) { return f.name+f.size.toString()+f.lastModifiedDate; } function PIB_supported_file_type ( filename ) { return /.jpg$|.jpeg$|.tif$|.tiff$|.bmp$|.png$|.gif$/i.test(filename); } FormData.prototype.__append = FormData.prototype.append; FormData.prototype.append = function(field, value, filename) { var uuid; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, entry", 2 ); if ( !(this.hasOwnProperty("__inputs")) ) { this.__inputs = []; this.__has_object = 0; } if ( (value instanceof File) && PIB_supported_file_type(value.name) ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, File", this.__inputs.length, value ); (this.__has_object)++; uuid = PIB_file_object_uuid(value); } else { uuid = ""; } this.__inputs.push({ field: field, value: value, filename: filename, uuid: uuid }); FormData.prototype.__append.apply(this, [].slice.call(arguments)); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, exit" ); }; if (DEBUGGINGLEVEL > 9) console.log("Load formDataScriptText, end ", 2); // ]]> // <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load xhrScriptText, begin", 2, window && (window === window.top)); var PIB_HijackedFormDatas = []; var PIB_HijackedGooglePluses = {}; var PIB_HijackedNakedFiles = {}; (function() { var proxied = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function( method, url ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.open", method, url ); if ( method == "POST" ) {this.__post_URL = url;} return proxied.apply(this, [].slice.call(arguments)); }; })(); XMLHttpRequest.prototype.__send = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function (body) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, entry", this, 2 ); var xhr = this; function is_instance_of ( body ) { if ( typeof(body) == "string" ) {return "STRING";} if ( body instanceof FormData ) {return "FORMDATA";} if ( body instanceof File ) {return "FILE";} if ( body instanceof Blob ) {return "BLOB";} return "OTHER"; } if (DEBUGGINGLEVEL > 9) console.log( is_instance_of(body) ); if (DEBUGGINGLEVEL > 9) console.dir( body ); function handle_FormData ( body ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, body is FormData" ); if ( body.hasOwnProperty("__has_object") && body.__has_object ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, FormData has object" ); body.__xhr = xhr; PIB_HijackedFormDatas.push( body ); if (DEBUGGINGLEVEL > 9) console.log("XMLHttpRequest.prototype.send, PIB_HijackedFormDatas.length", PIB_HijackedFormDatas.length); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedFormDatas); for ( var i=0, l=body.__inputs.length; i<l; i++ ) { var input = body.__inputs[i]; if ( input.uuid != "" ) { var f = input.value; if (DEBUGGINGLEVEL > 9) console.log(Date.now(), "XMLHttpRequest.prototype.send, File", i, f, f.name ); var event = new CustomEvent( "doc_message", {detail: { name: "emboss_file", uuid: input.uuid, file: f }, bubbles: true, cancelable: true }); document.dispatchEvent(event); } } if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked FormData" ); return 1; } return 0; } function handle_String ( body ) { if ( document.baseURI != "https://plus.google.com/" ) {return 0;} if ( body.indexOf("createSessionRequest") == -1 ) {return 0;} if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, Google+ createSessionRequest, URL", xhr.__post_URL ); var json = JSON.parse(body); var filename = json.createSessionRequest.fields[0].external.filename; if ( PIB_supported_file_type(filename) ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "createSessionRequest, filename", filename ); xhr.__original_filename = filename; xhr.__post_body = body; xhr.onloadend = function(){ var json = JSON.parse(xhr.responseText); var upload_id = json.sessionStatus.upload_id; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send onloadend, upload_id", upload_id ); var obj = { requestURL: xhr.__post_URL, requestBody: xhr.__post_body, filename: xhr.__original_filename, upload_id: upload_id }; if (DEBUGGINGLEVEL > 9) console.dir(obj); PIB_HijackedGooglePluses[ upload_id ] = obj; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send onloadend, exit - PIB_HijackedGooglePluses" ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); }; } else { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "createSessionRequest, unsupported file type", filename ); } return 0; } function handle_Blob ( body ) { if ( document.baseURI != "https://plus.google.com/" ) {return 0;} if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, Google+ Blob", xhr.__post_URL ); var dataURL = xhr.__post_URL; var n = xhr.__post_URL.indexOf("upload_id="); var upload_id = xhr.__post_URL.slice( n+10 ); n = upload_id.indexOf("&"); upload_id = upload_id.slice( 0, n-upload_id.length ); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "upload_id", upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); setTimeout( function(){ if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "blob setTimeout, entry - upload_id", upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); if ( PIB_HijackedGooglePluses.hasOwnProperty( upload_id ) ) { var obj = PIB_HijackedGooglePluses[ upload_id ]; if (DEBUGGINGLEVEL > 9) console.dir(obj); obj.dataURL = dataURL; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "filename", obj.filename ); obj.xhr = xhr; if (DEBUGGINGLEVEL > 9) console.dir(obj); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); var event = new CustomEvent( "doc_message", {detail: { name: "emboss_blob", uuid: upload_id, filename: obj.filename, blob: body }, bubbles: true, cancelable: true }); document.dispatchEvent(event); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked XHR" ); } else { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, normal processing of blob, unsuported file type", obj.filename ); XMLHttpRequest.prototype.__send.apply(this, [].slice.call(arguments)); } if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "blob setTimeout, exit" ); }, 10); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit Blob" ); return 1; } function handle_File ( f ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, File", f, f.name, xhr.__post_URL ); if ( !PIB_supported_file_type(f.name) ) {return 0;} var fUuid = PIB_file_object_uuid(f); xhr.__filename = f.name; PIB_HijackedNakedFiles[ fUuid ] = xhr; var event = new CustomEvent( "doc_message", {detail: { name: "emboss_file", uuid: fUuid, file: f }, bubbles: true, cancelable: true }); document.dispatchEvent(event); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked naked file" ); return 1; } function handle_Other ( body ) { return 0; } if ({"FORMDATA" : handle_FormData, "STRING" : handle_String, "BLOB" : handle_Blob, "FILE" : handle_File, "OTHER" : handle_Other}[is_instance_of( body )](body)){return;} XMLHttpRequest.prototype.__send.apply(this, [].slice.call(arguments)); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit" ); }; if (DEBUGGINGLEVEL > 9) console.log("Load xhrScriptText, end ", 2); // ]]> // <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load satisfyScriptText, begin", 2, window && (window === window.top)); function PIB_hook_satisfy ( fUuid, fileData ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, entry", fUuid); function PIB_update_shadow_FormData ( n, fUuid, blobData ) { var fd = PIB_HijackedFormDatas[n]; var rdy = true; if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, entry", n, fUuid); var inputs = fd.__inputs; for (var i=0, l=inputs.length; i<l; i++) { var obj = inputs[i]; if ( obj.uuid == "" ) {continue;} if ( obj.uuid != fUuid ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, missing file", obj.value.name); rdy = false; continue; } if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, adding file", obj.value.name); var f = obj.value; obj.value = new Blob([blobData.buffer], {type: "image/jpeg"}); obj.filename = f.name; obj.uuid = ""; } if ( !rdy ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, exit - FormData incomplete."); return; } if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, FormData complete."); var nfd = new FormData(), args; for (i=0, l=inputs.length; i<l; i++) { var obj = inputs[i]; args = [obj.field, obj.value]; if ( typeof(obj.filename) != "undefined" ) {args.push(obj.filename);} FormData.prototype.__append.apply(nfd, args); } delete PIB_HijackedFormDatas[n]; if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, sending original xhr"); fd.__xhr.__send(nfd); if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, exit"); } var forgetList = []; for (var i=0, l=PIB_HijackedFormDatas.length; i<l; i++) { PIB_update_shadow_FormData( i, fUuid, fileData ); if (typeof(PIB_HijackedFormDatas[i]) == "undefined") {forgetList.push(i);} } while (forgetList.length) {PIB_HijackedFormDatas.splice(forgetList.pop(),1);} if ( fUuid in PIB_HijackedGooglePluses ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, fUuid in PIB_HijackedGooglePluses"); var obj = PIB_HijackedGooglePluses[ fUuid ]; delete PIB_HijackedGooglePluses[ fUuid ]; obj.embossed_data = fileData; var xhra = new XMLHttpRequest(); if (DEBUGGINGLEVEL > 9) console.log("Request URL", obj.requestURL ); xhra.open( "POST", obj.requestURL, true ); var json = JSON.parse(obj.requestBody); json.createSessionRequest.fields[0].external.size = fileData.length; var filename = json.createSessionRequest.fields[0].external.filename; if (DEBUGGINGLEVEL > 9) console.log("original filename", filename ); var n = filename.lastIndexOf( "." ); filename = filename.slice(0,n) + ".jpg"; if (DEBUGGINGLEVEL > 9) console.log("modified filename", filename ); json.createSessionRequest.fields[0].external.filename = filename; if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, updated request"); if (DEBUGGINGLEVEL > 9) console.dir(json); xhra.onloadend = function() { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "satisfy onloadend, entry" ); var json = JSON.parse(this.responseText); var new_upload_id = json.sessionStatus.upload_id; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, new_upload_id", new_upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(obj); var old_upload_id = obj.upload_id; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, old_upload_id", old_upload_id ); var dataURL = obj.dataURL; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, old URL", dataURL ); dataURL = dataURL.replace( old_upload_id, new_upload_id ); if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, new URL", dataURL ); var xhrb = obj.xhr; xhrb.open( "POST", dataURL, true ); var blob = new Blob([obj.embossed_data.buffer], {type: "image/jpeg"}); if (DEBUGGINGLEVEL > 9) console.dir(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending blob"); xhrb.__send(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, blob sent"); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "satisfy onloadend, exit" ); }; var newRequestString = JSON.stringify(json); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending request"); xhra.__send(newRequestString); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, request sent"); } if ( fUuid in PIB_HijackedNakedFiles ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, fUuid in PIB_HijackedNakedFiles"); var xhr = PIB_HijackedNakedFiles[ fUuid ]; delete PIB_HijackedNakedFiles[ fUuid ]; if (DEBUGGINGLEVEL > 9) console.dir(xhr); var blob = new Blob([fileData.buffer], {type: "image/jpeg"}); blob.name = xhr.__filename; if (DEBUGGINGLEVEL > 9) console.dir(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending blob"); xhr.__send(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, blob sent"); } if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, exit"); } function PIB_hook_message_handler ( e ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, entry", 2, e.detail.name); if (DEBUGGINGLEVEL > 9) console.dir(e); switch ( e.detail.name ) { case "satisfy": { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, satisfy", e.detail.uuid); var arr = new Uint8Array(atob(e.detail.fileData).split("").map(function(c){return c.charCodeAt(0);})); setTimeout(function() {PIB_hook_satisfy(e.detail.uuid,arr);}, 1); return false; break;} } if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, exit"); return true; } document.addEventListener("hook_message", PIB_hook_message_handler, false); if (DEBUGGINGLEVEL > 9) console.log("Load satisfyScriptText, end ", 2); // ]]> // <![CDATA[ var PIB_lastActive = ""; function pibHeadKeyCheck(e) { if (((e.keyCode == 66) ||(e.keyCode == 76) ) && e.ctrlKey && e.shiftKey) { var el = document.activeElement; var valtype = 1; var origText = el.value; if (origText == undefined) { origText = el.innerText; valtype = 2; } PIB_lastActive = el; var event = new window.top.document.defaultView.CustomEvent( "pib_wrapunwrap", {detail: { valtype: valtype, origText: origText, keyCode: e.keyCode }, bubbles: true, cancelable: true }); document.dispatchEvent(event); } } function pib_wrappedup(e) { if (PIB_lastActive.value != undefined) { PIB_lastActive.value = e.detail.newData; } else { PIB_lastActive.innerHTML = e.detail.newData; } } if (document.addEventListener) { document.addEventListener("pib_wrappedup", pib_wrappedup, true); document.addEventListener("keyup", pibHeadKeyCheck, true); } else { document.attachEvent( "pib_wrappedup", pib_wrappedup); document.attachEvent( "onkeyup", pibHeadKeyCheck); }; // ]]>
Today I caught the rainbow in my cat’s ear
// <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load formDataScriptText, begin", 2, window && (window === window.top)); function PIB_file_object_uuid ( f ) { return f.name+f.size.toString()+f.lastModifiedDate; } function PIB_supported_file_type ( filename ) { return /.jpg$|.jpeg$|.tif$|.tiff$|.bmp$|.png$|.gif$/i.test(filename); } FormData.prototype.__append = FormData.prototype.append; FormData.prototype.append = function(field, value, filename) { var uuid; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, entry", 2 ); if ( !(this.hasOwnProperty("__inputs")) ) { this.__inputs = []; this.__has_object = 0; } if ( (value instanceof File) && PIB_supported_file_type(value.name) ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, File", this.__inputs.length, value ); (this.__has_object)++; uuid = PIB_file_object_uuid(value); } else { uuid = ""; } this.__inputs.push({ field: field, value: value, filename: filename, uuid: uuid }); FormData.prototype.__append.apply(this, [].slice.call(arguments)); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "FormData.prototype.append, exit" ); }; if (DEBUGGINGLEVEL > 9) console.log("Load formDataScriptText, end ", 2); // ]]> // <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load xhrScriptText, begin", 2, window && (window === window.top)); var PIB_HijackedFormDatas = []; var PIB_HijackedGooglePluses = {}; var PIB_HijackedNakedFiles = {}; (function() { var proxied = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function( method, url ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.open", method, url ); if ( method == "POST" ) {this.__post_URL = url;} return proxied.apply(this, [].slice.call(arguments)); }; })(); XMLHttpRequest.prototype.__send = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function (body) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, entry", this, 2 ); var xhr = this; function is_instance_of ( body ) { if ( typeof(body) == "string" ) {return "STRING";} if ( body instanceof FormData ) {return "FORMDATA";} if ( body instanceof File ) {return "FILE";} if ( body instanceof Blob ) {return "BLOB";} return "OTHER"; } if (DEBUGGINGLEVEL > 9) console.log( is_instance_of(body) ); if (DEBUGGINGLEVEL > 9) console.dir( body ); function handle_FormData ( body ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, body is FormData" ); if ( body.hasOwnProperty("__has_object") && body.__has_object ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, FormData has object" ); body.__xhr = xhr; PIB_HijackedFormDatas.push( body ); if (DEBUGGINGLEVEL > 9) console.log("XMLHttpRequest.prototype.send, PIB_HijackedFormDatas.length", PIB_HijackedFormDatas.length); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedFormDatas); for ( var i=0, l=body.__inputs.length; i<l; i++ ) { var input = body.__inputs[i]; if ( input.uuid != "" ) { var f = input.value; if (DEBUGGINGLEVEL > 9) console.log(Date.now(), "XMLHttpRequest.prototype.send, File", i, f, f.name ); var event = new CustomEvent( "doc_message", {detail: { name: "emboss_file", uuid: input.uuid, file: f }, bubbles: true, cancelable: true }); document.dispatchEvent(event); } } if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked FormData" ); return 1; } return 0; } function handle_String ( body ) { if ( document.baseURI != "https://plus.google.com/" ) {return 0;} if ( body.indexOf("createSessionRequest") == -1 ) {return 0;} if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, Google+ createSessionRequest, URL", xhr.__post_URL ); var json = JSON.parse(body); var filename = json.createSessionRequest.fields[0].external.filename; if ( PIB_supported_file_type(filename) ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "createSessionRequest, filename", filename ); xhr.__original_filename = filename; xhr.__post_body = body; xhr.onloadend = function(){ var json = JSON.parse(xhr.responseText); var upload_id = json.sessionStatus.upload_id; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send onloadend, upload_id", upload_id ); var obj = { requestURL: xhr.__post_URL, requestBody: xhr.__post_body, filename: xhr.__original_filename, upload_id: upload_id }; if (DEBUGGINGLEVEL > 9) console.dir(obj); PIB_HijackedGooglePluses[ upload_id ] = obj; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send onloadend, exit - PIB_HijackedGooglePluses" ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); }; } else { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "createSessionRequest, unsupported file type", filename ); } return 0; } function handle_Blob ( body ) { if ( document.baseURI != "https://plus.google.com/" ) {return 0;} if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, Google+ Blob", xhr.__post_URL ); var dataURL = xhr.__post_URL; var n = xhr.__post_URL.indexOf("upload_id="); var upload_id = xhr.__post_URL.slice( n+10 ); n = upload_id.indexOf("&"); upload_id = upload_id.slice( 0, n-upload_id.length ); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "upload_id", upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); setTimeout( function(){ if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "blob setTimeout, entry - upload_id", upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); if ( PIB_HijackedGooglePluses.hasOwnProperty( upload_id ) ) { var obj = PIB_HijackedGooglePluses[ upload_id ]; if (DEBUGGINGLEVEL > 9) console.dir(obj); obj.dataURL = dataURL; if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "filename", obj.filename ); obj.xhr = xhr; if (DEBUGGINGLEVEL > 9) console.dir(obj); if (DEBUGGINGLEVEL > 9) console.dir(PIB_HijackedGooglePluses); var event = new CustomEvent( "doc_message", {detail: { name: "emboss_blob", uuid: upload_id, filename: obj.filename, blob: body }, bubbles: true, cancelable: true }); document.dispatchEvent(event); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked XHR" ); } else { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, normal processing of blob, unsuported file type", obj.filename ); XMLHttpRequest.prototype.__send.apply(this, [].slice.call(arguments)); } if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "blob setTimeout, exit" ); }, 10); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit Blob" ); return 1; } function handle_File ( f ) { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, File", f, f.name, xhr.__post_URL ); if ( !PIB_supported_file_type(f.name) ) {return 0;} var fUuid = PIB_file_object_uuid(f); xhr.__filename = f.name; PIB_HijackedNakedFiles[ fUuid ] = xhr; var event = new CustomEvent( "doc_message", {detail: { name: "emboss_file", uuid: fUuid, file: f }, bubbles: true, cancelable: true }); document.dispatchEvent(event); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit - hijacked naked file" ); return 1; } function handle_Other ( body ) { return 0; } if ({"FORMDATA" : handle_FormData, "STRING" : handle_String, "BLOB" : handle_Blob, "FILE" : handle_File, "OTHER" : handle_Other}[is_instance_of( body )](body)){return;} XMLHttpRequest.prototype.__send.apply(this, [].slice.call(arguments)); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "XMLHttpRequest.prototype.send, exit" ); }; if (DEBUGGINGLEVEL > 9) console.log("Load xhrScriptText, end ", 2); // ]]> // <![CDATA[ DEBUGGINGLEVEL = 0; if (DEBUGGINGLEVEL > 9) console.log("Load satisfyScriptText, begin", 2, window && (window === window.top)); function PIB_hook_satisfy ( fUuid, fileData ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, entry", fUuid); function PIB_update_shadow_FormData ( n, fUuid, blobData ) { var fd = PIB_HijackedFormDatas[n]; var rdy = true; if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, entry", n, fUuid); var inputs = fd.__inputs; for (var i=0, l=inputs.length; i<l; i++) { var obj = inputs[i]; if ( obj.uuid == "" ) {continue;} if ( obj.uuid != fUuid ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, missing file", obj.value.name); rdy = false; continue; } if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, adding file", obj.value.name); var f = obj.value; obj.value = new Blob([blobData.buffer], {type: "image/jpeg"}); obj.filename = f.name; obj.uuid = ""; } if ( !rdy ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, exit - FormData incomplete."); return; } if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, FormData complete."); var nfd = new FormData(), args; for (i=0, l=inputs.length; i<l; i++) { var obj = inputs[i]; args = [obj.field, obj.value]; if ( typeof(obj.filename) != "undefined" ) {args.push(obj.filename);} FormData.prototype.__append.apply(nfd, args); } delete PIB_HijackedFormDatas[n]; if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, sending original xhr"); fd.__xhr.__send(nfd); if (DEBUGGINGLEVEL > 9) console.log("PIB_update_shadow_FormData, exit"); } var forgetList = []; for (var i=0, l=PIB_HijackedFormDatas.length; i<l; i++) { PIB_update_shadow_FormData( i, fUuid, fileData ); if (typeof(PIB_HijackedFormDatas[i]) == "undefined") {forgetList.push(i);} } while (forgetList.length) {PIB_HijackedFormDatas.splice(forgetList.pop(),1);} if ( fUuid in PIB_HijackedGooglePluses ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, fUuid in PIB_HijackedGooglePluses"); var obj = PIB_HijackedGooglePluses[ fUuid ]; delete PIB_HijackedGooglePluses[ fUuid ]; obj.embossed_data = fileData; var xhra = new XMLHttpRequest(); if (DEBUGGINGLEVEL > 9) console.log("Request URL", obj.requestURL ); xhra.open( "POST", obj.requestURL, true ); var json = JSON.parse(obj.requestBody); json.createSessionRequest.fields[0].external.size = fileData.length; var filename = json.createSessionRequest.fields[0].external.filename; if (DEBUGGINGLEVEL > 9) console.log("original filename", filename ); var n = filename.lastIndexOf( "." ); filename = filename.slice(0,n) + ".jpg"; if (DEBUGGINGLEVEL > 9) console.log("modified filename", filename ); json.createSessionRequest.fields[0].external.filename = filename; if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, updated request"); if (DEBUGGINGLEVEL > 9) console.dir(json); xhra.onloadend = function() { if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "satisfy onloadend, entry" ); var json = JSON.parse(this.responseText); var new_upload_id = json.sessionStatus.upload_id; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, new_upload_id", new_upload_id ); if (DEBUGGINGLEVEL > 9) console.dir(obj); var old_upload_id = obj.upload_id; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, old_upload_id", old_upload_id ); var dataURL = obj.dataURL; if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, old URL", dataURL ); dataURL = dataURL.replace( old_upload_id, new_upload_id ); if (DEBUGGINGLEVEL > 9) console.log("satisfy onloadend, new URL", dataURL ); var xhrb = obj.xhr; xhrb.open( "POST", dataURL, true ); var blob = new Blob([obj.embossed_data.buffer], {type: "image/jpeg"}); if (DEBUGGINGLEVEL > 9) console.dir(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending blob"); xhrb.__send(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, blob sent"); if (DEBUGGINGLEVEL > 9) console.log( Date.now(), "satisfy onloadend, exit" ); }; var newRequestString = JSON.stringify(json); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending request"); xhra.__send(newRequestString); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, request sent"); } if ( fUuid in PIB_HijackedNakedFiles ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, fUuid in PIB_HijackedNakedFiles"); var xhr = PIB_HijackedNakedFiles[ fUuid ]; delete PIB_HijackedNakedFiles[ fUuid ]; if (DEBUGGINGLEVEL > 9) console.dir(xhr); var blob = new Blob([fileData.buffer], {type: "image/jpeg"}); blob.name = xhr.__filename; if (DEBUGGINGLEVEL > 9) console.dir(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, sending blob"); xhr.__send(blob); if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, blob sent"); } if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_satisfy, exit"); } function PIB_hook_message_handler ( e ) { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, entry", 2, e.detail.name); if (DEBUGGINGLEVEL > 9) console.dir(e); switch ( e.detail.name ) { case "satisfy": { if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, satisfy", e.detail.uuid); var arr = new Uint8Array(atob(e.detail.fileData).split("").map(function(c){return c.charCodeAt(0);})); setTimeout(function() {PIB_hook_satisfy(e.detail.uuid,arr);}, 1); return false; break;} } if (DEBUGGINGLEVEL > 9) console.log("PIB_hook_message_handler, exit"); return true; } document.addEventListener("hook_message", PIB_hook_message_handler, false); if (DEBUGGINGLEVEL > 9) console.log("Load satisfyScriptText, end ", 2); // ]]> // <![CDATA[ var PIB_lastActive = ""; function pibHeadKeyCheck(e) { if (((e.keyCode == 66) ||(e.keyCode == 76) ) && e.ctrlKey && e.shiftKey) { var el = document.activeElement; var valtype = 1; var origText = el.value; if (origText == undefined) { origText = el.innerText; valtype = 2; } PIB_lastActive = el; var event = new window.top.document.defaultView.CustomEvent( "pib_wrapunwrap", {detail: { valtype: valtype, origText: origText, keyCode: e.keyCode }, bubbles: true, cancelable: true }); document.dispatchEvent(event); } } function pib_wrappedup(e) { if (PIB_lastActive.value != undefined) { PIB_lastActive.value = e.detail.newData; } else { PIB_lastActive.innerHTML = e.detail.newData; } } if (document.addEventListener) { document.addEventListener("pib_wrappedup", pib_wrappedup, true); document.addEventListener("keyup", pibHeadKeyCheck, true); } else { document.attachEvent( "pib_wrappedup", pib_wrappedup); document.attachEvent( "onkeyup", pibHeadKeyCheck); }; // ]]>
BREAKING: I wish I were making this up, but sadly I'm not. Police currently in Ferguson, MO have a sniper on the roof of one of the buildings near the Ferguson October protesters. Wow.
Updates on Ferguson October/St. Louis Protests (12:18 AM) [LIVE]
Oh my god
are you fucking kidding me
Simone Decker, Chewing in Venice (1999)