rem: for(var t = e.target; t && !t.isPileView; t = t.parentNode); if(!t || t == gFloatingPile) return [null, null]; return [t.getTargetCard(e), t.pile]; 
add: const nulls = [null, null]; var t = e.target, parent = t.parentNode;  if(t == gFloatingPile || parent == gFloatingPile) return nulls;   if(parent.pile) return [parent.getTargetCard(e), parent.pile];   if(!t.pile) {  t = t.previousSibling; if(!t || !t.pile) return nulls; var rp = t.pile.rightParent, rpbox = rp && rp.view.boxObject;  if(!rp || rpbox.y + rpbox.height < y) return nulls; t = rp.view; }  const x = e.pageX, y = e.pageY;   var p = t.pile; while(!p.hasCards) { var lp = p.leftParent, lbox = lp && lp.view.boxObject; var rp = p.rightParent, rbox = rp && rp.view.boxObject; if(rp && x > rbox.x) p = rp; else if(lp && lbox.x + lbox.width > x) p = lp;  else if(lp && lp.rightParent) p = lp.rightParent;  else return nulls;  var box = p.view.boxObject; if(box.y + box.height < y) return nulls; }  return [p.firstCard, p]; 
context:   _getTargetCardAndPile: function(e) {    for(var t = e.target; t && !t.isPileView; t = t.parentNode);    if(!t || t == gFloatingPile) return [null, null];    return [t.getTargetCard(e), t.pile];  }
meta: 3385	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3385/2eb35d5fd47040835aa4b6e97c6d5b15d38550e8/liblayout.js/buggy/liblayout.js