0 9 ˆl–äY>”*C]Ši@†à\¸ÈTÅ£Á ƒ_ka–Ým_J*j"Tâ� Á9q¶”ţĪ /* Given node name and angle, rotate a layout using the given * node as origin. */ BEGIN { double x,y; double x0,y0; double x1,y1; double angle, cosa, sina; int cnt, sz; void rotate (double a, double b) { a -= x0; b -= y0; x1 = a*cosa - b*sina; y1 = a*sina + b*cosa; } char* rotateE (char* p) { char* newpos = ""; cnt = sscanf (p, "e,%lf,%lf%n", &x, &y, &sz); if (cnt == 2) { rotate (x,y); newpos = newpos + sprintf ("e%lf,%lf ", x1, y1); p = substr(p, sz); } cnt = sscanf (p, "s,%lf,%lf%n", &x, &y, &sz); if (cnt == 2) { rotate (x,y); newpos = newpos + sprintf ("s%lf,%lf ", x1, y1); p = substr(p, sz); } while (sscanf (p, "%lf,%lf%n", &x, &y, &sz) == 2) { rotate (x,y); newpos = newpos + sprintf ("%lf,%lf ", x1, y1); p = substr(p, sz); } return newpos; } } BEG_G { node_t ctr = node ($, ARGV[0]); sscanf (ARGV[1], "%f", &angle); cosa = cos(angle); sina = sin(angle); sscanf (ctr.pos, "%f,%f", &x0, &y0); $.bb =""; } N { sscanf ($.pos, "%f,%f", &x, &y); rotate (x,y); $.pos = sprintf ("%f,%f", x1, y1); } E { $.pos = rotateE($.pos); }  �ƾÄ File not found. " ˆl–Ým_J*j"Tâ� Á9q¶”ţà ƒh¹¿Å 0 0 6ˆl–Ü4ý(”†»â‚Á;q¶”Å£Ä …\h_�uÐb &=L‰*VBl(éÁÇ?÷ELF>P6@ø¾@8 @�*�*000¥3¥3pppd0d0ð«ð»ð»Ø¬¼¼¨¨¨ ÈÈÈ$$Såtd¨¨¨ PåtdHzHzHz¼¼QåtdRåtdð«ð»ð»GNUÀGNUk3û±ŽHx1g&úum�í”fʃ $�Tˆ€„€@D¶€Ð Á�‚t(ÀH Ð(5`lÒ!p`@Ò€`@€$IÀ$ ( C ¦‚H D OƇ a„–ÍÂÅ ¢ÛÌ!"$')*,-02569:;?@BCDEFHIJKLNOPRTUWXZ[\^_`bcefghjkmprsty|}~€ƒ…‡ˆ‹�Ž��‘’”•–šœ�ž ¦©ª¬­Wë¸ò§2ä@ðz³’Q¿þ¿v¨2ä—g˜âyaþá³U±spð©†ÈøõåyaþæyaþÂ[!ôÁ1eÒŸ!ô[ãó¨k'ô¨zçaOpPIék�Á˜ÿÎ9êC¿‡‘§ú‡Â¿û‡Â¿DÙ™yˆ‘§mkóÀ?ZÄ‘NžÄ‘NžÄ‘+Ó§;ÃÓ§kÙø 6HIŽüPI䟅±…âï »¹�#˜‘';ÍYýèñ8’ÅO�uñû7=ÍY²á�a�b®qÓb®¥c‚Q¢·œ,ð©pð©p𩃡¹‡«¸–ï¸Ý¹†ðxµ|ñ[¼Ížò‘þ˜Â¿ kóÀ±A¯¶R¯Ä‘¡úPI+_;±üPI4ýPIùô…±Çny;ý!’‘ðû¸�Iûi «lÏYZ­Æó‹(ïÝ»nÏY�ð©Ób=…À¥‚9�Œ¢Å¥¹€#bßz†ð¾†ðÀˆÂ¿[¤ªt Î%fƒ_ا‡vûCòB!6zB!6z ˆò™¹ý’(ù’2ä2‚l‚ó_à§´ˆ�ÏÿÛÖËPâá)äÒ§2ä‘›!ôj¯¿yk¯¿yš¿M{E�§3Cd¨Öp𩺃¿C‡d¨Òªð%š4ß šÄ‘9,ÙIpÙ»u·yÇ®ÌYȶ¹µß…±_ˆÂ¿wÒ’�kÚ¨*Ö°ÌY#=…Ú—”eg=…0‚=’jƒì5v³ãaß 2‚î)zÂ'bߦE?�uÄYï)zî£/ª&wÄY=ÍY½!’‘Îkð©ã¥2ä±û¸�šË�]áVšp° x"$"f"²:"Ì8"è Z�"aVïh, M"F"¤""KÐÂå