pt = (tensor,args = {}) => {
let {name,verbose=false} = args;
const tensor_string = tensor.toString(true).replace("Tensor","");
const render = function() {
let t = tensor_string;
let size = t.slice(t.search(/shape: \[/)+8,t.search(/\]/));
if(parseInt(size) == 1) t = t.replace(/,([^,]*)$/, '$1');
t = verbose? t+"\n}":" ..."+t.slice(t.search(/ values:/)+8).replace(/\r?\n|\r/g,"").replace(/\s+/g," ")+" }";
return html`<span class="observablehq--cellname">${name? name + " = ":""}</span><a><svg width="8" height="8" class="observablehq--caret"><path d=${verbose?'"M4 7L0 1h8z"':'"M7 4L1 8V0z"'} fill="currentColor"></path></svg>${size?"Tensor("+size+")":"Scalar"} {${hljs.highlight('obsjs',t).value.replace(/hljs/g,"observablehq-")}`;
}
const elem = html`<span class="observablehq--inspect">${render()}</span>`;
elem.addEventListener('click', () => {
verbose = !verbose;
elem.innerHTML = '';
elem.appendChild(render());
elem.dispatchEvent(new CustomEvent('load'));
});
elem.value = tensor;
return elem;
}