§
    Ë²Åj²„ ã                  óf  — d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	m
Z
mZ ddlZddlmc mZ ddlZddlZddlmZ ddlmZmZmZmZmZ ddlmZ ddlmZmZ erdd	lmZ g d
¢Z ej         ej!        d¬¦  «        Z"�dd„Z#d„ Z$ e"d¦  «        �dd„¦   «         Z% e"d¦  «        �dd„¦   «         Z& e"d¦  «         ej'        d¦  «        �dd„¦   «         ¦   «         Z( e"d¦  «         ej'        d¦  «        �dd„¦   «         ¦   «         Z) e"d¦  «        �d�dd„¦   «         Z* e"d¦  «        �d�dd„¦   «         Z+ e"d ¦  «        �d�dd!„¦   «         Z, e"d"¦  «        �dd#„¦   «         Z- e"d$¦  «        �dd%„¦   «         Z. e"d&¦  «         ej/        d'd'd'd(¦  «        �d�dd*„¦   «         ¦   «         Z0 ej/        d'd'd+¦  «        �dd,„¦   «         Z1�dd-„Z2�dd.„Z3 e"d/¦  «        �dd0„¦   «         Z4 e"d1¦  «        �dd2„¦   «         Z5 e"d3¦  «        �dd4„¦   «         Z6 e"d5¦  «        �dd6„¦   «         Z7 e"d7¦  «         ej/        d'd8¦  «        �dd9„¦   «         ¦   «         Z8 e"d:¦  «         ej/        d'd8¦  «        �dd;„¦   «         ¦   «         Z9 e"d<¦  «        �dd=„¦   «         Z: e"d>¦  «        �dd?„¦   «         Z; e"d@¦  «        �ddA„¦   «         Z< e"dB¦  «        �ddC„¦   «         Z= e"dD¦  «         ej/        d'd'd'dEdE¦  «        �ddF„¦   «         ¦   «         Z> e"dG¦  «        �ddH„¦   «         Z? e"dI¦  «        �ddJ„¦   «         Z@ e"dK¦  «        �ddL„¦   «         ZA e"dM¦  «         ej'        ddNdO¬P¦  «        �ddQ„¦   «         ¦   «         ZB e"dR¦  «        �ddS„¦   «         ZC e"dT¦  «        �ddU„¦   «         ZD e"dV¦  «        �ddW„¦   «         ZE e"dX¦  «        �ddY„¦   «         ZF e"dZ¦  «        �dd[„¦   «         ZG e"d\¦  «        �dd]„¦   «         ZH e"d^¦  «        �dd_„¦   «         ZI e"d`¦  «         ej'        ddad¬P¦  «        �ddb„¦   «         ¦   «         ZJ e"dc¦  «        �ddd„¦   «         ZK ej'        d¦  «        �dde„¦   «         ZL e"df ejM        dgdh¦  «        g¬i¦  «         e"dj ejM        dkdl¦  «        g¬i¦  «         e"dm ejM        dndodp¬q¦  «        g¬i¦  «        �d�ddu„¦   «         ¦   «         ¦   «         ZN e"dv¦  «         ej/        d'd8dw¦  «        �ddx„¦   «         ¦   «         ZO e"dy¦  «        �ddz„¦   «         ZP e"d{¦  «        �dd|„¦   «         ZQ e"d}¦  «        �dd~„¦   «         ZR e"d¦  «         ej'        d¦  «        �dd€„¦   «         ¦   «         ZS e"d�¦  «         ej'        d¦  «        �dd‚„¦   «         ¦   «         ZT e"dƒ¦  «         ej'        d¦  «        �dd„„¦   «         ¦   «         ZU e"d…¦  «         ej'        dd¦  «        �dd†„¦   «         ¦   «         ZV e"d‡¦  «         ej'        d¦  «         ej/        d'd'd8dˆd'¦  «        �dd‰„¦   «         ¦   «         ¦   «         ZW e"dŠ¦  «         ej'        d¦  «         ej/        d'd'd'd8d8d8d'd8d8¦	  «	        �dd‹„¦   «         ¦   «         ¦   «         ZX e"dŒ¦  «         ej'        ddp¬�¦  «        �d�ddŽ„¦   «         ¦   «         ZY e"d�¦  «         ej'        d¦  «         ej/        d'd8d8¦  «        �dd�„¦   «         ¦   «         ¦   «         ZZ e"d‘¦  «         ej/        d'd’¦  «        �dd“„¦   «         ¦   «         Z[ e"d”¦  «         ej'        d¦  «        �dd•„¦   «         ¦   «         Z\ e"d–¦  «        �dd—„¦   «         Z] e"d˜¦  «         ej/        d'd8d8d8¦  «        �d�dd™„¦   «         ¦   «         Z^ e"dš¦  «         ej/        d'd'd8d8¦  «        �d�dd›„¦   «         ¦   «         Z_ e"dœ¦  «        	 �d�dd�„¦   «         Z` e"dž¦  «         ej/        d'd’d8d8¦  «        �d�ddŸ„¦   «         ¦   «         Za e"d ¦  «        	 �d�dd¡„¦   «         Zb e"d¢¦  «         ej/        d'd8d8¦  «        �d�dd£„¦   «         ¦   «         Zc e"d¤¦  «         ej'        d¦  «         ej/        d'd8d'¦  «        �dd¥„¦   «         ¦   «         ¦   «         Zd e"d¦¦  «        �dd§„¦   «         Ze e"d¨¦  «        �d�dd©„¦   «         Zf e"dª¦  «        �dd«„¦   «         Zg e"d¬¦  «        �dd­„¦   «         Zh e"d®¦  «        �dd¯„¦   «         Zi e"d°¦  «         ej'        d¦  «        �dd±„¦   «         ¦   «         Zj e"d²¦  «         ej'        d¦  «        �dd³„¦   «         ¦   «         Zk e"d´¦  «        �ddµ„¦   «         Zl e"d¶¦  «        �dd·„¦   «         Zm e"d¸¦  «        �dd¹„¦   «         Zn e"dº¦  «         ej/        d'dEdE¦  «        �dd»„¦   «         ¦   «         Zo e"d¼¦  «         ej'        d¦  «         ej/        d'd(dˆ¦  «        	 �d�ddÂ„¦   «         ¦   «         ¦   «         Zp e"dÃ¦  «         ej/        d'd8¦  «        �ddÄ„¦   «         ¦   «         Zq e"dÅ¦  «         ej/        d'd8dw¦  «        �d�ddÆ„¦   «         ¦   «         Zr e"dÇ¦  «        �ddÈ„¦   «         Zs e"dÉ¦  «        dÊ„ ¦   «         Zt e"dË ejM        dÌeju        jv        jw        jx        dÍdp¬Î¦  «         e#dÌ¦  «        g¬i¦  «         e"dÏ ejM        dÐeju        jv        jw        jy        dÑdp¬Î¦  «         e#dÐ¦  «        g¬i¦  «         e"dÒ ejM        dÓeju        jv        jw        jz        dÔdp¬Î¦  «         e#dÓ¦  «        g¬i¦  «        dÕ„ ¦   «         ¦   «         ¦   «         Z{  e"dÖ¦  «         e{d×eju        jv        jw        jx        dÍd¬Î¦  «        ¦  «        Z|  e"dØ¦  «         e{dÙeju        jv        jw        jy        dÑd¬Î¦  «        ¦  «        Z}  e"dÚ¦  «         e{dÛeju        jv        jw        jz        dÔd¬Î¦  «        ¦  «        Z~ e"dÜ ejM        dÝeju        jv        jw        jx        ¦  «         e#dÝ¦  «        g¬i¦  «         e"dÞ ejM        dßeju        jv        jw        jy        ¦  «         e#dß¦  «        g¬i¦  «         e"dà ejM        dáeju        jv        jw        jz        ¦  «         e#dá¦  «        g¬i¦  «        dâ„ ¦   «         ¦   «         ¦   «         Z e"dã ejM        dädåeju        jv        jw        jx        ¦  «         e#dä¦  «        g¬i¦  «         e"dæ ejM        dçdåeju        jv        jw        jy        ¦  «         e#dç¦  «        g¬i¦  «         e"dè ejM        dédåeju        jv        jw        jz        ¦  «         e#dé¦  «        g¬i¦  «         e"dê ejM        dëdìeju        jv        jw        jx        e|¦  «         e#dë¦  «        g¬i¦  «         e"dí ejM        dîdìeju        jv        jw        jy        e}¦  «         e#dî¦  «        g¬i¦  «         e"dï ejM        dðdìeju        jv        jw        jz        e~¦  «         e#dð¦  «        g¬i¦  «        �ddñ„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z€�ddô„Z�dõ„ Z‚ e"dö¦  «        �dd÷„¦   «         Zƒ�ddù„Z„ e"dú¦  «         e"dû¦  «         e"dü¦  «        �ddý„¦   «         ¦   «         ¦   «         Z… e"dþ¦  «         e"dÿ¦  «         e"�d ¦  «        �d�d„¦   «         ¦   «         ¦   «         Z† e"�d¦  «        �d�d„¦   «         Z‡ e"�d ejM        �ddÔ�d¦  «         e#�d¦  «        g¬i¦  «         e"�d	 ejM        �d
�d�d¦  «         e#�d
¦  «        g¬i¦  «         e"�d ejM        �d�d�d¦  «         e#�d¦  «        g¬i¦  «         e"�d ejM        �ddÔ�d¦  «         e#�d¦  «        g¬i¦  «         e"�d ejM        �d�d�d¦  «         e#�d¦  «        g¬i¦  «         e"�d ejM        �d�d�d¦  «         e#�d¦  «        g¬i¦  «        �d�d„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Zˆ e"�d¦  «        �d�d„¦   «         Z‰ e"�d¦  «        �d�d„¦   «         ZŠ e"�d¦  «        �d„ ¦   «         Z‹�d„ ZŒ�d�d"„Z� e"�d#¦  «        �d�d$„¦   «         ZŽ e"�d%¦  «         ej'        dd¦  «        �d�d&„¦   «         ¦   «         Z� e"�d'¦  «         ej'        dd¦  «        e��d�d(„¦   «         ¦   «         ¦   «         Z� e"�d)¦  «         ej'        dd¦  «        �d�d*„¦   «         ¦   «         Z‘�d�d+„Z’ e"�d,¦  «         ej'        dd¦  «        �d�d-„¦   «         ¦   «         Z“�d�d.„Z” e"�d/¦  «         ej'        dd¦  «        e��d�d0„¦   «         ¦   «         ¦   «         Z• e"�d1¦  «         ej'        dd¦  «        e��d�d2„¦   «         ¦   «         ¦   «         Z– e"�d3¦  «        �d�d4„¦   «         Z— e"�d5¦  «        �d�d6„¦   «         Z˜ e"�d7¦  «        �d�d8„¦   «         Z™ e"�d9¦  «         eŒ�d:¦  «        �d�d;„¦   «         ¦   «         Zš e"�d<¦  «         eŒ�d:¦  «        �d�d=„¦   «         ¦   «         Z› e"�d>¦  «         eŒ�d:¦  «        �d�d?„¦   «         ¦   «         Zœ e"�d@¦  «        �d�dA„¦   «         Z� e"�dB¦  «        �d�dC„¦   «         Zž e"�dD¦  «        �d�dE„¦   «         ZŸ e"�dF¦  «         ej/        d'd'd'd8¦  «        �d�d�dG„¦   «         ¦   «         Z  e"�dH¦  «         ej/        d'd8dw¦  «        �d�d�dI„¦   «         ¦   «         Z¡ e"�dJ¦  «         ej/        d'd8d8¦  «        �d�dK„¦   «         ¦   «         Z¢ e"�dL¦  «         ej/        d'd'd'd’d’d’d8d’d8d8d8d8d8¦  «        	 �d�d�dM„¦   «         ¦   «         Z£ e"�dN¦  «         ej/        d'd'd'd’d+d’d8¦  «        �d�dO„¦   «         ¦   «         Z¤ e"�dP¦  «         ej/        d'd'd'd’d’d’d8d’d8¦	  «	        �d�dQ„¦   «         ¦   «         Z¥ e"�dR¦  «         ej/        d'd'd'd’d'd’d8¦  «        �d�dS„¦   «         ¦   «         Z¦ e"�dT¦  «         ej/        d'd'd'd’d'd’d8¦  «        �d�dU„¦   «         ¦   «         Z§ e"�dV¦  «         ej/        d'd'd'd’d'd’d8¦  «        �d�dW„¦   «         ¦   «         Z¨ e"�dX¦  «         ej/        d'd'd'd’d’d’d8d’¦  «        �d�dY„¦   «         ¦   «         Z© e"�dZ¦  «         ej/        d'd'd'd’d’d’d8d’¦  «        �d�d[„¦   «         ¦   «         Zª e"�d\¦  «         ej/        d'd'd'd’d’d’d8d’¦  «        �d�d]„¦   «         ¦   «         Z« e"�d^¦  «         ej/        d'd'd'd'd'd8d(d(d8¦	  «	        �d�d_„¦   «         ¦   «         Z¬ e"�d`¦  «         ej'        ddpdpdp¦  «         ej/        d'd’d'd'd(¦  «        �d�dg„¦   «         ¦   «         ¦   «         Z­ e"�dh¦  «         ej'        ddpdpdp¦  «         ej/        d'd’d'd'd(dˆ¦  «        �d�dj„¦   «         ¦   «         ¦   «         Z® e"�dk¦  «         ej/        d'd'd'd'd'dˆd(d(dˆ¦	  «	        �d�dp„¦   «         ¦   «         Z¯ e"�dq¦  «         ej/        d'd8d8d8¦  «        �d�dr„¦   «         ¦   «         Z° e"�ds¦  «         ej'        d¦  «         ej/        d'dEdEdE¦  «        �d�dt„¦   «         ¦   «         ¦   «         Z± e"�du¦  «         ej'        d¦  «        �d�dv„¦   «         ¦   «         Z² e"�dw¦  «         ej/        d'd8d'¦  «        �d�dx„¦   «         ¦   «         Z³ e"�dy¦  «        �d�dz„¦   «         Z´ e"�d{¦  «        �d�d|„¦   «         Zµ e"�d}¦  «        �d�d~„¦   «         Z¶ e"�d¦  «         ej/        d'd'dˆdˆ¦  «        	 �d�d�d€„¦   «         ¦   «         Z· e"�d�¦  «        �d�d‚„¦   «         Z¸ e"�dƒ¦  «         ej/        d'd'd8d(¦  «        �d�d„„¦   «         ¦   «         Z¹ e"�d…¦  «        �d�d†„¦   «         Zº e"�d‡¦  «        �d�dˆ„¦   «         Z» e"�d‰¦  «        �d�dŠ„¦   «         Z¼ e"�d‹¦  «        �d�dŒ„¦   «         Z½ e"�d�¦  «        �d�dŽ„¦   «         Z¾ e"�d�¦  «        �d�d�„¦   «         Z¿ e"�d‘¦  «        �d�d’„¦   «         ZÀ e"�d“¦  «        �d�d”„¦   «         ZÁ e"�d•¦  «         ej/        d'd'¦  «        �d�d–„¦   «         ¦   «         ZÂ e"�d—¦  «         ej/        d'd'¦  «        �d�d˜„¦   «         ¦   «         ZÃ e"�d™¦  «        �d�d�dš„¦   «         ZÄ e"�d›¦  «         ej'        dd¦  «        �d�dœ„¦   «         ¦   «         ZÅ e"�d�¦  «        �d�d�dž„¦   «         ZÆ e"�dŸ¦  «         ej'        dd¦  «        �d�d „¦   «         ¦   «         ZÇ e"�d¡¦  «         ej'        d¦  «         ej/        d'd’d8¦  «        �d�d¢„¦   «         ¦   «         ¦   «         ZÈ e"�d£¦  «         ej'        d¦  «         ej/        d'd’d8¦  «        �d�d¤„¦   «         ¦   «         ¦   «         ZÉ e"�d¥¦  «         ej'        d¦  «         ej/        d'd'd8¦  «        �d�d¦„¦   «         ¦   «         ¦   «         ZÊ e"�d§¦  «        �d�d¨„¦   «         ZË e"�d©¦  «         e"�dª¦  «         ej/        d'd(d8¦  «        �d�d«„¦   «         ¦   «         ¦   «         ZÌ e"�d¬ ejM        �d¬¦  «        g¬i¦  «         e"�d­ ejM        �d­¦  «        g¬i¦  «         e"�d® ejM        �d®¦  «        g¬i¦  «         e"�d¯ ejM        �d¯¦  «        g¬i¦  «         e"�d° ejM        �d°¦  «        g¬i¦  «         e"�d± ejM        �d±¦  «        g¬i¦  «        �d�d²„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZÍ e"�d³¦  «         ej/        d'dEd’d8d'¦  «        �d�d�d´„¦   «         ¦   «         ZÎ e"�dµ¦  «         ej/        d'd'd'd8¦  «        �d�d¶„¦   «         ¦   «         ZÏ e"�d·¦  «         ej/        d'd8d8¦  «        �d�d¸„¦   «         ¦   «         ZÐ e"�d¹¦  «         ej/        d'd8d8d8¦  «        �d�dº„¦   «         ¦   «         ZÑ e"�d»¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�d¿„¦   «         ¦   «         ZÓ e"�dÀ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÁ„¦   «         ¦   «         ZÔ e"�dÂ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÃ„¦   «         ¦   «         ZÕ e"�dÄ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÅ„¦   «         ¦   «         ZÖ e"�dÆ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÇ„¦   «         ¦   «         Z× e"�dÈ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÉ„¦   «         ¦   «         ZØ e"�dÊ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dË„¦   «         ¦   «         ZÙ e"�dÌ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÍ„¦   «         ¦   «         ZÚ e"�dÎ¦  «         ejÒ        �d¼�d½�d¾¦  «        �d�dÏ„¦   «         ¦   «         ZÛ e"�dÐ¦  «         ej/        d'd8d'd'd'd'¦  «        	 	 �d�d�dÑ„¦   «         ¦   «         ZÜ e"�dÒ¦  «         ej/        d'd8d'd'd'd'¦  «        	 	 	 	 	 �d �d�dÓ„¦   «         ¦   «         ZÝ e"�dÔ¦  «        	 �d�d�dÕ„¦   «         ZÞ e"�dÖ¦  «        �d�d×„¦   «         Zß e"�dØ¦  «        	 �d!�d�dÙ„¦   «         Zà e"�dÚ¦  «        �d�d�dÛ„¦   «         Zá e"�dÜ¦  «         ej/        d'd8d'd'd'¦  «        �d�d�dÝ„¦   «         ¦   «         Zâ e"�dÞ¦  «         ej/        d'd8d'd'd'd'¦  «        	 	 	 	 	 �d �d�dß„¦   «         ¦   «         Zã e"�dà¦  «        	 �d�d�dá„¦   «         Zä e"�dâ¦  «        �d�dã„¦   «         Zå e"�dä¦  «         ej/        d'd8d'd'd'¦  «        �d�d�då„¦   «         ¦   «         Zæ e"�dæ¦  «         ej/        d'd8d'd'd'd'¦  «        	 	 	 	 	 �d �d�dç„¦   «         ¦   «         Zç e"�dè¦  «        	 �d�d�dé„¦   «         Zè e"�dê¦  «        	 �d�d�dë„¦   «         Zé e"�dì¦  «        	 	 	 	 	 �d �d�dí„¦   «         Zê e"�dî¦  «        	 �d�d�dï„¦   «         Zë e"�dð¦  «        �d�dñ„¦   «         Zì e"�dò¦  «        �d�dó„¦   «         Zí e"�dô¦  «         ej'        d¦  «         ej/        d'd(d(¦  «        �d"�dø„¦   «         ¦   «         ¦   «         Zî e"�dù¦  «         ej'        d¦  «         ej/        d'¦  «        �d�dú„¦   «         ¦   «         ¦   «         Zï e"�dû¦  «         ej'        ddad¬P¦  «         ej/        d'¦  «        �d�dü„¦   «         ¦   «         ¦   «         Zð e"�dý¦  «         ej/        d'¦  «        �d�dþ„¦   «         ¦   «         Zñ e"�dÿ¦  «         ej/        d'd(¦  «        �d�d „¦   «         ¦   «         Zò e"�d¦  «         ej/        d'd(¦  «        �d�d„¦   «         ¦   «         Zó e"�d¦  «        �d�d„¦   «         Zô e"�d¦  «         ej/        d'd8¦  «        �d�d„¦   «         ¦   «         Zõ e"�d¦  «         ej/        d'd8d8dw¦  «        �d�d�d„¦   «         ¦   «         Zö e"�d	¦  «        �d�d
„¦   «         Z÷ e"�d¦  «         ej/        d'd8d8d8d8dw¦  «        �d�d�d„¦   «         ¦   «         Zø e"�d¦  «        �d�d„¦   «         Zù e"�d¦  «        �d�d„¦   «         Zú e"�d¦  «        �d�d„¦   «         Zû e"�d¦  «        	 �d�d�d„¦   «         Zü e"�d¦  «         ej/        d'd8¦  «        �d�d„¦   «         ¦   «         Zý e"�d¦  «         ej/        d'd8¦  «        �d�d„¦   «         ¦   «         Zþ	 	 �d�d�d„Zÿ ej/        d'd'd'd8d8d(d8d8d8¦	  «	        �d�d„¦   «         �Z  ej/        d'd'd'd'd8d8d(d8d8¦	  «	        �d�d„¦   «         �Z e"�d¦  «        �d�d„¦   «         �Z e"�d¦  «        �d�d„¦   «         �Z e"�d  ejM        �d!¦  «         e#�d"¦  «        g¬i¦  «         e"�d# ejM        �d$¦  «         e#�d%¦  «        g¬i¦  «         e"�d& ejM        �d'¦  «         e#�d(¦  «        g¬i¦  «        �d#�d*„¦   «         ¦   «         ¦   «         �Z e"�d+¦  «         ej/        d'd8¦  «        �d�d,„¦   «         ¦   «         �Z e"�d-¦  «        �d�d.„¦   «         �Z e"�d/¦  «         ej/        d'd8¦  «        �d�d0„¦   «         ¦   «         �Z e"�d1¦  «         ej/        d'd'd8¦  «        �d�d2„¦   «         ¦   «         �Z e"�d3¦  «         ej/        d'd'd8dEd'¦  «        �d�d4„¦   «         ¦   «         �Z	 e"�d5¦  «        �d�d6„¦   «         �Z
 e"�d7¦  «        �d�d8„¦   «         �Z e"�d9¦  «        �d�d:„¦   «         �Z e"�d;¦  «        �d�d<„¦   «         �Z e"�d=¦  «        	 	 	 	 �d$�d�d>„¦   «         �Z e"�d?¦  «        	 	 	 	 �d$�d�d@„¦   «         �Z e"�dA¦  «         ej/        d'd(d(d8dw¦  «        �d�dB„¦   «         ¦   «         �Z e"�dC¦  «        �d�d�dD„¦   «         �Z e"�dE¦  «         ej/        d'¦  «        �d�dF„¦   «         ¦   «         �Z e"�dG¦  «         ej/        d'¦  «        �d�dH„¦   «         ¦   «         �Z e"�dI¦  «         ej'        ddpdp¦  «         ej/        d'd8d8¦  «        �d�dJ„¦   «         ¦   «         ¦   «         �Z e"�dK¦  «         ej/        d'¦  «        �d�dL„¦   «         ¦   «         �Z e"�dM¦  «        �d�d�dN„¦   «         �Z e"�dO¦  «         ej/        d'¦  «        �d�dP„¦   «         ¦   «         �Z e"�dQ¦  «        �d�dR„¦   «         �Z e"�dS¦  «        �d�dT„¦   «         �Z e"�dU¦  «         ej/        d'd8d8d8¦  «        �d�dV„¦   «         ¦   «         �Z e"�dW¦  «         ej/        d'd'dˆ¦  «        �d%�dZ„¦   «         ¦   «         �Z e"�d[¦  «         ej/        d'd'dˆ¦  «        �d%�d\„¦   «         ¦   «         �Z e"�d]¦  «         ej/        d'd8d'd'¦  «        �d�d^„¦   «         ¦   «         �Z e"�d_¦  «         ej/        d'd8d'd'¦  «        �d�d`„¦   «         ¦   «         �Z e"�da¦  «        �d�db„¦   «         �Z e"�dc¦  «        �d�dd„¦   «         �Z  e"�de¦  «        �d�df„¦   «         �Z! e"�dg¦  «        e��d�dh„¦   «         ¦   «         �Z" e"�di¦  «        �d�dj„¦   «         �Z# e"�dk¦  «         ej/        d'd8d'd'¦  «        �d�d�dl„¦   «         ¦   «         �Z$ ej/        d'd’d8d8¦  «        �d�dm„¦   «         �Z% e"�dn¦  «        �d�do„¦   «         �Z& e"�dp¦  «        �d�dq„¦   «         �Z' e"�dr¦  «        �d�ds„¦   «         �Z( e"�dt¦  «        �d�du„¦   «         �Z) e"�dv¦  «         ej/        d'd’d8¦  «        �d�dw„¦   «         ¦   «         �Z* e"�dx¦  «        �d�dy„¦   «         �Z+ e"�dz¦  «        �d�d{„¦   «         �Z, e"�d|¦  «        �d�d}„¦   «         �Z- e"�d~¦  «        �d�d„¦   «         �Z. e"�d€¦  «        �d�d�„¦   «         �Z/ e"�d‚¦  «        �d�dƒ„¦   «         �Z0 e"�d„¦  «         ej/        d'd'd’dˆd'¦  «        �d&�dˆ„¦   «         ¦   «         �Z1 e"�d‰¦  «         ej/        d'd(d’dˆd'¦  «        �d'�dŠ„¦   «         ¦   «         �Z2 e"�d‹¦  «         ej/        d'd'd’dˆd'¦  «        �d(�d�„¦   «         ¦   «         �Z3 e"�dŽ¦  «         ej/        d'd'd8¦  «        �d)�d�d�„¦   «         ¦   «         �Z4 e"�d‘¦  «         ej/        d'd’dˆ¦  «        �d*�d�d’„¦   «         ¦   «         �Z5 e"�d“¦  «         ej/        d'd8dˆd'¦  «        	 �d�d�d”„¦   «         ¦   «         �Z6 e"�d•¦  «        �d�d–„¦   «         �Z7 e"�d—¦  «         ej/        d'd+¦  «        �d�d+�dš„¦   «         ¦   «         �Z8 e"�d›¦  «        �d�dœ„¦   «         �Z9 e"�d�¦  «         ej/        d'd+¦  «        �d,�d-�dŸ„¦   «         ¦   «         �Z: e"�d ¦  «         ej'        ddpdpdp¦  «         ej/        d'd8d'd'd(d8¦  «        �d�d¡„¦   «         ¦   «         ¦   «         �Z; e"�d¢¦  «         ej/        d'd'd8¦  «        �d�d£„¦   «         ¦   «         �Z< e"�d¤¦  «        �d�d¥„¦   «         �Z= e"�d¦¦  «        �d�d§„¦   «         �Z> e"�d¨¦  «        �d�d©„¦   «         �Z? e"�dª¦  «        �d�d«„¦   «         �Z@ e"�d¬¦  «        �d�d­„¦   «         �ZA�d�d®„�ZB�d�d¯„�ZC e"�d°¦  «         ej/        d'd'd8dˆ¦  «        �d�d±„¦   «         ¦   «         �ZD e"�d²¦  «         ej/        d'd'd8¦  «        �d�d³„¦   «         ¦   «         �ZE e"�d´¦  «         ej'        d¦  «         ej/        d'd'd’d8¦  «        �d�d�dµ„¦   «         ¦   «         ¦   «         �ZF e"�d¶¦  «        �d�d·„¦   «         �ZG e"�d¸¦  «        �d�d¹„¦   «         �ZH e"�dº¦  «        �d�d»„¦   «         �ZI e"�d¼¦  «         ej/        d'dˆd8d'd'd'd'¦  «        	 	 	 	 	 	 �d.�d/�d¾„¦   «         ¦   «         �ZJ e"�d¿¦  «        �d�dÀ„¦   «         �ZK e"�dÁ¦  «        �d�dÂ„¦   «         �ZL e"�dÃ¦  «         ej/        d'dEdE¦  «        �d�dÄ„¦   «         ¦   «         �ZM e"�dÅ¦  «         ej/        d'd'¦  «        �d�dÆ„¦   «         ¦   «         �ZN e"�dÇ¦  «        �d�d�dÈ„¦   «         �ZO e"�dÉ¦  «         ej/        d'd’d’¦  «        �d�dÊ„¦   «         ¦   «         �ZP e"�dË¦  «         ej/        d'd'd8¦  «        �d�d�dÌ„¦   «         ¦   «         �ZQ e"�dÍ¦  «        	 	 �d0�d�dÐ„¦   «         �ZR e"�dÑ¦  «        �d�dÒ„¦   «         �ZS e"�dÓ¦  «        �d�dÔ„¦   «         �ZT e"�dÕ¦  «        �d�d�dÖ„¦   «         �ZU e"�d×¦  «        �d�dØ„¦   «         �ZV e"�dÙ¦  «        �d�dÚ„¦   «         �ZW e"�dÛ¦  «        �d�dÜ„¦   «         �ZX e"�dÝ¦  «        �d�dÞ„¦   «         �ZY e"�dß¦  «        �d�d�dà„¦   «         �ZZ e"�dá¦  «        �d�dâ„¦   «         �Z[ e"�dã¦  «        �d�dä„¦   «         �Z\ e"�då¦  «        �d�dæ„¦   «         �Z] e"�dç¦  «        �d1�dé„¦   «         �Z^ e"�dê¦  «        �d�dë„¦   «         �Z_ e"�dì¦  «        �d�dí„¦   «         �Z` e"�dî¦  «        �d�dï„¦   «         �Za e"�dð¦  «        �d�dñ„¦   «         �Zb e"�dò¦  «        �d�dó„¦   «         �Zc e"�dô¦  «        �d2�dö„¦   «         �Zd e"�d÷¦  «        �d3�dù„¦   «         �Ze e"�dú¦  «        �d3�dû„¦   «         �Zf e"�dü¦  «        �d�dý„¦   «         �Zg e"�dþ¦  «        �d4�d „¦   «         �Zh e"�d¦  «        �d�d„¦   «         �Zi e"�d¦  «         e"�d¦  «        �d5�d„¦   «         ¦   «         �Zj e"�d¦  «         e"�d¦  «        �d5�d„¦   «         ¦   «         �Zk e"�d	¦  «        �d6�d
„¦   «         �ZldS (7  zhThis file exports ONNX ops for opset 9.

Opset 9 is supported by ONNX release 1.4.1
release on 01/23/19
é    )ÚannotationsN)ÚCallableÚSequenceÚTYPE_CHECKING)Ú_C)Ú
_constantsÚ_deprecationÚ_type_utilsÚerrorsÚsymbolic_helper)ÚGLOBALS)Ú	jit_utilsÚregistration)ÚNumber(  ÚabsÚacosÚaddÚaddcmulÚaddmmÚaliasÚamaxÚaminÚaminmaxÚarangeÚargmaxÚargminÚ
as_stridedÚ	as_tensorÚasinÚatanÚatan2ÚbaddbmmÚ
batch_normÚ	bernoulliÚbitwise_notÚ
bitwise_orÚbmmÚbroadcast_tensorsÚbroadcast_toÚ	bucketizeÚcatÚcdistÚceilÚ	clamp_maxÚ	clamp_minÚclampÚcloneÚconstant_pad_ndÚ
contiguousÚconv_tbcÚconv_transpose1dÚconv_transpose2dÚconv_transpose3dÚconv1dÚconv2dÚconv3dÚconvert_element_typeÚconvolutionÚcosÚcosine_similarityÚcrossÚcumsumÚdetachÚdimÚdivÚdotÚdropoutÚeluÚembedding_bagÚ	embeddingÚ
empty_likeÚemptyÚeqÚerfÚexpÚ	expand_asÚexpandÚeyeÚfillÚflattenÚfloor_divideÚfloorÚfloordivÚfrobenius_normÚ	full_likeÚfullÚgatherÚgeÚgeluÚget_pool_ceil_paddingÚgluÚ
group_normÚgtÚhann_windowÚ
hardshrinkÚhardsigmoidÚ	hardswishÚhardtanhÚ	index_addÚ
index_copyÚ
index_fillÚ	index_putÚindex_selectÚindexÚinstance_normÚis_floating_pointÚ	is_pinnedÚisnanÚitemÚkl_divÚ
layer_normÚleÚ
leaky_reluÚlerpÚliftÚlinalg_crossÚlinalg_matrix_normÚlinalg_normÚlinalg_vector_normÚlinearÚlinspaceÚlog_sigmoidÚlog_softmaxÚlogÚlog10Úlog1pÚlog2Úlogical_andÚlogical_notÚ
logical_orÚlogical_xorÚlogitÚ	logsumexpÚ	lstm_cellÚlstmÚltÚmasked_fillÚmasked_fill_ÚmatmulÚmax_pool1d_with_indicesÚmax_pool2d_with_indicesÚmax_pool3d_with_indicesÚmaxÚmaximumÚmeshgridÚminÚminimumÚmishÚmmÚmovedimÚmse_lossÚmulÚmultinomialÚmvÚnarrowÚnative_layer_normÚneÚnegÚ	new_emptyÚnew_fullÚnew_onesÚ	new_zerosÚnonzero_numpyÚnonzeroÚnormÚnumelÚnumpy_TÚone_hotÚ	ones_likeÚonesÚonnx_placeholderÚpadÚpairwise_distanceÚpermuteÚpixel_shuffleÚpixel_unshuffleÚpowÚpreluÚprim_constant_chunkÚprim_constant_splitÚprim_constantÚ	prim_dataÚprim_deviceÚ
prim_dtypeÚprim_ifÚprim_layoutÚprim_list_constructÚprim_list_unpackÚ	prim_loopÚprim_maxÚprim_minÚ
prim_shapeÚprim_tolistÚprim_tuple_constructÚ	prim_typeÚprim_unchecked_castÚprim_uninitializedÚ	rand_likeÚrandÚrandint_likeÚrandintÚ
randn_likeÚrandnÚ
reciprocalÚreflection_padÚreluÚrelu6Ú	remainderÚrepeat_interleaveÚrepeatÚreplication_padÚ
reshape_asÚreshapeÚrollÚrreluÚrsqrtÚrsubÚscalar_tensorÚscatter_addÚscatterÚselectÚseluÚsigmoidÚsignÚsiluÚsinÚsizeÚsliceÚsoftmaxÚsoftplusÚ
softshrinkÚsortÚsplit_with_sizesÚsplitÚsqrtÚsquareÚsqueezeÚstackÚstd_meanÚstdÚsubÚtÚtakeÚtanÚtanhÚ
tanhshrinkÚtensorÚ	thresholdÚtoÚtopkÚ	transposeÚtrue_divideÚtype_asÚunbindÚunfoldÚunsafe_chunkÚunsafe_split_with_sizesÚunsafe_splitÚ	unsqueezeÚunsupported_complex_operatorsÚnoop_complex_operatorsÚunusedÚvar_meanÚvarÚview_asÚviewÚwhereÚwrap_logical_op_with_cast_toÚwrap_logical_op_with_negationÚ
zeros_likeÚzerosÚzeroé	   )ÚopsetÚnameÚstrc                ó   ‡ — ˆ fd„}|S )z5Exports the function in the current global namespace.c                ó^   •— | t          ¦   «         ‰<   t                               ‰¦  «         | S ©N)ÚglobalsÚ__all__Úappend)Úfuncr  s    €úKC:\Projects\Historical\venv\Lib\site-packages\torch/onnx/symbolic_opset9.pyÚwrapperz_export.<locals>.wrapper1  s'   ø€ Ø�‰	Œ	�$‰Ý�Š�tÑÔÐØˆó    © )r  r  s   ` r  Ú_exportr"  .  s#   ø€ ðð ð ð ð ð
 €Nr   c                ó’   — |                       d¦  «        }|                     t          j                             ¦   «         ¦  «         |S )z%Represents "missing" optional inputs.úprim::Constant)ÚopÚsetTyper   ÚOptionalTypeÚofTensor)ÚgÚns     r  r  r  9  s9   € à	�ŠÐÑÔ€AØ‡I‚I�bŒo×&Ò&Ñ(Ô(Ñ)Ô)Ð)Ø€Hr   zaten::_shape_as_tensorr)  újit_utils.GraphContextc                ó.   — |                       d|¦  «        S ©NÚShape©r%  ©r)  Úinputs     r  Ú_shape_as_tensorr2  @  ó   € à�4Š4�˜ÑÔÐr   zaten::_reshape_from_tensorc                óp   — t          |t          ¦  «        r | j        dg|¢R ddiŽ}t          | ||¦  «        S )NÚConcatÚaxis_ir   )Ú
isinstanceÚlistr%  r×   )r)  r1  Úshapes      r  Ú_reshape_from_tensorr:  E  sG   € å�%�ÑÔð 1Ø�”�XÐ0 Ð0Ð0Ð0¨aÐ0Ð0ˆÝ�1�e˜UÑ#Ô#Ð#r   zaten::reshapeTc                ó.   — t          j        | ||¦  «        S r  )r   Ú_reshape_helper©r)  Úselfr9  s      r  r×   r×   L  s   € õ Ô*¨1¨d°EÑ:Ô:Ð:r   zaten::reshape_asc                óP   — |                       d|¦  «        }t          | ||¦  «        S r-  ©r%  r×   ©r)  r>  Úotherr9  s       r  rÖ   rÖ   R  s)   € ð �DŠD�˜%Ñ Ô €EÝ�1�d˜EÑ"Ô"Ð"r   z	aten::addc                ó6  — t          j        |¦  «        r,t          j        |¦  «        rt          j        dddd|¦  «        S |rAt          j        t          j        |¦  «        ¦  «        dk    r|                      d||¦  «        }|                      d||¦  «        S )a¯  
    This function takes the add function and returns the corresponding ONNX operator.

    This function is not meant to be called directly by the user.

    Args:
        g (GraphContext): The graph context.
        self (Tensor): The first operand.
        other (Tensor): The second operand.
        alpha (float, optional): The scaling factor for the second operand. Defaults to None.

    Returns:
        ONNX operator.
    ÚAddr  é   z)Add between list of tensors not supportedé   ÚMul)r   Ú	_is_valueÚ_is_tensor_listÚ _onnx_opset_unsupported_detailedÚ_scalarÚ_maybe_get_scalarr%  ©r)  r>  rB  Úalphas       r  r   r   Y  s    € õ  Ô  Ñ&Ô&ð 
­?Ô+JÈ4Ñ+PÔ+Pð 
ÝÔ?Ø�1�bÐEÀtñ
ô 
ð 	
ð ð *•Ô(­Ô)JÈ5Ñ)QÔ)QÑRÔRÐVWÒWÐWØ—’�U˜E 5Ñ)Ô)ˆØ�4Š4��t˜UÑ#Ô#Ð#r   z	aten::subc                ó¶   — |rAt          j        t          j        |¦  «        ¦  «        dk    r|                      d||¦  «        }|                      d||¦  «        S )aÎ  
    Consumes sub function and returns the corresponding ONNX operator.

    This function is not meant to be called directly by the user.

    Args:
        g (GraphContext): The graph context.
        self (Tensor): The first operand.
        other (Tensor): The second operand.
        alpha (Optional[Tensor]): A scaling factor to apply to the second operand.
            If `alpha` is not provided, it defaults to 1.

    Returns:
        ONNX operator
    rF  rG  ÚSub)r   rK  rL  r%  rM  s       r  ró   ró   r  sX   € ð" ð *•Ô(­Ô)JÈ5Ñ)QÔ)QÑRÔRÐVWÒWÐWØ—’�U˜E 5Ñ)Ô)ˆØ�4Š4��t˜UÑ#Ô#Ð#r   z
aten::rsubc                ó(   — t          | |||¬¦  «        S )N)rN  )ró   rM  s       r  rÛ   rÛ   ˆ  s   € åˆq�%˜ UÐ+Ñ+Ô+Ð+r   z	aten::mulc                ó®   — t          j        |¦  «        r+t          j        |¦  «        r|                      d||¦  «        S |                      d||¦  «        S )NÚAndrG  )r   Ú_is_boolr%  ©r)  r>  rB  s      r  rš   rš   �  sS   € åÔ Ñ%Ô%ð (­/Ô*BÀ5Ñ*IÔ*Ið (à�tŠt�E˜4 Ñ'Ô'Ð'à�tŠt�E˜4 Ñ'Ô'Ð'r   z	aten::divc                óh   — t          |¦  «        dk    rt          | ||¦  «        S t          | ||g|¢R Ž S ©Nr   )Úlenrþ   Ú_div_rounding_mode)r)  r>  rB  Úargss       r  rC   rC   –  s=   € å
ˆ4�y„y�A‚~€~Ý˜1˜d EÑ*Ô*Ð*å! ! T¨5Ð8°4Ð8Ð8Ð8Ð8r   zaten::addcmulÚvÚfç      ð?c                ó´   — |                       dt          j        |g¦  «        ¬¦  «        }t          | |t	          | t	          | ||¦  «        |¦  «        ¦  «        S ©NÚConstant©Úvalue_t)r%  Útorchrù   r   rš   )r)  r>  Útensor1Útensor2ÚvalueÚ
value_tenss         r  r   r   ž  sO   € ð —’�j­%¬,¸°wÑ*?Ô*?�Ñ@Ô@€JÝˆq�$�˜A�s 1 g¨wÑ7Ô7¸ÑDÔDÑEÔEÐEr   Úsc                ó¶   — |€t          | ||¦  «        S |dk    rt          | ||¦  «        S |dk    rt          | ||¦  «        S t          j        d|› d�|¦  «        ‚)NrT   ÚtrunczUnsupported rounding mode: "z$". Expected None, "floor" or "trunc")rþ   Ú_floor_divideÚ_trunc_divider   ÚSymbolicValueError)r)  r>  rB  Úrounding_modes       r  rY  rY  ¥  sz   € àÐÝ˜1˜d EÑ*Ô*Ð*Ø	˜'Ò	!Ð	!Ý˜Q  eÑ,Ô,Ð,Ø	˜'Ò	!Ð	!Ý˜Q  eÑ,Ô,Ð,åÔ'Ø^¨=Ð^Ð^Ð^Øñ
ô 
ð 	
r   c                óN  — |                       d||¦  «        }|                       d|t          j        j        ¬¦  «        }t          j                             |t          j        j        ¦  «        }|t          j        j        k    r{t          j	        |¦  «        s<t          j	        |¦  «        r(|                       d|t          j        j
        ¬¦  «        }nR|                       d||                     ¦   «         ¬¦  «        }n'|                       d|t          j        j
        ¬¦  «        }|S )NÚDivÚCast©Úto_i)r%  Ú_C_onnxÚTensorProtoDataTypeÚINT64r
   ÚJitScalarTypeÚ
from_valueÚ	UNDEFINEDr   Ú_is_fpÚFLOATÚ	onnx_type)r)  r>  rB  ÚoutÚscalar_types        r  rl  rl  ´  s  € Ø
�$Š$ˆu�d˜EÑ
"Ô
"€Cð �$Š$ˆv�s¥Ô!<Ô!Bˆ$Ñ
CÔ
C€Cõ Ô+×6Ò6Ø�kÔ'Ô1ñô €Kð •kÔ/Ô9Ò9Ð9ÝÔ% dÑ+Ô+ð 	µÔ0FÀuÑ0MÔ0Mð 	Ø—$’$�v˜s­Ô)DÔ)J�$ÑKÔKˆCˆCà—$’$ØØØ ×*Ò*Ñ,Ô,ð ñ ô ˆCˆCð �dŠd�6˜3¥WÔ%@Ô%FˆdÑGÔGˆØ€Jr   c                óT  — t          j        |¦  «        st          j        |¦  «        r't          | ||¦  «        }|                      d|¦  «        S |                      d||¦  «        }|                      dt	          j        dt          j        ¬¦  «        ¬¦  «        }|                      dt          j        | ||¦  «        t          j        | ||¦  «        ¦  «        }|                      d||                      d	||¦  «        ¦  «        }|                      d
||                      d|                      d||¦  «        ¦  «        ¦  «        }|                      dt	          j        dt          j        ¬¦  «        ¬¦  «        }	|                      d	||	¦  «        }
|                      d||
¦  «        S )NÚFloorrp  r`  r   ©Údtypera  ÚXorrP  rG  rS  ÚNotÚEqualrF  )r   rz  rþ   r%  rc  rù   Úint64Ú
_lt_helper)r)  r>  rB  r}  rC   r  ÚnegativeÚmodÚ
fixup_maskÚoneÚfixups              r  rk  rk  Ó  sn  € ÝÔ˜dÑ#Ô#ð '¥Ô'=¸eÑ'DÔ'Dð 'Ý˜!˜T 5Ñ)Ô)ˆØ�tŠt�G˜SÑ!Ô!Ð!ð �dŠd�5˜$ Ñ&Ô&ˆà�tŠt�J­¬°Q½e¼kÐ(JÑ(JÔ(JˆtÑKÔKˆØ—4’4ØÝÔ& q¨$°Ñ5Ô5ÝÔ& q¨%°Ñ6Ô6ñ
ô 
ˆð �dŠd�5˜$ §¢ U¨C°Ñ 7Ô 7Ñ8Ô8ˆØ—T’T˜% ¨1¯4ª4°°q·t²t¸GÀSÈ$Ñ7OÔ7OÑ+PÔ+PÑQÔQˆ
à�dŠd�:¥u¤|°A½U¼[Ð'IÑ'IÔ'IˆdÑJÔJˆØ—’�U˜J¨Ñ,Ô,ˆØ�tŠt�E˜3 Ñ&Ô&Ð&r   zaten::floor_dividec                ó$   — t          | ||¦  «        S r  )rl  rU  s      r  rS   rS   ë  s   € õ ˜˜D %Ñ(Ô(Ð(r   zaten::floordivc                ó$   — t          | ||¦  «        S r  )rS   rU  s      r  rU   rU   ñ  s   € å˜˜4 Ñ'Ô'Ð'r   zaten::true_dividec                óò  — t          j        |¦  «        st          j        |¦  «        r|                      d||¦  «        S t          j        ¦   «         }t
          j        j        }|t          j        u s|t          j	        u sJ ‚t          j        ¦   «         t          j	        u rt
          j        j
        }|                      d||¬¦  «        }|                      d||¬¦  «        }|                      d||¦  «        S )a  Division where both inputs are cast to floating types

    If both inputs are floating, performs div as usual
    If only one input is a floating type, the other input is cast to its type
    If neither input is a floating type, both inputs are cast to the default scalar type
    rp  rq  rr  )r   rz  r%  rc  Úget_default_dtypert  ru  r{  ÚfloatÚdoubleÚDOUBLE)r)  r>  rB  r~  Úonnx_scalar_types        r  rþ   rþ   ö  sâ   € õ Ô˜dÑ#Ô#ð (¥Ô'=¸eÑ'DÔ'Dð (Ø�tŠt�E˜4 Ñ'Ô'Ð'õ Ô)Ñ+Ô+€KÝÔ2Ô8ÐØ�%œ+Ð%Ð%¨½¼Ð)DÐ)DÐ)DÐDÝÔÑ Ô ¥E¤LÐ0Ð0Ý"Ô6Ô=Ðà�4Š4�˜Ð#3ˆ4Ñ4Ô4€DØ�DŠD�˜Ð%5ˆDÑ6Ô6€EØ�4Š4��t˜UÑ#Ô#Ð#r   zaten::reciprocalc                ó¤   — t          j        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|                      d|¦  «        S )Nrq  rr  Ú
Reciprocal)r   rz  r%  rt  ru  r{  ©r)  r>  s     r  rÎ   rÎ     sI   € õ Ô! $Ñ'Ô'ð JØ�tŠt�F˜D¥wÔ'BÔ'HˆtÑIÔIˆØ�4Š4�˜dÑ#Ô#Ð#r   z	aten::catÚic                ó
  ‡— t          j        |¦  «        }g Š|D ]A}t          j        |¦  «        rt          j        |d¦  «        sŒ,‰                     |¦  «         ŒBt          ‰¦  «        dk    sJ ‚t          ˆfd„‰D ¦   «         ¦  «        sJ ‚|                     ¦   «                              ¦   «          ‰D ])}|                     ¦   «          	                    |¦  «         Œ*t          j        |¦  «        } | j
        dg|¢R d|iŽS )a{  Implement concatenation of pytorch tensors in ONNX along the specified `dim` dimension.

    Parameters:
        g (jit_utils.GraphContext): Graph context.
        tensor_list (List[torch.Tensor]): List of tensors to concatenate.
        dim (int): Dimension along which to concatenate the tensors.

    Returns:
        ONNX graph node representing the concatenated tensor.
    r   c              3  óÜ   •K  — | ]f}t          j        ‰d          ¦  «        du pEt          j        |¦  «        du p/t          j        |¦  «        t          j        ‰d          ¦  «        k    V — ŒgdS ©r   N)r   Ú_get_tensor_rank)Ú.0rô   Únonempty_tensorss     €r  ú	<genexpr>zcat.<locals>.<genexpr>3  s–   øè è € ð ð ð
 õ	 	Ô(Ð)9¸!Ô)<Ñ=Ô=ÀÐEð 	AÝÔ+¨AÑ.Ô.°$Ð6ð	AåÔ+¨AÑ.Ô.ÝÔ+Ð,<¸QÔ,?Ñ@Ô@òAðð ð ð ð ð r   r5  r6  )r   Ú_unpack_listÚ_is_constantÚ_get_tensor_dim_sizer  rX  ÚallÚnodeÚremoveAllInputsÚaddInputr%  )r)  Útensor_listrB   Útensorsrô   rž  s        @r  r+   r+     sV  ø€ õ Ô*¨;Ñ7Ô7€Gð ÐØð #ð #ˆÝÔ'¨Ñ*Ô*ð 	µ?Ô3WØˆqñ4
ô 4
ð 	ð Ø×Ò Ñ"Ô"Ð"Ð"ÝÐÑ Ô  1Ò$Ð$Ð$Ð$Ýð ð ð ð ð
 "ðñ ô ñ ô ð ð ð ð ×ÒÑÔ×&Ò&Ñ(Ô(Ð(Øð 'ð 'ˆØ×ÒÑÔ×#Ò# AÑ&Ô&Ð&Ð&åÔ*¨;Ñ7Ô7€GØˆ1Œ4�Ð/˜7Ð/Ð/Ð/¨3Ð/Ð/Ð/r   zaten::stackc                ój   ‡ ‡— ˆˆ fd„t          j        |¦  «        D ¦   «         } ‰ j        dg|¢R d‰iŽS )Nc                ó>   •— g | ]}t          j        ‰|‰g¦  «        ‘ŒS r!  ©r   Ú_unsqueeze_helper)r�  rô   rB   r)  s     €€r  ú
<listcomp>zstack.<locals>.<listcomp>E  s:   ø€ ð ð ð àõ 	Ô)¨!¨Q°°Ñ6Ô6ðð ð r   r5  r6  )r   r   r%  )r)  r§  rB   Ú
unsqueezeds   ` ` r  rð   rð   B  s`   øø€ ðð ð ð ð å Ô-¨kÑ:Ô:ðñ ô €Jð ˆ1Œ4�Ð2˜:Ð2Ð2Ð2¨cÐ2Ð2Ð2r   z
aten::listc                ó   — |S r  r!  r—  s     r  Ú_listr°  L  ó   € à€Kr   zaten::mmc                óŒ   — |                       dt          j        dg¦  «        ¬¦  «        }|                       d|||dd¬¦  «        S )Nr`  rF  ra  ÚGemmç        r]  ©Úbeta_fÚalpha_f©r%  rc  rù   )r)  r>  rB  ÚCs       r  r—   r—   Q  sC   € ð 	
�ŠˆZ¥¤¨q¨cÑ!2Ô!2ˆÑ3Ô3€AØ�4Š4�˜˜e Q¨s¸Cˆ4Ñ@Ô@Ð@r   z	aten::bmmc                ó0   — |                       d||¦  «        S ©NÚMatMulr/  rU  s      r  r'   r'   Y  ó   € à�4Š4�˜$ Ñ&Ô&Ð&r   zaten::matmulc                ó0   — |                       d||¦  «        S r»  r/  rU  s      r  r�   r�   ^  r½  r   zaten::addmmrô   c           
     óâ  — d }t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }	|�|}n	|�|}n|	�|	}t          j        |¦  «        }
t          j        |¦  «        }d„ }|��7 ||
d¦  «        s ||d¦  «        �r|                      d||¦  «        }|}t          j        |¦  «        }t          j        |¦  «        }|dk    rT|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }|                      d||¦  «        }|dk    rf|                      dt          j        t          j        |¦  «        |                     ¦   «         ¬¦  «        ¬¦  «        }|                      d||¦  «        }|                      d	||¦  «        S |                      d
|||t          j        |¦  «        t          j        |¦  «        ¬¦  «        S )Nc                ó   — | d uo| |k    S r  r!  )r[  Úus     r  Úis_not_none_norzaddmm.<locals>.is_not_none_nort  s   € Ø˜ˆ}Ð'  a¢Ð'r   é   r¼  rF  r`  r�  ra  rG  rD  r³  rµ  )r   Ú_try_get_scalar_typerœ  r%  rK  rc  rù   r‚  )r)  r>  Úmat1Úmat2ÚbetarN  r~  Úself_scalar_typeÚmat1_scalar_typeÚmat2_scalar_typeÚ	mat1_rankÚ	mat2_rankrÂ  Úres1Úres2s                  r  r   r   c  s  € ð €KÝ&Ô;¸DÑAÔAÐÝ&Ô;¸DÑAÔAÐÝ&Ô;¸DÑAÔAÐØÐ#Ø&ˆˆØ	Ð	%Ø&ˆˆØ	Ð	%Ø&ˆåÔ0°Ñ6Ô6€IÝÔ0°Ñ6Ô6€Ið(ð (ð (ð ÑØˆ˜	 1Ñ%Ô%ð Ø)8¨¸ÀAÑ)FÔ)Fñ ð �tŠt�H˜d DÑ)Ô)ˆØˆåÔ'¨Ñ.Ô.ˆÝÔ& tÑ,Ô,ˆà�AŠ:ˆ:Ø—D’DØ¥E¤L°¸k×>OÒ>OÑ>QÔ>QÐ$RÑ$RÔ$Rð ñ ô ˆEð —4’4˜˜t UÑ+Ô+ˆDØ�1Š9ˆ9Ø—4’4ØÝœÝ#Ô+¨DÑ1Ô1¸×9JÒ9JÑ9LÔ9Lðñ ô ð ñ ô ˆDð —4’4˜˜t TÑ*Ô*ˆDà�tŠt�E˜4 Ñ&Ô&Ð&à�4Š4ØØØØÝÔ& tÑ,Ô,ÝÔ'¨Ñ.Ô.ð ñ ô ð r   z	aten::negc                ó.   — |                       d|¦  «        S )NÚNegr/  r—  s     r  r    r    š  ó   € à�4Š4��tÑÔÐr   z
aten::sqrtc                ó~  — t           j                             |t           j        j        ¦  «        t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        hv r'|  	                    d|t          j        j        ¬¦  «        }|  	                    d|¦  «        S )Nrq  rr  ÚSqrt)r
   rw  rx  ry  ÚUINT8ÚINT8ÚINT16ÚINTrv  r%  rt  ru  r{  r—  s     r  rí   rí   Ÿ  s”   € åÔ ×+Ò+Ø�kÔ'Ô1ñô õ 	Ô!Ô'ÝÔ!Ô&ÝÔ!Ô'ÝÔ!Ô%ÝÔ!Ô'ð
ðð ð �tŠt�F˜D¥wÔ'BÔ'HˆtÑIÔIˆà�4Š4�˜ÑÔÐr   zaten::rsqrtc                ó–   — |                       dt          j        t          j        d¦  «        |¦  «        t          | |¦  «        ¦  «        S )Nrp  rF  )r%  r   Ú_if_scalar_type_asrc  r¬   rí   r—  s     r  rÚ   rÚ   °  s=   € à�4Š4Ø�Ô1µ%´*¸Q±-´-ÀÑFÔFÍÈQÐPTÉÌñô ð r   z
aten::tanhg      €?é€   )ÚscaleÚ
zero_pointc                ó.   — |                       d|¦  «        S )NÚTanhr/  r—  s     r  r÷   r÷   ·  s   € ð �4Š4�˜ÑÔÐr   z	aten::sinc                ó.   — |                       d|¦  «        S )NÚSinr/  r—  s     r  rä   rä   ¾  rÑ  r   z	aten::cosc                ó.   — |                       d|¦  «        S )NÚCosr/  r—  s     r  r=   r=   Ã  rÑ  r   z	aten::tanc                ó.   — |                       d|¦  «        S )NÚTanr/  r—  s     r  rö   rö   È  rÑ  r   z
aten::asinc                ó.   — |                       d|¦  «        S )NÚAsinr/  r—  s     r  r   r   Í  ó   € à�4Š4�˜ÑÔÐr   z
aten::acosc                ó.   — |                       d|¦  «        S )NÚAcosr/  r—  s     r  r   r   Ò  rç  r   z
aten::atanc                ó.   — |                       d|¦  «        S )NÚAtanr/  r—  s     r  r    r    ×  rç  r   zaten::atan2c           
     ó(  — |                       d||¦  «        }|                       d|¦  «        }|                       dt          j        d¦  «        ¬¦  «        }|                       dt          j        t          j        ¦  «        ¬¦  «        }|                       d||¦  «        }|                       d||                       d||¦  «        |                       d	||¦  «        ¦  «        }|                       d
||¦  «        }	|                       d|	||¦  «        }
|
S )Nrp  rë  r`  r   ra  ÚGreaterÚWhererD  rP  ÚLess)r%  rc  rù   ÚmathÚpi)r)  r>  rB  Úsloper    Ú
const_zeroÚconst_piÚ"condition_second_or_third_quadrantÚsecond_third_quadrantÚcondition_14_or_23_quadrantÚresults              r  r!   r!   Ü  sö   € ð �DŠD�˜˜eÑ$Ô$€EØ�4Š4�˜ÑÔ€DØ—’�j­%¬,°q©/¬/�Ñ:Ô:€JØ�tŠt�J­¬µT´WÑ(=Ô(=ˆtÑ>Ô>€Hà)*¯ª¨i¸¸zÑ)JÔ)JÐ&ØŸDšDØØ*Ø	�ŠˆU�D˜(Ñ#Ô#Ø	�ŠˆU�D˜(Ñ#Ô#ñ	ô Ðð #$§$¢$ v¨u°jÑ"AÔ"AÐØ�TŠT�'Ð6Ð8MÈtÑTÔT€Fà€Mr   zaten::sigmoidg      p?c                ó.   — |                       d|¦  «        S )a  Converts the corresponding PyTorch function into ONNX operators.

    It is not meant to be called directly by a user.

    Args:
        g (jit_utils.GraphContext): Graph context.
        self (Tensor): the input tensor.
    Returns:
        ONNX operator
    ÚSigmoidr/  r—  s     r  rá   rá   ò  s   € ð �4Š4�	˜4Ñ Ô Ð r   z
aten::signc                ó.   — |                       d|¦  «        S )NÚSignr/  r—  s     r  râ   râ     rç  r   c                óè   — t          |¦  «        t          |¦  «        k    sJ ‚t          |¦  «        dk    r$|d         dk    r|d         t          j        k    r|S |                      d||||¬¦  «        S )NrF  r   ÚSlice)Úaxes_iÚstarts_iÚends_i)rX  r   Ú	INT64_MAXr%  )r)  r1  ÚaxesÚstartsÚendss        r  Ú_slicer    sn   € åˆv‰;Œ;�#˜d™)œ)Ò#Ð#Ð#Ð#Ý
ˆ6�{„{�aÒÐ˜F 1œI¨šN˜N¨t°A¬w½*Ô:NÒ/NÐ/NØˆØ�4Š4�˜ t°fÀTˆ4ÑJÔJÐJr   z	aten::sumÚ	ReduceSumÚsum)Údecoratez
aten::meanÚ
ReduceMeanÚmeanz
aten::prodÚ
ReduceProdÚprodF)Úallow_multi_dim_supportÚonnx_opr  Úboolc                ó.   — t          j        | ||¦  «        S r  )r   Ú_reduce_with_dtype_helper)r  r  r  s      r  Ú_reduce_with_dtyper    s!   € õ  Ô4Ø�Ð.ñô ð r   zaten::cumsumÚnonec                ó4   — t          j        ddd|¦  «         d S )Nr@   r  rE  ©r   Ú_onnx_opset_unsupported)r)  r1  rB   r‚  s       r  r@   r@   %  s!   € õ Ô+¨H°a¸¸UÑCÔCÐCÐCÐCr   zaten::_sample_dirichletc                ó,   — t          j        d|¦  «        S )NÚ_sample_dirichlet©r   Ú_onnx_unsupported©r)  r>  Ú	generators      r  r  r  +  s   € åÔ,Ð-@À$ÑGÔGÐGr   zaten::_standard_gammac                ó,   — t          j        d|¦  «        S )NÚ_standard_gammar  r  s      r  r  r  0  s   € åÔ,Ð->ÀÑEÔEÐEr   zaten::tc                ó–   — t          j        |¦  «        }|�|dk     r|                      d|¦  «        S |                      d|d¬¦  «        S )NrÃ  ÚIdentityÚ	Transpose)rF  r   ©Úperm_i)r   rœ  r%  )r)  r>  Úranks      r  rô   rô   5  sM   € åÔ+¨DÑ1Ô1€DØ€|�t˜a’x�xð �tŠt�J Ñ%Ô%Ð%Ø�4Š4�˜T¨&ˆ4Ñ1Ô1Ð1r   zaten::numpy_Tc                ó¶   — t          j        |¦  «        }|€J ‚t          t          t	          d|¦  «        ¦  «        ¦  «        }|                      d||¬¦  «        S ©Nr   r"  r#  )r   rœ  r8  ÚreversedÚranger%  )r)  r1  ÚndimÚperms       r  r©   r©   @  sU   € õ Ô+¨EÑ2Ô2€DØÐÐÐÝ•�˜q $™œÑ(Ô(Ñ)Ô)€DØ�4Š4�˜U¨4ˆ4Ñ0Ô0Ð0r   zaten::expandc           
     óš  — t          j        |d¦  «        }t          j        |¦  «        s*|                      dt	          j        |¦  «        ¬¦  «        }nat          j        |¦  «        rMt          j        | t          | |d¦  «        |                      dt	          j	        dg¦  «        ¬¦  «        ¦  «        }t          j        j        }t          | ||¦  «        }t          | ||                      dt	          j	        d¦  «        ¬¦  «        ¦  «        }t          | |                      d||¦  «        ||¦  «        }|                      d||¦  «        S )zXImplement the expand function for a pytorch tensor in ONNX according to specified `size`Úisr`  ra  r   éÿÿÿÿr…  ÚExpand©r   Ú_maybe_get_constrH  r%  rc  Ú
LongTensorÚ_is_packed_listr<  rð   rù   r
   rw  rv  r«   rš   r  )r)  r>  rå   Úimplicitr‚  r¬   Úneg_oness          r  rO   rO   I  s#  € õ Ô+¨D°$Ñ7Ô7€DÝÔ$ TÑ*Ô*ð 
Ø�tŠt�J­Ô(8¸Ñ(>Ô(>ˆtÑ?Ô?ˆˆÝ	Ô	(¨Ñ	.Ô	.ð 
õ Ô.Ø�u�Q˜˜aÑ Ô  !§$¢$ z½5¼<ÈÈÑ;MÔ;M $Ñ"NÔ"Nñ
ô 
ˆõ Ô%Ô+€EÝ�Q˜˜eÑ$Ô$€DÝ�1�d˜AŸDšD µU´\À"Ñ5EÔ5E˜DÑFÔFÑGÔG€HÝ��A—D’D˜ $¨Ñ1Ô1°4¸Ñ>Ô>€DØ�4Š4�˜$ Ñ%Ô%Ð%r   zaten::broadcast_toc           
     óš  — t          j        |d¦  «        }t          j        |¦  «        s*|                      dt	          j        |¦  «        ¬¦  «        }nat          j        |¦  «        rMt          j        | t          | |d¦  «        |                      dt	          j	        dg¦  «        ¬¦  «        ¦  «        }t          j        j        }t          | ||¦  «        }t          | ||                      dt	          j	        d¦  «        ¬¦  «        ¦  «        }t          | |                      d||¦  «        ||¦  «        }|                      d||¦  «        S )Nr-  r`  ra  r   r.  r…  r/  r0  )r)  r>  rå   r‚  r¬   r5  s         r  r)   r)   ^  s#  € õ Ô+¨D°$Ñ7Ô7€DÝÔ$ TÑ*Ô*ð 
Ø�tŠt�J­Ô(8¸Ñ(>Ô(>ˆtÑ?Ô?ˆˆÝ	Ô	(¨Ñ	.Ô	.ð 
õ Ô.Ø�u�Q˜˜aÑ Ô  !§$¢$ z½5¼<ÈÈÑ;MÔ;M $Ñ"NÔ"Nñ
ô 
ˆõ Ô%Ô+€EÝ�Q˜˜eÑ$Ô$€DÝ�1�d˜AŸDšD µU´\À"Ñ5EÔ5E˜DÑFÔFÑGÔG€HÝ��A—D’D˜ $¨Ñ1Ô1°4¸Ñ>Ô>€DØ�4Š4�˜$ Ñ%Ô%Ð%r   zaten::expand_asc                ó–  — t          j        |d¦  «        }t          |t          j        ¦  «        rî|j        }|                     t          j        ¦  «        }g }t          | 	                    ¦   «         ¦  «        D ]¤}t          j
        |                     |¦  «                             |¦  «                             |¦  «        |¦  «        rT|                     |¦  «         |                      d|                     |d¬¦  «                             |¦  «        ¬¦  «        }Œ¥|                      d|¦  «        }|                      d||¦  «        S )Nrô   r`  T)Úkeepdimra  r.  r/  )r   r1  r7  rc  ÚTensorr‚  rû   r’  r)  rB   Úequalr  r  rN   r  r%  )r)  r>  rB  Úself_tÚ	orig_typeÚdimsÚdr9  s           r  rN   rN   r  s  € õ Ô-¨d°CÑ8Ô8€FÝ�&�%œ,Ñ'Ô'ð 	Ø”Lˆ	Ø—’�5œ<Ñ(Ô(ˆØˆÝ�v—z’z‘|”|Ñ$Ô$ð 	ð 	ˆAÝŒ{˜6Ÿ;š; q™>œ>×3Ò3°AÑ6Ô6×@Ò@ÀÑHÔHÈ&ÑQÔQð Ø—’˜A‘”�Ø—t’tØ¨¯ª°DÀ$¨Ñ(GÔ(G×(JÒ(JÈ9Ñ(UÔ(Uð ñ ô �øð �DŠD�˜%Ñ Ô €EØ�4Š4�˜$ Ñ&Ô&Ð&r   zaten::embeddingÚbc                óÂ   — |r!t           j        rt          j        d|¦  «        ‚|dk    r t           j        rt	          j        d¦  «         |                      d||¦  «        S )Nz‚Unsupported: ONNX export of embedding with scale_grad_by_freq=True for training mode. ONNX does not support scaling the gradients.r   z¢Warning: ONNX export of embedding with padding_idx >= 0 for training mode. ONNX does not support not updating the embedding vector at padding_idx during training.ÚGather)r   Úexport_trainingr   rm  ÚwarningsÚwarnr%  )r)  ÚweightÚindicesÚpadding_idxÚscale_grad_by_freqÚsparses         r  rH   rH   …  s{   € ð ð 
�gÔ5ð 
ÝÔ'ðNàñ
ô 
ð 	
ð
 �aÒÐ�GÔ3ÐÝŒðfñ	
ô 	
ð 	
ð �4Š4�˜& 'Ñ*Ô*Ð*r   zaten::embedding_bagc
                ó|   — t          j        |¦  «        st          j        d¦  «        S t          j        d|¦  «        S )Nz%embedding_bag with per_sample_weightsrG   )r   Ú_is_noner  )
r)  Úembedding_matrixrF  ÚoffsetsrH  ÚmoderI  Úper_sample_weightsÚinclude_last_offsetrG  s
             r  rG   rG      sF   € õ Ô#Ð$6Ñ7Ô7ð 
ÝÔ0Ø3ñ
ô 
ð 	
õ Ô,¨_Ð>NÑOÔOÐOr   z
aten::size)Úquantize_outputc                ó>  — |€|                       d|¦  «        S t          j        |d¦  «        dk     rWt          j        |¦  «        }|�At          j        |d¦  «        |z   }|                       dt	          j        |¦  «        ¬¦  «        }t          j        | ||¦  «        S )Nr.  r˜  r   r`  ra  )r%  r   r1  rœ  rc  rù   Ú_size_helper©r)  r>  rB   r%  s       r  rå   rå   ·  s–   € ð €{Ø�tŠt�G˜TÑ"Ô"Ð"ÝÔ'¨¨SÑ1Ô1°AÒ5Ð5ÝÔ/°Ñ5Ô5ˆØÐÝ!Ô2°3¸Ñ<Ô<¸tÑCˆCØ—$’$�z­5¬<¸Ñ+<Ô+<�$Ñ=Ô=ˆCÝÔ'¨¨4°Ñ5Ô5Ð5r   zaten::transposec                óþ   — ||k    r|S t          j        |¦  «        }|�Kt          t          |¦  «        ¦  «        }||         ||         c||<   ||<   |                      d||¬¦  «        S t          j        d|¦  «        ‚)Nr"  r#  zAUnsupported: ONNX export of transpose for tensor of unknown rank.)r   rœ  r8  r)  r%  r   rm  )r)  r>  Údim0Údim1r%  r  s         r  rý   rý   Ä  sŒ   € ð ˆt‚|€|Øˆõ Ô+¨DÑ1Ô1€DØÐÝ•E˜$‘K”KÑ Ô ˆØ!% d¤¨T°$¬ZÐˆˆT‰
�D˜‘JØ�tŠt�K ¨dˆtÑ3Ô3Ð3åÔ'ØOØñ
ô 
ð 	
r   zaten::permuter-  c           	     ó’   — |t          t          dt          |¦  «        ¦  «        ¦  «        k    r|S |                      d||¬¦  «        S r'  )r8  r)  rX  r%  )r)  r>  r=  s      r  r°   r°   Ø  sD   € ð �t•E˜!�S ™YœYÑ'Ô'Ñ(Ô(Ò(Ð(ØˆØ�4Š4�˜T¨$ˆ4Ñ/Ô/Ð/r   z
aten::viewc                ó$   — t          | ||¦  «        S r  )r×   )r)  r>  rå   s      r  r  r  à  s   € õ �1�d˜DÑ!Ô!Ð!r   zaten::view_asc                óP   — |                       d|¦  «        }t          | ||¦  «        S r-  r@  rA  s       r  r  r  æ  s'   € à�DŠD�˜%Ñ Ô €EÝ�1�d˜EÑ"Ô"Ð"r   zaten::unsafe_chunkc                ó$  — |€t          j        dddd|¦  «        S t          j        ||¦  «        }|€t          j        dd|¦  «        S ||z   dz
  |z  }|g||z  z  }||z  }|r|                     |¦  «         |                      d||||¬¦  «        S )	Nr  r  rE  ú'Dynamic number of outputs not supportedúunknown dimension sizerF  ÚSplit©Úsplit_ir6  Úoutputs)r   rJ  r¢  Ú_unimplementedr  r%  )	r)  r>  ÚchunksrB   Ú_outputsrå   Ú
split_sizeÚsplitsÚleftovers	            r  r  r  ì  sÇ   € ð ÐÝÔ?Ø˜A˜rÐ#LÈdñ
ô 
ð 	
õ Ô/°°cÑ:Ô:€DØ€|ÝÔ-ØÐ4°dñ
ô 
ð 	
ð ˜‘- !Ñ#¨Ñ.€JØˆ\˜T ZÑ/Ñ0€FØ�jÑ €HØð  Ø�Š�hÑÔÐØ�4Š4�˜ v°cÀ8ˆ4ÑLÔLÐLr   zaten::splitc                ó  — t          j        ||¦  «        st          j        dddd|¦  «        S t          j        |                     ¦   «         d¦  «        }|                     ¦   «         dk    rt          | ||||¦  «        S t          j        |dd¦  «        }t          j        ||¦  «        }|€ |�||z  }nt          j        dddd	|¦  «        S |g||z  z  }||z  }	|	r| 	                    |	¦  «         |  
                    d
||||¬¦  «        S )Nrì   r  rE  r\  rf  r   r˜  re  z$Unknown dimension size not supportedr^  r_  )r   Ú_is_split_staticrJ  Ú	_node_getr¤  rB   rë   Ú
_get_constr¢  r  r%  )
r)  r>  Úsplit_size_or_sizesrB   rd  Ú	split_valre  rå   rf  rg  s
             r  rì   rì      s8  € õ Ô+Ð,?ÀÑJÔJð 
ÝÔ?Ø�Q˜ÐEÀtñ
ô 
ð 	
õ  Ô)Ð*=×*BÒ*BÑ*DÔ*DÀgÑNÔN€IØ‡}‚}�„˜ÒÐÝ  4Ð)<¸cÀ8ÑLÔLÐLÝ Ô+Ð,?ÀÀlÑSÔS€JåÔ/°°cÑ:Ô:€DØ€|ØÐØ Ñ(ˆDˆDå"ÔCØ˜˜BÐ FÈñô ð ð ˆ\˜T ZÑ/Ñ0€FØ�jÑ €HØð  Ø�Š�hÑÔÐØ�4Š4�˜ v°cÀ8ˆ4ÑLÔLÐLr   zaten::unsafe_splitc                ó(   — t          | ||||¦  «        S r  )rì   )r)  r>  rl  rB   rd  s        r  r  r    s   € õ ��DÐ-¨s°HÑ=Ô=Ð=r   zaten::split_with_sizesc                ó�   — t          j        ||¦  «        st          j        dddd|¦  «        S |                      d||||¬¦  «        S )Nrë   r  rE  r\  r^  r_  )r   ri  rJ  r%  ©r)  r>  Úsplit_sizesrB   rd  s        r  rë   rë   "  sY   € õ Ô+¨K¸ÑBÔBð 
ÝÔ?Ø  2Ð'PÐRVñ
ô 
ð 	
ð �4Š4�˜ {¸3Èˆ4ÑQÔQÐQr   zaten::unsafe_split_with_sizesc                ó(   — t          | ||||¦  «        S r  )rë   rp  s        r  r  r  ,  s   € õ ˜A˜t [°#°xÑ@Ô@Ð@r   zaten::unbindc                ó®   ‡ ‡— |€t          j        dddd|¦  «        S ‰                      d|dg|z  ‰|¬¦  «        }|dk    r|gn|}ˆˆ fd„|D ¦   «         }|S )	Nr   r  rE  r\  r^  rF  r_  c                ó>   •— g | ]}t          j        ‰|‰g¦  «        ‘ŒS r!  )r   Ú_squeeze_helper)r�  r}  rB   r)  s     €€r  r­  zunbind.<locals>.<listcomp>=  s7   ø€ ð ð ð Ø;>�Ô'¨¨3°°Ñ6Ô6ðð ð r   )r   rJ  r%  )r)  r>  rB   rd  ra  Úsqueezed_outputss   ` `   r  r   r   3  s™   øø€ ð ÐÝÔ?Ø�a˜ÐFÈñ
ô 
ð 	
ð �dŠd�7˜D¨1¨#°©.ÀÈhˆdÑWÔW€GØ# qš=˜=ˆwˆiˆi¨g€Gðð ð ð ð ØBIðñ ô Ðð Ðr   zaten::selectc                ó&  — t          j        |¦  «        }t          j        |¦  «        sQ|dk     rK|dk    rt          j        }n|dz   }t          j        | ||g|g|g¬¦  «        }t          j        | ||g¦  «        S |                      d|||¬¦  «        S )z²Implement the select functionality for a pytorch tensor in ONNX.

    Selects elements from the input tensor along the specified `dim` dimension based on the `index` tensor.
    r   r.  rF  ©r  r  r  rA  ©r6  )r   rL  rH  r   r  Ú_slice_helperru  r%  )r)  r>  rB   rj   Ú	end_indexÚ
slice_nodes         r  rß   rß   C  s¨   € õ Ô-¨eÑ4Ô4€EÝÔ% eÑ,Ô,ð 7°5¸1²9°9Ø�BŠ;ˆ;Ý"Ô,ˆIˆIà ™	ˆIÝ$Ô2Øˆt˜3˜%¨¨°y°kð
ñ 
ô 
ˆ
õ Ô.¨q°*¸s¸eÑDÔDÐDð �tŠt�H˜d E°#ˆtÑ6Ô6Ð6r   zaten::squarec                ó0   — |                       d||¦  «        S ©NrG  r/  r—  s     r  rî   rî   Z  s   € à�4Š4��t˜TÑ"Ô"Ð"r   zaten::squeezec                ód  — |€|                       d|¦  «        S t          j        |dd¦  «        }|dk     rxt          j        |¦  «        }|�Lt	          j        dt          |¦  «        z   dz   dz   dz   t          ||z   ¦  «        z   d	z   d
z   ¦  «         ||z  }nt          j        dd|¦  «        S t          j        ||¦  «        }|€^t	          j        dt          |¦  «        z   dz   dz   t          |¦  «        z   dz   dz   dz   dz   ¦  «         t          j	        | ||g¬¦  «        S |dk    rHt	          j        dt          |¦  «        z   dz   dz   t          |¦  «        z   dz   dz   dz   dz   ¦  «         |S t	          j        dt          |¦  «        z   dz   dz   ¦  «         t          j	        | ||g¬¦  «        S )NÚSqueezer˜  rB   r   z'ONNX export squeeze with negative axis ú- might cause the onnx model to be incorrect. ú(Negative axis is not supported in ONNX. úAxis is converted to ú& based on input shape at export time. úCPassing an tensor of different rank in execution will be incorrect.rï   ú%negative axis with unknown input rankz5This model contains a squeeze operation on dimension z on an input z7with unknown shape. Note that if the size of dimension z of the input zVis not 1, the ONNX model will return an error. Opset version 11 supports squeezing on zMnon-singleton dimensions, it is recommended to export this model using opset zversion 11 or higher.©rÿ  rF  z. The size of z%this dimension in the given input is z. The model will zWbe exported without the squeeze node. If the model is intended to be used with dynamic z-input shapes, please use opset version 11 to zexport the model.z. If the model is z_intended to be used with dynamic input shapes, please use opset version 11 to export the model.)
r%  r   rk  rœ  rC  rD  r  rb  r¢  ru  )r)  r>  rB   Úsqueeze_dimr%  Údim_sizes         r  rï   rï   _  ss  € à
€{Ø�tŠt�I˜tÑ$Ô$Ð$å!Ô,¨S°#°uÑ=Ô=€Kà�Q‚€ÝÔ/°Ñ5Ô5ˆØÐÝŒMØ9Ý�kÑ"Ô"ñ#àAñBð =ñ=ð *ñ	*õ
 �k DÑ(Ñ)Ô)ñ*ð ;ñ;ð XñXñ	ô 	ð 	ð ˜4ÑˆKˆKå"Ô1ØÐBÀDñô ð õ Ô3°D¸+ÑFÔF€HØÐÝŒØCÝ�+ÑÔñàñð HñHõ �+ÑÔñ	ð
 ñð gñgð ^ñ^ð &ñ&ñ
	
ô 
	
ð 
	
õ Ô.¨q°$À¸}ÐMÑMÔMÐMØ�!‚|€|ÝŒØCÝ�+ÑÔñàñð 6ñ6õ �(‰mŒmñ	ð
 "ñ"ð hñhð >ñ>ð "ñ"ñ
	
ô 
	
ð 
	
ð ˆå„MØ?Ý
ˆkÑ
Ô
ñ	à
ñ	ð lñ	lñô ð õ Ô*¨1¨d¸K¸=ÐIÑIÔIÐIr   zaten::preluc                ó˜  — t          j        |¦  «        }t          j        |¦  «        }t          |¦  «        }|�a|dk    r5t          j        | |t          t          d|dz
  ¦  «        ¦  «        ¦  «        }n&|dk    r |dgk    rt          j        | |dg¦  «        }d}|�|�||k    sJ d|› d|› �¦   «         ‚|                      d||¦  «        S )NrÃ  rF  r   z)rank(x) should be >= rank(slope) but got z < ÚPRelu)	r   rœ  Ú_get_tensor_sizesrX  r¬  r8  r)  ru  r%  )r)  r>  rE  Ú	self_rankÚweight_sizesÚweight_ranks         r  r´   r´   ž  sî   € åÔ0°Ñ6Ô6€IÝ"Ô4°VÑ<Ô<€LÝ�lÑ#Ô#€KØÐØ�qŠ=ˆ=å$Ô6Ø�6�4¥ a¨°Q©Ñ 7Ô 7Ñ8Ô8ñô ˆFˆFð ˜!Š^ˆ^ °°Ò 3Ð 3å$Ô4°Q¸ÀÀÑDÔDˆFØˆKàÐ Ð!8à˜Ò$Ð$Ð$ØR°yÐRÐRÀ[ÐRÐRñ %Ô$Ð$à�4Š4�˜˜vÑ&Ô&Ð&r   z
aten::siluc                óX   — |                       d||                       d|¦  «        ¦  «        S )NrG  rú  r/  r0  s     r  rã   rã   µ  s&   € à�4Š4��u˜aŸdšd 9¨eÑ4Ô4Ñ5Ô5Ð5r   z
aten::mishc                ó€   — |                       d||                       d|                       d|¦  «        ¦  «        ¦  «        S )NrG  rÞ  ÚSoftplusr/  r0  s     r  r–   r–   º  s4   € à�4Š4��u˜aŸdšd 6¨1¯4ª4°
¸EÑ+BÔ+BÑCÔCÑDÔDÐDr   z
aten::reluc                ó2   — t          j        | d|d¬¦  «        S )NÚRelué   ©Úopset_before©r   Ú_op_with_optional_float_castr0  s     r  rÐ   rÐ   ¿  s'   € õ Ô7Ø	ˆ6�5 rðñ ô ð r   zaten::relu6c                ó&   — t          | |dd¦  «        S )Nr   é   )r0   r0  s     r  rÑ   rÑ   Ç  s   € õ ��E˜1˜aÑ Ô Ð r   z
aten::ceilc                ó.   — |                       d|¦  «        S )NÚCeilr/  r0  s     r  r-   r-   Í  s   € à�4Š4�˜ÑÔÐr   zaten::floorc                ó.   — |                       d|¦  «        S )Nr€  r/  r0  s     r  rT   rT   Ò  r3  r   z	aten::lenc           
     ó¢   — t          | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }t	          j        | |dg¦  «        S ©Nr`  r   ra  )rå   r%  rc  r2  r   ru  )r)  r>  Úsz_0s      r  Ú_lenr¢  ×  sG   € å��4˜Ÿš˜jµ%Ô2BÀAÀ3Ñ2GÔ2G˜ÑHÔHÑIÔI€DÝÔ*¨1¨d°Q°CÑ8Ô8Ð8r   zaten::thresholdc                óæ   — t          j        |¦  «        dk    rt          j        dd|¦  «        S t          j        |¦  «        dk    rt          j        dd|¦  «        S |                      d|¦  «        S )Nr   rú   znon-zero thresholdznon-zero valuer”  )r   rK  rb  r%  )r)  r>  rú   rf  s       r  rú   rú   Ý  sq   € õ Ô˜yÑ)Ô)¨QÒ.Ð.ÝÔ-¨kÐ;OÐQUÑVÔVÐVÝÔ˜uÑ%Ô%¨Ò*Ð*ÝÔ-¨kÐ;KÈTÑRÔRÐRØ�4Š4�˜ÑÔÐr   zaten::leaky_relur1  ú_C.ValueÚnegative_sloper‘  Úinplacec                ó2   — |                       d||¬¦  «        S )NÚ	LeakyRelu©r·  r/  )r)  r1  r¥  r¦  s       r  rs   rs   è  s   € ð �4Š4�˜U¨Nˆ4Ñ;Ô;Ð;r   z	aten::gluc                óÔ   — t          j        ||¦  «        }|�|dz  dk    sJ ‚|                      d||d¬¦  «        \  }}|                      d||                      d|¦  «        ¦  «        S )NrÃ  r   r^  )r6  ra  rG  rú  )r   r¢  r%  )r)  r1  rB   r‰  ÚfirstÚseconds         r  r]   r]   õ  sr   € õ Ô3°E¸3Ñ?Ô?€HØÐØ˜!‰|˜qÒ Ð Ð Ð à—D’D˜ %°¸Q�DÑ?Ô?�M€Eˆ6Ø�4Š4��u˜aŸdšd 9¨fÑ5Ô5Ñ6Ô6Ð6r   zaten::softmaxc           
     óH  — t          j        |¦  «        }|��|dk     r||z   }||dz   k    }|rPt          t          |¦  «        ¦  «        }|d         ||         c||<   |d<   |                      d||¬¦  «        }|dz
  }|                      d||¬¦  «        }|r||                     ¦   «                              ¦   «         dk    rRt          j        |d	d
¦  «        }|                      d|t          j	        |¦  «         
                    ¦   «         ¬¦  «        }|r|                      d||¬¦  «        }|S |                      d||                      d||gd¬¦  «        ¦  «        }|                      d|¦  «        }	t          j        | |	|g¬¦  «        }
|                      d|	|
¦  «        }|r||                     ¦   «                              ¦   «         dk    rRt          j        |d	d
¦  «        }|                      d|t          j	        |¦  «         
                    ¦   «         ¬¦  «        }|S )Nr   rF  r.  r"  r#  ÚSoftmaxry  r$  r˜  r‚  rq  rr  rP  Ú	ReduceMax©rÿ  Ú
keepdims_iÚExpr‡  rp  )r   rœ  r8  r)  r%  r¤  Úkindrk  r
   rw  r|  Ú_reducesum_helper)r)  r1  rB   r‚  Ú	input_dimÚis_transpose_requiredr  rç   Úparsed_dtyperM   r  s              r  rç   rç      s+  € õ.  Ô0°Ñ7Ô7€IØÑà�Š7ˆ7Ø˜c‘/ˆCà )¨S°1©WÒ 4Ðà ð 	 Ý�˜iÑ(Ô(Ñ)Ô)ˆDØ"& r¤(¨D°¬IÐˆD�‰I�t˜B‘xØ—D’D˜ e°D�DÑ9Ô9ˆEØ˜a‘-ˆCà—$’$�y %°�$Ñ4Ô4ˆØð 	�U—Z’Z‘\”\×&Ò&Ñ(Ô(Ð,<Ò<Ð<Ý*Ô5°e¸SÀ'ÑJÔJˆLØ—d’dØØÝ Ô.¨|Ñ<Ô<×FÒFÑHÔHð ñ ô ˆGð !ð 	>Ø—d’d˜;¨¸�dÑ=Ô=ˆGØˆð �DŠD�˜˜qŸtšt K°À¸uÐQR˜tÑSÔSÑTÔT€Eà
�$Š$ˆu�eÑ
Ô
€CÝ
Ô
+¨A¨s¸C¸5Ð
AÑ
AÔ
A€CØ�dŠd�5˜#˜sÑ#Ô#€GØð 
�—’‘”×"Ò"Ñ$Ô$Ð(8Ò8Ð8Ý&Ô1°%¸¸gÑFÔFˆØ—$’$Ø�G¥+Ô";¸LÑ"IÔ"I×"SÒ"SÑ"UÔ"Uð ñ 
ô 
ˆð €Nr   zaten::softplusc                óä   — t          j        |d¦  «        }|dk    r@|                      d|                      d|                      d||¦  «        ¦  «        |¦  «        S |                      d|¦  «        S )Nr\  rF  rp  r’  rG  )r   r1  r%  )r)  r>  rÇ  rú   Ú
beta_consts        r  rè   rè   @  se   € å Ô1°$¸Ñ<Ô<€JØ�Q‚€Ø�tŠt�E˜1Ÿ4š4 
¨A¯DªD°¸¸dÑ,CÔ,CÑDÔDÀdÑKÔKÐKØ�4Š4�
˜DÑ!Ô!Ð!r   zaten::get_pool_ceil_paddingc                ó4  ‡‡‡‡‡‡— t          j        | ¦  «        }|�|t          ‰¦  «         d …         nd Š‰�t          d„ ‰D ¦   «         ¦  «        rt          j        dd| ¦  «        S ˆˆˆˆfd„t          dt          ‰¦  «        ¦  «        D ¦   «         Šˆˆˆˆfd„t          dt          ‰¦  «        ¦  «        D ¦   «         Šˆˆˆˆˆfd„t          dt          ‰¦  «        ¦  «        D ¦   «         Šˆˆˆfd„t          dt          ‰¦  «        ¦  «        D ¦   «         Š‰S )	Nc              3  ó   K  — | ]}|d u V — Œ	d S r  r!  ©r�  r˜  s     r  rŸ  z(get_pool_ceil_padding.<locals>.<genexpr>M  s&   è è € Ð1Ð1¨˜!˜t˜)Ð1Ð1Ð1Ð1Ð1Ð1r   r\   úinput size not accessiblec                óº   •— g | ]W}t          t          j        ‰|         d ‰|         z  z   ‰|         z
  t          ‰|         ¦  «        z  ¦  «        ¦  «        dz   ‘ŒXS ©rÃ  rF  )Úintrð  r-   r‘  )r�  r˜  rB   Úkernel_sizeÚpaddingÚstrides     €€€€r  r­  z)get_pool_ceil_padding.<locals>.<listcomp>Q  sq   ø€ ð ð ð ð õ 	�DŒI�s˜1”v  G¨A¤J¡Ñ.°¸Q´Ñ?Å5ÈÐPQÌÑCSÔCSÑSÑTÔTÑUÔUØ
ñ	ðð ð r   r   c                ó„   •— g | ]<}‰|         d z
  ‰|         z  ‰|         ‰|         z   k    r‰|         d z
  n‰|         ‘Œ=S ©rF  r!  )r�  r˜  Úceiled_output_dimrB   rÂ  rÃ  s     €€€€r  r­  z)get_pool_ceil_padding.<locals>.<listcomp>W  sm   ø€ ð ð ð ð ð $ AÔ&¨Ñ*¨f°Q¬iÑ7¸SÀ¼VÀgÈaÄjÑ=PÒQÐQð ˜aÔ  1Ñ$Ð$à" 1Ô%ð	ð ð r   c                ó–   •— g | ]E}‰|         d k    rdn4‰|         ‰|         d‰|         z  z   ‰|         d z
  ‰|         z  d z   z
  z
  ‘ŒFS ©rF  r   rÃ  r!  )r�  r˜  rÆ  rB   rÁ  rÂ  rÃ  s     €€€€€r  r­  z)get_pool_ceil_padding.<locals>.<listcomp>_  s‚   ø€ ð ð ð ð ð �q”	˜Q’�ð ˆAð ˜A”à˜”FØ˜' !œ*‘nñ%à)¨!Ô,¨qÑ0°F¸1´IÑ=ÀÑAñCñðð ð r   c                óú   •— g | ]w}‰|         d ‰|         z  z   ‰|         k    rB‰|         ‰|         dz
  k     rt          ‰|         ¦  «        n,t          ‰|         dz
  ¦  «        nt          ‰|         ¦  «        ‘ŒxS r¿  ©rÀ  )r�  r˜  rÁ  rÂ  Úpadding_ceils     €€€r  r­  z)get_pool_ceil_padding.<locals>.<listcomp>o  sž   ø€ ð ð ð ð ð ˜a” 1 w¨q¤z¡>Ñ1°{À1´~ÒFÐFð   ”? [°¤^°aÑ%7Ò7Ð7õ �L ”OÑ$Ô$Ð$å˜ Qœ¨!Ñ+Ñ,Ô,Ð,õ �\ !”_Ñ%Ô%ðð ð r   )r   rŒ  rX  Úanyrb  r)  )r1  rÁ  rÃ  rÂ  ÚsizesrÆ  rB   rË  s    ``` @@@r  r\   r\   H  sª  øøøøøø€ õ Ô-¨eÑ4Ô4€EØ$)Ð$5ˆ%•�W‘”���Ô
 Ð
 ¸4€CØ
€{•cÐ1Ð1¨SÐ1Ñ1Ô1Ñ1Ô1€{ÝÔ-Ø#Ð%@À%ñ
ô 
ð 	
ðð ð ð ð ð ð õ �q�#˜g™,œ,Ñ'Ô'ðñ ô Ððð ð ð ð ð ð õ �q�#Ð/Ñ0Ô0Ñ1Ô1ðñ ô Ððð ð ð ð ð ð ð õ �q�#˜g™,œ,Ñ'Ô'ðñ ô €Lð ð ð ð ð ð õ �q�#˜lÑ+Ô+Ñ,Ô,ðñ ô €Lð Ðr   zaten::max_pool1dÚ
max_pool1drF  )Úreturn_indiceszaten::max_pool2dÚ
max_pool2drÃ  zaten::max_pool3dÚ
max_pool3dé   c           	     óš   ‡ ‡‡‡— t          j        dddddd¦  «        t          j        dddddd¦  «        ˆ ˆˆˆfd„¦   «         ¦   «         }|S )NTFr[  r-  r˜  c                ó$  •— t           ‰|¦  «        ¦  «        dhk    rt          j        ‰d|¦  «        S |s|}t           ‰|¦  «        ¦  «        }|r=t	          ||||¦  «        }|t          d„ t          ||¦  «        D ¦   «         ¦  «        z   }n|dz  } ‰|¦  «        | ‰|¦  «        dœ}‰rÐ | j        d|fddi|¤Ž\  }	}
|                      d|dd„ t          ‰¦  «        D ¦   «         d	„ t          ‰¦  «        D ¦   «         ¬
¦  «        \  }}t          j        | |d„ t          ‰¦  «        D ¦   «         t           ‰d¦  «        ¦  «        t           ‰d¦  «        ¦  «        ¬¦  «        }t          | |
|¦  «        }
|	|
fS  | j        d|fddi|¤Ž}	|	S )NrF  Údilationc              3  ó&   K  — | ]\  }}||z   V — Œd S r  r!  ©r�  Úar?  s      r  rŸ  z1_max_pool.<locals>.symbolic_fn.<locals>.<genexpr>¤  s*   è è € Ð%UÐ%U±°°A a¨!¡eÐ%UÐ%UÐ%UÐ%UÐ%UÐ%Ur   rÃ  )Úkernel_shape_iÚpads_iÚ	strides_iÚMaxPoolra  c                ó   — g | ]}d ‘ŒS rÅ  r!  ©r�  Ú_s     r  r­  z2_max_pool.<locals>.symbolic_fn.<locals>.<listcomp>¿  s   € Ð8Ð8Ð8 a Ð8Ð8Ð8r   c                ó   — g | ]}d ‘ŒS rÅ  r!  rÞ  s     r  r­  z2_max_pool.<locals>.symbolic_fn.<locals>.<listcomp>À  s   € Ð3Ð3Ð3 ˜1Ð3Ð3Ð3r   )ra  rÙ  rÛ  c                ó   — g | ]}d |z   ‘ŒS )rÃ  r!  r¼  s     r  r­  z2_max_pool.<locals>.symbolic_fn.<locals>.<listcomp>Æ  s   € Ð2Ð2Ð2 �a˜!‘eÐ2Ð2Ð2r   r   rx  )Úsetr   rb  Útupler\   Úzipr%  r)  rz  r8  ró   )r)  r1  rÁ  rÃ  rÂ  rÕ  Ú	ceil_moderË  ÚkwargsÚrrF  rß  Úflattened_indicesrh  r  ÚndimsrÏ  Útuple_fns                 €€€€r  Úsymbolic_fnz_max_pool.<locals>.symbolic_fnš  sø  ø€ õ ˆxˆx˜Ñ!Ô!Ñ"Ô" q cÒ)Ð)Ý"Ô1°$¸
ÀEÑJÔJÐJØð 	!Ø ˆFÝ˜˜ Ñ)Ô)Ñ*Ô*ˆØð 	"Ý0°¸ÀVÈWÑUÔUˆLØ¥Ð%UÐ%U½#¸lÈGÑ:TÔ:TÐ%UÑ%UÔ%UÑ UÔ UÑUˆGˆGà ‘kˆGà&˜h {Ñ3Ô3ØØ!˜ &Ñ)Ô)ð
ð 
ˆð$ ð 	Ø˜œ˜i¨ÐDÐD¸ÐD¸VÐDÐD‰JˆAˆwØ#$§4¢4ØØØØ8Ð8­5°©<¬<Ð8Ñ8Ô8Ø3Ð3¥e¨E¡l¤lÐ3Ñ3Ô3ð $(ñ $ô $Ñ ˆAÐ õ  Ô-ØØ!Ø2Ð2¥U¨5¡\¤\Ð2Ñ2Ô2Ý˜H˜H Q™KœKÑ(Ô(Ý˜(˜( 1™+œ+Ñ&Ô&ðñ ô ˆAõ ˜!˜W aÑ(Ô(ˆGØ�g�:Ðà�”�Y Ð;Ð;¨qÐ;°FÐ;Ð;ˆAØˆHr   ©r   Úquantized_argsÚ
parse_args)r  rê  ré  rÏ  rë  s   ```` r  Ú	_max_poolrï  ~  s{   øøøø€ õ8 Ô# D¨%°¸¸uÀeÑLÔLÝÔ  T¨4°°t¸SÑAÔAð2ð 2ð 2ð 2ð 2ð 2ð 2ñ BÔAñ MÔLð2ðh Ðr   zaten::max_pool1d_with_indicesrŽ   zaten::max_pool2d_with_indicesr�   zaten::max_pool3d_with_indicesr�   zaten::avg_pool1dÚ
avg_pool1dzaten::avg_pool2dÚ
avg_pool2dzaten::avg_pool3dÚ
avg_pool3dc           
     ó�   ‡ ‡— t          j        d¦  «        t          j        ddddddd¦  «        	 ddˆ ˆfd„¦   «         ¦   «         }|S )NTr[  r-  r˜  r  r1  r¤  rÁ  úSequence[int]rÃ  rÂ  úint | Sequence[int]rå  rÀ  Úcount_include_padc           	     ó¾  •— |s|}t          j        ‰||||‰¦  «        }t          |t          ¦  «        sJ ‚|}|r3t          j        | d|d|z   dz  ddd¬¦  «        }dt          |¦  «        z  }|r=t          ||||¦  «        }	|t          d	„ t          |	|¦  «        D ¦   «         ¦  «        z   }n|dz  }|                      d
| ‰|¦  «         ‰|¦  «        |¬¦  «        }
|
S )NÚPad)r   r   rÃ  Úconstantr´  rE  ©rÚ  Úmode_sÚvalue_fr—  ©r   c              3  ó&   K  — | ]\  }}||z   V — Œd S r  r!  r×  s      r  rŸ  z1_avg_pool.<locals>.symbolic_fn.<locals>.<genexpr>(  s;   è è € ð 8ð 8Ù ˜1˜a��A‘ð8ð 8ð 8ð 8ð 8ð 8r   ÚAveragePool)rÙ  rÛ  rÚ  )	r   Ú_avgpool_helperr7  rã  r™  rX  r\   rä  r%  )r)  r1  rÁ  rÃ  rÂ  rå  rö  Údivisor_overrideÚadjusted_paddingrË  Úoutputr  rê  s              €€r  rë  z_avg_pool.<locals>.symbolic_fn  sN  ø€ ð ð 	!Ø ˆFÝ!Ô1Ø�g˜{¨FÐ4DÀdñ
ô 
ˆõ ˜'¥5Ñ)Ô)Ð)Ð)Ð)Ø"Ðð ð 
	3Ý#Ô@ØØØØ  7Ñ*¨aÑ/Ø!ØØðñ ô ˆEð  $¥c¨'¡l¤lÑ2ÐØð 	4Ý0°¸ÀVÈWÑUÔUˆLØ/µ%ð 8ð 8Ý$'¨Ð6FÑ$GÔ$Gð8ñ 8ô 8ñ 3ô 3ñ  ÐÐð  0°!Ñ3ÐØ—’ØØØ#˜8 KÑ0Ô0Ø�h˜vÑ&Ô&Ø#ð ñ 
ô 
ˆð ˆr   r  )r1  r¤  rÁ  rô  rÃ  rô  rÂ  rõ  rå  rÀ  rö  rÀ  rì  )r  rê  rë  s   `` r  Ú	_avg_poolr  í  su   øø€ õ, Ô# DÑ)Ô)ÝÔ  T¨4°°s¸CÀÑHÔHð ð/ð /ð /ð /ð /ð /ð /ñ IÔHñ *Ô)ð/ðb Ðr   zaten::adaptive_avg_pool1dÚadaptive_avg_pool1drÿ  zaten::adaptive_avg_pool2dÚadaptive_avg_pool2dzaten::adaptive_avg_pool3dÚadaptive_avg_pool3dzaten::adaptive_max_pool1dÚadaptive_max_pool1drÜ  zaten::adaptive_max_pool2dÚadaptive_max_pool2dzaten::adaptive_max_pool3dÚadaptive_max_pool3dc                óT   ‡ ‡‡‡— t          j        dd¦  «        ˆˆ ˆˆfd„¦   «         }|S )NTFc                ó6  •‡‡— ‰}	 t          j        ‰d¦  «        Šn%# t          $ r t          j        d|¦  «        cY S w xY w‰dgt	          ‰¦  «        z  k    r‰dk    r|                      d|¦  «        S t          j        |¦  «        }	 |dd …         Šn# t          $ r d ŠY nw xY w‰�t          d„ ‰D ¦   «         ¦  «        rE‰dgt	          ‰¦  «        z  k    r|                      d|¦  «        d fS t          j        ‰
d	|¦  «        S ˆˆfd
„t          dt	          ‰¦  «        ¦  «        D ¦   «         }|dgt	          |¦  «        z  k    rE‰dgt	          ‰¦  «        z  k    r|                      d|¦  «        d fS t          j        ‰
d|¦  «        S ˆˆfd„t          dt	          ‰¦  «        ¦  «        D ¦   «         }‰dk    r1 ‰	| |||dt	          ‰¦  «        z  dt	          ‰¦  «        z  d¦  «        S |                      ‰| ‰|¦  «         ‰|¦  «        ¬¦  «        }|S )Nr-  z4adaptive pooling, since output_size is not constant.rF  rÿ  ÚGlobalAveragePoolrÃ  c              3  ó   K  — | ]}|d u V — Œ	d S r  r!  r¼  s     r  rŸ  z6_adaptive_pool.<locals>.symbolic_fn.<locals>.<genexpr>–  s&   è è € Ð5Ð5¨A˜a 4˜iÐ5Ð5Ð5Ð5Ð5Ð5r   ÚGlobalMaxPoolr½  c                ó2   •— g | ]}‰|         ‰|         z  ‘ŒS r!  r!  ©r�  r˜  rB   Úoutput_sizes     €€r  r­  z7_adaptive_pool.<locals>.symbolic_fn.<locals>.<listcomp>�  s&   ø€ ÐCÐCÐC¨1ˆs�1Œv˜ AœÑ&ÐCÐCÐCr   r   z-output size that are not factor of input sizec                óL   •— g | ] }t          ‰|         ‰|         z  ¦  «        ‘Œ!S r!  rÊ  r  s     €€r  r­  z7_adaptive_pool.<locals>.symbolic_fn.<locals>.<listcomp>¤  s.   ø€ ÐFÐFÐF¨a�S��Q”˜+ aœ.Ñ(Ñ)Ô)ÐFÐFÐFr   rÜ  rý  rÅ  F)rÙ  rÛ  )
r   Ú
_parse_argÚ	Exceptionr  rX  r%  rŒ  rÌ  rb  r)  )r)  r1  r  Úoutput_size_valuerÍ  r‰  Úkr  rB   Úfnr  rê  Útypes     `     @€€€€r  rë  z#_adaptive_pool.<locals>.symbolic_fny  sŽ  øøø€ ð (Ðð	Ý)Ô4°[À$ÑGÔGˆKˆKøÝð 	ð 	ð 	õ #Ô4ØFÈñô ð ð ð ð	øøøð ˜1˜#¥ KÑ 0Ô 0Ñ0Ò0Ð0°T¸]Ò5JÐ5JØ—4’4Ð+¨UÑ3Ô3Ð3ÝÔ1°%Ñ8Ô8ˆð	Ø˜˜˜”)ˆCˆCøÝð 	ð 	ð 	ð ˆCˆCˆCð	øøøð ˆ;�#Ð5Ð5°Ð5Ñ5Ô5Ñ5Ô5ˆ;Ø˜q˜c¥C¨Ñ$4Ô$4Ñ4Ò4Ð4Ø—t’t˜O¨UÑ3Ô3°TÐ9Ð9Ý"Ô1ØÐ1°5ñô ð ð DÐCÐCÐCÐCµ°a½¸S¹¼Ñ0BÔ0BÐCÑCÔCˆØ�1�#�˜C™œ‘.Ò Ð Ø˜q˜c¥C¨Ñ$4Ô$4Ñ4Ò4Ð4Ø—t’t˜O¨UÑ3Ô3°TÐ9Ð9Ý"Ô1ØÐEÐGXñô ð ð GÐFÐFÐFÐFµ5¸½CÀ¹H¼HÑ3EÔ3EÐFÑFÔFˆà�9ÒÐØ�2�a˜  1 d­S°©X¬X¡o°t½cÀ#¹h¼h±ÈÑNÔNÐNØ—’�d˜E°(°(¸1±+´+ÈÈÐRSÉÌ�ÑUÔUˆØˆs   ‡ �?¾?Â

B ÂB$Â#B$)r   rí  )r  r  rê  r  rë  s   ```` r  Ú_adaptive_poolr  9  sR   øøøø€ õ@ Ô# D¨%Ñ0Ô0ð/ð /ð /ð /ð /ð /ð /ñ 1Ô0ð/ðb Ðr   rB   rÀ  c                ó–   — t          |dd…         ¦  «        dg| dz  t          |¦  «        z
  z  z   }|ddd…         |ddd…         z   }|S )zèGenerate paddings in ONNX order based on pad in pytorch.
    Args:
        dim: the dimension of the tensor.
        pad: the paddings in pytorch.
            The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ...
    Nr   rÃ  éþÿÿÿr.  )r8  rX  )rB   r®   Úpaddingss      r  Ú_prepare_onnx_paddingsr  ®  sW   € õ �C˜˜˜”F‰|Œ|˜q˜c S¨1¡W­s°3©x¬xÑ%7Ñ8Ñ8€Hà˜˜˜B˜Ô (¨2¨6¨r¨6Ô"2Ñ2€HØ€Or   c                ó  — t          j        | d¦  «        }t          j        |¦  «        r^t          j        |¦  «        rJt          j        |¦  «        }	 d„ |D ¦   «         }n(# t
          $ r t          j        dddd| ¦  «        cY S w xY w|S )Nr-  c                ó:   — g | ]}t          j        |d d¦  «        ‘ŒS )r˜  rÂ  )r   rk  )r�  r[  s     r  r­  z)_convert_padding_node.<locals>.<listcomp>Ä  s4   € ð ð ð ØBC•Ô*¨1¨c°9Ñ=Ô=ðð ð r   rø  r  rE  z)The sizes of the padding must be constant)r   r1  rH  r3  r   r  rJ  )r1  rÂ  Ú
input_lists      r  Ú_convert_padding_noder"  ¿  s¿   € ÝÔ.¨u°dÑ;Ô;€GÝÔ  Ñ)Ô)ð ­oÔ.MÈgÑ.VÔ.Vð Ý$Ô1°'Ñ:Ô:ˆ
ð		ðð ØGQðñ ô ˆGˆGøõ ð 	ð 	ð 	õ #ÔCØ�q˜"ÐIÈ5ñô ð ð ð ð	øøøð €Ns   ÁA  Á "BÂBzaten::constant_pad_ndc           	     ó  — d}	 t          j        |dd¦  «        }n(# t          $ r t          j        dddd|¦  «        cY S w xY wt	          |¦  «        }t          t          j        |¦  «        |¦  «        }t          j        | d||||d¬¦  «        S )	Nrù  r\  rf  rø  r  rE  z*The value for the padding must be constantrú  )r   rk  r  rJ  r"  r  rœ  r™  )r)  r1  rÂ  rf  rN  r  s         r  r2   r2   Ð  s½   € à€Dð
ÝÔ*¨5°#°wÑ?Ô?ˆˆøÝð 
ð 
ð 
õ Ô?Ø�1�bÐFÈñ
ô 
ð 	
ð 	
ð 	
ð
øøøõ $ GÑ,Ô,€GÝ%¥oÔ&FÀuÑ&MÔ&MÈwÑWÔW€HÝÔ7Ø	ˆ5�% °¸uÐSUðñ ô ð s   „ ›"A ¿A r®   c                ó  — t          |¦  «        }t          |¦  «        dz  dk    sJ ‚t          |¦  «        dz  }|}t          |¦  «        D �]9}|d|z  dz             }|d|z  dz             }g }	|dk    r?t          j        | |d|z   g| gt
          j        g¬¦  «        }
|	                     |
¦  «         |dk     s|dk     rbt          j	        d| ¦  «        }t          j	        d| ¦  «         }t          j        | |d|z   g|g|g¬¦  «        }|	                     |¦  «         n|	                     |¦  «         |dk    r4t          j        | |d|z   gdg|g¬¦  «        }|	                     |¦  «          | j
        dg|	¢R dd|z   iŽ}�Œ;|S )NrÃ  r   rF  rx  r5  r6  )r"  rX  r)  r   rz  r   r  r  Úbuiltinsr‘   r%  )r)  r1  r®   rÂ  r*  ÚcurÚidxÚpad_rÚpad_lr¨  ÚleftÚstartÚendÚmiddleÚrights                  r  Ú_pad_circularr/  ã  sÙ  € Ý# CÑ(Ô(€GÝˆw‰<Œ<˜!Ñ˜qÒ Ð Ð Ð Ýˆw‰<Œ<˜1Ñ€Dà
€CÝ�T‰{Œ{ð 9ñ 9ˆØ˜!˜c™' A™+˜Ô'ˆØ˜!˜c™' A™+˜Ô'ˆØˆØ�1Š9ˆ9Ý"Ô0Ø�3˜a #™g˜Y°%°¨zÅÔAUÐ@Vðñ ô ˆDð �NŠN˜4Ñ Ô Ð à�1Š9ˆ9˜ š	˜	Ý”L  U FÑ+Ô+ˆEÝ”L  U FÑ+Ô+Ð,ˆCÝ$Ô2ØØØ˜#‘g�YØ�wØ�Uðñ ô ˆFð �NŠN˜6Ñ"Ô"Ð"Ð"à�NŠN˜3ÑÔÐà�1Š9ˆ9Ý#Ô1Ø�3˜a #™g˜Y°¨s¸%¸ðñ ô ˆEð �NŠN˜5Ñ!Ô!Ð!àˆaŒd�8Ð8˜gÐ8Ð8Ð8¨q°3©wÐ8Ð8ˆ‰à€Jr   zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                óœ   — d}t          |¦  «        }t          t          j        |¦  «        |¦  «        }t          j        | d|||d¬¦  «        S )NÚreflectrø  rE  ©rÚ  rû  r—  ©r"  r  r   rœ  r™  ©r)  r1  rÂ  rN  r  s        r  rÏ   rÏ     sW   € ð €DÝ# GÑ,Ô,€GÝ%¥oÔ&FÀuÑ&MÔ&MÈwÑWÔW€HÝÔ7Ø	ˆ5�% °ÀBðñ ô ð r   zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                óœ   — d}t          |¦  «        }t          t          j        |¦  «        |¦  «        }t          j        | d|||d¬¦  «        S )NÚedgerø  rE  r2  r3  r4  s        r  rÕ   rÕ     sW   € ð €DÝ# GÑ,Ô,€GÝ%¥oÔ&FÀuÑ&MÔ&MÈwÑWÔW€HÝÔ7Ø	ˆ5�% °ÀBðñ ô ð r   z	aten::padrN  rf  c                ó  — t          j        |d¦  «        }|dk    rt          | ||¦  «        S |dk    rt          | ||¦  «        S |dk    rt	          | |||¦  «        S |dk    rt          | ||¦  «        S t          j        d|› �|¦  «        ‚)Nrh  Ú	replicater1  rù  ÚcircularzUnrecognized padding mode )r   r  rÕ   rÏ   r2   r/  r   rm  )r)  r1  r®   rN  rf  s        r  r®   r®   $  s¨   € õ Ô% d¨CÑ0Ô0€DØˆ{ÒÐÝ˜q %¨Ñ-Ô-Ð-Ø	�Ò	Ð	Ý˜a ¨Ñ,Ô,Ð,Ø	�Ò	Ð	Ý˜q %¨¨eÑ4Ô4Ð4Ø	�Ò	Ð	Ý˜Q  sÑ+Ô+Ð+åÔ'Ð(KÀTÐ(KÐ(KÈUÑSÔSÐSr   zaten::upsample_nearest1dÚupsample_nearest1dÚnearestzaten::upsample_nearest2dÚupsample_nearest2dé   zaten::upsample_nearest3dÚupsample_nearest3dé   zaten::upsample_linear1dÚupsample_linear1drz   zaten::upsample_bilinear2dÚupsample_bilinear2dzaten::upsample_trilinear3dÚupsample_trilinear3dÚinterpolate_modec                ó   ‡ ‡‡— ˆˆˆ fd„}|S )Nc                ó  •— t          j        | ‰|¦  «        \  }}t          j        ‰¦  «         t          j        |¦  «        }|rt          j        ‰d|¦  «        S |€t          j        | ||‰¦  «        }|                      d||‰¬¦  «        S )Nzalign_corners == TrueÚUpsample©rû  )r   Ú_get_interpolate_attributesÚ_interpolate_warningrL  rb  Ú_interpolate_size_to_scalesr%  )	r)  r1  r  rZ  ÚscalesÚalign_cornersrB   rC  r  s	         €€€r  rë  z!_interpolate.<locals>.symbolic_fnd  s£   ø€ Ý /Ô KØÐ ñ!
ô !
Ñˆ�õ 	Ô,Ð-=Ñ>Ô>Ð>Ý'Ô9¸-ÑHÔHˆØð 	XÝ"Ô1°$Ð8OÐQVÑWÔWÐWØˆ>Ý$Ô@Ø�5˜+ sñô ˆFð �tŠt�J  vÐ6FˆtÑGÔGÐGr   r!  )r  rB   rC  rë  s   ``` r  Ú_interpolaterM  9  s8   øøø€ ðVHð Hð Hð Hð Hð Hð Hð Ðr   zaten::__interpolatec                ól   — t          j        | |||||¦  «        \  }}|                      d|||¬¦  «        S )NrF  rG  )r   Ú _interpolate_get_scales_and_moder%  )	r)  r1  rå   Úscale_factorrN  rL  Úrecompute_scale_factorÚ	antialiasrK  s	            r  Ú__interpolaterS  u  sC   € õ #ÔCØ	ˆ5�$˜ d¨Mñô �L€FˆDð �4Š4�
˜E 6°$ˆ4Ñ7Ô7Ð7r   zaten::bitwise_notc                ó€   — t          j        |¦  «        st          j        d|¦  «        ‚|                      d|¦  «        S ©NzOONNX export does NOT support exporting bitwise Not for non-boolean input valuesr„  ©r   rT  r   rm  r%  r0  s     r  r%   r%   †  sH   € åÔ# EÑ*Ô*ð 
ÝÔ'ð+àñ
ô 
ð 	
ð
 �4Š4��uÑÔÐr   zaten::bitwise_orc                óÔ   — t          j        |¦  «        st          j        d|¦  «        ‚t          j        |¦  «        st          j        d|¦  «        ‚|                      d||¦  «        S )NzVONNX export does NOT support exporting bitwise OR for non-boolean input values. self: zWONNX export does NOT support exporting bitwise OR for non-boolean input values. other: ÚOrrV  rU  s      r  r&   r&   ‘  s|   € åÔ# DÑ)Ô)ð 
ÝÔ'ð3àñ
ô 
ð 	
õ
 Ô# EÑ*Ô*ð 
ÝÔ'ð4àñ
ô 
ð 	
ð
 �4Š4��d˜EÑ"Ô"Ð"r   c                ó   ‡ — ˆ fd„}|S )Nc                óJ   •‡ — t          j        ‰ ¦  «        ˆ ˆfd„¦   «         }|S )Nc           	     óx   •— t          ¦   «         d‰› �         } ‰|  || |d¦  «         || |d¦  «        ¦  «        S )NÚ_cast_F)r  )r)  r1  rB  Úto_cast_funcr  Úto_types       €€r  Úwrap_with_castzGwrap_logical_op_with_cast_to.<locals>.decorator.<locals>.wrap_with_cast¤  sJ   ø€ å"™9œ9Ð%7¨gÐ%7Ð%7Ô8ˆLØ�2�a˜˜ a¨°Ñ6Ô6¸¸ÀQÈÈuÑ8UÔ8UÑVÔVÐVr   ©Ú	functoolsÚwraps)r  r_  r^  s   ` €r  Ú	decoratorz/wrap_logical_op_with_cast_to.<locals>.decorator£  sE   øø€ Ý	Œ˜Ñ	Ô	ð	Wð 	Wð 	Wð 	Wð 	Wñ 
Ô	ð	Wð Ðr   r!  )r^  rc  s   ` r  r  r  ¢  s$   ø€ ðð ð ð ð ð Ðr   r  r   Úreturnc                óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                óF   •— |                       d ‰| ||¦  «        ¦  «        S )Nr„  r/  )r)  r1  rB  r  s      €r  Úwrap_with_notz4wrap_logical_op_with_negation.<locals>.wrap_with_not¯  s%   ø€ à�tŠt�E˜4˜4  5¨%Ñ0Ô0Ñ1Ô1Ð1r   r`  )r  rg  s   ` r  r  r  ®  s9   ø€ Ý„_�TÑÔð2ð 2ð 2ð 2ñ Ôð2ð Ðr   zaten::__not_c                ó€   — t          j        |¦  «        st          j        d|¦  «        ‚|                      d|¦  «        S rU  rV  r—  s     r  Ú__not_ri  ¶  sH   € åÔ# DÑ)Ô)ð 
ÝÔ'ð+àñ
ô 
ð 	
ð
 �4Š4��tÑÔÐr   zaten::eqc           	     ó,  — t          |                     ¦   «         t          j        ¦  «        rat          |                     ¦   «         t          j        ¦  «        r5|                      dt          j        dt
          j        ¬¦  «        ¬¦  «        S |                     ¦   «         }|                     ¦   «         }| 	                    ¦   «         | 	                    ¦   «         cxk    rdk    r˜n n•| 
                    d¦  «        | 
                    d¦  «        cxk    rdk    rbn n_|                      dt          j        |                     d¦  «        |                     d¦  «        k    t
          j        ¬¦  «        ¬¦  «        S |                      d||¦  «        S )	Nr`  Tr�  ra  úonnx::Constantrf  rh  r…  )r7  r  r   ÚDeviceObjTyper%  rc  rù   r  r¤  r³  ÚkindOfrh  )r)  r>  rB  Ú	self_nodeÚ
other_nodes        r  rK   rK   Á  sm  € õ �$—)’)‘+”+�rÔ/Ñ0Ô0ð NµZØ�
Š
‰Œ•bÔ&ñ6ô 6ð Nð
 �tŠt�J­¬°TÅÄÐ(LÑ(LÔ(LˆtÑMÔMÐMØ—	’	‘”€IØ—’‘”€JØ‡~‚~ÑÔ˜:Ÿ?š?Ñ,Ô,Ð@Ð@Ò@Ð@Ð0@Ò@Ð@Ð@Ð@Ð@Ø×Ò˜GÑ$Ô$¨
×(9Ò(9¸'Ñ(BÔ(BÐIÐIÒIÐIÀcÒIÐIÐIÐIÐIð —4’4ØÝœØ—K’K Ñ(Ô(¨J¯LªL¸Ñ,AÔ,AÒAÝœ*ðñ ô ð ñ ô ð ð �4Š4�˜˜uÑ%Ô%Ð%r   zaten::nec                ó$   — t          | ||¦  «        S r  )rK   rU  s      r  rŸ   rŸ   Ü  s   € õ ˆa��uÑÔÐr   zaten::gtc                ó$   — t          | ||¦  «        S r  ©Ú_gt_impl©r)  r1  rB  s      r  r_   r_   ã  ó   € õ �A�u˜eÑ$Ô$Ð$r   c                ó  — t          j        |¦  «        rbt          j        |¦  «        rN|                      d|t          j        j        ¬¦  «        }|                      d|t          j        j        ¬¦  «        }|                      d||¦  «        S )Nrq  rr  rí  ©r   rT  r%  rt  ru  ÚINT32rt  s      r  rs  rs  é  sy   € ÝÔ Ñ&Ô&ð L­?Ô+CÀEÑ+JÔ+Jð LØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ�4Š4�	˜5 %Ñ(Ô(Ð(r   zaten::ltc                ó$   — t          | ||¦  «        S r  ©Ú_lt_implrt  s      r  rŠ   rŠ   ð  ru  r   c                ó  — t          j        |¦  «        rbt          j        |¦  «        rN|                      d|t          j        j        ¬¦  «        }|                      d|t          j        j        ¬¦  «        }|                      d||¦  «        S )Nrq  rr  rï  rw  rt  s      r  r{  r{  ö  sy   € ÝÔ Ñ&Ô&ð L­?Ô+CÀEÑ+JÔ+Jð LØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ�4Š4�˜˜uÑ%Ô%Ð%r   zaten::gec                ó$   — t          | ||¦  «        S r  rz  rt  s      r  rZ   rZ   ý  ó   € õ �A�u˜eÑ$Ô$Ð$r   zaten::lec                ó$   — t          | ||¦  «        S r  rr  rt  s      r  rr   rr     r~  r   zaten::__and_c                óÔ   — t          j        |¦  «        st          j        d|¦  «        ‚t          j        |¦  «        st          j        d|¦  «        ‚|                      d||¦  «        S )NzOONNX export does NOT support exporting bitwise AND for non-boolean input valuesrS  rV  rt  s      r  Ú__and_r�    ó|   € åÔ# EÑ*Ô*ð 
ÝÔ'ð+àñ
ô 
ð 	
õ
 Ô# EÑ*Ô*ð 
ÝÔ'ð+àñ
ô 
ð 	
ð
 �4Š4��u˜eÑ$Ô$Ð$r   zaten::__or_c                óÔ   — t          j        |¦  «        st          j        d|¦  «        ‚t          j        |¦  «        st          j        d|¦  «        ‚|                      d||¦  «        S )NzNONNX export does NOT support exporting bitwise OR for non-boolean input valuesrX  rV  rt  s      r  Ú__or_r„    s|   € åÔ# EÑ*Ô*ð 
ÝÔ'ð+àñ
ô 
ð 	
õ
 Ô# EÑ*Ô*ð 
ÝÔ'ð+àñ
ô 
ð 	
ð
 �4Š4��e˜UÑ#Ô#Ð#r   zaten::__xor_c                óÔ   — t          j        |¦  «        st          j        d|¦  «        ‚t          j        |¦  «        st          j        d|¦  «        ‚|                      d||¦  «        S )NzOONNX export does NOT support exporting bitwise XOR for non-boolean input valuesrƒ  rV  rt  s      r  Ú__xor_r†  -  r‚  r   zaten::logical_andÚBoolc                ó0   — |                       d||¦  «        S )NrS  r/  rt  s      r  r‚   r‚   >  ó   € ð �4Š4��u˜eÑ$Ô$Ð$r   zaten::logical_orc                ó0   — |                       d||¦  «        S )NrX  r/  rt  s      r  r„   r„   D  s   € ð �4Š4��e˜UÑ#Ô#Ð#r   zaten::logical_xorc                ó0   — |                       d||¦  «        S )Nrƒ  r/  rt  s      r  r…   r…   J  r‰  r   zaten::logical_notc                óx   — |                       d|                       d|t          j        j        ¬¦  «        ¦  «        S )Nr„  rq  rr  ©r%  rt  ru  ÚBOOLr0  s     r  rƒ   rƒ   P  s.   € à�4Š4��q—t’t˜F EµÔ0KÔ0P�tÑQÔQÑRÔRÐRr   zaten::__rshift_c                óŽ  — t           j                             |¦  «        }t           j                             |t           j        j        ¦  «        |k    r*|                      d||                     ¦   «         ¬¦  «        }|                      dt          j        dt          j        ¬¦  «        ¬¦  «        }t          j
        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|                      d||¦  «        }|                      d||                     ¦   «         ¬¦  «        }|                      d||¦  «        }|S )	Nrq  rr  r`  rÃ  r�  ra  ÚPowrp  ©r
   rw  rx  ry  r%  r|  rc  rù   Úfloat32r   rz  rt  ru  r{  )r)  r>  rB  rÈ  ÚtwoÚtwo_powÚrshifts          r  Ú	__rshift_r–  U  ó*  € õ #Ô0×;Ò;¸DÑAÔAÐåÔ!×,Ò,¨UµKÔ4MÔ4WÑXÔXØò	ð 	ð —’ØØØ!×+Ò+Ñ-Ô-ð ñ 
ô 
ˆð �$Š$ˆz¥5¤<°½¼Ð#GÑ#GÔ#Gˆ$Ñ
HÔ
H€CåÔ! $Ñ'Ô'ð LØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ�dŠd�5˜#˜uÑ%Ô%€GØ�dŠdØØØ×'Ò'Ñ)Ô)ð ñ ô €Gð
 �TŠT�%˜˜wÑ'Ô'€FØ€Mr   zaten::__lshift_c                óŽ  — t           j                             |¦  «        }t           j                             |t           j        j        ¦  «        |k    r*|                      d||                     ¦   «         ¬¦  «        }|                      dt          j        dt          j        ¬¦  «        ¬¦  «        }t          j
        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|                      d||¦  «        }|                      d||                     ¦   «         ¬¦  «        }|                      d||¦  «        }|S )	Nrq  rr  r`  rÃ  r�  ra  r�  rG  r‘  )r)  r>  rB  rÈ  r“  r”  Úlshifts          r  Ú	__lshift_rš  r  r—  r   zaten::wherec           
     óH  — t          j        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|€Nt          | |¦  «        }t          j        | ||                      dt          j	        d¦  «        ¬¦  «        |¦  «        S |                      d|||¦  «        S )Nrq  rr  r`  rF  ra  rî  )
r   rT  r%  rt  ru  rŽ  r¦   Ú_unbind_helperrc  rù   )r)  Ú	conditionr>  rB  rd  s        r  r  r  �  s™   € õ Ô# IÑ.Ô.ð SØ—D’D˜ µÔ1LÔ1Q�DÑRÔRˆ	Ø€|Ý˜A˜yÑ)Ô)ˆ	ÝÔ-Øˆy˜!Ÿ$š$˜zµ5´<À±?´?˜$ÑCÔCÀXñ
ô 
ð 	
ð �4Š4�˜ D¨%Ñ0Ô0Ð0r   zaten::log_softmaxc                óˆ  — t          j        |¦  «        }|€t          j        dd¦  «        S |dk     r||z   }||dz   k    }|rPt          t	          |¦  «        ¦  «        }|d         ||         c||<   |d<   |                      d||¬¦  «        }|dz
  }|                      d||¬	¦  «        }|r||                     ¦   «                              ¦   «         d
k    rRt          j        |dd¦  «        }|                      d|t          j
        |¦  «                             ¦   «         ¬¦  «        }|r|                      d||¬¦  «        }|S )NrB   úfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.r   rF  r.  r"  r#  Ú
LogSoftmaxry  r$  r˜  r‚  rq  rr  )r   rœ  rb  r8  r)  r%  r¤  r³  rk  r
   rw  r|  )	r)  r1  rB   r‚  rµ  r¶  r  Ú	return_opr·  s	            r  r}   r}   �  sb  € õ  Ô0°Ñ7Ô7€IØÐÝÔ-Øð7ñ
ô 
ð 	
ð
 ˆQ‚w€wØ˜#‰oˆØ%¨¨q©Ò0Ðàð Ý•E˜)Ñ$Ô$Ñ%Ô%ˆØ" 2œh¨¨S¬	ÐˆˆS‰	�4˜‘8Ø—’�[ %°�Ñ5Ô5ˆØ˜!‰mˆØ—’�\ 5°�Ñ5Ô5€IØð 
�—’‘”×"Ò"Ñ$Ô$Ð(8Ò8Ð8Ý&Ô1°%¸¸gÑFÔFˆØ—D’DØ�I¥KÔ$=¸lÑ$KÔ$K×$UÒ$UÑ$WÔ$Wð ñ 
ô 
ˆ	ð ð >Ø—D’D˜ i¸�DÑ=Ô=ˆ	ØÐr   zaten::_log_softmaxc                óú   — |rit           j                             |t           j        j        ¦  «        t           j        j        k    r'|                      d|t          j        j        ¬¦  «        }t          | ||¦  «        S ©Nrq  rr  )
r
   rw  rx  ry  ÚHALFr%  rt  ru  r{  r}   )r)  r1  rB   Úhalf_to_floats       r  Ú_log_softmaxr¦  ¾  st   € ð 	ðLåÔ%×0Ò0Ø•;Ô,Ô6ñ
ô 
õ Ô$Ô)ò*ð *ð
 —’�V˜U­Ô)DÔ)J�ÑKÔKˆÝ�q˜% Ñ%Ô%Ð%r   zaten::_convolutionc                ó²  — t          j        |¦  «        }	 |dd …         }n# t          $ r d }Y nw xY w|�t          d„ |D ¦   «         ¦  «        rt	          j        d|¦  «        ‚||g}t          j        |¦  «        s-t          j        |¦  «        dk    r|                     |¦  «         |dd …         |||z   ||	dœ}t          d„ |D ¦   «         ¦  «        r+|sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚||d<    | j
        |rdnd	g|¢R i |¤Ž}t          j        |¦  «        s/t          j        |¦  «        dk    r|  
                    d
||¦  «        S |S )NrÃ  c              3  ó   K  — | ]}|d u V — Œ	d S r  r!  r¼  s     r  rŸ  z_convolution.<locals>.<genexpr>è  ó&   è è € Ð"CÐ"C° 1¨ 9Ð"CÐ"CÐ"CÐ"CÐ"CÐ"Cr   úDUnsupported: ONNX export of convolution for kernel of unknown shape.rF  )rÙ  rÛ  rÚ  Údilations_iÚgroup_ic              3  ó"   K  — | ]
}|d k    V — ŒdS r›  r!  )r�  Úos     r  rŸ  z_convolution.<locals>.<genexpr> 	  s&   è è € Ð
*Ð
*�aˆ1�Š6Ð
*Ð
*Ð
*Ð
*Ð
*Ð
*r   Úoutput_padding_iÚConvTransposeÚConvrD  )r   rŒ  r  rÌ  r   rm  rK  rœ  r  rX  r%  )r)  r1  rE  ÚbiasrÃ  rÂ  rÕ  Ú
transposedÚoutput_paddingÚgroupsÚ	benchmarkÚdeterministicÚcudnn_enabledÚ
allow_tf32Úweight_sizeÚkernel_shaperZ  ræ  r*  s                      r  Ú_convolutionr¼  Ì  sÉ  € õ( "Ô3°FÑ;Ô;€KðØ" 1 2 2”ˆˆøÝð ð ð ð ˆˆˆðøøøð
 Ð�sÐ"CÐ"C°lÐ"CÑ"CÔ"CÑCÔCÐÝÔ'ØRØñ
ô 
ð 	
ð
 �6ˆ?€Dõ Ô$ TÑ*Ô*ðåÔ,¨TÑ2Ô2°aÒ7Ð7à�Š�DÑÔÐð & a b bœ/Øð ˜GÑ#ØØðð €Fõ Ð
*Ð
*˜>Ð
*Ñ
*Ô
*Ñ*Ô*ð 4ð ÐÐˆzÝ�6‰{Œ{�c .Ñ1Ô1Ò1Ð1Ð1Ð1Ø%3ˆÐ!Ñ"àˆŒ 
Ð6ˆ_ˆ_°ÐH¸ÐHÐHÐHÀÐHÐH€Aõ Ô$ TÑ*Ô*ðåÔ,¨TÑ2Ô2°aÒ7Ð7à�tŠt�E˜1˜dÑ#Ô#Ð#àˆó   –
! ¡0¯0zaten::_convolution_modec                ó>  — t          j        |¦  «        }	 |dd …         }	n# t          $ r d }	Y nw xY w|	�t          d„ |	D ¦   «         ¦  «        rt	          j        d|¦  «        ‚||g}
t          j        |¦  «        s-t          j        |¦  «        dk    r|
                     |¦  «         |dk    rd}n|dk    rd}|dd …         ||||d	œ} | j	        d
g|
¢R i |¤Ž}t          j        |¦  «        s/t          j        |¦  «        dk    r|  	                    d||¦  «        S |S )NrÃ  c              3  ó   K  — | ]}|d u V — Œ	d S r  r!  r¼  s     r  rŸ  z$_convolution_mode.<locals>.<genexpr>/	  r©  r   rª  rF  ÚvalidÚVALIDÚsameÚ
SAME_UPPER)rÙ  rÛ  Ú
auto_pad_sr«  r¬  r±  rD  )
r   rŒ  r  rÌ  r   rm  rK  rœ  r  r%  )r)  r1  rE  r²  rÃ  rÂ  rÕ  rµ  rº  r»  rZ  ræ  r*  s                r  Ú_convolution_moderÅ  	  sƒ  € õ( "Ô3°FÑ;Ô;€KðØ" 1 2 2”ˆˆøÝð ð ð ð ˆˆˆðøøøð
 Ð�sÐ"CÐ"C°lÐ"CÑ"CÔ"CÑCÔCÐÝÔ'ØRØñ
ô 
ð 	
ð
 �6ˆ?€Dõ Ô$ TÑ*Ô*ðåÔ,¨TÑ2Ô2°aÒ7Ð7à�Š�DÑÔÐà�'ÒÐØˆˆØ	�FÒ	Ð	Øˆà% a b bœ/ØØØØðð €Fð 	ˆŒˆVÐ%�dÐ%Ð%Ð%˜fÐ%Ð%€Aõ Ô$ TÑ*Ô*ðåÔ,¨TÑ2Ô2°aÒ7Ð7à�tŠt�E˜1˜dÑ#Ô#Ð#àˆr½  zaten::convolutionc
                ó:   — t          | |||||||||	d d d d ¦  «        S r  ©r¼  )
r)  r1  rE  r²  rÃ  rÂ  rÕ  r³  r´  rµ  s
             r  r<   r<   T	  s@   € õ Ø	ØØØØØØØØØØØØØñô ð r   zaten::conv1dc                óÂ   — t          j        |d¦  «        }|dv rt          | |||||||¦  «        S t          j        |d¦  «        }t          | ||||||dd|d d d d ¦  «        S ©Nrh  )rÀ  rÂ  r-  Fr!  ©r   r  rÅ  r¼  ©	r)  r1  rE  r²  rÃ  rÂ  rÕ  rµ  Ústr_paddings	            r  r8   r8   t	  óœ   € õ
 "Ô,¨W°cÑ:Ô:€KØÐ'Ð'Ð'Ý ØØØØØØØØñ	
ô 	
ð 		
õ "Ô,¨W°dÑ;Ô;ˆÝØØØØØØØØØØØØØØñ
ô 
ð 	
r   zaten::conv2dc                óÂ   — t          j        |d¦  «        }|dv rt          | |||||||¦  «        S t          j        |d¦  «        }t          | ||||||dd|d d d d ¦  «        S rÉ  rÊ  rË  s	            r  r9   r9   ™	  rÍ  r   zaten::conv3dc                óÂ   — t          j        |d¦  «        }|dv rt          | |||||||¦  «        S t          j        |d¦  «        }t          | ||||||dd|d d d d ¦  «        S rÉ  rÊ  rË  s	            r  r:   r:   ¾	  rÍ  r   zaten::conv_transpose1dc	                ó:   — t          | ||||||d||d d d d ¦  «        S ©NTrÇ  ©	r)  r1  rE  r²  rÃ  rÂ  r´  rµ  rÕ  s	            r  r5   r5   ã	  ó@   € õ Ø	ØØØØØØØØØØØØØñô ð r   zaten::conv_transpose2dc	                ó:   — t          | ||||||d||d d d d ¦  «        S rÑ  rÇ  rÒ  s	            r  r6   r6   
  rÓ  r   zaten::conv_transpose3dc	                ó:   — t          | ||||||d||d d d d ¦  «        S rÑ  rÇ  rÒ  s	            r  r7   r7   !
  rÓ  r   zaten::batch_normc
                óº  — t          j        |d¦  «         t          j        ¦   «         rAt          j        |||||g¦  «        s(t
          j        dk     rt          j        dddd|¦  «        S t          j        | |||||¦  «        \  }}}}|  	                    d||||||d|z
  |sdnd¬¦	  «	        }
|s|
S |
\  }}}}}| 
                    |                     ¦   «         ¦  «         | 
                    |                     ¦   «         ¦  «         |                     d	|                     ¦   «         z   ¦  «         |                     d	|                     ¦   «         z   ¦  «         |S )
Nr#   é   ÚBatchNormalizationr  zaAll input tensors must have the same `dtype`. Turn off Autocast or export using opset version 15.rF  r?  )Ú	epsilon_fÚ
momentum_fra  zbatch_norm_dead_output-)r   Úcheck_training_moderc  Úis_autocast_enabledÚargs_have_same_dtyper   Úexport_onnx_opset_versionrJ  Ú_batchnorm_helperr%  r&  r  ÚsetDebugNameÚ	debugName)r)  r1  rE  r²  Úrunning_meanÚrunning_varÚtrainingÚmomentumÚepsr¸  r}  ÚresÚnew_running_meanÚnew_running_varÚ
saved_meanÚ	saved_vars                   r  r#   r#   @
  s¡  € õ Ô'¨°,Ñ?Ô?Ð?õ 	Ô!Ñ#Ô#ð
åÔ4Ø�F˜D ,°Ð<ñ
ô 
ð
õ
 Ô-°Ò2Ð2åÔ?Ø ØØðCàñ
ô 
ð 	
õ />Ô.OØ	ˆ5�&˜$ ¨kñ/ô /Ñ+€FˆD�, ð �$Š$ØØØØØØØØ�x‘<Ø!Ð(�� qð ñ 
ô 
€Cð ð Øˆ
àHKÑEˆÐ˜°
¸IØ× Ò  ×!2Ò!2Ñ!4Ô!4Ñ5Ô5Ð5Ø×Ò × 0Ò 0Ñ 2Ô 2Ñ3Ô3Ð3Ø×ÒÐ 9¸J×<PÒ<PÑ<RÔ<RÑ RÑSÔSÐSØ×ÒÐ8¸9×;NÒ;NÑ;PÔ;PÑPÑQÔQÐQØˆ
r   zaten::native_layer_normÚnormalized_shaperô  rE  r²  ræ  ú#tuple[_C.Value, _C.Value, _C.Value]c                ó|  — d„ t          t          |¦  «        dd¦  «        D ¦   «         }t          j        | d¦  «        }t          j        | |¦  «        }| j        dk     r|                      d||¬¦  «        }	nJ|                      d||                      dt          j        |t          j        ¬	¦  «        ¬
¦  «        ¦  «        }	t          | ||	¦  «        }
t          j                             |
¦  «        t          j        j        k    }|r[t          j                             |¦  «        }|                      d|
t          j        |¦  «                             ¦   «         ¬¦  «        }
| j        dk     r(|                      dt          | |
|¦  «        |¬¦  «        }nY|                      dt          | |
|¦  «        |                      dt          j        |t          j        ¬	¦  «        ¬
¦  «        ¦  «        }t!          | |                      d||¦  «        ¦  «        }|                      d|
|¦  «        }|r[t          j                             |¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        }|�%t          j        |¦  «        st%          | ||¦  «        }|�%t          j        |¦  «        st'          | ||¦  «        }|rS|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        }|                      d|¦  «        }nt)          | |¦  «        }||	|fS )Nc                ó   — g | ]}| ‘ŒS r!  r!  r¼  s     r  r­  z%native_layer_norm.<locals>.<listcomp>„
  s   € Ð<Ð<Ð<�1ˆQˆBÐ<Ð<Ð<r   r   r.  ç       @é   r
  r‡  r`  r�  ra  rq  rr  rD  rp  r–  )r)  rX  r   Ú_generate_wrapped_numberr  r%  rc  rù   Úlongró   r
   rw  rx  r¤  r|  r³   rí   rK  rš   r   rÎ   )r)  r1  rì  rE  r²  ræ  r  Útwo_cstÚeps_cstr  Ú	numeratorÚis_type_halfÚ	eps_dtypeÚvarianceÚdenominatorÚ
normalizedÚinput_dtypeÚrdenominators                     r  rž   rž   y
  s  € ð =Ð<��cÐ"2Ñ3Ô3°Q¸Ñ;Ô;Ð<Ñ<Ô<€DåÔ6°q¸#Ñ>Ô>€GÝÔ6°q¸#Ñ>Ô>€Gà„w�‚|€|Ø�tŠt�L %°ˆtÑ5Ô5ˆˆà�tŠtØØØ�DŠD�¥U¤\°$½e¼jÐ%IÑ%IÔ%IˆDÑJÔJñ
ô 
ˆõ �A�u˜dÑ#Ô#€Iõ 	Ô!×,Ò,¨YÑ7Ô7ÝÔ$Ô)ò	*ð ð ð 
ÝÔ-×8Ò8¸ÑAÔAˆ	Ø—D’DØ�I¥KÔ$=¸iÑ$HÔ$H×$RÒ$RÑ$TÔ$Tð ñ 
ô 
ˆ	ð
 	„w�‚|€|Ø—4’4˜¥c¨!¨Y¸Ñ&@Ô&@È�4ÑNÔNˆˆà—4’4ØÝ��9˜gÑ&Ô&Ø�DŠD�¥U¤\°$½e¼jÐ%IÑ%IÔ%IˆDÑJÔJñ
ô 
ˆõ �q˜!Ÿ$š$˜u h°Ñ8Ô8Ñ9Ô9€KØ—’�e˜Y¨Ñ4Ô4€Jð ð 
Ý!Ô/×:Ò:¸5ÑAÔAˆØ—T’TØ�J¥[Ô%>¸{Ñ%KÔ%K×%UÒ%UÑ%WÔ%Wð ñ 
ô 
ˆ
ð ˆN�oÔ6°vÑ>Ô>ˆNÝ˜˜J¨Ñ/Ô/ˆ
ØˆL�OÔ4°TÑ:Ô:ˆLÝ˜˜J¨Ñ-Ô-ˆ
ð
 ð 2Ø—d’dØØÝÔ*¨;Ñ7Ô7×AÒAÑCÔCð ñ 
ô 
ˆð
 —t’t˜L¨+Ñ6Ô6ˆˆå! ! [Ñ1Ô1ˆà�t˜\Ð)Ð)r   zaten::layer_normÚcudnn_enablec                ó6   — t          | |||||¦  «        \  }}}|S r  )rž   )	r)  r1  rì  rE  r²  ræ  rþ  rû  rß  s	            r  rq   rq   È
  s*   € õ )¨¨EÐ3CÀVÈTÐSVÑWÔWÑ€J��1ØÐr   zaten::instance_normÚuse_input_statsrå  r   r¸  c
                ó  — t          j        |d¦  «         t          j        |d¦  «        }
|�t          j        |¦  «        rw|
€t	          j        d|¦  «        ‚t          j        dg|
z  t          j	         
                    |¦  «                             ¦   «         ¬¦  «        }|                      d|¬¦  «        }|�t          j        |¦  «        rw|
€t	          j        d|¦  «        ‚t          j        dg|
z  t          j	         
                    |¦  «                             ¦   «         ¬¦  «        }|                      d|¬¦  «        }|�*t          j        |¦  «        s|�t          j        |¦  «        r|                      d	||||¬
¦  «        S t          j        |¦  «        }|                     ¦   «         }|d         }|€t	          j        d|¦  «        ‚|d         }d|d<   ||z  |d<   t          | ||                      dt          j        |gt          j        ¬¦  «        ¬¦  «        ¦  «        }t          | ||                      dt          j        |gt          j        ¬¦  «        ¬¦  «        ¦  «        }t          | ||                      dt          j        |gt          j        ¬¦  «        ¬¦  «        ¦  «        }t          | ||                      dt          j        |gt          j        ¬¦  «        ¬¦  «        ¦  «        }|                      d||                      dt          j        |¦  «        ¬¦  «        ¦  «        }t%          | |||||||||	¦
  «
        }t'          | ||                      dt          j        |¦  «        ¬¦  «        ¦  «        S )Nrk   rF  zCUnsupported: ONNX export of instance_norm for unknown channel size.r]  r�  r`  ra  r´  ÚInstanceNormalization©rÙ  r   zJUnsupported: ONNX export of instance_norm training for unknown batch size.ÚReshape)r   rÛ  r¢  rK  r   rm  rc  rù   r
   rw  rx  r‚  r%  rŒ  ÚcopyrÔ   r†  r2  r#   r  )r)  r1  rE  r²  râ  rã  r   rå  ræ  r¸  Úchannel_sizeÚweight_valueÚ
bias_valueÚ
input_sizeÚinput_size_reshaper*  ÚcÚweight_Úbias_Úrunning_mean_Úrunning_var_Úinput_reshapedr}  s                          r  rk   rk   Ø
  s�  € õ Ô'¨¸ÑIÔIÐIÝ"Ô7¸¸qÑAÔA€LØ€~�Ô1°&Ñ9Ô9€~ØÐÝÔ+ØUØñô ð õ ”|ØˆE�LÑ ÝÔ+×6Ò6°uÑ=Ô=×CÒCÑEÔEð
ñ 
ô 
ˆð —’�j¨,�Ñ7Ô7ˆØ€|•Ô/°Ñ5Ô5€|ØÐÝÔ+ØUØñô ð õ ”\ØˆE�LÑ ÝÔ+×6Ò6°uÑ=Ô=×CÒCÑEÔEð
ñ 
ô 
ˆ
ð �tŠt�J¨
ˆtÑ3Ô3ˆàÐÝÔ# LÑ1Ô1ð 	àÐÝÔ# KÑ0Ô0ð ð �tŠtÐ+¨U°F¸DÈCˆtÑPÔPÐPå$Ô6°uÑ=Ô=ˆ
ð (Ÿ_š_Ñ.Ô.ÐØ�qŒMˆØˆ9ÝÔ+ðàñô ð ð
 �qŒMˆØ !Ð˜1ÑØ ! A¡Ð˜1ÑÝØˆv�q—t’t˜Jµ´¸a¸SÍÌÐ0TÑ0TÔ0T�tÑUÔUñ
ô 
ˆõ Øˆt�Q—T’T˜*­e¬l¸A¸3ÅeÄkÐ.RÑ.RÔ.R�TÑSÔSñ
ô 
ˆõ ØØØ�DŠD�¥U¤\°1°#½U¼[Ð%IÑ%IÔ%IˆDÑJÔJñ
ô 
ˆõ
 ØØØ�DŠD�¥U¤\°1°#½U¼[Ð%IÑ%IÔ%IˆDÑJÔJñ
ô 
ˆð
 ŸšØØØ�DŠD�¥UÔ%5Ð6HÑ%IÔ%IˆDÑJÔJñ
ô 
ˆõ
 ØØØØØØØØØØñ
ô 
ˆõ �A�s˜AŸDšD µU´\À*Ñ5MÔ5M˜DÑNÔNÑOÔOÐOr   zaten::unfoldc                ó
  ‡ ‡‡‡— t          j        ‰¦  «        }	 |‰         }n# t          $ r d }Y nw xY w|�¸t          d||¦  «        }t          ||dz   |¦  «        }ˆˆ ˆfd„t	          ||¦  «        D ¦   «         }	t          |¦  «        }
t          t          d|
¦  «        ¦  «        Š‰                     ‰                     ‰¦  «        ¦  «         ˆˆ ˆfd„|	D ¦   «         } ‰ j	        dg|¢R d‰iŽS t          j
        dd‰¦  «        S )	Nr   rF  c           	     óN   •— g | ]!\  }}t          j        ‰‰‰g|g|g¬ ¦  «        ‘Œ"S )rx  ©r   rz  )r�  ÚlowÚhiÚ	dimensionr)  r1  s      €€€r  r­  zunfold.<locals>.<listcomp>G  sR   ø€ ð 
ð 
ð 
ñ ��Rõ Ô)Ø�5 	˜{°C°5À¸tðñ ô ð
ð 
ð 
r   c           
     ój   •— g | ]/}t          j        ‰‰                     d |‰¬¦  «        ‰g¦  «        ‘Œ0S )r"  r#  )r   r¬  r%  )r�  rô   r  r)  r+  s     €€€r  r­  zunfold.<locals>.<listcomp>P  sS   ø€ ð 
ð 
ð 
ð õ Ô-Ø�1—4’4˜ Q¨t�4Ñ4Ô4°y°kñô ð
ð 
ð 
r   r5  r6  ÚUnfoldr½  )r   rŒ  r  r)  rä  rX  r8  r  Úpopr%  rb  )r)  r1  r  rå   ÚsteprÍ  ÚsizedimÚlow_indicesÚ
hi_indicesrð   r*  r  r+  s   ```         @r  r  r  9  sp  øøøø€ õ Ô-¨eÑ4Ô4€EðØ˜	Ô"ˆˆøÝð ð ð ð ˆˆˆðøøøð ÐÝ˜A˜w¨Ñ-Ô-ˆÝ˜4 ¨1¡¨dÑ3Ô3ˆ
ð
ð 
ð 
ð 
ð 
ð 
õ ˜{¨JÑ7Ô7ð	
ñ 
ô 
ˆõ �5‰zŒzˆÝ•E˜!˜T‘N”NÑ#Ô#ˆØ�Š�D—H’H˜YÑ'Ô'Ñ(Ô(Ð(ð
ð 
ð 
ð 
ð 
ð 
ð ð	
ñ 
ô 
ˆ	ð ˆqŒt�HÐ;˜yÐ;Ð;Ð;°Ð;Ð;Ð;åÔ-ØÐ1°5ñ
ô 
ð 	
s   š# £2±2z	aten::eluc                óÎ   — |r|dk    rt          j        dd|¦  «        S |r|dk    rt          j        dd|¦  «        S |                      d|t          j        |¦  «        ¬¦  «        S )Nr]  rÛ  zdoes not support scale in EluÚinput_scalez#does not support input_scale in EluÚElur©  )r   rb  r%  rK  )r)  r1  rN  rÛ  r  s        r  rF   rF   ]  s‡   € ð ð 
�˜#’�ÝÔ-ØÐ4°eñ
ô 
ð 	
ð ð 
�{ cÒ)Ð)ÝÔ-ØÐ@À+ñ
ô 
ð 	
ð �4Š4��u¥oÔ&=¸eÑ&DÔ&Dˆ4ÑEÔEÐEr   z
aten::seluc                ó.   — |                       d|¦  «        S )NÚSelur/  r0  s     r  rà   rà   m  s   € ð �4Š4�˜ÑÔÐr   zaten::index_selectc                ó0   — t          j        | |||¦  «        S r  )r   Ú_select_helper)r)  r>  rB   rj   s       r  ri   ri   s  s   € õ Ô)¨!¨T°3¸Ñ>Ô>Ð>r   zaten::index_putc                ó  — t          j        |¦  «        rt          j        |¦  «        }n|g}t          j        |d¦  «        }t	          |¦  «        dk    r|rt          | ||¦  «        S |S t          j        ddd|¦  «         d S )Nr?  r   rh   r  rE  )r   r3  r   r  rX  r   r  )r)  r>  Úindices_list_valueÚvaluesÚ
accumulateÚindices_lists         r  rh   rh   |  s’   € åÔ&Ð'9Ñ:Ô:ð ,Ý&Ô3Ð4FÑGÔGˆˆà*Ð+ˆå Ô+¨J¸Ñ<Ô<€Jå
ˆ<ÑÔ˜AÒÐØð 	(Ý�q˜$ Ñ'Ô'Ð'ØˆÝÔ+¨K¸¸BÀÑEÔEÐEÐEÐEr   zaten::index_fillc                óÒ   — t          j        | |||¦  «        \  }}t          j        |¦  «        }t          j        ||¦  «        }t	          | ||d ¦  «        }t          | ||||¦  «        S r  )r   Ú_index_fill_reshape_helperrL  rÙ  rO   rÞ   )r)  r>  rB   rj   rf  Úexpanded_index_shapeÚexpanded_indexÚexpanded_values           r  rg   rg   Œ  sq   € å+:Ô+UØ	ˆ4��eñ,ô ,Ñ(Ð˜.õ Ô-¨eÑ4Ô4€EÝÔ.¨u°dÑ;Ô;€EÝ˜A˜uÐ&:¸DÑAÔA€Nå�1�d˜C °Ñ@Ô@Ð@r   zaten::index_copyc                ó\   — t          j        | |||¦  «        \  }}t          | ||||¦  «        S r  )r   r+  rÞ   )r)  r>  rB   rj   ÚsourceÚ_expanded_index_shaper-  s          r  rf   rf   ˜  s;   € å,;Ô,VØ	ˆ4��eñ-ô -Ñ)Ð˜>õ �1�d˜C °Ñ8Ô8Ð8r   zaten::bucketizec                ó4  — t           j        j        }|rt           j        j        }|                      d|                      d|¦  «        |                      d|¦  «        d¬¦  «        }t          j        |¦  «        }|€J ‚t          t          d|dz   ¦  «        ¦  «        }t          | t          j
        | ||¦  «        |d ¦  «        }	|rt          | ||	¦  «        }
nt          | ||	¦  «        }
|                      d|
|¬¦  «        }t          j        | |dgd¬¦  «        S )	Nr5  r.  r   ry  rF  rq  rr  r°  )rt  ru  rv  rx  r%  r   rœ  r8  r)  rO   r¬  rZ   r_   r´  )r)  r>  Ú
boundariesÚ	out_int32r.  Úout_typeÚ	new_shapeÚtensor_rankÚunsqueeze_axesÚexpanded_boundariesÚcondÚcond_outs               r  r*   r*      s$  € õ
 Ô*Ô0€HØð 5ÝÔ.Ô4ˆð —’�X˜qŸtšt G¨ZÑ8Ô8¸!¿$º$¸wÈÑ:MÔ:MÐVW�ÑXÔX€Iõ "Ô2°4Ñ8Ô8€KØÐ"Ð"Ð"Ý�%  ;°¡?Ñ3Ô3Ñ4Ô4€NÝ Ø	ÝÔ)¨!¨Z¸ÑHÔHØØñ	ô Ðð ð 0Ý�!�TÐ.Ñ/Ô/ˆˆå�!�TÐ.Ñ/Ô/ˆØ�tŠt�F˜D xˆtÑ0Ô0€Hõ Ô,¨Q°À!ÀÐQRÐSÑSÔSÐSr   zaten::type_asc                óè   — t          j        |¦  «        }t          j        |¦  «        }||k    r|�|S |�*|                      d||                     ¦   «         ¬¦  «        S t	          j        d|¦  «        ‚)Nrq  rr  z–Unsupported: ONNX export of type_as for tensor of unknown dtype. Please check if the dtype of the parameter passed to the type_as function is correct.)r   rÄ  r%  r|  r   rm  )r)  r>  rB  Ú
self_dtypeÚother_dtypes        r  rÿ   rÿ   Å  sŽ   € å Ô5°dÑ;Ô;€JÝ!Ô6°uÑ=Ô=€KØ�[Ò Ð  ZÐ%;ØˆØÐØ�tŠtØØØ×&Ò&Ñ(Ô(ð ñ 
ô 
ð 	
õ Ô
#ð	?ð 	ñ	ô ð r   zaten::cosine_similarityc                óÀ  — t          j        | t          | ||¦  «        |gd¬¦  «        }t          j        | t          | ||¦  «        |gd¬¦  «        }t          j        | t          | ||¦  «        |gd¬¦  «        }t          | t	          | t          | ||¦  «        ¦  «        |                      dt          j        |g¦  «        ¬¦  «        ¦  «        }t          | ||¦  «        S )Nr   r°  r`  ra  )	r   r´  rš   r‘   rí   r%  rc  rù   rC   )	r)  Úx1Úx2rB   ræ  r?   Úx1_l2Úx2_l2Údiv_tenss	            r  r>   r>   Ú  sì   € õ Ô-Ø	�3ˆq�"�b‰>Œ> 3 %°Aðñ ô €Eõ Ô-Ø	�3ˆq�"�b‰>Œ> 3 %°Aðñ ô €Eõ Ô-Ø	�3ˆq�"�b‰>Œ> 3 %°Aðñ ô €Eõ Ø	�4�•3�q˜% Ñ'Ô'Ñ(Ô(¨!¯$ª$¨zÅ5Ä<ÐQTÐPUÑCVÔCV¨$Ñ*WÔ*Wñô €Hõ ˆq�%˜Ñ"Ô"Ð"r   zaten::pairwise_distancec                óÜ  — t          j        |¦  «        s*|                      dt          j        |g¦  «        ¬¦  «        }t          | |                      dt          j        dgt          j        ¬¦  «        ¬¦  «        t          | ||¦  «        ¦  «        }t          j        | t          | t          | ||¦  «        |¦  «        dgt          j        |d¦  «        ¬¦  «        }t          | ||¦  «        S )Nr`  ra  rF  r�  r.  r˜  r°  )r   rH  r%  rc  rù   rC   r‘  r   r´  r³   ró   r  )r)  Úinput1Úinput2Úpræ  r8  Úinv_pÚ	summations           r  r¯   r¯   ì  sÛ   € åÔ$ SÑ)Ô)ð <Ø�dŠd�:¥u¤|°S°EÑ':Ô':ˆdÑ;Ô;ˆÝØ	Ø	�ŠˆZ¥¤¨q¨c½¼Ð!EÑ!EÔ!EˆÑFÔFÝˆAˆq�#‰Œñô €Eõ
  Ô1Ø	ÝˆA�s�1�f˜fÑ%Ô% qÑ)Ô)ØˆtÝ"Ô-¨g°sÑ;Ô;ð	ñ ô €Iõ ˆq�)˜UÑ#Ô#Ð#r   zaten::clonec                ó   — |S r  r!  )r)  r1  Úunused_memory_formats      r  r1   r1   þ  ó	   € ð €Lr   z	aten::absc                ó.   — |                       d|¦  «        S )NÚAbsr/  r—  s     r  r   r     rÑ  r   z	aten::logc                ó.   — |                       d|¦  «        S )NÚLogr/  r—  s     r  r~   r~   	  rÑ  r   zaten::log1pc                óŠ   — t          | t          | t          j        t	          j        d¦  «        |¦  «        |¦  «        ¦  «        S )NrF  )r~   r   r   rÙ  rc  r¬   r—  s     r  r€   r€     s4   € åˆq•#�a�Ô;½E¼JÀq¹M¼MÈ4ÑPÔPÐRVÑWÔWÑXÔXÐXr   zaten::log10c           
     ó    — d}|                       dt          | |¦  «        |                       dt          j        |g¦  «        ¬¦  «        ¦  «        S )NgUµ»±k@rp  r`  ra  ©r%  r~   rc  rù   )r)  r>  Ú_ln10s      r  r   r     sA   € à"€EØ�4Š4�•s˜1˜d‘|”| Q§T¢T¨*½e¼lÈEÈ7Ñ>SÔ>S TÑ%TÔ%TÑUÔUÐUr   z	aten::powc                óŒ  — t           j                             |¦  «        }t          j        |¦  «        s;t           j        j        }|                      d||                     ¦   «         ¬¦  «        }t          j        |¦  «        s*|                      d||                     ¦   «         ¬¦  «        }|                      d||¦  «        }|S )Nrq  rr  r�  )r
   rw  rx  r   rz  r{  r%  r|  )r)  r>  ÚexponentÚf_dtyper³   s        r  r³   r³     sµ   € åÔ'×2Ò2°4Ñ8Ô8€GÝÔ! $Ñ'Ô'ð <ÝÔ+Ô1ˆØ�tŠt�F˜D w×'8Ò'8Ñ':Ô':ˆtÑ;Ô;ˆÝÔ! (Ñ+Ô+ð 
Ø—4’4ØØØ×"Ò"Ñ$Ô$ð ñ 
ô 
ˆð
 �$Š$ˆu�d˜HÑ
%Ô
%€CØ€Jr   zaten::clampc           
     ó¦  — t          j        |¦  «        rt          | ||¦  «        S t          j        |¦  «        rt          | ||¦  «        S t          j        |¦  «        rTt          j        |¦  «        r@t          j        | d|t          j        |d¦  «        t          j        |d¦  «        d¬¦  «        S t          | t          | ||¦  «        |¦  «        S )NÚClipr\  é   ©Úmin_fÚmax_fr—  )r   rK  r.   r/   r¡  r™  r  )r)  r>  r”   r‘   s       r  r0   r0   )  sÙ   € õ Ô Ñ$Ô$ð >Ý˜˜D #Ñ&Ô&Ð&Ý	Ô	! #Ñ	&Ô	&ð >Ý˜˜D #Ñ&Ô&Ð&åÔ'¨Ñ,Ô,ð 
	>µÔ1MÈcÑ1RÔ1Rð 
	>Ý"Ô?ØØØÝ%Ô0°°cÑ:Ô:Ý%Ô0°°cÑ:Ô:Øðñ ô ð õ ˜Q¥	¨!¨T°3Ñ 7Ô 7¸Ñ=Ô=Ð=r   zaten::clamp_minc           	     óF  — t          j        |¦  «        r,t          j        | d|t          j        |d¦  «        d¬¦  «        S t          j                             |¦  «        }|                      d||                     ¦   «         ¬¦  «        }t          j        | d||d¬¦  «        S )	NrZ  r\  r[  )r]  r—  rq  rr  ÚMaxr–  ©	r   r¡  r™  r  r
   rw  rx  r%  r|  )r)  r>  r”   r‚  s       r  r/   r/   ?  ó¨   € õ Ô# CÑ(Ô(ð 	
ÝÔ;Øˆv�t¥?Ô#=¸cÀ3Ñ#GÔ#GÐVXð
ñ 
ô 
ð 	
õ Ô)×4Ò4°TÑ:Ô:ˆØ�dŠd�6˜3 U§_¢_Ñ%6Ô%6ˆdÑ7Ô7ˆÝÔ;Øˆu�d˜C¨bð
ñ 
ô 
ð 	
r   zaten::clamp_maxc           	     óF  — t          j        |¦  «        r,t          j        | d|t          j        |d¦  «        d¬¦  «        S t          j                             |¦  «        }|                      d||                     ¦   «         ¬¦  «        }t          j        | d||d¬¦  «        S )	NrZ  r\  r[  )r^  r—  rq  rr  ÚMinr–  ra  )r)  r>  r‘   r‚  s       r  r.   r.   N  rb  r   z	aten::maxc                ó0   — t          j        | |||¦  «        S r  )r   Ú_max_helper©r)  r>  Údim_or_yr8  s       r  r‘   r‘   ]  s   € õ
 Ô& q¨$°¸'ÑBÔBÐBr   zaten::maximumc                ó&   — t          | ||¬¦  «        S ©N)rh  )r‘   rt  s      r  r’   r’   e  ó   € õ ˆq�% %Ð(Ñ(Ô(Ð(r   z	aten::minc                ó0   — t          j        | |||¦  «        S r  )r   Ú_min_helperrg  s       r  r”   r”   k  s   € õ Ô& q¨$°¸'ÑBÔBÐBr   zaten::minimumc                ó&   — t          | ||¬¦  «        S rj  )r”   rt  s      r  r•   r•   q  rk  r   z
aten::amaxc                ó4   — |                       d|||¬¦  «        S )Nr¯  r°  r/  ©r)  r>  rB   r8  s       r  r   r   w  ó   € ð �4Š4�˜T¨#¸'ˆ4ÑBÔBÐBr   z
aten::aminc                ó4   — |                       d|||¬¦  «        S )NÚ	ReduceMinr°  r/  rp  s       r  r   r   ~  rq  r   zaten::aminmaxc                ó¦   — d|i}t          j        |¦  «        st          j        |dd¦  «        }|g|d<    | j        d|fi |¤Ž | j        d|fi |¤ŽfS )Nr±  r˜  rB   rÿ  rs  r¯  )r   rK  rk  r%  )r)  r>  rB   r8  Úreduce_kwargss        r  r   r   …  s†   € ð " 7Ð+€MÝÔ# CÑ(Ô(ð (ÝÔ(¨¨c°5Ñ9Ô9ˆØ#& %ˆ�hÑàˆ1Œ4�˜TÐ3Ð3 ]Ð3Ð3°T°Q´TØ�Tð6ð 6Ø*ð6ð 6ð ð r   z	aten::expc                ó.   — |                       d|¦  «        S )Nr²  r/  r—  s     r  rM   rM   “  rÑ  r   zaten::dropout_zaten::dropoutc                óp   — t          j        |d¦  «         |s|S |                      d||d¬¦  «        \  }}|S )NrE   ÚDropoutrÃ  )Úratio_fra  )r   rÛ  r%  )r)  r1  rH  Útrainrç  rß  s         r  rE   rE   ˜  sF   € õ Ô'¨¨yÑ9Ô9Ð9àð ØˆØ�4Š4�	˜5¨!°Qˆ4Ñ7Ô7�D€A€qØ€Hr   zaten::alpha_dropout_zaten::feature_alpha_dropout_zaten::feature_dropout_zaten::feature_alpha_dropoutzaten::alpha_dropoutzaten::feature_dropoutc                óJ   ‡ — t          j        ddd¦  «        ˆ fd„¦   «         }|S )Nr[  r  r?  c                ó8   •— |rt          j        ‰d|¦  «        S |S )Nztraining mode)r   rb  )r)  r1  rH  rz  r  s       €r  Úfeature_dropoutz-_unsupported_dropout.<locals>.feature_dropout½  s(   ø€ ð ð 	PÝ"Ô1°$¸ÈÑOÔOÐOØˆr   ©r   rî  )r  r}  s   ` r  Ú_unsupported_dropoutr  ¤  s@   ø€ õ2 Ô  V¨SÑ1Ô1ðð ð ð ñ 2Ô1ðð Ðr   z
aten::normc                ób  — |dk    rt          j        d¦  «        }n0|dk    rt          j        d¦  «        }nt          j        d|¦  «        ‚ || |||¬¦  «        }|�Rt          j        |dd¦  «        }|                      d	|t          j        |¦  «                             ¦   «         ¬
¦  «        }|S )NrF  ÚReduceL1rÃ  ÚReduceL2z)ONNX export only p-norms with p of 1 or 2)rB   r8  r˜  r‚  rq  rr  )	r   Ú_reduce_op_symbolic_helperr   rm  rk  r%  r
   rw  r|  )r)  r>  rH  rB   r8  r‚  r\  rø  s           r  r§   r§   Ç  s»   € ð 	ˆA‚v€vÝÔ6°zÑBÔBˆˆØ	
ˆaŠˆÝÔ6°zÑBÔBˆˆåÔ'Ø7¸ñ
ô 
ð 	
ð ˆQˆq�$˜C¨Ð1Ñ1Ô1€FØÐÝÔ*¨5°#°wÑ?Ô?ˆØ—’�f˜f­;Ô+DÀUÑ+KÔ+K×+UÒ+UÑ+WÔ+W�ÑXÔXˆØ€Mr   zaten::conv_tbcc           
     óÐ   — |                       d|g d¢¬¦  «        }|                       d|g d¢¬¦  «        }t          | |||dg|gdgd¦  «        }|                       d|g d¢¬¦  «        S )Nr"  )rF  rÃ  r   r#  )rÃ  rF  r   rF  )rÃ  r   rF  )r%  r8   )r)  r1  rE  r²  r®   Úconvs         r  r4   r4   Ù  sw   € ð �DŠD�˜e¨I¨I¨IˆDÑ6Ô6€EØ�TŠT�+˜v¨i¨i¨iˆTÑ8Ô8€FÝ�!�U˜F D¨1¨#°¨u°q°c¸1Ñ=Ô=€DØ�4Š4�˜T¨)¨)¨)ˆ4Ñ4Ô4Ð4r   zaten::_uniquec                ó,   — t          j        d|¦  «        S )NÚ_uniquer  )r)  r1  ÚsortedÚreturn_inverses       r  r‡  r‡  ç  s   € õ Ô,¨Y¸Ñ>Ô>Ð>r   zaten::_unique2c                ó4   — t          j        ddd|¦  «         d S )NÚ_unique2r  rE  r  )r)  r1  rˆ  r‰  Úreturn_countss        r  r‹  r‹  í  s!   € õ Ô+¨J¸¸2¸uÑEÔEÐEÐEÐEr   zaten::_cast_Bytez2.0z
the futurez8Avoid using this function and create a Cast node insteadc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  rÔ  ©r)  r1  Únon_blockings      r  Ú
_cast_Byter�  ó  ó"   € ð �4Š4�˜¥GÔ$?Ô$Eˆ4ÑFÔFÐFr   zaten::_cast_Charc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  rÕ  rŽ  s      r  Ú
_cast_Charr“  ý  ó"   € ð �4Š4�˜¥GÔ$?Ô$Dˆ4ÑEÔEÐEr   zaten::_cast_Shortc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  rÖ  rŽ  s      r  Ú_cast_Shortr–    r‘  r   zaten::_cast_Intc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  rx  rŽ  s      r  Ú	_cast_Intr˜    r‘  r   zaten::_cast_Longc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  rv  rŽ  s      r  Ú
_cast_Longrš    r‘  r   zaten::_cast_Halfc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  ÚFLOAT16rŽ  s      r  Ú
_cast_Halfr�  %  s"   € ð �4Š4�˜¥GÔ$?Ô$Gˆ4ÑHÔHÐHr   zaten::_cast_Floatc                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  r{  rŽ  s      r  Ú_cast_FloatrŸ  /  r‘  r   zaten::_cast_Doublec                óP   — |                       d|t          j        j        ¬¦  «        S r£  )r%  rt  ru  r“  rŽ  s      r  Ú_cast_Doubler¡  9  s"   € ð �4Š4�˜¥GÔ$?Ô$Fˆ4ÑGÔGÐGr   zaten::_cast_Boolc                óP   — |                       d|t          j        j        ¬¦  «        S r£  r�  rŽ  s      r  Ú
_cast_Boolr£  C  r”  r   zaten::emptyc                ó*   — t          | |||||¦  «        S r  )r  )r)  rÍ  r‚  ÚlayoutÚdeviceÚ
pin_memoryÚmemory_formats          r  rJ   rJ   M  s   € õ ��E˜5 &¨&°*Ñ=Ô=Ð=r   zaten::empty_likec                ó*   — t          | |||||¦  «        S r  )r  )r)  r1  r‚  r¥  r¦  r§  r¨  s          r  rI   rI   [  s   € õ �a˜  v¨v°zÑBÔBÐBr   zaten::new_emptyc                ó‚   — t          j        |¦  «        }t          j        |¦  «        r|�|}t          | |||||¦  «        S r  )r   rÄ  rK  rJ   ©r)  r>  rÍ  r‚  r¥  r¦  r§  r=  s           r  r¡   r¡   i  sI   € õ !Ô5°dÑ;Ô;€JÝÔ Ñ&Ô&ð ¨:Ð+AØˆÝ��E˜5 &¨&°*Ñ=Ô=Ð=r   zaten::scalar_tensorc                óÐ   — t          j        |dd¦  «        }|€t          j        j        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        }|S )Nr˜  r‚  rq  rr  )r   rk  r
   rw  r{  r%  r|  )r)  Úscalarr‚  Úoptionss       r  rÜ   rÜ   s  sY   € åÔ& u¨c°7Ñ;Ô;€EØ€}ÝÔ)Ô/ˆØ�TŠT�&˜&¥{Ô'@ÀÑ'GÔ'G×'QÒ'QÑ'SÔ'SˆTÑTÔT€FØ€Mr   zaten::tensorc                ó¢  — t          j        |dd¦  «        }t          j        |¦  «        rô|€7t          j                             t          j        |¦  «        d         ¦  «        }g }t          j        |¦  «        D ]“}|                      dt          j	        dg¦  «        ¬¦  «        }t          j
        | ||¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        }|                     |¦  «         Œ” | j        d	g|¢R d
diŽS |€t          j                             |¦  «        }t          j        |¦  «        rAt          j        |¦  «        st          j        |¦  «        r|                      d|dd¬¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S )Nr˜  r‚  r   r`  rF  ra  rq  rr  r5  r6  ÚConcatFromSequence)r6  Ú
new_axis_i)r   rk  r3  r
   rw  rx  r   r%  rc  r2  r<  r|  r  Ú_is_listrI  Ú_is_scalar_list)r)  Údatar‚  r¦  Úrequires_gradr!  rô   Úshape_references           r  rù   rù   |  s¼  € õ Ô& u¨c°7Ñ;Ô;€EÝÔ& tÑ,Ô,ð LØˆ=ÝÔ-×8Ò8ÝÔ,¨TÑ2Ô2°1Ô5ñô ˆEð ˆ
Ý Ô-¨dÑ3Ô3ð 	!ð 	!ˆAØŸdšd :µuÔ7GÈÈÑ7LÔ7L˜dÑMÔMˆOÝÔ/°°1°oÑFÔFˆAØ—’�V˜Q¥[Ô%>¸uÑ%EÔ%E×%OÒ%OÑ%QÔ%Q�ÑRÔRˆAØ×Ò˜aÑ Ô Ð Ð ØˆqŒt�HÐ4˜zÐ4Ð4Ð4°!Ð4Ð4Ð4àˆ=ÝÔ-×8Ò8¸Ñ>Ô>ˆEÝÔ# DÑ)Ô)ð 	LÝÔ+¨DÑ1Ô1ð	LåÔ.¨tÑ4Ô4ð	Lð —4’4Ð,¨d¸1È�4ÑKÔKˆDØ�4Š4�˜¥;Ô#<¸UÑ#CÔ#C×#MÒ#MÑ#OÔ#Oˆ4ÑPÔPÐPr   zaten::as_tensorc                ó&   — t          | |||¦  «        S r  )rù   )r)  r´  r‚  r¦  s       r  r   r   ˜  s   € å�!�T˜5 &Ñ)Ô)Ð)r   zaten::zerosc           	     óÖ  — |€t           j        j        }nt          j        |¦  «        }t          j        |d¦  «        }t          |t          ¦  «        rYt          |¦  «        dk    rF|                      dt          j
        g ¦  «                             t          j        ¦  «        ¬¦  «        }|                      d|t          j
        dg|                     ¦   «         ¬¦  «        ¬¦  «        S )Nr-  r   r`  ra  ÚConstantOfShaper�  ©r
   rw  r{  r   r1  r7  r8  rX  r%  rc  rù   rû   r†  r‚  ©r)  rÍ  r‚  r¥  r¦  r§  r~  Úsizes_s           r  r  r  �  sË   € ð €}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆÝÔ-¨e°TÑ:Ô:€FÝ�&�$ÑÔð K¥C¨¡K¤K°1Ò$4Ð$4Ø—’�Z­¬°bÑ)9Ô)9×)<Ò)<½U¼[Ñ)IÔ)I�ÑJÔJˆØ�4Š4ØØÝ”˜a˜S¨×(9Ò(9Ñ(;Ô(;Ð<Ñ<Ô<ð ñ ô ð r   zaten::zeros_likec           	     ó\  — |                       d|¦  «        }t          j        |¦  «        r0t          j                             |t          j        j        ¦  «        }nt          j        |¦  «        }|                       d|t          j        dg| 	                    ¦   «         ¬¦  «        ¬¦  «        S )Nr.  r¹  r   r�  ra  ©
r%  r   rK  r
   rw  rx  r{  rc  rù   r‚  ©	r)  r1  r‚  r¥  r¦  r§  r¨  r9  r~  s	            r  r  r  ¯  ó¢   € ð �DŠD�˜%Ñ Ô €EÝÔ Ñ&Ô&ð 7Ý!Ô/×:Ò:Ø•;Ô,Ô2ñ
ô 
ˆˆõ "Ô/°Ñ6Ô6ˆØ�4Š4ØØÝ”˜a˜S¨×(9Ò(9Ñ(;Ô(;Ð<Ñ<Ô<ð ñ ô ð r   zaten::new_zerosc                ó‚   — t          j        |¦  «        }t          j        |¦  «        r|�|}t          | |||||¦  «        S r  )r   rÄ  rK  r  r«  s           r  r¤   r¤   È  sI   € õ !Ô5°dÑ;Ô;€JåÔ Ñ&Ô&ð ¨:Ð+AØˆÝ��E˜5 &¨&°*Ñ=Ô=Ð=r   z
aten::zeroc                óL   — t          j        |¦  «        }t          | ||¦  «        S r  )r   rÄ  r  )r)  r>  r=  s      r  r  r  Ó  s$   € å Ô5°dÑ;Ô;€JÝ�a˜˜zÑ*Ô*Ð*r   z
aten::onesc           	     óÖ  — |€t           j        j        }nt          j        |¦  «        }t          j        |d¦  «        }t          |t          ¦  «        rYt          |¦  «        dk    rF|                      dt          j
        g ¦  «                             t          j        ¦  «        ¬¦  «        }|                      d|t          j
        dg|                     ¦   «         ¬¦  «        ¬¦  «        S )Nr-  r   r`  ra  r¹  rF  r�  rº  r»  s           r  r¬   r¬   Ù  sË   € ð €}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆÝÔ-¨e°TÑ:Ô:€FÝ�&�$ÑÔð K¥C¨¡K¤K°1Ò$4Ð$4Ø—’�Z­¬°bÑ)9Ô)9×)<Ò)<½U¼[Ñ)IÔ)I�ÑJÔJˆØ�4Š4ØØÝ”˜a˜S¨×(9Ò(9Ñ(;Ô(;Ð<Ñ<Ô<ð ñ ô ð r   zaten::ones_likec           	     ó\  — |                       d|¦  «        }t          j        |¦  «        r0t          j                             |t          j        j        ¦  «        }nt          j        |¦  «        }|                       d|t          j        dg| 	                    ¦   «         ¬¦  «        ¬¦  «        S )Nr.  r¹  rF  r�  ra  r¾  r¿  s	            r  r«   r«   ê  rÀ  r   zaten::new_onesc                ó‚   — t          j        |¦  «        }t          j        |¦  «        r|�|}t          | |||||¦  «        S r  )r   rÄ  rK  r¬   r«  s           r  r£   r£     sI   € õ !Ô5°dÑ;Ô;€JÝÔ Ñ&Ô&ð ¨:Ð+AØˆÝ��5˜% ¨°Ñ<Ô<Ð<r   z
aten::fullc                ó8  — t          j        |d¦  «        }t          j        |¦  «        ra|€t          j        j        n|}t          | ||||¦  «        }t          | |||                      dt          j
        d¦  «        ¬¦  «        ¦  «        S t          j        |dd¦  «        }|€t          j        j        }	nt          j        |¦  «        }	t          j        |d¦  «        }
t          |
t          ¦  «        rYt          |
¦  «        dk    rF|                      dt          j
        g ¦  «                             t          j        ¦  «        ¬¦  «        }|                      d	||                     d¦  «                             |	                     ¦   «         ¦  «        ¬¦  «        S )
Nrô   r`  rF  ra  r˜  r‚  r-  r   r¹  )r   r1  rH  r
   rw  r{  r  r   r%  rc  rù   rk  r7  r8  rX  rû   r†  r  r‚  )r)  rÍ  rf  r‚  r¥  r¦  r§  Úconst_valueÚtmpr~  r¼  s              r  rX   rX     sd  € õ "Ô2°5¸#Ñ>Ô>€KÝÔ  Ñ-Ô-ð 
Ø38°=•Ô)Ô/Ð/ÀeˆÝ�A�u˜e V¨VÑ4Ô4ˆÝ�1�c˜5 !§$¢$ z½5¼<È¹?¼? $Ñ"KÔ"KÑLÔLÐLåÔ*¨5°#°wÑ?Ô?ˆØˆ=Ý%Ô3Ô9ˆKˆKå%Ô3°EÑ:Ô:ˆKÝ Ô1°%¸Ñ>Ô>ˆÝ�f�dÑ#Ô#ð 	O­¨F©¬°qÒ(8Ð(8Ø—D’D˜­U¬\¸"Ñ-=Ô-=×-@Ò-@ÅÄÑ-MÔ-M�DÑNÔNˆEØ�tŠtØØØ×$Ò$ QÑ'Ô'×*Ò*¨;×+<Ò+<Ñ+>Ô+>Ñ?Ô?ð ñ 
ô 
ð 	
r   zaten::full_likec                ó¢  — t          j        |d¦  «        }t          j        |dd¦  «        }|€0t          j                             |t          j        j        ¦  «        }nt          j        |¦  «        }t          j        |¦  «        rvt          | ||||¦  «        }	|  	                    d|| 
                    ¦   «         ¬¦  «        }t          | |	||  	                    dt          j        d¦  «        ¬¦  «        ¦  «        S |  	                    d	|¦  «        }
|  	                    d
|
t          j        |g|                     ¦   «         ¬¦  «        ¬¦  «        S )Nr\  r˜  r‚  rq  rr  r`  rF  ra  r.  r¹  r�  )r   r1  rk  r
   rw  rx  r{  rH  r  r%  r|  r   rc  rù   r‚  )r)  r1  Ú
fill_valuer‚  r¥  r¦  r§  r¨  r~  rÈ  r9  s              r  rW   rW   &  s1  € õ !Ô1°*¸cÑBÔB€JÝÔ& u¨c°7Ñ;Ô;€EØ€}Ý!Ô/×:Ò:Ø•;Ô,Ô2ñ
ô 
ˆˆõ "Ô/°Ñ6Ô6ˆÝÔ  Ñ,Ô,ð 

Ý˜˜E 5¨&°&Ñ9Ô9ˆØ—T’T˜& *°;×3HÒ3HÑ3JÔ3J�TÑKÔKˆ
Ý�1�c˜: q§t¢t¨JÅÄÈQÁÄ tÑ'PÔ'PÑQÔQÐQà—’�W˜eÑ$Ô$ˆØ�tŠtØØÝ”L * °[×5FÒ5FÑ5HÔ5HÐIÑIÔIð ñ 
ô 
ð 	
r   zaten::new_fullc           	     ó„   — t          j        |¦  «        }t          j        |¦  «        r|�|}t          | ||||||¦  «        S r  )r   rÄ  rK  rX   )	r)  r>  rå   rÊ  r‚  r¥  r¦  r§  r=  s	            r  r¢   r¢   F  sK   € õ !Ô5°dÑ;Ô;€JÝÔ Ñ&Ô&ð ¨:Ð+AØˆÝ��4˜ U¨F°F¸JÑGÔGÐGr   ú	aten::eyec           	     óF  — t          |¦  «        dk    ra|\  }}}}}t          j        | |dg¦  «        }|                      d||d¬¦  «        }t	          | ||||¦  «        }	|                      d|	¦  «        S t          |¦  «        dk    ru|\  }}
}}}}|                      dt          j        | |dg¦  «        t          j        | |
dg¦  «        d¬¦  «        }t	          | ||||¦  «        }	|                      d|	¦  «        S t          j        ddt          |¦  «        › d	�¦  «        S )
Nr?  r   r5  ry  ÚEyeLiker›  rÌ  úwith ú
 arguments)rX  r   r¬  r%  r  rb  )r)  rZ  r*  r‚  r¥  r¦  Ú_pin_memoryr‰  r9  rù   Úms              r  rP   rP   W  s0  € å
ˆ4�y„y�A‚~€~à04Ñ-ˆˆ5�&˜& +Ý"Ô4°Q¸¸A¸3Ñ?Ô?ˆØ—’�X˜x¨¸!�Ñ<Ô<ˆÝ�q˜% ¨°Ñ7Ô7ˆØ�tŠt�I˜vÑ&Ô&Ð&Ý
ˆ4�y„y�A‚~€~à37Ñ0ˆˆ1ˆe�V˜V [Ø—’ØÝÔ-¨a°°Q°CÑ8Ô8ÝÔ-¨a°°Q°CÑ8Ô8Øð	 ñ 
ô 
ˆõ �q˜% ¨°Ñ7Ô7ˆØ�tŠt�I˜vÑ&Ô&Ð&åÔ)¨+Ð7T½sÀ4¹y¼yÐ7TÐ7TÐ7TÑUÔUÐUr   úaten::slicec                ó†  — t          |¦  «        dk    �rh|\  }}}}t          j        |d¦  «        }|dk    rt          j        d|¦  «        ‚|                     ¦   «                              ¦   «         dk    o+t          |                     ¦   «         t          j
        ¦  «        }|                     ¦   «                              ¦   «         dk    o+t          |                     ¦   «         t          j
        ¦  «        }|                     ¦   «                              ¦   «         dk    }	|                     ¦   «                              ¦   «         dk    }
|s|	r.|s|
r*|                     ¦   «                              ¦   «         dk    r’t          j        t          j        j        k    rt          j        d|¦  «        ‚t          j        | |dg¦  «        }t          j        | |dg¦  «        }t          j        | |dg¦  «        }|                      d	||||¦  «        S |rdnt          j        |d¦  «        }|rt$          j        nt          j        |d¦  «        }t          j        |d¦  «        }t          j        | ||g|g|g¬
¦  «        S t          |¦  «        dk    �r|\  }}}d}|                     ¦   «                              ¦   «         dk    o+t          |                     ¦   «         t          j
        ¦  «        }|                     ¦   «                              ¦   «         dk    o+t          |                     ¦   «         t          j
        ¦  «        }|rdnt          j        |d¦  «        }|rt$          j        nt          j        |d¦  «        }t          j        | ||g|g|g¬
¦  «        S t          j        ddt          |¦  «        › d�¦  «        S )Nr=  r˜  rF  z"step!=1 is currently not supportedr$  rk  z³Unsupported: ONNX export of Slice with dynamic inputs. DynamicSlice is a deprecated experimental op. Please use statically allocated variables or export to a higher opset version.r   ÚDynamicSlicerx  rÒ  rÓ  rÏ  rÐ  )rX  r   r  r   rm  r¤  r³  r7  r  r   ÚNoneTyper   Úoperator_export_typert  ÚOperatorExportTypesÚONNXr¬  r%  r   r  rz  rb  )r)  r>  rZ  rB   r+  r,  r  Úis_start_noneÚis_end_noneÚis_start_onnx_constÚis_end_onnx_constÚstart_unsqueezedÚend_unsqueezedÚdim_unsqueezeds                 r  ræ   ræ   o  s¯  € å
ˆ4�y„y�A‚~�~à $ÑˆˆU�C˜ÝÔ)¨$°Ñ4Ô4ˆØ�1Š9ˆ9ÝÔ+Ð,PÐRVÑWÔWÐWØŸ
š
™œ×)Ò)Ñ+Ô+Ð/?Ò?ð 
ÅJØ�JŠJ‰LŒL�"œ+ñE
ô E
ˆð —h’h‘j”j—o’oÑ'Ô'Ð+;Ò;ð 
Å
Ø�HŠH‰JŒJ�œñA
ô A
ˆð $Ÿjšj™lœl×/Ò/Ñ1Ô1Ð5EÒEÐØŸHšH™JœJŸOšOÑ-Ô-Ð1AÒAÐàð!	Ø*=ð!	à ð!	à+<ð!	ð �xŠx‰zŒz�ŠÑ Ô Ð$4Ò4Ð4åÔ+­wÔ/JÔ/OÒOÐOÝÔ/ðEð ñ	ô ð õ $3Ô#DÀQÈÐPQÈsÑ#SÔ#SÐ Ý!0Ô!BÀ1ÀcÈAÈ3Ñ!OÔ!O�Ý!0Ô!BÀ1ÀcÈAÈ3Ñ!OÔ!O�Ø—t’tØ"ØØ$Ø"Ø"ñô ð ð 'ÐR�A�A­OÔ,FÀuÈcÑ,RÔ,RˆEð ð:•
Ô$Ð$å$Ô/°°SÑ9Ô9ð õ
 "Ô,¨S°#Ñ6Ô6ˆCÝ"Ô0Ø�4˜s˜e¨U¨G¸3¸%ðñ ô ð õ 
ˆT‰Œ�aŠ‰àÑˆˆs�DØˆØŸ
š
™œ×)Ò)Ñ+Ô+Ð/?Ò?ð 
ÅJØ�JŠJ‰LŒL�"œ+ñE
ô E
ˆð —h’h‘j”j—o’oÑ'Ô'Ð+;Ò;ð 
Å
Ø�HŠH‰JŒJ�œñA
ô A
ˆð #ÐN��­Ô(BÀ5È#Ñ(NÔ(Nˆð ð6�JÔ Ð å Ô+¨C°Ñ5Ô5ð 	õ
 Ô,Øˆt˜3˜%¨¨°s°eð
ñ 
ô 
ð 	
õ Ô)¨-Ð9VÅÀTÁÄÐ9VÐ9VÐ9VÑWÔWÐWr   zaten::hardtanhr>  Úmin_valÚmax_valc                ó6   — t          j        | d|||d¬¦  «        S )NrZ  r[  r\  r˜  )r)  r>  rá  râ  s       r  rd   rd   ¸  s+   € õ Ô7Ø	ˆ6�4˜w¨gÀBðñ ô ð r   zaten::hardswishc                óP   — t          | |¦  «        }|                      d||¦  «        S r~  )rb   r%  )r)  r>  Úhss      r  rc   rc   Á  s)   € õ 
�Q˜Ñ	Ô	€BØ�4Š4��t˜RÑ Ô Ð r   zaten::hardsigmoidc                ó2   — |                       d|d¬¦  «        S )NÚHardSigmoidgUUUUUUÅ?r©  r/  r—  s     r  rb   rb   É  s   € ð �4Š4�˜t¨Uˆ4Ñ3Ô3Ð3r   zaten::tanhshrinkc                óL   — |                       d|t          | |¦  «        ¦  «        S )NrP  )r%  r÷   r—  s     r  rø   rø   Ó  s"   € ð �4Š4��t�T ! T™]œ]Ñ+Ô+Ð+r   zaten::hardshrinkc                óú  — t           j                             |t           j        j        ¦  «        }|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }t          | t          | ||¦  «        t          | |t          | |¦  «        ¦  «        ¦  «        }|                      d|||                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        ¦  «        S ©Nr`  r�  ra  rî  r   )r
   rw  rx  r{  r%  rc  rù   r‚  r„   r_   rŠ   r    )r)  r>  Úlambdr~  Úlambd_opr:  s         r  ra   ra   Ù  sí   € õ Ô+×6Ò6Ø�kÔ'Ô-ñô €Kð �tŠtØÝ”˜U¨+×*;Ò*;Ñ*=Ô*=Ð>Ñ>Ô>ð ñ ô €Hõ �a�˜A˜t XÑ.Ô.µ°1°d½CÀÀ8Ñ<LÔ<LÑ0MÔ0MÑNÔN€DØ�4Š4ØØØØ	�ŠØÝ”L ¨+×*;Ò*;Ñ*=Ô*=Ð>Ñ>Ô>ð 	ñ 	
ô 	
ñ	ô ð r   zaten::softshrinkc                óä  — t           j                             |t           j        j        ¦  «        }|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }t          | ||¦  «        }|                      d|t          | ||¦  «        |                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        ¦  «        }t          | |t          | |¦  «        ¦  «        }|                      d|t          | ||¦  «        |                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        ¦  «        }t          | ||¦  «        S rê  )r
   rw  rx  r{  r%  rc  rù   r‚  r_   ró   rŠ   r    r   )	r)  r>  rë  r~  rì  Úgt_condÚgt_outÚlt_condÚlt_outs	            r  ré   ré   ï  sd  € õ Ô+×6Ò6Ø�kÔ'Ô-ñô €Kð �tŠtØÝ”˜U¨+×*;Ò*;Ñ*=Ô*=Ð>Ñ>Ô>ð ñ ô €Hõ ��D˜(Ñ#Ô#€GØ�TŠTØØÝˆAˆt�XÑÔØ	�ŠØÝ”L ¨+×*;Ò*;Ñ*=Ô*=Ð>Ñ>Ô>ð 	ñ 	
ô 	
ñ	ô €Fõ ��D�#˜a Ñ*Ô*Ñ+Ô+€GØ�TŠTØØÝˆAˆt�XÑÔØ	�ŠØÝ”L ¨+×*;Ò*;Ñ*=Ô*=Ð>Ñ>Ô>ð 	ñ 	
ô 	
ñ	ô €Fõ ˆq�&˜&Ñ!Ô!Ð!r   zaten::aliasc                ó   — |S r  r!  r—  s     r  r   r     r±  r   zaten::unsqueezec                ó:  — |dk     r~t          j        |¦  «        }|�Rt          j        dt	          |¦  «        z   dz   dz   dz   t	          ||z   dz   ¦  «        z   dz   d	z   ¦  «         ||z   dz   }nt          j        d
d|¦  «        S t          j        | ||g¬¦  «        S )zbImplement unsqueezing a pytorch tensor in ONNX by inserting a new dimension at the specified `dim`r   Nz)ONNX export unsqueeze with negative axis r�  r‚  rƒ  rF  r„  r…  r  r†  r‡  )r   rœ  rC  rD  r  rb  r¬  rT  s       r  r  r    sß   € ð
 ˆQ‚w€wÝÔ/°Ñ5Ô5ˆØÐÝŒMØ;Ý�c‘(”(ñàAñBð =ñ=ð *ñ	*õ
 �c˜D‘j 1‘nÑ%Ô%ñ&ð ;ñ;ð XñXñ	ô 	ð 	ð ˜‘*˜q‘.ˆCˆCå"Ô1ØÐDÀdñô ð õ Ô,¨Q°¸c¸UÐCÑCÔCÐCr   z
aten::sortc                óö   — |�t          j        dd|¦  «         t          j        |¦  «        }	 ||         }n# t          $ r d }Y nw xY w|€t          j        dd|¦  «        S |                      d|||d¬¦  «        S )NÚSortz'Out parameter is not supported for sortr½  ÚTopKrÃ  ©Úk_ir6  ra  )r   rb  rŒ  r  r%  )r)  r>  rB   Ú	decendingr}  Ú
self_sizesr‰  s          r  rê   rê   0  s©   € ð €ÝÔ&ØÐ=¸tñ	
ô 	
ð 	
õ !Ô2°4Ñ8Ô8€JðØ˜c”?ˆˆøÝð ð ð ð ˆˆˆðøøøð
 ÐÝÔ-¨fÐ6QÐSWÑXÔXÐXà�4Š4�˜ (°3Àˆ4ÑBÔBÐBs   ®7 ·AÁAzaten::numelc                ó,   — t          j        | |¦  «        S r  )r   Ú_numel_helperr—  s     r  r¨   r¨   F  s   € åÔ(¨¨DÑ1Ô1Ð1r   z
aten::topkc                ó–   — |�t          j        dd|¦  «         |st          j        dd|¦  «         |                      d|||d¬¦  «        S )Nrö  z'Out parameter is not supported for topkzAscending TopK is not supportedrÃ  r÷  )r   rb  r%  )r)  r>  r  rB   Úlargestrˆ  r}  s          r  rü   rü   K  sd   € ð €ÝÔ&ØÐ=¸tñ	
ô 	
ð 	
ð ð XÝÔ& vÐ/PÐRVÑWÔWÐWà�4Š4�˜ !¨C¸ˆ4Ñ;Ô;Ð;r   zprim::convert_element_typec                ó²   — t          j        |d         dd¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S )Nr   r˜  r‚  rq  rr  )r   rk  r%  r
   rw  r|  )r)  r>  rZ  r‚  s       r  r;   r;   Y  sI   € åÔ& t¨A¤w°°WÑ=Ô=€EØ�4Š4�˜¥;Ô#<¸UÑ#CÔ#C×#MÒ#MÑ#OÔ#Oˆ4ÑPÔPÐPr   zaten::toc                ó  — d„ } ||¦  «        r|S t          |¦  «        dk    �r�|d         }t          j        |d         ¦  «        rµ|d                              ¦   «                              ¦   «         dk    r…t          j        |d                              ¦   «         d¦  «        }t          |t          j        ¦  «        r>t          |j	        ¦  «        dk    r$| 
                    ¦   «         }t          |¦  «        }n|}t          j        |¦  «        st          |t          j        ¦  «        rOt          j                             |d         ¦  «        }|                      d||                     ¦   «         ¬¦  «        S |                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S t          |¦  «        dk    rXt          j        |d	         d
d¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S t          |¦  «        dk    rXt          j        |d         d
d¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S t          |¦  «        dk    rXt          j        |d         d
d¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S t          j        d|¦  «        S )Nc                óJ  — t          | ¦  «        dk    r«| d                              ¦   «                              ¦   «         dk    pz| d                              ¦   «                              t
          j                             ¦   «         ¦  «        p1t          | d                              ¦   «         t
          j	        ¦  «        S t          | ¦  «        dk    r t          j        | d         dd¦  «        }|d u S t          | ¦  «        dv r t          j        | d         dd¦  «        }|d u S d	S )
Nr=  r   úprim::devicer?  rF  r˜  r‚  )r›  é   F)rX  r¤  r³  r  ÚisSubtypeOfr   ÚListTypeÚofIntsr7  rl  r   rk  )rZ  r‚  s     r  Úis_aten_to_device_onlyz"to.<locals>.is_aten_to_device_onlya  sú   € Ýˆt‰9Œ9˜Š>ˆ>ð �Q”—’‘”×#Ò#Ñ%Ô%¨Ò7ð @Ø˜”7—<’<‘>”>×-Ò-­b¬k×.@Ò.@Ñ.BÔ.BÑCÔCð@å˜d 1œgŸlšl™nœn­bÔ.>Ñ?Ô?ðõ
 �‰YŒY˜!Š^ˆ^õ $Ô.¨t°A¬w¸¸WÑEÔEˆEØ˜D�=Ð Ý�‰YŒY˜&Ð Ð õ $Ô.¨t°A¬w¸¸WÑEÔEˆEØ˜D�=Ð Øˆur   r=  r   rk  rf  rq  rr  r?  rF  r˜  r‚  r›  r  zUnknown aten::to signature)rX  r   rH  r¤  r³  rj  r7  rc  r9  r9  ro   rÀ  r
   rw  rx  r%  r|  rk  r  )r)  r>  rZ  r  r‚  Útvals         r  rû   rû   _  s›  € ðð ð ð, Ð˜dÑ#Ô#ð Øˆå
ˆ4�y„y�A‚~�~ð �Q”ˆåÔ% d¨1¤gÑ.Ô.ð
	!à�Q”—’‘”×#Ò#Ñ%Ô%Ð)9Ò9Ð9å"Ô,¨T°!¬W¯\ª\©^¬^¸WÑEÔEˆDÝ˜$¥¤Ñ-Ô-ð !Ý�t”z‘?”? aÒ'Ð'ØŸ9š9™;œ;�DÝ ™IœI�E�Eà �EåÔ$ UÑ+Ô+ð 	Y­z¸%ÅÄÑ/NÔ/Nð 	YåÔ-×8Ò8¸¸a¼ÑAÔAˆEØ—4’4ØØØ—_’_Ñ&Ô&ð ñ ô ð ð —4’4˜ ­;Ô+DÀUÑ+KÔ+K×+UÒ+UÑ+WÔ+W�4ÑXÔXÐXÝ	ˆT‰Œ�aŠˆåÔ*¨4°¬7°C¸ÑAÔAˆà�tŠt�F˜D¥{Ô'@ÀÑ'GÔ'G×'QÒ'QÑ'SÔ'SˆtÑTÔTÐTÝ	ˆT‰Œ�aŠˆåÔ*¨4°¬7°C¸ÑAÔAˆà�tŠt�F˜D¥{Ô'@ÀÑ'GÔ'G×'QÒ'QÑ'SÔ'SˆtÑTÔTÐTÝ	ˆT‰Œ�aŠˆåÔ*¨4°¬7°C¸ÑAÔAˆà�tŠt�F˜D¥{Ô'@ÀÑ'GÔ'G×'QÒ'QÑ'SÔ'SˆtÑTÔTÐTåÔ,Ð-IÈ4ÑPÔPÐPr   zaten::repeatc                ó¢   — t           j        j        }t          | ||¦  «        }|                      d||¦  «        }|                      d||¦  «        S )Nr/  ÚTile)r
   rw  rv  r«   r%  )r)  r>  Úrepeatsr‚  Úshape_s        r  rÔ   rÔ   ª  sI   € åÔ%Ô+€EÝ�q˜' 5Ñ)Ô)€FØ�4Š4�˜$ Ñ'Ô'€DØ�4Š4�˜˜gÑ&Ô&Ð&r   zaten::repeat_interleavec                ó  — t          j        |¦  «        }t          j        |¦  «        }t          j        |¦  «        }|€t          j        d|¦  «        ‚|€t          j        d|¦  «        ‚|€t          j        d|¦  «        ‚t          j        |¦  «        r_t          j        | ||                      dt          j	        dg¦  «        ¬¦  «        ¦  «        }t          j	        dt          j
        ¬¦  «        }nt          j        |¦  «        }|dk     r|t          |¦  «        z  }|                     ¦   «         }t          |¦  «        D ]\  }	}
|
€d	\  ||	<   ||	<   Œ|dk    s|d
k    rG|d         d
k    r;||         dk    rt          j        dddd|¦  «        S t          j        | |||¦  «        S |d
k    ri||         dk    rt          j        dddd|¦  «        S |d         €t          j        dddd|¦  «        S |d         ||         k    s
J d¦   «         ‚|d         }nt          j        d|¦  «        ‚g }t          j        | ||d¦  «        }t          j        | |||¦  «        }d\  ||<   ||<   t          |¦  «        D �] \  }	}t%          | ||	         |d
z   ¦  «        }|                      dt          j        |d |d
z   …         ¦  «        ¬¦  «        ||                      dt          j        ||d
z   d …         ¦  «        ¬¦  «        g} | j        dg|¢R ddiŽ}t)          | ||d ¦  «        }t          j        | ||                      dt          j        |¦  «        ¬¦  «        d¬¦  «        }|                     |¦  «         �Œ | j        dg|¢R d|iŽS )NzGUnsupported: ONNX export of repeat_interleave for unknown repeats rank.zGUnsupported: ONNX export of repeat_interleave for unknown repeats size.zEUnsupported: ONNX export of repeat_interleave for unknown input size.r`  r.  ra  r   r�  )r   r.  rF  rÓ   r  é   z3Unsupported along dimension with unknown input sizez*Unsupported for cases with dynamic repeatsz2repeats must have the same size as input along dimz%repeats must be 0-dim or 1-dim tensor)r.  rF  r5  r6  ©Ú	allowzero)r   rœ  rŒ  r   rm  rK  r<  r%  rc  rù   r†  rL  rX  r  Ú	enumeraterJ  Ú-_repeat_interleave_single_value_repeat_helperÚ_repeat_interleave_split_helperr  r2  rO   r  )r)  r>  r  rB   r  Úrepeats_dimÚrepeats_sizesÚinput_sizesÚinput_sizes_tempr'  r	  ÚrepsÚfinal_splitsÚr_splitsÚi_splitsÚr_splitÚi_splitÚr_concats                     r  rÓ   rÓ   ²  s6  € õ "Ô2°7Ñ;Ô;€KÝ#Ô5°gÑ>Ô>€MÝ!Ô3°DÑ9Ô9€KØÐÝÔ'ØUØñ
ô 
ð 	
ð ÐÝÔ'ØUØñ
ô 
ð 	
ð ÐÝÔ'ØSØñ
ô 
ð 	
õ Ô Ñ$Ô$ð 5ÝÔ.Øˆt�Q—T’T˜*­e¬l¸B¸4Ñ.@Ô.@�TÑAÔAñ
ô 
ˆõ Œl˜1¥E¤KÐ0Ñ0Ô0ˆˆåÔ/°Ñ4Ô4ˆð ˆQ‚w€wØ�s�;ÑÔÑˆà"×'Ò'Ñ)Ô)ÐÝ$ [Ñ1Ô1ð <ð <‰ˆˆZØÐØ6;Ñ3ˆK˜ÑÐ.¨sÑ3øð �aÒÐ˜K¨1Ò,Ð,°¸qÔ1AÀQÒ1FÐ1FØ�sÔ˜qÒ Ð Ý"ÔCØ#ØØØEØñô ð õ ÔLØˆt�W˜cñ
ô 
ð 	
ð
 
˜Ò	Ð	Ø�sÔ˜qÒ Ð Ý"ÔCØ#ØØØEØñô ð ð ˜ÔÐ#Ý"ÔCØ#ØØØ<Øñô ð ð ˜!Ô ¨CÔ 0Ò0Ð0Ð0Ø?ñ 1Ô0Ð0à˜QÔˆˆåÔ'Ð(OÐQUÑVÔVÐVà€LÝÔ>¸qÀ'È4ÐQRÑSÔS€HÝÔ>¸qÀ$ÈÈcÑRÔR€HØ.3Ñ+€K�ÑÐ& sÑ+Ý! (Ñ+Ô+ð %ñ %‰ˆˆWÝ˜A˜x¨œ}¨c°A©gÑ6Ô6ˆà�DŠD�¥UÔ%5Ð6FÀyÈÈqÉÀyÔ6QÑ%RÔ%RˆDÑSÔSØØ�DŠD�¥UÔ%5Ð6FÀsÈQÁwÀyÀyÔ6QÑ%RÔ%RˆDÑSÔSð
ˆð
 �1”4˜Ð6 8Ð6Ð6Ð6°AÐ6Ð6ˆÝ˜˜G X¨tÑ4Ô4ˆÝ!Ô1ØØØ�DŠD�¥UÔ%5°kÑ%BÔ%BˆDÑCÔCØð	
ñ 
ô 
ˆð 	×Ò˜GÑ$Ô$Ð$Ñ$Øˆ1Œ4�Ð4˜<Ð4Ð4Ð4°Ð4Ð4Ð4r   zaten::pixel_shufflec                óz  — t          j        |¦  «        }t          |¦  «        dk    rt          j        dd|¦  «        S t	          d„ |dd …         D ¦   «         ¦  «        �rt          j        | t          j        | |ddg¦  «        |                      dt          j	        d	d
||d	d	g¦  «        ¬¦  «        d	¬¦  «        }|                      d|g d¢¬¦  «        }t          j        | ||                      dt          j	        g d¢¦  «        ¬¦  «        d	¬¦  «        }t          j        | ||                      dt          j	        g d¢¦  «        ¬¦  «        d	¬¦  «        }t          j
        | |ddg¦  «        S |d         |z  |z  }t          j        | ||                      dt          j	        d
||||d         |d         g¦  «        ¬¦  «        d	¬¦  «        }|                      d|g d¢¬¦  «        }t          j        | ||                      dt          j	        d
||d         |z  |d         |z  g¦  «        ¬¦  «        d	¬¦  «        S )Nr=  r±   úonly support 4d inputc              3  ó   K  — | ]}|d u V — Œ	d S r  r!  r¼  s     r  rŸ  z pixel_shuffle.<locals>.<genexpr>"  ó&   è è € Ð
'Ð
'˜ˆ1�ˆ9Ð
'Ð
'Ð
'Ð
'Ð
'Ð
'r   rF  rÃ  rÒ  r`  r   r.  ra  r  r"  )r   rF  r=  rÃ  r?  rÒ  r#  )r   r   r.  rF  r   r   )r   r   r   r   r.  rF  r?  ©r   rŒ  rX  rb  rÌ  r<  r¬  r%  rc  rù   ru  )	r)  r>  Úupscale_factorr=  Ú
after_viewÚafter_transposeÚ	reshape_hÚ	reshape_wÚoutput_channels	            r  r±   r±     s£  € õ Ô,¨TÑ2Ô2€DÝ
ˆ4�y„y�A‚~€~ÝÔ-ØÐ4°dñ
ô 
ð 	
õ Ð
'Ð
'˜d 1 2 2œhÐ
'Ñ
'Ô
'Ñ'Ô'ñ =
Ý$Ô4ØÝÔ-¨a°¸¸1°vÑ>Ô>Ø�DŠDØÝœ a¨¨^¸^ÈQÐPQÐ%RÑSÔSð ñ ô ð ð
ñ 
ô 
ˆ
ð Ÿ$š$˜{¨JÐ?QÐ?QÐ?Q˜$ÑRÔRˆå#Ô3ØØØ�DŠD�¥U¤\Ð2EÐ2EÐ2EÑ%FÔ%FˆDÑGÔGØð	
ñ 
ô 
ˆ	õ $Ô3ØØØ�DŠD�¥U¤\Ð2EÐ2EÐ2EÑ%FÔ%FˆDÑGÔGØð	
ñ 
ô 
ˆ	õ Ô.¨q°)¸aÀ¸VÑDÔDÐDà˜aœ NÑ2°nÑDˆÝ$Ô4ØØØ�DŠDØÝœàØ&Ø&Ø&Ø˜QœØ˜Qœðñ	ô 	ð ñ ô ð ð!
ñ 
ô 
ˆ
ð$ Ÿ$š$˜{¨JÐ?QÐ?QÐ?Q˜$ÑRÔRˆÝÔ.ØØØ�DŠDØÝœàØ&Ø˜Qœ .Ñ0Ø˜Qœ .Ñ0ð	ñô ð ñ 
ô 
ð ð
ñ 
ô 
ð 	
r   zaten::pixel_unshufflec                ó–  — t          j        |¦  «        }t          |¦  «        dk    rt          j        dd|¦  «        S t	          d„ |dd …         D ¦   «         ¦  «        �rt          j        | t          j        | |dg¦  «        |                      dt          j	        ddd	|dg¦  «        ¬
¦  «        d¬¦  «        }t          j        | ||                      dt          j	        ddddd	|g¦  «        ¬
¦  «        d¬¦  «        }|                      d|g d¢¬¦  «        }t          j        | ||                      dt          j	        g d¢¦  «        ¬
¦  «        d¬¦  «        }t          j
        | |ddg¦  «        S |d         |z  |z  }t          j        | ||                      dt          j	        d	|d         |d         |z  ||d         |z  |g¦  «        ¬
¦  «        d¬¦  «        }	|                      d|	g d¢¬¦  «        }t          j        | ||                      dt          j	        d	||d         |z  |d         |z  g¦  «        ¬
¦  «        d¬¦  «        S )Nr=  r±   r   c              3  ó   K  — | ]}|d u V — Œ	d S r  r!  r¼  s     r  rŸ  z"pixel_unshuffle.<locals>.<genexpr>j  r"  r   rF  rÒ  r`  r   r.  ra  r  r"  )r   rF  rÒ  r?  rÃ  r=  r#  )r   r.  rF  rF  r   r   rÃ  r#  )
r)  r>  Údownscale_factorr=  r'  r(  r&  Úfinal_reshaper)  r%  s
             r  r²   r²   b  s¯  € õ Ô,¨TÑ2Ô2€DÝ
ˆ4�y„y�A‚~€~ÝÔ-ØÐ4°dñ
ô 
ð 	
õ Ð
'Ð
'˜d 1 2 2œhÐ
'Ñ
'Ô
'Ñ'Ô'ñ :
å#Ô3ØÝÔ-¨a°¸°sÑ;Ô;Ø�DŠD�¥U¤\°1°a¸Ð=MÈqÐ2QÑ%RÔ%RˆDÑSÔSØð	
ñ 
ô 
ˆ	õ $Ô3ØØØ�DŠD�¥U¤\°1°a¸¸A¸rÐCSÐ2TÑ%UÔ%UˆDÑVÔVØð	
ñ 
ô 
ˆ	ð Ÿ$š$˜{¨IÐ>PÐ>PÐ>P˜$ÑQÔQˆÝ'Ô7ØØØ�DŠD�¥U¤\Ð2EÐ2EÐ2EÑ%FÔ%FˆDÑGÔGØð	
ñ 
ô 
ˆõ Ô.¨q°-À!ÀQÀÑHÔHÐHà˜aœÐ#3Ñ3Ð6FÑFˆÝ$Ô4ØØØ�DŠDØÝœàØ˜QœØ˜QœÐ#3Ñ3Ø(Ø˜QœÐ#3Ñ3Ø(ðñ	ô 	ð ñ ô ð ð!
ñ 
ô 
ˆ
ð$ Ÿ$š$˜{¨JÐ?QÐ?QÐ?Q˜$ÑRÔRˆÝÔ.ØØØ�DŠDØÝœàØ&Ø˜QœÐ#3Ñ3Ø˜QœÐ#3Ñ3ð	ñô ð ñ 
ô 
ð ð
ñ 
ô 
ð 	
r   c                ór	  ‡ ‡‡‡‡*‡+‡,‡-‡.— t          j        d‰z   dz   dz   dz   dz   ¦  «         g d¢}t          t          d„ |D ¦   «         |¦  «        ¦  «        }|rdnd	Š.‰d
k    r2t	          ‰¦  «        ‰‰.z  d|	z   z  k    rt          j        d
d|¦  «        S t	          ‰¦  «        ‰‰.z  d|	z   z  k    sJ ‚ˆˆ.fd„t          dt	          ‰¦  «        ‰.¦  «        D ¦   «         Š+|
r‰                      d|g d¢¬¦  «        }|r|rt          j        dd|¦  «        S ‰ 	                    d¦  «        r$|‰dd …          
                    ¦   «                  }dŠ‰d         }t          j        |d¦  «        Š*‰*€t          j        dd|¦  «        S |	 }|}g }‰dk    s‰dk    r|}n‰d
k    r|\  }}g }|€t          ‰ ¦  «        n|}‰dk    rg d¢Š,n
‰d
k    rg d¢Š,d„ Š-ˆ ˆ*ˆ+ˆ,ˆ-ˆfd„}ˆ ˆ*ˆ+ˆ,ˆ-ˆfd„}ˆ ˆfd„}t          ‰¦  «        D �]R}|r;‰.dk    r ||¦  «        \  }}}n ||¦  «        \  }}t          ‰ ¦  «        }||dz   f}nº‰.dk    rA |d	|z  ¦  «        \  }} }! |d	|z  dz   ¦  «        \  }"}#}$‰                      d|!|$d¬¦  «        }n4 |d	|z  ¦  «        \  }}  |d	|z  dz   ¦  «        \  }"}#t          ‰ ¦  «        }‰                      d||"d¬¦  «        }‰                      d| |#d¬¦  «        }d	|z  d	|z  d	z   f}|||||g}%|%                      ||g|¢R Ž ¦  «         ‰d
k    r|%                      ||g|¢R Ž ¦  «         |ri ndd i}&‰dk    r#|	r||g}'n|g}' ‰ j        dg|%¢R d	‰*|'d!œ|&¤Ž\  }}(n=‰dk    r ‰ j        dg|%¢R d	‰*dd"œ|&¤Ž\  }}(n‰d
k    r ‰ j        d
g|%¢R d#‰*d$œ|&¤Ž\  }}(})|	r\‰                      d|g d%¢¬¦  «        }t          j        ‰ |‰                      d&t          j        g d'¢¦  «        ¬(¦  «        d¬)¦  «        }nt          j        ‰ |dg¦  «        }|                     |(¦  «         ‰d
k    r|                     |)¦  «         �ŒT|
r‰                      d|g d¢¬¦  «        }‰dk    r|(n ‰ j        dg|¢R d*diŽ}‰dk    s‰dk    r||fS ‰d
k    r‰dk    r|)n ‰ j        dg|¢R d*diŽ}|||fS d S )+NzVExporting a model to ONNX with a batch_size other than 1, with a variable length with z can cause an error z9when running the ONNX model with a different batch size. z4Make sure to save the model with a batch size of 1, z=or define the initial states (h0/c0) as inputs of the model. )r”  rÞ  rú  ÚAffiner¨  ÚThresholdedReluÚ
ScaledTanhrç  r   ÚSoftsignr’  c                ó6   — g | ]}|                      ¦   «         ‘ŒS r!  )Úlower)r�  Úact_funs     r  r­  z _generic_rnn.<locals>.<listcomp>Í  s    € Ð<Ð<Ð< ˆW�]Š]‰_Œ_Ð<Ð<Ð<r   r=  rÃ  ÚLSTMrF  zLSTMs with projectionsc                ó*   •— g | ]}‰||‰z   …         ‘ŒS r!  r!  )r�  r˜  Úall_weightsÚweights_per_layers     €€r  r­  z _generic_rnn.<locals>.<listcomp>Ö  s9   ø€ ð ð ð àð 	�A˜Ð-Ñ-Ð-Ô.ðð ð r   r   r"  rÈ  r#  zRNN/GRU/LSTMzdropout in training modeÚRNNzunknown hidden sizeÚGRU))rF  rÃ  ©r   rF  )rÃ  rÒ  )r<  )rÒ  r=  )rF  rÒ  c                óJ   ‡ ‡‡— ˆ ˆˆfd„|D ¦   «         } ‰ j         dg|¢R ddiŽS )Nc           
     óZ   •— g | ]'\  }}t          j        ‰‰d g|‰z  g|‰z  g¬¦  «        ‘Œ(S )r   rx  r  )r�  ÚxÚyr)  r*  Úws      €€€r  r­  z8_generic_rnn.<locals>.reform_weights.<locals>.<listcomp>  sT   ø€ ð 
ð 
ð 
á��1õ Ô)¨!¨Q°a°SÀ!ÀaÁ%ÀÐPQÐTUÑPUÈwÐWÑWÔWð
ð 
ð 
r   r5  r6  r   r/  )r)  rA  r*  Ú	intervalsÚslicess   ```  r  Úreform_weightsz$_generic_rnn.<locals>.reform_weights  s[   øøø€ ð
ð 
ð 
ð 
ð 
ð 
à!ð
ñ 
ô 
ˆð ˆqŒt�HÐ0˜vÐ0Ð0Ð0¨aÐ0Ð0Ð0r   c                ó¦   •— ‰|          }‰	dk    r|\  }}n ‰	dk    s‰	dk    rˆˆˆˆfd„|D ¦   «         \  }}t          ˆfd„||fD ¦   «         ¦  «        S )Nr:  r;  r6  c              3  ó4   •K  — | ]} ‰‰|‰‰¦  «        V — Œd S r  r!  ©r�  rA  r)  Úhidden_sizeÚreform_permutationrD  s     €€€€r  rŸ  zB_generic_rnn.<locals>.transform_weights_no_bias.<locals>.<genexpr>  sE   øè è € ð $ð $ØJK��˜q ! [Ð2DÑEÔEð$ð $ð $ð $ð $ð $r   c              3  óF   •K  — | ]}t          j        ‰|d g¦  «        V — ŒdS r›  r«  ©r�  r?  r)  s     €r  rŸ  zB_generic_rnn.<locals>.transform_weights_no_bias.<locals>.<genexpr>  óH   øè è € ð 
ð 
àõ Ô-¨a°°Q°CÑ8Ô8ð
ð 
ð 
ð 
ð 
ð 
r   )rã  )
Úlayer_indexÚweightsÚ	weight_ihÚ	weight_hhr)  rH  Úlayer_weightsrI  rD  Úvariants
       €€€€€€r  Útransform_weights_no_biasz/_generic_rnn.<locals>.transform_weights_no_bias
  s´   ø€ Ø Ô,ˆØ�eÒÐØ#*Ñ ˆI�y�yØ˜ÒÐ ¨FÒ!2Ð!2ð$ð $ð $ð $ð $ð $ð $ØOVð$ñ $ô $Ñ ˆI�yõ ð 
ð 
ð 
ð 
à Ð+ð
ñ 
ô 
ñ 
ô 
ð 	
r   c                óâ   •— ‰	|          }‰dk    r|\  }}}}n"‰dk    s‰dk    rˆˆˆ
ˆfd„|D ¦   «         \  }}}}‰                      d||d¬¦  «        }t          ˆfd„|||fD ¦   «         ¦  «        S )	Nr:  r;  r6  c              3  ó4   •K  — | ]} ‰‰|‰‰¦  «        V — Œd S r  r!  rG  s     €€€€r  rŸ  z:_generic_rnn.<locals>.transform_weights.<locals>.<genexpr>  sE   øè è € ð 6ð 6ØJK��˜q ! [Ð2DÑEÔEð6ð 6ð 6ð 6ð 6ð 6r   r5  r   ry  c              3  óF   •K  — | ]}t          j        ‰|d g¦  «        V — ŒdS r›  r«  rK  s     €r  rŸ  z:_generic_rnn.<locals>.transform_weights.<locals>.<genexpr>   rL  r   )r%  rã  )rM  rN  rO  rP  Úbias_ihÚbias_hhÚbias_concatr)  rH  rQ  rI  rD  rR  s          €€€€€€r  Útransform_weightsz'_generic_rnn.<locals>.transform_weights  s×   ø€ Ø Ô,ˆØ�eÒÐØ5<Ñ2ˆI�y '¨7¨7Ø˜ÒÐ ¨FÒ!2Ð!2ð6ð 6ð 6ð 6ð 6ð 6ð 6ØOVð6ñ 6ô 6Ñ2ˆI�y '¨7ð —d’d˜8 W¨g¸a�dÑ@Ô@ˆÝð 
ð 
ð 
ð 
à ¨KÐ8ð
ñ 
ô 
ñ 
ô 
ð 	
r   c                óL   •— ‰dk    r| nt          j        ‰| dg|g|g¬¦  «        S )NrF  r   rx  r  )r?  r+  r,  r)  Ú
num_layerss      €€r  Úretrieve_statez$_generic_rnn.<locals>.retrieve_state%  s@   ø€ ð ˜QŠˆð ˆAå Ô.Ø�1˜A˜3¨ w°c°Uðñ ô ð	
r   r5  ry  Údirection_sÚbidirectional)ra  Úhidden_size_iÚactivations_s)ra  r`  Úlinear_before_reset_irÒ  )ra  r`  )r   rÃ  rF  rÒ  r`  )r   r   r.  ra  r  r6  )rC  rD  Údicträ  rX  r   rb  r)  r%  Ú
startswithr4  r¢  r  r  r<  rc  r2  ru  )/r)  rR  r1  Úinitial_statesr8  Ú
has_biasesr\  rE   rz  r_  Úbatch_firstÚbatch_sizesÚonnxActivationsÚvariantToOnnxActivationMapÚnonlinearityÚw_hhÚunidirectionalÚprev_outputÚh_outsÚh0Úc0Úc_outsÚsequence_lensrS  rZ  r]  r˜  rO  rP  rY  Ústate_indicesÚweight_ih_fÚweight_hh_fÚbias_fÚweight_ih_bÚweight_hh_bÚbias_bÚinputsÚextra_kwargsÚ
activationÚh_outÚc_outrH  rQ  rI  rD  r9  s/   ``  ` `                                   @@@@@r  Ú_generic_rnnr€  §  s«  øøøøøøøøø€ õ „Mð	)à
ñ	ð !ñ	!ð Fñ		Fð
 Añ	Að Jñ	Jñô ð ðð ð €Oõ "&ÝÐ<Ð<¨OÐ<Ñ<Ô<¸oÑNÔNñ"ô "Ðð (Ð.˜˜¨QÐà�&ÒÐ�S Ñ-Ô-°Ð>OÑ1OØ	ˆMÑñ2ò ð õ Ô-¨fÐ6NÐPUÑVÔVÐVÝˆ{ÑÔ˜zÐ,=Ñ=ÀÀ]ÑARÑSÒSÐSÐSÐSðð ð ð ð å�q�#˜kÑ*Ô*Ð,=Ñ>Ô>ðñ ô €Mð ð ;à—’�[ %°	°	°	�Ñ:Ô:ˆØð 
�5ð 
ÝÔ-ØÐ6¸ñ
ô 
ð 	
ð ×Ò˜%Ñ Ô ð Ø1°'¸!¸"¸"´+×2CÒ2CÑ2EÔ2EÔFˆØˆà�qŒ>€DÝ!Ô6°t¸QÑ?Ô?€KØÐÝÔ-ØÐ1°5ñ
ô 
ð 	
ð 'Ð&€Nà€Kà€FØ�%ÒÐ˜7 eÒ+Ð+ØˆˆØ	�FÒ	Ð	Ø‰ˆˆBØˆà!,Ð!4•F˜1‘I”I�I¸+€Mà�%ÒÐð 6Ð5Ð5ÐÐØ	�FÒ	Ð	ð 6Ð5Ð5Ðð1ð 1ð 1ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
õ �:ÑÔð O!ñ O!ˆØð 	-Ø  AÒ%Ð%Ø4EÐ4EÀaÑ4HÔ4HÑ1�	˜9 k kà'@Ð'@ÀÑ'CÔ'CÑ$�	˜9Ý$ Q™iœi�à˜q 1™u˜HˆMˆMà  AÒ%Ð%Ø3DÐ3DÀQÈÁUÑ3KÔ3KÑ0�˜[¨&Ø3DÐ3DÀQÈÁUÈQÁYÑ3OÔ3OÑ0�˜[¨&ØŸdšd 8¨V°VÀA˜dÑFÔF��à+DÐ+DÀQÈÁUÑ+KÔ+KÑ(�˜[Ø+DÐ+DÀQÈÁUÈQÁYÑ+OÔ+OÑ(�˜[Ý$ Q™iœi�àŸš˜X {°KÈ˜ÑJÔJˆIØŸš˜X {°KÈ˜ÑJÔJˆIà ™E 1 q¡5¨1¡9Ð,ˆMà˜y¨)°[À-ÐPˆà�Š�n�n RÐ8¨-Ð8Ð8Ð8Ñ9Ô9Ð9Ø�fÒÐØ�MŠM˜.˜.¨Ð<¨mÐ<Ð<Ð<Ñ=Ô=Ð=à+ÐQ�r�r°-ÀÐ1QˆØ�eÒÐØð ,Ø*¨LÐ9�
�
à*˜^�
à!% ¤Øð"àð"ð "ð Ø)Ø(ð"ð "ð ð"ð "ÑˆK˜˜ð ˜ÒÐØ!% ¤Øð"àð"ð "ð Ø)Ø&'ð"ð "ð ð"ð "ÑˆK˜˜ð ˜ÒÐØ(,¨¬Øð)Øð)ð )Ø)*¸+ð)ð )ØIUð)ð )Ñ%ˆK˜ ð ð 	Oð Ÿ$š$˜{¨KÀÀÀ˜$ÑMÔMˆKÝ)Ô9ØØØ—’�Z­Ô)9¸*¸*¸*Ñ)EÔ)E�ÑFÔFØð	ñ ô ˆKˆKõ *Ô9¸!¸[È1È#ÑNÔNˆKà�Š�eÑÔÐØ�fÒÐØ�MŠM˜%Ñ Ô Ð ùØð Gà—d’d˜;¨¸I¸I¸I�dÑFÔFˆØ  A’o�oˆUˆU¨4¨1¬4°Ð+L¸6Ð+LÐ+LÐ+LÈ!Ð+LÐ+L€FØ�%ÒÐ˜7 eÒ+Ð+Ø˜FÐ"Ð"Ø	�FÒ	Ð	Ø$¨š/˜/��¨t¨q¬t°HÐ/P¸vÐ/PÐ/PÐ/PÈaÐ/PÐ/PˆØ˜F FÐ*Ð*ð 
Ð	r   c
                ó„   — t          j        |¦  «        t          j        |¦  «        }}
t          | d||
|||||||	¦  «        S )Nr6  ©r   r   r€  )r)  r1  Úhidden_vÚweight_vrf  r\  rE   rz  r_  rg  ÚhiddenrE  s               r  Ú
_lstm_fullr†  ‰  s\   € õ 	Ô$ XÑ.Ô.ÝÔ$ XÑ.Ô.ð €Fõ Ø	ØØØØØØØØØØñô ð r   c
                ó†   — t          j        |¦  «        t          j        |¦  «        }}
t          | d||
||||||	|¬¦  «        S )Nr6  ©rh  r‚  )r)  r1  rh  rƒ  r„  rf  r\  rE   rz  r_  r…  rE  s               r  Ú_lstm_packedr‰  ©  sa   € õ 	Ô$ XÑ.Ô.ÝÔ$ XÑ.Ô.ð €Fõ Ø	ØØØØØØØØØØðñ ô ð r   z
aten::lstmc                ój   — t          j        |d         ¦  «        rt          | g|¢R Ž S t          | g|¢R Ž S ©NrÒ  )r   rI  r‰  r†  )r)  rZ  s     r  r‰   r‰   É  sE   € åÔ& t¨A¤wÑ/Ô/ð $Ý˜AÐ% Ð%Ð%Ð%Ð%å˜!Ð#˜dÐ#Ð#Ð#Ð#r   zaten::lstm_cellc                óz  ‡ — t          j        ‰ |dg¦  «        }t          j        |¦  «        }ˆ fd„|D ¦   «         }t          j        |¦  «        r||||fn||f}t          j        |¦  «        rdnd}	t	          ‰ d||||	ddddd¬¦  «        \  }
}}t          j        ‰ |dg¦  «        t          j        ‰ |dg¦  «        fS )Nr   c                ó>   •— g | ]}t          j        ‰|d g¦  «        ‘ŒS rý  r«  rK  s     €r  r­  zlstm_cell.<locals>.<listcomp>Õ  s*   ø€ ÐKÐKÐK¸q�oÔ/°°1°q°cÑ:Ô:ÐKÐKÐKr   TFr6  rF  )r\  rE   rz  r_  rg  )r   r¬  r   Ú
_is_tensorr€  ru  )r)  r>  r…  Úw_ihrl  Úb_ihÚb_hhr1  rE  rf  rß  ro  rr  s   `            r  rˆ   rˆ   Ñ  sý   ø€ åÔ-¨a°¸°sÑ;Ô;€EÝÔ)¨&Ñ1Ô1€FØKÐKÐKÐKÀFÐKÑKÔK€Få$3Ô$>¸tÑ$DÔ$DÐVˆˆt�T˜4Ð Ð È4ÐQUÈ,ð õ )Ô3°DÑ9Ô9ÐD��¸u€JÝ$Ø	ØØØØØØØØØØðñ ô Ñ€A€vˆvõ Ô*Ø	ˆ6�A�3ñô åÔ& q¨&°1°#Ñ6Ô6ð7ð 7r   z	aten::grur;  Úgruzaten::rnn_tanhÚRNN_TANHÚrnn_tanhzaten::rnn_reluÚRNN_RELUÚrnn_relur³  c                ó´   ‡ ‡‡— t          j        ddddddddd¦	  «	        ˆ fd„¦   «         Št          j        ddddddddd¦	  «	        ˆ fd„¦   «         Šˆˆfd„}|S )Nr[  r˜  r\  c
                ó^   •— t          j        |¦  «        }
t          | ‰|||
||||||	¦  «        S r  r‚  )r)  r1  r…  r„  rf  r\  rE   rz  r_  rg  rE  r³  s              €r  Ú	_rnn_fullz"_one_hidden_rnn.<locals>._rnn_fullø  sH   ø€ õ !Ô-¨hÑ7Ô7ˆÝØØØØØØØØØØØñ
ô 
ð 	
r   c
                ó`   •— t          j        |¦  «        }
t          | ‰|||
|||||	|¬¦  «        S )Nrˆ  r‚  )r)  r1  rh  r…  r„  rf  r\  rE   rz  r_  rE  r³  s              €r  Ú_rnn_packedz$_one_hidden_rnn.<locals>._rnn_packed  sM   ø€ õ !Ô-¨hÑ7Ô7ˆÝØØØØØØØØØØØ#ð
ñ 
ô 
ð 	
r   c                ó\   •— t          j        |d         ¦  «        r	 ‰| g|¢R Ž S  ‰| g|¢R Ž S r‹  )r   rI  )r)  rZ  r™  r›  s     €€r  Úsymbolicz!_one_hidden_rnn.<locals>.symbolic0  sJ   ø€ ÝÔ*¨4°¬7Ñ3Ô3ð 	'Ø�;˜qÐ( 4Ð(Ð(Ð(Ð(à�9˜QÐ& Ð&Ð&Ð&Ð&r   r~  )r³  r�  r™  r›  s   ` @@r  Ú_one_hidden_rnnrž  ì  s®   øøø€ õ Ô  S¨#¨s°C¸¸cÀ3ÈÑLÔLð
ð 
ð 
ð 
ñ MÔLð
õ6 Ô  S¨#¨s°C¸¸cÀ3ÈÑLÔLð
ð 
ð 
ð 
ñ MÔLð
ð6'ð 'ð 'ð 'ð 'ð 'ð €Or   zaten::_dim_arangec           
     óÖ   — |                       d|¦  «        }|                       d||                       dt          j        |¦  «        ¬¦  «        d¬¦  «        }t          | |dd d d ¦  «        S )Nr.  rA  r`  ra  r   ry  r=  )r%  rc  rù   r   )r)  ÚlikerB   Ú
like_shapeÚstops        r  Ú_dim_aranger£  9  sm   € ð —’�g˜tÑ$Ô$€JØ�4Š4Ø�*˜aŸdšd :µu´|ÀCÑ7HÔ7H˜dÑIÔIÐRSð ñ ô €Dõ �!�T˜1˜d D¨$Ñ/Ô/Ð/r   zaten::detachc                ó   — |S r  r!  r0  s     r  rA   rA   D  rM  r   zaten::contiguousc                ó<   — |dk    rt          j        d|¦  «        ‚|S )NrÃ  z-onnx memory_format support is not implemented)r   rm  )r)  r1  r¨  s      r  r3   r3   J  s0   € ð �qÒÐÝÔ'Ø;¸Uñ
ô 
ð 	
ð €Lr   zaten::_pack_padded_sequencec                óø  — |r|                       d|g d¢¬¦  «        }|                     ¦   «                              t          j        j                             ¦   «         ¦  «        st          j        d|¦  «        ‚t          j
                             |t          j
        j        ¦  «        t          j
        j        k    r'|                       d|t          j        j        ¬¦  «        }|                       d||d¬	¦  «        S )
Nr"  rÈ  r#  z*'lengths' must be a Tensor for ONNX exportrq  rr  zprim::PackPaddedrÃ  ©ra  )r%  r  r  rc  r   Ú
TensorTypeÚgetr   rm  r
   rw  rx  ry  r×  rt  ru  rx  )r)  r1  Úlengthsrg  s       r  Ú_pack_padded_sequencer«  T  sâ   € ð ð ;Ø—’�[ %°	°	°	�Ñ:Ô:ˆØ�<Š<‰>Œ>×%Ò%¥e¤hÔ&9×&=Ò&=Ñ&?Ô&?Ñ@Ô@ð 
ÝÔ'Ø8¸%ñ
ô 
ð 	
õ 	Ô!×,Ò,Ø•[Ô.Ô8ñ	
ô 	
õ Ô$Ô(ò	)ð 	)ð
 —$’$�v˜w­WÔ-HÔ-N�$ÑOÔOˆØ�4Š4Ð" E¨7¸Aˆ4Ñ>Ô>Ð>r   zaten::_pad_packed_sequencec                óz   — |                       d||d¬¦  «        \  }}|r|                       d|g d¢¬¦  «        }||fS )Nzprim::PadPackedrÃ  r§  r"  rÈ  r#  r/  )r)  r´  rh  rg  Úpadding_valueÚtotal_lengthrª  s          r  Ú_pad_packed_sequencer¯  m  sO   € ð —D’DÐ*¨D°+Àq�DÑIÔI�M€Dˆ'Øð 9Ø�tŠt�K ¨i¨i¨iˆtÑ8Ô8ˆØ�ˆ=Ðr   zaten::randintc                ó2  — t          j        |dd¦  «        }t          j        |dd¦  «        }t          j        |dd¦  «        }|€t          j        j        }nt          j        |¦  «        }|€t          j        d|¦  «        ‚|€t          j        d|¦  «        ‚t          j        |d¦  «        }	t          j        |	¦  «        rQ|                      d|t          j
        dgt          j        ¬	¦  «        ¬
¦  «        }
|                      d|
||¬¦  «        }n|                      d|	||¬¦  «        }t          j        j        }|                      d||                     ¦   «         ¬¦  «        }||k    r*|                      d||                     ¦   «         ¬¦  «        }|S )Nr˜  r‚  r  ÚhighrË   r-  r¹  r   r�  ra  ÚRandomUniformLike©Úlow_fÚhigh_fÚRandomUniform)Úshape_ir´  rµ  rq  rr  )r   rk  r
   rw  rv  r  r1  rH  r%  rc  rù   r‘  r|  )r)  r  r±  Úshapesr‚  r®  Úlow_iÚhigh_ir~  r9  Úshape_constrÍ   Ú	int_dtyperË   s                 r  rË   rË   €  sš  € åÔ& u¨c°7Ñ;Ô;€EÝÔ& s¨C°Ñ7Ô7€EÝÔ'¨¨c°6Ñ:Ô:€FØ€}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆØ€}ÝÔ/°	¸3Ñ?Ô?Ð?Ø€~ÝÔ/°	¸4Ñ@Ô@Ð@åÔ,¨V°TÑ:Ô:€EÝÔ  Ñ'Ô'ð 
Ø—d’dØØÝ”L ! ­E¬KÐ8Ñ8Ô8ð ñ 
ô 
ˆð
 —’ØØØØð	 ñ 
ô 
ˆˆð —’ØØØØð	 ñ 
ô 
ˆõ Ô)Ô/€IØ�dŠd�6˜5 y×':Ò':Ñ'<Ô'<ˆdÑ=Ô=€GØ�KÒÐØ—$’$�v˜w¨[×-BÒ-BÑ-DÔ-D�$ÑEÔEˆØ€Nr   zaten::randint_likec                ó>  — t          j        |dd¦  «        }t          j        |dd¦  «        }t          j        |dd¦  «        }|€t          j        j        }nt          j        |¦  «        }|€t          j        d|¦  «        ‚|€t          j        d|¦  «        ‚|                      d|||¬¦  «        }	t          j        j        }
|                      d|	|
                     ¦   «         ¬	¦  «        }|
|k    r*|                      d||                     ¦   «         ¬	¦  «        }|S )
Nr˜  r‚  r  r±  rË   r²  r³  rq  rr  )r   rk  r
   rw  rv  r  r%  r|  )r)  r>  r  r±  r‚  r®  r¹  rº  r~  rÍ   r¼  rË   s               r  rÊ   rÊ   «  s  € åÔ& u¨c°7Ñ;Ô;€EÝÔ& s¨C°Ñ7Ô7€EÝÔ'¨¨c°6Ñ:Ô:€FØ€}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆØ€}ÝÔ/°	¸3Ñ?Ô?Ð?Ø€~ÝÔ/°	¸4Ñ@Ô@Ð@à�DŠDØØØØð	 ñ ô €Eõ Ô)Ô/€IØ�dŠd�6˜5 y×':Ò':Ñ'<Ô'<ˆdÑ=Ô=€GØ�KÒÐØ—$’$�v˜w¨[×-BÒ-BÑ-DÔ-D�$ÑEÔEˆØ€Nr   zaten::randnc                óæ  — t          j        |dd¦  «        }|€t          j        j        }nt          j        |¦  «        }t          j        |d¦  «        }t          j        |¦  «        ra|                      d|t          j	        dgt          j
        ¬¦  «        ¬¦  «        }|                      d||                     ¦   «         ¬	¦  «        S |                      d
||                     ¦   «         ¬¦  «        S )Nr˜  r‚  r-  r¹  r   r�  ra  ÚRandomNormalLike©Údtype_iÚRandomNormal©r·  rÁ  ©r   rk  r
   rw  r{  r1  rH  r%  rc  rù   r‘  r|  ©r)  r¸  r‚  r®  r~  r9  r»  s          r  rÍ   rÍ   È  sõ   € åÔ& u¨c°7Ñ;Ô;€EØ€}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆÝÔ,¨V°TÑ:Ô:€EÝÔ  Ñ'Ô'ð 

Ø—d’dØØÝ”L ! ­E¬KÐ8Ñ8Ô8ð ñ 
ô 
ˆð
 �tŠtØØØ×)Ò)Ñ+Ô+ð ñ 
ô 
ð 	
ð
 �4Š4ØØØ×%Ò%Ñ'Ô'ð ñ ô ð r   z
aten::randc                óæ  — t          j        |dd¦  «        }|€t          j        j        }nt          j        |¦  «        }t          j        |d¦  «        }t          j        |¦  «        ra|                      d|t          j	        dgt          j
        ¬¦  «        ¬¦  «        }|                      d||                     ¦   «         ¬	¦  «        S |                      d
||                     ¦   «         ¬¦  «        S )Nr˜  r‚  r-  r¹  r   r�  ra  r²  rÀ  r¶  rÃ  rÄ  rÅ  s          r  rÉ   rÉ   â  sõ   € åÔ& u¨c°7Ñ;Ô;€EØ€}Ý!Ô/Ô5ˆˆå!Ô/°Ñ6Ô6ˆÝÔ,¨V°TÑ:Ô:€EÝÔ  Ñ'Ô'ð 

Ø—d’dØØÝ”L ! ­E¬KÐ8Ñ8Ô8ð ñ 
ô 
ˆð
 �tŠtØØØ×)Ò)Ñ+Ô+ð ñ 
ô 
ð 	
ð
 �4Š4ØØØ×%Ò%Ñ'Ô'ð ñ ô ð r   zaten::randn_likec                ó  — t          j        |dd¦  «        }|€0t          j                             |t          j        j        ¦  «        }nt          j        |¦  «        }|                      d||                     ¦   «         ¬¦  «        S )Nr˜  r‚  r¿  rÀ  ©r   rk  r
   rw  rx  r{  r%  r|  )r)  r>  r‚  r¥  r¦  r§  r¨  r~  s           r  rÌ   rÌ   ü  sy   € õ Ô& u¨c°7Ñ;Ô;€EØ€}Ý!Ô/×:Ò:Ø•+Ô+Ô1ñ
ô 
ˆˆõ "Ô/°Ñ6Ô6ˆØ�4Š4Ð" D°+×2GÒ2GÑ2IÔ2Iˆ4ÑJÔJÐJr   zaten::rand_likec                ó  — t          j        |dd¦  «        }|€/t          j                             |t          j        j        ¦  «        }|                      d|t          j        |¦  «                             ¦   «         ¬¦  «        S )Nr˜  r‚  r²  rÀ  rÈ  )r)  r>  r‚  r¥  r¦  r§  r¨  s          r  rÈ   rÈ     s{   € õ Ô& u¨c°7Ñ;Ô;€EØ€}ÝÔ)×4Ò4Ø•+Ô+Ô1ñ
ô 
ˆð �4Š4Ø˜T­;Ô+DÀUÑ+KÔ+K×+UÒ+UÑ+WÔ+Wð ñ ô ð r   zaten::rreluc                ó¦   — |s ||z   dz  }|                       d||¬¦  «        S |                       d|||¬¦  «        }|                       d||¦  «        S )Nrð  r¨  r©  r²  )rµ  r´  r‹  r/  )r)  r1  r4  Úupperrä  r  rò  rH  s           r  rÙ   rÙ   $  sb   € ð ð 7Ø˜‘ #Ñ%ˆØ�tŠt�K °ˆtÑ6Ô6Ð6Ø	�ŠÐ  %°¸UˆÑCÔC€AØ�4Š4�˜ Ñ"Ô"Ð"r   zaten::bernoullic                ót  — |�*t          j        |¦  «        st          j        dd|¦  «         |�*t          j        |¦  «        st          j        dd|¦  «         t          j                             |t          j        j        ¦  «        }|t          j        j        k    rt          j        dd|¦  «        S |                      d|dd|                     ¦   «         ¬¦  «        }|�t          j        |¦  «        s|n|}|                      d	||¦  «        }|                      d
||                     ¦   «         ¬¦  «        S )NÚ	Bernoulliz,out parameter is not supported for bernoulliz(generator is not supported for bernoulliúinput dtype not accessibler²  r]  r´  )rµ  r´  rÁ  rï  rq  rr  )	r   rK  rb  r
   rw  rx  ry  r%  r|  )	r)  r1  rH  r  r}  r‚  ÚrandsÚprobr  s	            r  r$   r$   .  sE  € à
€�Ô7¸Ñ<Ô<€ÝÔ&ØÐGÈñ	
ô 	
ð 	
ð Ð¥_Ô%=¸iÑ%HÔ%HÐÝÔ&ØÐCÀUñ	
ô 	
ð 	
õ Ô%×0Ò0Ø�{Ô(Ô2ñô €Eð •Ô)Ô3Ò3Ð3ÝÔ-ØÐ5°uñ
ô 
ð 	
ð �DŠDØØØØØ—’Ñ!Ô!ð ñ ô €Eð �¥oÔ&>¸qÑ&AÔ&A�ˆ1ˆ1Àu€DØ�TŠT�&˜% Ñ&Ô&€FØ�4Š4�˜ U§_¢_Ñ%6Ô%6ˆ4Ñ7Ô7Ð7r   zaten::log_sigmoidc                óZ   — |                       d|¦  «        }|                       d|¦  «        S )Nrú  rQ  r/  )r)  r1  rH  s      r  r|   r|   M  s)   € ð 	
�ŠˆY˜ÑÔ€AØ�4Š4��q‰>Œ>Ðr   z	aten::erfc                ó.   — |                       d|¦  «        S )NÚErfr/  r0  s     r  rL   rL   T  s   € ð �4Š4��uÑÔÐr   zaten::flattenc                ó´  — t          j        |¦  «        }|€t          j        dd|¦  «        S |dk    rt          j        | |dg¦  «        S |dk    r|                      d|¦  «        S |dk     r||z   }|dk    r!||dz
  k    r|                      d||¬¦  «        S |dk    r$||dz
  k    r|                      d||dz   ¬¦  «        S t          j        | ||||¦  «        S )	NrB   rŸ  r   rF  r!  ÚFlattenry  rÃ  )r   rœ  rb  r<  r%  Ú_flatten_helper)r)  r1  Ú	start_dimÚend_dimrB   s        r  rR   rR   Z  s  € õ Ô
*¨5Ñ
1Ô
1€CØ
€{ÝÔ-Øð7àñ	
ô 
ð 	
ð ˆa‚x€xÝÔ.¨q°%¸!¸Ñ=Ô=Ð=Ø
ˆa‚x€xØ�tŠt�J Ñ&Ô&Ð&à�‚{€{Ø˜‘-ˆà�A‚~€~˜' S¨1¡WÒ,Ð,Ø�tŠt�I˜u¨YˆtÑ7Ô7Ð7Ø�A‚~€~˜' S¨1¡WÒ,Ð,Ø�tŠt�I˜u¨W°q©[ˆtÑ9Ô9Ð9åÔ*¨1¨e°YÀÈÑMÔMÐMr   zaten::nonzeroc                óJ   — t          | |                      d|¦  «        ¦  «        S )z/Emitted from `torch.nonzero(x, as_tuple=False)`ÚNonZero)rô   r%  r0  s     r  r¦   r¦   w  s"   € õ ˆQ�—’�Y Ñ&Ô&Ñ'Ô'Ð'r   zaten::nonzero_numpyc                óD   — t          | t          | |¦  «        d|¬¦  «        S )NrF  )rd  )r   r¦   )r)  r1  rd  s      r  r¥   r¥   ~  s%   € õ �!•W˜Q Ñ&Ô&¨°HÐ=Ñ=Ô=Ð=r   zaten::isnanc                ó2   — |                       d|¦  «        }|S )NÚIsNaNr/  )r)  r1  r  s      r  rn   rn   „  s   € ð �TŠT�'˜5Ñ!Ô!€FØ€Mr   z	aten::anyc                óè  — t          |¦  «        dk    r|d         }d\  }}nO|\  }}}t          j        |d¦  «        }d„ |                     d¦  «        D ¦   «         }t          j        |d¦  «        }|                      d|t
          j        j        ¬	¦  «        }t          j        | |||¬
¦  «        }t          | ||                      dt          j        dt          j        ¬¦  «        ¬¦  «        ¦  «        S )NrF  r   rW  rô   c                ó,   — g | ]}t          |¦  «        ‘ŒS r!  rÊ  )r�  r>  s     r  r­  z_any.<locals>.<listcomp>–  s   € Ð,Ð,Ð,˜!�s�1‰vŒvÐ,Ð,Ð,r   r.  r˜  rq  rr  r°  r`  r�  ra  )rX  r   r  r  r%  rt  ru  rv  r´  r_   rc  rù   ró  )r)  rZ  r1  rB   r8  Ú	input_sums         r  Ú_anyrá  ‹  sè   € õ ˆ4�y„y�A‚~€~Ø�Q”ˆØ‰ˆˆWˆWð #Ñˆˆs�GåÔ(¨¨cÑ2Ô2ˆØ,Ð,˜sŸxšx¨™|œ|Ð,Ñ,Ô,ˆÝ!Ô,¨W°cÑ:Ô:ˆØ�DŠD�˜¥WÔ%@Ô%FˆDÑGÔG€EÝÔ1Ø	ˆ5˜¨ðñ ô €Iõ ˆa�˜AŸDšD µU´\À!Í5Ì:Ð5VÑ5VÔ5V˜DÑWÔWÑXÔXÐXr   z	aten::allc           
     ó  — |                       d|d         ¦  «        }t          |¦  «        dk    r$|                       dt          | |¦  «        ¦  «        S |                       dt          | ||d         |d         ¦  «        ¦  «        S )Nr„  r   rF  rÃ  )r%  rX  rá  )r)  rZ  r1  s      r  Ú_allrã  Ÿ  sp   € à�DŠD�˜˜QœÑ Ô €Eå
ˆ4�y„y�A‚~€~Ø�tŠt�E�4  5™>œ>Ñ*Ô*Ð*ð �tŠt�E�4  5¨$¨q¬'°4¸´7Ñ;Ô;Ñ<Ô<Ð<r   zaten::narrowc                ó@   — t          j        | ||g|g||z   g¬¦  «        S )Nrx  r  )r)  r1  rB   r+  Úlengths        r  r�   r�   ª  s4   € õ Ô(Ø	ˆ5˜�u e W°E¸F±NÐ3Cðñ ô ð r   zaten::argmaxútorch._C.Valuer8  c                ó2   — t          j        | |||d¦  «        S )NÚArgMax©r   Ú_argmin_argmax_helper©r)  r1  rB   r8  s       r  r   r   ²  ó   € õ Ô0°°E¸3ÀÈÑRÔRÐRr   zaten::argminc                ó2   — t          j        | |||d¦  «        S )NÚArgMinré  rë  s       r  r   r   ½  rì  r   zaten::scatterc           
     óÔ  — t           j                             |t           j        j        ¦  «        }t	          j        |¦  «        }t	          j        |¦  «        r|                      d||||¬¦  «        S t           j                             |¦  «        }||k    r*|                      d||                     ¦   «         ¬¦  «        }|                      d||t          | ||¦  «        |¬¦  «        S )NÚScatterry  rq  rr  )
r
   rw  rx  ry  r   rL  rH  r%  r|  rN   )r)  r>  rB   rj   ÚsrcÚsrc_typerÈ  s          r  rÞ   rÞ   È  sÙ   € õ Ô(×3Ò3Ø�[Ô&Ô0ñô €Hõ Ô
+¨CÑ
0Ô
0€CÝÔ  Ñ%Ô%ð RØ�tŠt�I˜t U¨C¸ˆtÑ<Ô<Ð<õ 'Ô4×?Ò?ÀÑEÔEÐØ˜xÒ'Ð'Ø—$’$�v˜sÐ)9×)CÒ)CÑ)EÔ)E�$ÑFÔFˆCØ�tŠt�I˜t U­I°a¸¸eÑ,DÔ,DÈSˆtÑQÔQÐQr   zaten::scatter_addc                óz  — t          j        |¦  «        }|€t          j        dd|¦  «        S t          j        |d¬¦  «        }|r>|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }nt          | ||¦  «        }t          j	        | ||||¦  «        }t          | ||¦  «        S )NrÝ   rÎ  F)Úallow_nonstaticr`  r�  ra  )r   rÄ  rb  rŒ  r%  rc  r  r‚  r  Ú_scatter_helperr   )r)  r>  rB   rj   rñ  r~  rÍ  Úto_adds           r  rÝ   rÝ   Ú  sÃ   € õ "Ô6°tÑ<Ô<€KØÐÝÔ-ØÐ7¸ñ
ô 
ð 	
õ Ô-¨dÀEÐJÑJÔJ€EØð 2Ø—’�j­%¬+°eÀ;×CTÒCTÑCVÔCVÐ*WÑ*WÔ*W�ÑXÔXˆˆå˜A˜t [Ñ1Ô1ˆÝÔ,¨Q°¸¸UÀCÑHÔH€FÝˆq�$˜ÑÔÐr   z
aten::log2c           
     óž   — d}|                       dt          | |¦  «        |                       dt          j        |¦  «        ¬¦  «        ¦  «        S )Ngï9úþB.æ?rp  r`  ra  rT  )r)  r>  Ú_ln2s      r  r�   r�   ë  s?   € à€DØ�4Š4�•s˜1˜d‘|”| Q§T¢T¨*½e¼lÈ4Ñ>PÔ>P TÑ%QÔ%QÑRÔRÐRr   zaten::is_floating_pointc                óÒ   — t          j        |¦  «        r*|                      dt          j        dg¦  «        ¬¦  «        S |                      dt          j        dg¦  «        ¬¦  «        S ©Nr`  rF  ra  r   )r   rz  r%  rc  Ú
BoolTensorr—  s     r  rl   rl   ñ  s[   € åÔ˜dÑ#Ô#ð ?Ø�tŠt�J­Ô(8¸!¸Ñ(=Ô(=ˆtÑ>Ô>Ð>Ø�4Š4�
¥EÔ$4°a°SÑ$9Ô$9ˆ4Ñ:Ô:Ð:r   zaten::__is_c                ó  — t          j        |¦  «        rht          j        |¦  «        r*|                      dt          j        dg¦  «        ¬¦  «        S |                      dt          j        dg¦  «        ¬¦  «        S t          | ||¦  «        S rú  )r   rK  r%  rc  rû  rK   rU  s      r  Ú__is_rý  ø  s�   € åÔ Ñ&Ô&ð ?ÝÔ# DÑ)Ô)ð 	CØ—4’4˜
­EÔ,<¸a¸SÑ,AÔ,A�4ÑBÔBÐBØ�tŠt�J­Ô(8¸!¸Ñ(=Ô(=ˆtÑ>Ô>Ð>Ýˆa��uÑÔÐr   zaten::__isnot_c                ó$   — t          | ||¦  «        S r  )rý  rU  s      r  Ú__isnot_rÿ    s   € õ ��D˜%Ñ Ô Ð r   zaten::one_hotc                ó¼  — |                       dt          j        ddg¦  «        ¬¦  «        }t          j                             |t          j        j        ¦  «        t          j        j        t          j        j        t          j        j	        t          j        j
        hv r'|                       d|t          j        j        ¬¦  «        }|                       d|||d¬	¦  «        S )
Nr`  r   rF  ra  rq  rr  ÚOneHotr.  ry  )r%  rc  r2  r
   rw  rx  ry  rÔ  rÕ  r×  rÖ  rt  ru  rv  )r)  r>  Únum_classesr'  s       r  rª   rª     s·   € à�TŠT�*¥eÔ&6¸¸1°vÑ&>Ô&>ˆTÑ?Ô?€FåÔ ×+Ò+Ø•[Ô.Ô8ñô õ 	Ô!Ô'ÝÔ!Ô&ÝÔ!Ô%ÝÔ!Ô'ð	
ðð ð —d’d˜6 ;µWÔ5PÔ5V�dÑWÔWˆØ�4Š4�˜$ ¨V¸Bˆ4Ñ?Ô?Ð?r   zaten::gatherc           
     ór  — t          j        |d¦  «        rt          j        dd|¦  «        S t          j                             |¦  «        }|                      dt          j        ddg¦  «        ¬¦  «        }t          | ||                      dt          j        |g¦  «        ¬¦  «        ¦  «        }|                      d|                      d	||||¬
¦  «        | 
                    ¦   «         ¬¦  «        }|                      dt          j        | ||dz   g¦  «        |¦  «        }t          j        | ||gd¬¦  «        S )Nr˜  rY   zsparse_grad == Truer`  r   rF  ra  rq  r  ry  rr  rG  r°  )r   r1  rb  r
   rw  rx  r%  rc  r2  rå   r|  r¬  r´  )	r)  r>  rB   rj   Úsparse_gradr~  r'  Údepthrš   s	            r  rY   rY     s%  € õ Ô'¨°SÑ9Ô9ð UÝÔ-¨hÐ8MÈtÑTÔTÐTõ Ô+×6Ò6°tÑ<Ô<€KØ�TŠT�*¥eÔ&6¸¸1°vÑ&>Ô&>ˆTÑ?Ô?€FÝ��D˜!Ÿ$š$˜zµ5Ô3CÀSÀEÑ3JÔ3J˜$ÑKÔKÑLÔL€EØ�DŠDØØ	�ŠˆX�u˜e V°CˆÑ8Ô8Ø×"Ò"Ñ$Ô$ð ñ ô €Eð
 �$Š$ˆu•oÔ7¸¸4À#ÈÁ'ÀÑKÔKÈUÑ
SÔ
S€CÝÔ,¨Q°¸S¸EÈaÐPÑPÔPÐPr   c                ó2   — t          j        | ||||¦  «        S r  )r   Ú_var_mean_helper)r)  r1  rB   Ú
correctionr8  s        r  Ú	_var_meanr	  *  s   € åÔ+¨A¨u°c¸:ÀwÑOÔOÐOr   z	aten::stdc                óP   — t          | |g|¢R Ž \  }}|                      d|¦  «        S ©NrÓ  ©r	  r%  ©r)  r1  rZ  r
  rß  s        r  rò   rò   /  s1   € å�a˜Ð& Ð&Ð&Ð&�F€CˆØ�4Š4�˜ÑÔÐr   z	aten::varc                ó(   — t          | |g|¢R Ž \  }}|S r  )r	  r  s        r  r
  r
  5  s"   € å�a˜Ð& Ð&Ð&Ð&�F€CˆØ€Jr   zaten::var_meanc                óv   — t          |¦  «        dk    rt          | |d |d         d ¦  «        S t          | |g|¢R Ž S )NrF  r   )rX  r	  )r)  r1  rZ  s      r  r	  r	  ;  sC   € å
ˆ4�y„y�A‚~€~Ý˜˜E 4¨¨a¬°$Ñ7Ô7Ð7å˜˜EÐ) DÐ)Ð)Ð)Ð)r   zaten::std_meanc                óT   — t          | |g|¢R Ž \  }}|                      d|¦  «        |fS r  r  )r)  r1  rZ  r
  r  s        r  rñ   rñ   C  s6   € å˜˜EÐ) DÐ)Ð)Ð)�I€CˆØ�4Š4�˜ÑÔ˜dÐ"Ð"r   zaten::logsumexpc                ó4   — |                       d|||¬¦  «        S )NÚReduceLogSumExpr°  r/  rë  s       r  r‡   r‡   I  s   € ð �4Š4Ð! 5°Àˆ4ÑIÔIÐIr   úaten::arangec                óà  ‡ — d„ }ˆ fd„}t          |¦  «        dk    st          |¦  «        dk    rÝt          |¦  «        dk    rd }n ||d         ¦  «        }t          j        ‰ |d         |¬¦  «        \  }}}}t          j        ‰ |dg¦  «        } ||¦  «        }t          j        ‰ t          ‰ t          ‰ ||d d ¦  «        ¦  «        dg¦  «        }	‰                      d|	t          j	        |¦  «         
                    ¦   «         ¬	¦  «        S t          |¦  «        d
k    st          |¦  «        dk    �rot          |¦  «        d
k    rd }n ||d         ¦  «        }t          j        ‰ |d         |d         |d         |¬¦  «        \  }}}}t          j        ‰ |dg¦  «        }t          j        ‰ |dg¦  «        }t          j        ‰ |dg¦  «        } |‰                      d‰                      d||¦  «        |¦  «        ¦  «        }t          j        ‰ t          ‰ t          ‰ |d d d ¦  «        ¦  «        dg¦  «        }	‰                      d‰                      d|	|¦  «        |¦  «        }	‰                      d|	t          j	        |¦  «         
                    ¦   «         ¬	¦  «        S t          |¦  «        dk    �r ||d         ¦  «        }t          j        ‰ |d         |d         |¬¦  «        \  }}}}t          j        ‰ |dg¦  «        }t          j        ‰ |dg¦  «        } |‰                      d||¦  «        ¦  «        }‰                      dt          j        ‰ t          ‰ t          ‰ ||g|dd …         ¢R Ž ¦  «        dg¦  «        |¦  «        }	‰                      d|	t          j	        |¦  «         
                    ¦   «         ¬	¦  «        S t          j        ddt          |¦  «        › d�¦  «        S )Nc                ó0   — t          j        | d¦  «        } | S )Nr˜  )r   r1  r�  s    r  Ú_get_arange_dtypez!arange.<locals>._get_arange_dtypeQ  s   € ÝÔ0°¸Ñ<Ô<ˆØˆr   c                óÊ   •— t          j        | ¦  «        rM‰                     d‰                     d| ¦  «        t          j        j                             ¦   «         ¬¦  «        } | S )Nrq  r�  rr  )r   rz  r%  r
   rw  rv  r|  )Úrange_tensorr)  s    €r  Ú_float_step_convertz#arange.<locals>._float_step_convertU  s_   ø€ ÝÔ! ,Ñ/Ô/ð 	ØŸ4š4ØØ—’�V˜\Ñ*Ô*Ý Ô.Ô4×>Ò>Ñ@Ô@ð  ñ ô ˆLð
 Ðr   rÃ  r?  rF  r   )r,  r‚  rq  rr  r=  r  rÒ  )r+  r,  r  r‚  rp  rP  rD  rG  r›  )r+  r,  r‚  r  rÏ  rÐ  )rX  r   Ú_arange_cast_helperr¬  ru  r¦   r¬   r%  r
   rw  r|  rb  )
r)  rZ  r  r  r‚  r,  r+  r  r  Úarange_tensors
   `         r  r   r   O  s%  ø€ ðð ð ðð ð ð ð õ ˆ4�y„y�A‚~€~�˜T™œ aš˜Ýˆt‰9Œ9˜Š>ˆ>àˆEˆEð &Ð% d¨1¤gÑ.Ô.ˆEÝ"1Ô"EØ�4˜”7 %ð#
ñ #
ô #
Ñˆˆs�E˜4õ Ô/°°3¸¸Ñ<Ô<ˆØ*Ð*¨3Ñ/Ô/ˆÝ'Ô7Ø�w�q�$˜q ,°°t¸TÑBÔBÑCÔCÀaÀSñ
ô 
ˆð �tŠtØ�M­Ô(AÀ%Ñ(HÔ(H×(RÒ(RÑ(TÔ(Tð ñ 
ô 
ð 	
õ 
ˆT‰Œ�aŠˆ�3˜t™9œ9¨š>™>Ýˆt‰9Œ9˜Š>ˆ>àˆEˆEð &Ð% d¨1¤gÑ.Ô.ˆEÝ"1Ô"EØ�T˜!”W $ q¤'°°Q´¸uð#
ñ #
ô #
Ñˆˆs�E˜4õ Ô0°°D¸1¸#Ñ>Ô>ˆÝÔ/°°3¸¸Ñ<Ô<ˆÝÔ1°!°U¸Q¸CÑ@Ô@ˆØ*Ð*¨1¯4ª4°°q·t²t¸EÀ3ÈÑ7NÔ7NÐPTÑ+UÔ+UÑVÔVˆÝ'Ô7Ø�w�q�$˜q ,°°d¸DÑAÔAÑBÔBÀQÀCñ
ô 
ˆð Ÿš˜U A§D¢D¨°¸tÑ$DÔ$DÀeÑLÔLˆØ�tŠtØ�M­Ô(AÀ%Ñ(HÔ(H×(RÒ(RÑ(TÔ(Tð ñ 
ô 
ð 	
õ 
ˆT‰Œ�aŠ‰à!Ð! $ q¤'Ñ*Ô*ˆÝ"1Ô"EØ�T˜!”W $ q¤'°ð#
ñ #
ô #
Ñˆˆs�E˜4õ Ô/°°3¸¸Ñ<Ô<ˆÝÔ1°!°U¸Q¸CÑ@Ô@ˆØ*Ð*¨1¯4ª4°°s¸EÑ+BÔ+BÑCÔCˆØŸšØÝÔ+Ø•7˜1�d 1 l°EÐG¸TÀ!À"À"¼XÐGÐGÐGÑHÔHÈ1È#ñô ð ñ
ô 
ˆð �tŠtØ�M­Ô(AÀ%Ñ(HÔ(H×(RÒ(RÑ(TÔ(Tð ñ 
ô 
ð 	
õ Ô)¨.Ð:WÅ#ÀdÁ)Ä)Ð:WÐ:WÐ:WÑXÔXÐXr   zaten::linspacec                ó2  — t          j        | |d ¦  «        }t          | t          | ||¦  «        t          | ||                      dt          j        dt
          j        ¬¦  «        ¬¦  «        ¦  «        ¦  «        }	t          | t          | ||	¦  «        |¦  «        S )Nr`  rF  r�  ra  )
r   Ú_arange_helperrC   ró   r%  rc  rù   r†  r   rš   )
r)  r+  r,  Ústepsr‚  r¥  r¦  r§  r  r  s
             r  r{   r{   œ  s‰   € õ #Ô1°!°U¸DÑAÔA€LÝØ	ÝˆAˆs�EÑÔÝˆAˆu�a—d’d˜:­u¬|¸AÅUÄ[Ð/QÑ/QÔ/Q�dÑRÔRÑSÔSñô €Dõ
 ˆq•#�a˜ tÑ,Ô,¨eÑ4Ô4Ð4r   z
aten::liftc                ó   — |S r  r!  r—  s     r  ru   ru   ©  s	   € ð €Kr   zaten::masked_fillc                óÎ   — |                       d|t          j        j        ¬¦  «        }t	          j        |¦  «        }|                       d|t	          j        ||¦  «        |¦  «        S )zŸImplement the masked_fill functionality available for a pytorch tensor in ONNX.

    Fills elements of the input tensor with `value` where `mask` is True.
    rq  rr  rî  )r%  rt  ru  rŽ  r   rL  rÙ  ©r)  r>  Úmaskrf  s       r  r‹   r‹   ¯  sW   € ð �4Š4�˜¥7Ô#>Ô#Cˆ4ÑDÔD€DÝÔ-¨eÑ4Ô4€EØ�4Š4�˜�ÔAÀ%ÈÑNÔNÐPTÑUÔUÐUr   zaten::masked_fill_c                ó&   — t          | |||¦  «        S r  )r‹   r!  s       r  rŒ   rŒ   º  s   € å�q˜$  eÑ,Ô,Ð,r   úaten::indexc           	     ó"  ‡ ‡‡‡‡‡— t          j        |¦  «        rt          j        |¦  «        }n|g}ˆ ˆfd„Šˆfd„|D ¦   «         }t          |¦  «        dk    rt          j        ‰ ‰d|d         d¬¦  «        S d„ t          |¦  «        D ¦   «         Št          ‰¦  «        dk    r‰S t          ‰¦  «        dk    r$t          ‰ ‰‰d         |‰d                  ¦  «        S t          j        ‰¦  «        }|€t          j        dd	‰¦  «        S t          j
        d
t          j        › d�¦  «         t          ‰¦  «        }t          ‰ ‰¦  «        Šˆ ˆfd„t          |¦  «        D ¦   «         Š‰                      d‰‰ˆfd„t          |¦  «        D ¦   «         z   ¬¦  «        Š‰                      d‰|¬¦  «        Š|‰d                  }‰‰d                  }t          |dz
  dd¦  «        D ]_}‰                      d|‰|                  |¦  «        }	‰                      d||	¦  «        }‰                      d|‰‰|                  ¦  «        }Œ`t          ‰ ‰d|¦  «        Št          ‰ |¦  «        }
‰t!          t          ‰d         ‰d         dz   ¦  «        ¦  «        k    �r9‰                      dt#          j        dg¦  «        ¬¦  «        gˆˆfd„t          |¦  «        D ¦   «         z   } ‰ j        dg|¢R ddiŽ}t          j        ‰ ‰|¦  «        Št!          t          d‰d         dz   ¦  «        ¦  «        dgz   t!          t          ‰d         dz   ||z
  dz   ¦  «        ¦  «        z   }‰                      d‰|¬¦  «        Šˆfd„t          ‰d         ¦  «        D ¦   «         |
gz   ˆˆfd„t          ‰d         |¦  «        D ¦   «         z   } ‰ j        dg|¢R ddiŽ}n, ‰ j        d|
gˆˆfd„t          |¦  «        D ¦   «         ¢R ddiŽ}t          j        ‰ ‰|¦  «        S )Nc                óŽ  •— t          j        | ¦  «        s¯t          j                             | t          j        j        ¦  «        t          j        j        k    st          j        | ¦  «        rY‰j        dk     rt          j
        d‰¦  «        ‚t          j        d¦  «         t          j        ‰t          ‰| ¦  «        dg¦  «        } | S )Nr  z?Exporting masked indices are only supported after ONNX opset 9.z—Exporting aten::index operator with indices of type Byte. Only 1-D indices are supported. In any other case, this will produce an incorrect ONNX graph.rF  )r   rK  r
   rw  rx  ry  rÔ  rT  r  r   rm  rC  rD  ru  r¦   )rj   r)  r>  s    €€r  Útry_mask_to_indexz index.<locals>.try_mask_to_indexÆ  sÌ   ø€ ÝÔ'¨Ñ.Ô.ð 	OÝÔ%×0Ò0Ø•{Ô0Ô:ñô õ Ô(Ô.ò/ð /õ Ô'¨Ñ.Ô.ð	/ð Œw˜Š{ˆ{ÝÔ/ØUØñô ð õ ŒMð=ñô ð õ
 $Ô3°Aµw¸qÀ%Ñ7HÔ7HÈ1È#ÑNÔNˆEØˆr   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r!  r!  )r�  r'  r'  s     €r  r­  zindex.<locals>.<listcomp>Û  s%   ø€ Ð9Ð9Ð9¨#Ð Ð  Ñ%Ô%Ð9Ð9Ð9r   rF  r   F)Úapply_reshapec                ó@   — g | ]\  }}t          j        |¦  «        °|‘ŒS r!  )r   rK  )r�  r˜  r'  s      r  r­  zindex.<locals>.<listcomp>ó  s<   € ð 
ð 
ð 
Ù�!�SµoÔ6NÈsÑ6SÔ6Sð
Øð
ð 
ð 
r   r$  z9operator of advanced indexing on tensor of unknown rank. z=Exporting aten::index operator of advanced indexing in opset zÀ is achieved by combination of multiple ONNX operators, including Reshape, Transpose, Concat, and Gather. If indices include negative values, the exported graph will produce incorrect results.c                ó’   •— g | ]C}‰                      d ‰‰                      dt          j        |g¦  «        ¬¦  «        d¬¦  «        ‘ŒDS )rA  r`  ra  r   ry  )r%  rc  r2  )r�  rB   r)  Úshape_tensors     €€r  r­  zindex.<locals>.<listcomp>  sg   ø€ ð ð ð ð ð —’ØØ Ø—D’D˜­UÔ-=¸s¸eÑ-DÔ-D�DÑEÔEØð	 ñ ô ðð ð r   r"  c                ó   •— g | ]}|‰v¯|‘Œ	S r!  r!  )r�  r˜  Úadv_idx_indicess     €r  r­  zindex.<locals>.<listcomp>  s#   ø€ ÐFÐFÐF˜¨Q°oÐ-EÐ-E�1Ð-EÐ-EÐ-Er   r#  rÕ  ry  r.  rÃ  rG  rD  r`  ra  c                ó(   •— g | ]}|‰v¯‰|         ‘ŒS r!  r!  ©r�  r˜  r.  Údim_tensor_lists     €€r  r­  zindex.<locals>.<listcomp>9  s/   ø€ ð ð ð Ø+,¸qÈÐ?WÐ?W�O AÔ&Ð?WÐ?WÐ?Wr   r5  r6  c                ó    •— g | ]
}‰|         ‘ŒS r!  r!  )r�  r˜  r1  s     €r  r­  zindex.<locals>.<listcomp>K  s   ø€ ÐKÐKÐK¨A�_ QÔ'ÐKÐKÐKr   c                ó(   •— g | ]}|‰v¯‰|         ‘ŒS r!  r!  r0  s     €€r  r­  zindex.<locals>.<listcomp>M  s3   ø€ ð ð ð àØ OÐ3Ð3ð (¨Ô*à3Ð3Ð3r   c                ó(   •— g | ]}|‰v¯‰|         ‘ŒS r!  r!  r0  s     €€r  r­  zindex.<locals>.<listcomp>X  s3   ø€ ð ð ð àØ OÐ3Ð3ð (¨Ô*à3Ð3Ð3r   )r   r3  r   rX  r$  r  ri   rœ  rb  rC  rD  r   rÞ  r2  r)  r%  r8  rc  r2  r<  )r)  r>  rj   rF  r%  Úadv_idx_countÚcum_adv_indexÚ
multiplierr˜  Ú	adv_indexÚcum_adv_index_shape_tensorÚfolded_adv_idx_shape_listÚfolded_adv_idx_shapeÚadv_idx_permuteÚfinal_shape_listÚfinal_shaper.  r1  r,  r'  s   ``              @@@@r  rj   rj   ¿  sn  øøøøøø€ åÔ& uÑ-Ô-ð Ý!Ô.¨uÑ5Ô5ˆˆà�'ˆðð ð ð ð ð ð* :Ð9Ð9Ð9°Ð9Ñ9Ô9€GÝ
ˆ7�|„|�qÒÐÝÔ-Øˆt�Q˜ œ
°%ð
ñ 
ô 
ð 	
ð,
ð 
Ý% gÑ.Ô.ð
ñ 
ô 
ˆõ ˆÑÔ 1Ò$Ð$ØˆKÝ�Ñ!Ô! QÒ&Ð&ÝØ�4˜¨Ô+¨W°_ÀQÔ5GÔ-Hñô ð õ #Ô3°DÑ9Ô9ˆDØˆ|Ý&Ô5Ø!ØOØñô ð õ ŒMðiÝÔ4ðið ið iñô ð õ   Ñ0Ô0ˆMÝ+¨A¨tÑ4Ô4ˆLðð ð ð ð õ ! ™;œ;ðñ ô ˆOð —4’4ØØØ&ØFÐFÐFÐF�e D™kœkÐFÑFÔFñGð ñ ô ˆDð —4’4˜	 4°�4Ñ>Ô>ˆDð $ O°BÔ$7Ô8ˆMØ(¨¸Ô)<Ô=ˆJÝ˜=¨1Ñ,¨b°"Ñ5Ô5ð ð �ØŸDšD ¨°ÀÔ0BÔ(CÀZÑPÔP�	Ø !§¢ U¨M¸9Ñ EÔ E�ØŸTšTØ˜: °ÀqÔ7IÔ'Jñô �
�
õ
    4¨¨MÑ:Ô:ˆDå)9¸!¸]Ñ)KÔ)KÐ&ð ¥$Ý�o aÔ(¨/¸"Ô*=ÀÑ*AÑBÔBñ#ô #ò ñ ð
 —D’D˜­UÔ-=¸r¸dÑ-CÔ-C�DÑDÔDð-ðð ð ð ð Ý05°d±´ðñ ô ñ-Ð)ð
 (, q¤tØð(Ø8ð(ð (ð (ØABð(ð (Ð$õ 'Ô6°q¸$Ð@TÑUÔU�õ �˜q /°!Ô"4°qÑ"8Ñ9Ô9Ñ:Ô:Ø�cñå�5 °Ô!3°aÑ!7¸ÀÑ9MÐPQÑ9QÑRÔRÑSÔSñTð  ð
 —t’t˜K¨°o�tÑFÔF�ð LÐKÐKÐKµ°ÀqÔ7IÑ1JÔ1JÐKÑKÔKØ1Ð2ñ3ðð ð ð ð å!& °qÔ'9¸4Ñ!@Ô!@ðñ ô ñð !ð #˜aœd 8ÐIÐ.>ÐIÐIÐIÀqÐIÐI��à"˜aœdØØ.ð	ðð ð ð ð å!& t¡¤ðñ ô ð	ð 	ð 	ð ð	ð 	�õ #Ô2°1°d¸KÑHÔHÐHr   zaten::linalg_normÚordúSequence[int] | Noner‚  c                ón  — d }|€¢t          j        |¦  «        rAt          j        | |dg¦  «        }|                      dt	          j        dg¦  «        ¬¦  «        }t          j        |¦  «        }|€t          j        dd|¦  «        S |dk    rt          j        |d¦  «        }nkd	dg}nft          |¦  «        dk    rSt          j        |¦  «        r*|                      dt	          j        dg¦  «        ¬¦  «        }t          j        |d¦  «        }|rt          | |||||¦  «        S t          | |||||¦  «        S )
Nr.  r`  rÃ  ra  rB   ú(Input rank must be known at export time.rF  r\  r   )r   rK  r<  r%  rc  r2  rœ  rb  r  rX  ry   rw   )r)  r>  r?  rB   r8  r‚  Ú	ord_valueÚself_dims           r  rx   rx   c  sG  € ð €IØ
€{ÝÔ# CÑ(Ô(ð 	BÝ"Ô2°1°d¸R¸DÑAÔAˆDØ—$’$�z­5Ô+;¸Q¸CÑ+@Ô+@�$ÑAÔAˆCÝ"Ô3°DÑ9Ô9ˆØÐÝ"Ô1ØÐAÀ4ñô ð ð �qŠ=ˆ=Ý'Ô2°3¸Ñ<Ô<ˆIˆIà�a�&ˆCˆCåˆs‰8Œ8�qŠ=ˆ=ÝÔ'¨Ñ,Ô,ð FØ—d’d˜:­uÔ/?ÀÀÑ/DÔ/D�dÑEÔE�Ý'Ô2°3¸Ñ<Ô<ˆIØð KÝ! ! T¨9°c¸7ÀEÑJÔJÐJÝ˜a  s¨C°¸%Ñ@Ô@Ð@r   zaten::linalg_vector_normc                ó4   — t          j        | |||||¦  «        S r  )r   Ú_linalg_vector_norm_helper)r)  r>  r?  rB   r8  r‚  s         r  ry   ry   †  s    € õ Ô5°a¸¸sÀCÈÐRWÑXÔXÐXr   zaten::linalg_matrix_normú	list[int]c                ó2  — t          j        |d¦  «        }|dk    rt          | |||¦  «        S |dk    rt          j        dd|¦  «        S t          j        |d¦  «        }|€t          | |||¦  «        S |dk    s|dk    rt          j        dd	|¦  «        S t          j        |¦  «        }|€t          j        dd
|¦  «        S |d         dk     r|dxx         |z  cc<   |d         dk     r|dxx         |z  cc<   |t
          j        k    s|t
          j         k    r|d         |d         c|d<   |d<   |d         |d         k    r|s|dxx         dz  cc<   t          j        | |                      d|¦  «        |d         g|¬¦  «        }|dk    rEt          | ||                      dt          j        |d         g¦  «        ¬¦  «        |¬¦  «        \  }	}
nDt          | ||                      dt          j        |d         g¦  «        ¬¦  «        |¬¦  «        \  }	}
|	S )Nrh  ÚfroÚnuczlinalg.matrix_normzord==nucr\  rÃ  r  zord==2rB  r   rF  rO  r°  r`  ra  )rh  r8  )r   r  rV   rb  rœ  rð  Úinfr´  r%  r‘   rc  r2  r”   )r)  r>  r?  rB   r8  r‚  rC  rD  r  rø  Ú_indicess              r  rw   rw   “  s_  € õ  Ô*¨3°Ñ4Ô4€IØ�EÒÐÝ˜a  s¨GÑ4Ô4Ð4Ø	�eÒ	Ð	ÝÔ-Ð.BÀJÐPTÑUÔUÐUå#Ô.¨s°CÑ8Ô8ˆ	ØÐÝ! ! T¨3°Ñ8Ô8Ð8Ø˜Š>ˆ>˜Y¨"š_˜_õ #Ô1Ð2FÈÐRVÑWÔWÐWå"Ô3°DÑ9Ô9ˆØÐÝ"Ô1Ø$Ð&PÐRVñô ð ð
 ˆqŒ6�AŠ:ˆ:Ø�ˆFˆFŒF�hÑˆFˆF‰FØˆqŒ6�AŠ:ˆ:Ø�ˆFˆFŒF�hÑˆFˆF‰Fà�œÒ Ð  Iµ$´(°Ò$:Ð$:Ø  œV S¨¤VˆNˆC�‰F�C˜‘FØˆqŒ6�C˜”FŠ?ˆ? 7ˆ?Ø�ˆFˆFŒF�a‰KˆFˆF‰FÝÔ/Øˆq�tŠt�E˜4Ñ Ô ¨#¨a¬&¨¸gð
ñ 
ô 
ˆð �qŠ=ˆ=Ý"ØØØŸš˜jµ%Ô2BÀCÈÄFÀ8Ñ2LÔ2L˜ÑMÔMØð	 ñ  ô  ÑˆF�H�Hõ  #ØØØŸš˜jµ%Ô2BÀCÈÄFÀ8Ñ2LÔ2L˜ÑMÔMØð	 ñ  ô  ÑˆF�Hð ˆr   zaten::linalg_crossr.  c                ó&   — t          | |||¦  «        S r  )r?   )r)  r1  rB  rB   s       r  rv   rv   Ð  s   € õ ��E˜5 #Ñ&Ô&Ð&r   zaten::frobenius_normc                óŒ   — |                       d||¦  «        }t          j        | |||¬¦  «        }|                       d|¦  «        S )NrG  r°  rÓ  )r%  r   r´  )r)  r>  rB   r8  ÚsqrÚsumsqrs         r  rV   rV   Ö  sF   € ð �$Š$ˆu�d˜DÑ
!Ô
!€CÝÔ.¨q°#¸cÈgÐVÑVÔV€FØ�4Š4�˜ÑÔÐr   zaten::multinomialc                ó  — |�*t          j        |¦  «        st          j        dd|¦  «         |s|dk    rt          j        dd|¦  «         t          | |¦  «        }|                      d|t
          j        j        |¬¦  «        S )NÚMultinomialz*generator is not supported for multinomialrF  zGreplacement=False when num_samples > 1 is not supported for multinomial)rÁ  Úsample_size_i)r   rK  rb  r~   r%  rt  ru  rv  )r)  r1  Únum_samplesÚreplacementr  Ú	log_inputs         r  r›   r›   Þ  s£   € ð
 Ð¥_Ô%=¸iÑ%HÔ%HÐÝÔ&ØÐGÈñ	
ô 	
ð 	
ð ð 
˜;¨š?˜?ÝÔ&ØØUØñ	
ô 	
ð 	
õ �A�u‘”€IØ�4Š4ØØÝÔ+Ô1Ø!ð	 ñ ô ð r   zaten::baddbmmc           
     óh  — t           j                             |¦  «        }t          | ||¦  «        }t	          | ||                      d||                     ¦   «         ¬¦  «        ¦  «        }t	          | ||                      d||                     ¦   «         ¬¦  «        ¦  «        }	t          | ||	¦  «        S r£  )r
   rw  rx  r�   rš   r%  r|  r   )
r)  r>  Úbatch1Úbatch2rÇ  rN  r~  Ú	batch_mulÚmul_aÚmul_bs
             r  r"   r"   ÷  s«   € åÔ+×6Ò6°tÑ<Ô<€KÝ�q˜& &Ñ)Ô)€IÝØ	ØØ	�ŠˆV�U ×!6Ò!6Ñ!8Ô!8ˆÑ9Ô9ñô €Eõ
 Ø	ØØ	�ŠˆV�T × 5Ò 5Ñ 7Ô 7ˆÑ8Ô8ñô €Eõ
 ˆq�%˜ÑÔÐr   zaten::meshgridÚindexingú
str | Nonec           
     ó®  ‡ — |€d}n|dvrt          j        d|› �|¦  «        ‚t          j        |¦  «        }|dk    r|dd d…         |d d…<   ˆ fd„|D ¦   «         }ˆ fd	„|D ¦   «         } ‰ j        d
g|¢R ddiŽ}g }t          |¦  «        D ] \  }}	‰                      dt          j        dt          j        ¬¦  «        ¬¦  «        gt          |¦  «        z  }
||         |
|<   t          ‰ |	 ‰ j        d
g|
¢R ddiŽ¦  «        }|                     ‰                      d||¦  «        ¦  «         Œ¡|dk    r|d         |d         c|d<   |d<    ‰ j        dg|¢R Ž S )NÚij>   r`  ÚxyzUnsupported indexing: ra  rF  r.  rÃ  c                óŒ   •— g | ]@}t          j        ‰|‰                     d t          j        dg¦  «        ¬¦  «        ¦  «        ‘ŒAS )r`  r.  ra  )r   r<  r%  rc  r2  ©r�  rô   r)  s     €r  r­  zmeshgrid.<locals>.<listcomp>  s\   ø€ ð ð ð ð õ 	Ô'Øˆq�!—$’$�z­5Ô+;¸R¸DÑ+AÔ+A�$ÑBÔBñ	
ô 	
ðð ð r   c                ó<   •— g | ]}‰                      d |¦  «        ‘ŒS )r.  r/  rc  s     €r  r­  zmeshgrid.<locals>.<listcomp>  s'   ø€ Ð7Ð7Ð7¨!�Q—T’T˜' 1Ñ%Ô%Ð7Ð7Ð7r   r5  r6  r   r`  r�  ra  r/  úprim::ListConstruct)r   rm  r   r   r%  r  rc  r¬   r†  rX  r:  r  )r)  r§  r]  Úunpacked_tensor_listr¨  Útensors_shapeÚ	out_shaper}  r˜  rô   r·  Ú
t_reshapeds   `           r  r“   r“     sá  ø€ ð ÐØˆˆØ	˜Ð	%Ð	%ÝÔ'Ø/ XÐ/Ð/°ñ
ô 
ð 	
õ +Ô7¸ÑDÔDÐØ�4ÒÐØ#7¸¸¸2¸Ô#>Ð˜R˜a˜RÑ ðð ð ð ð &ð	ñ ô €Gð 8Ð7Ð7Ð7¨wÐ7Ñ7Ô7€MØ�”�XÐ8 Ð8Ð8Ð8°aÐ8Ð8€IØ
€CÝ˜'Ñ"Ô"ð :ð :‰ˆˆ1Ø—4’4˜
­E¬J°qÅÄÐ,LÑ,LÔ,L�4ÑMÔMÐNÕQTØñR
ô R
ñ 
ˆð # 1Ô%ˆ�‰
Ý)¨!¨Q°°´°XÐ0RÀÐ0RÐ0RÐ0RÐPQÐ0RÐ0RÑSÔSˆ
Ø�
Š
�1—4’4˜ *¨iÑ8Ô8Ñ9Ô9Ð9Ð9Ø�4ÒÐØ˜Qœ  Q¤ˆˆˆA‰��A‘Øˆ1Œ4Ð%Ð,¨Ð,Ð,Ð,Ð,r   zaten::remainderc                ó€   — t          | ||¦  «        }|                      d||¦  «        }|                      d||¦  «        S )NrG  rP  )rk  r%  )r)  r1  rB  rC   Úquos        r  rÒ   rÒ   )  s>   € å
˜˜5 %Ñ
(Ô
(€CØ
�$Š$ˆu�c˜5Ñ
!Ô
!€CØ�4Š4��u˜cÑ"Ô"Ð"r   z
aten::geluÚapproximatec                ó>  — |dk    �r5t          j        dt           j        z  ¦  «        }d}t          j        |t          j        ¬¦  «        }t          j        |t          j        ¬¦  «        }t          j        dt          j        ¬¦  «        }t          j        dt          j        ¬¦  «        }t          | |t          | ||¦  «        ¦  «        }	t          | |t          | |t          | ||	¦  «        ¦  «        ¦  «        }
t          | |t          | |t          | ||                      d|
¦  «        ¦  «        ¦  «        ¦  «        S d}|                      d	|                      d
|t          j        |t          j        ¬¦  «        ¦  «        ¦  «        }t          | ||                      dt          j        dt          j        ¬¦  «        ¬¦  «        ¦  «        }t          | t          | ||¦  «        |                      dt          j        dt          j        ¬¦  «        ¬¦  «        ¦  «        S )Nr÷   rÃ  g÷Hmâä¦?r�  r]  ç      à?rÞ  gÍ;fž ö?rÓ  rp  r`  rF  ra  )	rð  rí   rñ  rc  rù   r’  rš   r   r%  )r)  r>  rl  ÚkBetaÚkKapparÇ  Úkappar‹  ÚhalfÚ	self_cubeÚinnerÚ_sqrt2rL   Úerf_plusones                 r  r[   r[   0  s¹  € ð �fÒÑÝ”	˜!�dœg™+Ñ&Ô&ˆØˆåŒ|˜E­¬Ð6Ñ6Ô6ˆÝ”˜V­5¬<Ð8Ñ8Ô8ˆÝŒl˜3¥e¤lÐ3Ñ3Ô3ˆÝŒ|˜C¥u¤|Ð4Ñ4Ô4ˆå˜˜4¥ Q¨¨dÑ!3Ô!3Ñ4Ô4ˆ	Ý�A�t�S  D­#¨a°¸	Ñ*BÔ*BÑCÔCÑDÔDˆÝ�1�d�C  4­¨Q°°Q·T²T¸&À%Ñ5HÔ5HÑ)IÔ)IÑJÔJÑKÔKÐKà#ˆØ�dŠd�5˜!Ÿ$š$˜u d­E¬L¸ÅuÄ|Ð,TÑ,TÔ,TÑUÔUÑVÔVˆÝØˆs�A—D’D˜­U¬\¸!Å5Ä<Ð-PÑ-PÔ-P�DÑQÔQñ
ô 
ˆõ ØÝ��4˜Ñ%Ô%Ø�DŠD�¥U¤\°#½U¼\Ð%JÑ%JÔ%JˆDÑKÔKñ
ô 
ð 	
r   zaten::group_normc                ó  — t          j        |d¦  «        }|�||z  dk    sJ ‚t          j        |¦  «        }|€t          j        dd|¦  «        S d|dg}	t          j        | ||                      dt          j        |	¦  «        ¬¦  «        ¦  «        }
|                      dt          j        dg|z  t          j
                             |¦  «                             ¦   «         ¬	¦  «        ¬¦  «        }|                      dt          j        d
g|z  t          j
                             |¦  «                             ¦   «         ¬	¦  «        ¬¦  «        }|                      d|
|||¬¦  «        }t          j        | ||                      d|¦  «        ¦  «        }|�&|                     ¦   «                              ¦   «         r]t          j        dgt          j
                             |¦  «                             ¦   «         ¬	¦  «        }|                      d|¬¦  «        }|�&|                     ¦   «                              ¦   «         r]t          j        d
gt          j
                             |¦  «                             ¦   «         ¬	¦  «        }|                      d|¬¦  «        }t          t!          d|dz
  ¦  «        ¦  «        }t#          | t%          | |t          j        | ||¦  «        ¦  «        t          j        | ||¦  «        ¦  «        S )NrF  r   r^   zunknown input rankr.  r`  ra  r]  r�  r´  r  r  r.  )r   r¢  rœ  rb  r<  r%  rc  r2  rù   r
   rw  rx  r‚  r¤  Ú
mustBeNoner8  r)  r   rš   r¬  )r)  r1  Ú
num_groupsrE  r²  ræ  r¸  r  Ú
input_rankr9  r  r  r  Únorm_reshapedr§   r  r  r  s                     r  r^   r^   L  sÜ  € õ #Ô7¸¸qÑAÔA€LØÐØ˜jÑ(¨AÒ-Ð-Ð-Ð-Ý Ô1°%Ñ8Ô8€JØÐÝÔ-¨lÐ<PÐRWÑXÔXÐXà�
˜BÐ€EÝ$Ô4Ø	ˆ5�!—$’$�z­5Ô+;¸EÑ+BÔ+B�$ÑCÔCñô €Nð �dŠdØÝ”ØˆE�JÑÝÔ+×6Ò6°uÑ=Ô=×CÒCÑEÔEð
ñ 
ô 
ð ñ ô €Gð �DŠDØÝ”ØˆE�JÑÝÔ+×6Ò6°uÑ=Ô=×CÒCÑEÔEð
ñ 
ô 
ð ñ ô €Eð —D’DØ °¸%È3ð ñ ô €Mõ Ô*¨1¨m¸Q¿TºTÀ'È5Ñ=QÔ=QÑRÔR€Dà€~˜Ÿš™œ×1Ò1Ñ3Ô3€~Ý”|ØˆE�Ô2×=Ò=¸eÑDÔD×JÒJÑLÔLð
ñ 
ô 
ˆð —’�j¨,�Ñ7Ô7ˆØ€|�t—y’y‘{”{×-Ò-Ñ/Ô/€|Ý”\ØˆE�Ô2×=Ò=¸eÑDÔD×JÒJÑLÔLð
ñ 
ô 
ˆ
ð �tŠt�J¨
ˆtÑ3Ô3ˆõ •�a˜ a™Ñ(Ô(Ñ)Ô)€DÝØ	ÝˆAˆt•_Ô6°q¸&À$ÑGÔGÑHÔHÝÔ)¨!¨T°4Ñ8Ô8ñô ð r   zaten::_weight_normc                ób  — t          j        |¦  «        }|�…t          t          |¦  «        ¦  «        }|�&|dk     r||z  }|dk    r|                     |¦  «         t          | |d|d¦  «        }|                      d||¦  «        }|                      d||¦  «        S t          j        d|¦  «        ‚)Nr.  rÃ  rF  rp  rG  zDUnsupported: ONNX export of _weight_norm for tensor of unknown rank.)	r   rœ  r8  r)  Úremover§   r%  r   rm  )r)  r„  Úweight_grB   r%  r  Únorm_vrC   s           r  Ú_weight_normr€  ‰  s¼   € õ Ô+¨HÑ5Ô5€DØÐõ •E˜$‘K”KÑ Ô ˆØˆ?Ø�RŠxˆxØ�t‘�Ø�bŠyˆyØ—’˜CÑ Ô Ð Ý�a˜ 1 d¨AÑ.Ô.ˆØ�dŠd�5˜( FÑ+Ô+ˆØ�tŠt�E˜3 Ñ)Ô)Ð)Ý
Ô
#ØNØñô ð r   z	aten::dimc                óZ   — |                       d|¦  «        }|                       d|¦  «        S )zFImplement the dim functionality available for a pytorch tensor in ONNXr.  ÚSizer/  r=  s      r  rB   rB   ¢  s+   € ð �DŠD�˜$ÑÔ€EØ�4Š4�˜ÑÔÐr   zaten::__contains_c           	     ób  — t          j        |¦  «        }t          d„ |D ¦   «         ¦  «        rnt          j        |¦  «        rZ|                      dt          j        t          j        |                     ¦   «         d¦  «        d„ |D ¦   «         v ¦  «        ¬¦  «        S t          j
        d|¦  «        ‚)Nc              3  ó>   K  — | ]}t          j        |¦  «        V — Œd S r  )r   r¡  ©r�  r?  s     r  rŸ  z__contains_.<locals>.<genexpr>­  s>   è è € ð ð Ø,-�Ô$ QÑ'Ô'ðð ð ð ð ð r   r`  rf  c              3  ód   K  — | ]+}t          j        |                     ¦   «         d ¦  «        V — Œ,dS )rf  N)r   rj  r¤  r…  s     r  rŸ  z__contains_.<locals>.<genexpr>´  s7   è è € ÐXÐXÀQ•OÔ-¨a¯fªf©h¬h¸Ñ@Ô@ÐXÐXÐXÐXÐXÐXr   ra  zJUnsupported: ONNX export of __contains__ for non-constant list or element.)r   r   r£  r¡  r%  rc  rù   rj  r¤  r   rm  )r)  r>  ÚelementÚunpacked_lists       r  Ú__contains_r‰  ª  sÎ   € å#Ô0°Ñ6Ô6€MÝ
ð ð Ø1>ðñ ô ñ ô ð 	
å
Ô
& wÑ
/Ô
/ð	
ð �tŠtØÝ”LÝÔ)¨'¯,ª,©.¬.¸'ÑBÔBØXÐXÈ-ÐXÑXÔXðYñô ð ñ 
ô 
ð 	
õ Ô
#ØTØñô ð r   zaten::__getitem_c           
     óv   — t          | ||                      dt          j        dg¦  «        ¬¦  «        |¦  «        S r   )rß   r%  rc  rù   )r)  r>  r˜  s      r  Ú
__getitem_r‹  ¾  s2   € å�!�T˜1Ÿ4š4 
µE´LÀ!ÀÑ4EÔ4E˜4ÑFÔFÈÑJÔJÐJr   z
aten::itemc                ó   — |S r  r!  r—  s     r  ro   ro   Ã  r±  r   z
aten::takec                óà   — t          j        | ||                      dt          j        dgt          j        ¬¦  «        ¬¦  «        ¦  «        }t          | |d|¦  «        }t          | ||¦  «        }|S )Nr`  r.  r�  ra  r   )r   r<  r%  rc  rù   r†  ri   rÖ   )r)  r>  rj   Úself_flattenedr}  s        r  rõ   rõ   È  si   € å$Ô4Ø	ˆ4�—’�j­%¬,¸°tÅ5Ä;Ð*OÑ*OÔ*O�ÑPÔPñô €Nõ �q˜.¨!¨UÑ
3Ô
3€CÝ
�Q˜˜UÑ
#Ô
#€CØ€Jr   c                ój   — t          | ||¦  «        }t          | |¦  «        }t          | ||¦  «        }|S r  )ró   rM   rš   )r)  r1  ÚtargetÚdiff_Úexp_r  s         r  Ú_kl_div_log_target_implr“  Ò  s6   € Ý��6˜5Ñ!Ô!€EÝˆq�&‰>Œ>€DÝ��D˜%Ñ Ô €FØ€Mr   c           
     ó  — t          | |¦  «        }t          | ||¦  «        }t          | ||¦  «        }t          | |¦  «        }t	          | ||                      dt          j        d¦  «        ¬¦  «        ¦  «        }t          | |||¦  «        }|S r   )	r~   ró   rš   r  r_   r%  rc  rù   r  )	r)  r1  r�  Úlog_r‘  Ú
output_posÚzeros_Úmask_r  s	            r  Ú_kl_div_non_log_target_implr™  Ù  s�   € Ýˆq�&‰>Œ>€DÝ��4˜ÑÔ€EÝ�Q˜ Ñ&Ô&€JÝ˜˜:Ñ&Ô&€FÝˆq�&˜!Ÿ$š$˜zµ5´<À±?´?˜$ÑCÔCÑDÔD€EÝ�1�e˜Z¨Ñ0Ô0€FØ€Mr   zaten::kl_divc                óü   — |rt          | ||¦  «        }nt          | ||¦  «        }|dk    r|S |dk    r|                      d|d¬¦  «        S |dk    rt          j        | |d¬¦  «        S t          j        d|¦  «        S )Nr   rF  r
  ©r±  rÃ  z4kl_div with reduction other than none, mean, or sum.)r“  r™  r%  r   r´  r  )r)  r1  r�  Ú	reductionÚ
log_targetr  s         r  rp   rp   ã  sš   € ð ð ?Ý(¨¨E°6Ñ:Ô:ˆˆå,¨Q°°vÑ>Ô>ˆà�A‚~€~ØˆØ	�aŠˆØ�tŠt�L &°QˆtÑ7Ô7Ð7Ø	�aŠˆÝÔ0°°FÀqÐIÑIÔIÐIåÔ0ØBÀEñ
ô 
ð 	
r   zaten::mse_lossc           	     ó  — t          | t          | ||¦  «        t          | ||¦  «        ¦  «        }|dk    r|S |dk    r|                      d|d¬¦  «        S |dk    rt          j        | |d¬¦  «        S t          j        d|¦  «        S )Nr   rF  r
  r›  rÃ  z6mse_loss with reduction other than none, mean, or sum.)rš   ró   r%  r   r´  r  )r)  r1  r�  rœ  r  s        r  r™   r™   ÷  s—   € õ �•C˜˜5 &Ñ)Ô)­3¨q°%¸Ñ+@Ô+@ÑAÔA€FØ�A‚~€~ØˆØ	�aŠˆØ�tŠt�L &°QˆtÑ7Ô7Ð7Ø	�aŠˆÝÔ0°°FÀqÐIÑIÔIÐIåÔ0ØDÀeñ
ô 
ð 	
r   zaten::as_stridedc                óx  — t          j        |d¦  «        }t          |¦  «        }t          j        | ||                      dt          j        dgt
          j        ¬¦  «        ¬¦  «        ¦  «        }t          j        |¦  «        s²t          j        dgt
          j	        ¬¦  «        }t          t          ||¦  «        ¦  «        D ]@\  }\  }	}
dg|z  }d||<   |t          j        |	¦  «                             |¦  «        |
z  z   }ŒA|r||z   }|                      d||                      d|¬¦  «        ¦  «        S d }t          |¦  «        D �]\  }}
dg|z  }d||<   t          | ||                      dt          j        dg¦  «        ¬¦  «        |                      dt          j        |¦  «        ¬¦  «        ¦  «        }	t          j        | t          | |	d	d d d ¦  «        |                      dt          j        |¦  «        ¬¦  «        ¦  «        }|                      d
||                      dt          j        |
g¦  «        ¬¦  «        ¦  «        }|€|}�Œ|                      d||¦  «        }�Œ|r>|                      d||                      dt          j        |g¦  «        ¦  «        ¦  «        }|                      d||¦  «        S )Nr-  r`  r.  r�  ra  r   rF  rA  r=  rG  rD  )r   r1  rX  r<  r%  rc  rù   r†  rH  ró  r  rä  r   r  rß   )r)  r>  rÍ  ÚstridesÚoffsetr%  Úself_1dÚindr˜  rå   rÃ  Úr_sizeÚtmp_inds                r  r   r     s¡  € õ Ô,¨U°DÑ9Ô9€EÝˆw‰<Œ<€DÝÔ-Ø	ˆ4�—’�j­%¬,¸°tÅ5Ä;Ð*OÑ*OÔ*O�ÑPÔPñô €Gõ Ô$ UÑ+Ô+ð ",ÝŒl˜A˜3¥e¤jÐ1Ñ1Ô1ˆÝ!*­3¨u°gÑ+>Ô+>Ñ!?Ô!?ð 	Að 	AÑˆA‰~��fØ�S˜4‘ZˆFØˆF�1‰IØ�œ TÑ*Ô*×/Ò/°Ñ7Ô7¸&Ñ@Ñ@ˆCˆCØð 	Ø˜‘,ˆCØ�tŠt�H˜g q§t¢t¨JÀ tÑ'DÔ'DÑEÔEÐEàˆÝ" 7Ñ+Ô+ð 	0ñ 	0‰IˆAˆvØ�S˜4‘ZˆFØˆF�1‰IÝØØØ—’�Z­¬°q°cÑ):Ô):�Ñ;Ô;Ø—’�Z­¬°a©¬�Ñ9Ô9ñ	ô ˆDõ &Ô5ØÝ�q˜$  4¨¨tÑ4Ô4Ø—’�Z­¬°fÑ)=Ô)=�Ñ>Ô>ñô ˆGð
 —d’dØ�w §¢ Z½¼ÀvÀhÑ9OÔ9O Ñ PÔ Pñô ˆGð ˆ{Ø�‘à—d’d˜5 # wÑ/Ô/�‘Øð 	MØ—$’$�u˜c 1§4¢4¨
µE´LÀ&ÀÑ4JÔ4JÑ#KÔ#KÑLÔLˆCØ�tŠt�H˜g sÑ+Ô+Ð+r   zaten::__derive_indexc           	     óZ   — |                       d||                       d||¦  «        ¦  «        S )NrD  rG  r/  )r)  rj   r+  r  s       r  Ú__derive_indexr§  6  s(   € à�4Š4��u˜aŸdšd 5¨%°Ñ6Ô6Ñ7Ô7Ð7r   zaten::__range_lengthc                óÈ   — |                       d||¦  «        }|                       dt          | ||¦  «        ¦  «        }|                       d|t          j        j        ¬¦  «        S )NrP  r�  rq  rr  )r%  rþ   rt  ru  rv  )r)  Úlor  r  ró   rC   s         r  Ú__range_lengthrª  ;  sV   € ð �$Š$ˆu�b˜"Ñ
Ô
€CØ
�$Š$ˆv•{ 1 c¨4Ñ0Ô0Ñ
1Ô
1€CØ�4Š4�˜¥'Ô"=Ô"Cˆ4ÑDÔDÐDr   zaten::linearc                ó4  — t          j        |¦  «        }t          | |¦  «        }|dk    r¥|                     ¦   «                              ¦   «         s|                      dt          j        dt          j        ¬¦  «        ¬¦  «        }|                      dt          j        dt          j        ¬¦  «        ¬¦  «        }t          | |||||¦  «        }nHt          | ||¦  «        }|                     ¦   «                              ¦   «         st          | ||¦  «        }|S )NrÃ  r`  rF  r�  ra  )r   rœ  rô   r¤  rx  r%  rc  rù   r†  r   r�   r   )r)  r1  rE  r²  r%  rN  rÇ  r  s           r  rz   rz   J  sè   € åÔ+¨EÑ2Ô2€DÝˆq�&‰\Œ\€FØˆq‚y€y˜Ÿš™œ×/Ò/Ñ1Ô1€yØ—’�Z­¬°a½u¼{Ð)KÑ)KÔ)K�ÑLÔLˆØ�tŠt�J­¬°Q½e¼kÐ(JÑ(JÔ(JˆtÑKÔKˆÝ�q˜$  v¨u°dÑ;Ô;ˆˆå˜˜5 &Ñ)Ô)ˆØ�yŠy‰{Œ{×%Ò%Ñ'Ô'ð 	*Ý˜˜D &Ñ)Ô)ˆFà€Mr   zaten::hann_windowú
int | Nonec                ó  — |€Ht          j        ¦   «         }|r|j        st           j        }t          j                             |¦  «        }	nt	          j        |¦  «        }	t          | |dd d d ¦  «        }
|                      d|
t          j
        j        ¬¦  «        }t          | |                      dt          j        t          j        t           j        ¬¦  «        ¬¦  «        |¦  «        }|du rDt!          | ||                      dt          j        dt           j        ¬¦  «        ¬¦  «        ¦  «        }t%          | ||¦  «        }|                      dt'          | t)          | |¦  «        ¦  «        |	                     ¦   «         ¬¦  «        }|S )	Nr=  rq  rr  r`  r�  ra  FrF  )rc  r�  rl   r‘  r
   rw  Ú
from_dtyper   r%  rt  ru  r{  rš   rù   rð  rñ  ró   rÀ  rC   rî   rä   r|  )r)  Úwindow_lengthÚperiodicr‚  r¥  r¦  r§  rµ  Údtype_r~  Ún_arrayr  s               r  r`   r`   Z  sb  € ð €}ÝÔ(Ñ*Ô*ˆØð 	!˜VÔ5ð 	!Ý”[ˆFÝ!Ô/×:Ò:¸6ÑBÔBˆˆå!Ô/°Ñ6Ô6ˆå�Q˜ q¨$°°dÑ;Ô;€GØ�TŠT�&˜'­Ô(CÔ(IˆTÑJÔJ€FÝØ	ˆ1�4Š4�
¥E¤Lµ´ÅÄÐ$LÑ$LÔ$Lˆ4ÑMÔMÈvñô €Fð �5ÐÐÝØˆ}˜aŸdšd :µu´|ÀAÍUÌYÐ7WÑ7WÔ7W˜dÑXÔXñ
ô 
ˆõ ��F˜MÑ*Ô*€FØ�TŠTØÝˆq•#�a˜‘.”.Ñ!Ô!Ø×"Ò"Ñ$Ô$ð ñ ô €Fð €Mr   zaten::mvc                ó$   — t          | ||¦  «        S r  ©r�   )r)  r>  Úvecs      r  rœ   rœ   ‚  s   € å�!�T˜3ÑÔÐr   z	aten::dotc                ó$   — t          | ||¦  «        S r  r´  rU  s      r  rD   rD   ‡  s   € å�!�T˜5Ñ!Ô!Ð!r   zaten::movedimc                óÂ  — |                      d¦  «        }|                      d¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚||k                         ¦   «         r|S t          j        |¦  «        }|€J ‚t          t          |¦  «        ¦  «        }|                     ¦   «         }|                     ¦   «         }t          | 	                    ¦   «         | 	                    ¦   «         ¦  «        D ]\  }}	|||	<   d||<   d||	<   Œd„ |D ¦   «         }d„ |D ¦   «         }t          ||¦  «        D ]
\  }}	|||	<   Œ|  
                    d||¬¦  «        S )Nr.  c                ó   — g | ]
}|d k    ¯|‘ŒS ©r.  r!  ©r�  rB   s     r  r­  zmovedim.<locals>.<listcomp>¥  ó   € Ð5Ð5Ð5˜¨3°"ª9¨9�¨9¨9¨9r   c                ó   — g | ]
}|d k    ¯|‘ŒS r¹  r!  rº  s     r  r­  zmovedim.<locals>.<listcomp>¦  r»  r   r"  r#  )r  rå   r£  r   rœ  r8  r)  r  rä  Útolistr%  )
r)  r>  r0  Údestinationr�  r+  Úsrc_dimsÚdst_dimsrñ  Údsts
             r  r˜   r˜   Œ  sh  € ð �[Š[˜‰_Œ_€FØ×"Ò" 2Ñ&Ô&€Kà�;Š;‰=Œ=˜K×,Ò,Ñ.Ô.Ò.Ð.Ð.Ð.à�+Ò×"Ò"Ñ$Ô$ð ØˆåÔ0°Ñ6Ô6€IØÐ Ð Ð å•�iÑ Ô Ñ!Ô!€Dà�yŠy‰{Œ{€HØ�yŠy‰{Œ{€Hå˜Ÿš™œ¨×);Ò);Ñ)=Ô)=Ñ>Ô>ð ð ‰ˆˆSØˆˆS‰	Øˆ�‰Øˆ�‰ˆà5Ð5˜xÐ5Ñ5Ô5€HØ5Ð5˜xÐ5Ñ5Ô5€Hå˜ (Ñ+Ô+ð ð ‰ˆˆSØˆˆS‰	ˆ	à�4Š4�˜T¨$ˆ4Ñ/Ô/Ð/r   z
aten::fillc                ó„   — t           j                             |t           j        j        ¦  «        }t	          | |||¦  «        S r  )r
   rw  rx  r{  rW   )r)  r>  rf  r~  s       r  rQ   rQ   ®  s=   € õ Ô+×6Ò6Ø�kÔ'Ô-ñô €Kõ �Q˜˜e [Ñ1Ô1Ð1r   zaten::index_addc           
     ó´  ‡— t          j        d¦  «         |r@t          j        t          j        |¦  «        ¦  «        dk    rt          j        dd|¦  «        S t          j        ‰d¦  «        Š‰€t          j        d|¦  «        ‚t          j	        |¦  «        }t          j	        |¦  «        }|�|€t          j        d|¦  «        ‚||k    r@||z
  }t          |¦  «        D ]+}	t          j        | |t          j	        |¦  «        g¦  «        }Œ,t          j        |‰¦  «        }
t          j        |‰¦  «        }|
�|�|
|k    rt          j        d|¦  «        ‚t          t          |¦  «        ¦  «        }d	„ t          |¦  «        D ¦   «         }ˆfd
„t          |¦  «        D ¦   «         }t          j        | ||||¬¦  «        }t          | ||¦  «        }t          ‰¦  «        D ]}	t          j        | |dg¦  «        }Œt          |‰z
  dz
  ¦  «        D ]+}	t          j        | |t          j	        |¦  «        g¦  «        }Œ,t!          | |‰t          | ||¦  «        |¦  «        S )NzyWarning: ONNX export does not support duplicated values in 'index' field, this will cause the ONNX model to be incorrect.rF  re   z
alpha != 1r˜  zXONNX export does NOT support exporting 'index_add_()' function with unknown 'dim' value.z~ONNX export does NOT support exporting 'index_add_()' function while the rank of self tensor or tensor to be added is unknown.zoONNX export does not support exporting 'index_add_()' function with duplicated values in 'index' parameter yet.c                ó   — g | ]}d ‘ŒS rý  r!  r¼  s     r  r­  zindex_add.<locals>.<listcomp>ê  s   € Ð8Ð8Ð8˜a˜Ð8Ð8Ð8r   c                ó8   •— g | ]}|‰k    rt           j        nd ‘ŒS rÅ  )ÚsysÚmaxsize)r�  r˜  rB   s     €r  r­  zindex_add.<locals>.<listcomp>ë  s'   ø€ ÐUÐUÐU¸1 a¨3¢h h•c”k�k°QÐUÐUÐUr   rx  r   )rC  rD  r   rK  rL  rb  r1  r   rm  rœ  r)  r¬  r¢  r8  rz  rN   rÝ   )r)  r>  rB   rj   rB  rN  Úself_dim_rankÚother_dim_rankÚdeltar˜  Úother_dim_sizeÚself_dim_sizeÚnew_shape_axesÚnew_shape_startsÚnew_shape_endsr6  s     `             r  re   re   ·  s±  ø€ å„Mð	<ñô ð ð ð O•Ô(­Ô)JÈ5Ñ)QÔ)QÑRÔRÐVWÒWÐWÝÔ-¨k¸<ÈÑNÔNÐNå
Ô
*¨3°Ñ
4Ô
4€CØ
€{ÝÔ'ð#àñ
ô 
ð 	
õ $Ô4°TÑ:Ô:€MÝ$Ô5°eÑ<Ô<€NàÐ Ð 6ÝÔ'ðHàñ
ô 
ð 	
ð ˜Ò&Ð&Ø Ñ.ˆÝ�u‘”ð 	ð 	ˆAÝ#Ô5Ø�5�?Ô;¸EÑBÔBÐCñô ˆEˆEõ %Ô9¸%ÀÑEÔE€NÝ#Ô8¸¸sÑCÔC€MàÐ"¨Ð)BØ˜MÒ)Ð)ÝÔ+ð>àñô ð õ �% Ñ.Ô.Ñ/Ô/€NØ8Ð8¥5¨Ñ#7Ô#7Ð8Ñ8Ô8ÐØUÐUÐUÐUÅÀmÑ@TÔ@TÐUÑUÔU€NåÔ-Ø	ˆ4�nÐ-=ÀNðñ ô €Iõ �a˜ 	Ñ*Ô*€Eå�3‰ZŒZð Að AˆÝÔ1°!°U¸Q¸CÑ@Ô@ˆˆå�= 3Ñ&¨Ñ*Ñ+Ô+ð 
ð 
ˆÝÔ1Øˆu•Ô7¸Ñ>Ô>Ð?ñ
ô 
ˆˆõ �q˜$ ¥Y¨q°%¸Ñ%?Ô%?ÀÑGÔGÐGr   z
aten::rollc           	     óÊ  — t          |¦  «        t          |¦  «        k    sJ ‚|}t          t          |¦  «        ¦  «        D ]¡}g }t          j        | |||         g||          gt          j        g¬¦  «        }|                     |¦  «         t          j        | |||         gdg||          g¬¦  «        }|                     |¦  «          | j        dg|¢R d||         iŽ}Œ¢|S )Nrx  r   r5  r6  )rX  r)  r   rz  rÆ  rÇ  r  r%  )r)  r>  Úshiftsr=  rø  r˜  r¸  r9  s           r  rØ   rØ   ý  s  € õ ˆv‰;Œ;�#˜d™)œ)Ò#Ð#Ð#Ð#à€FÝ•3�v‘;”;ÑÔð 
9ð 
9ˆØˆÝÔ-Øˆv˜T !œW˜I°°q´	¨z¨lÅ#Ä+Àð
ñ 
ô 
ˆð 	�Š�eÑÔÐÝÔ-Øˆv˜T !œW˜I¨q¨c¸&À¼)¸¸ð
ñ 
ô 
ˆð 	�Š�eÑÔÐØ�”�hÐ8 Ð8Ð8Ð8°°Q´Ð8Ð8ˆˆà€Mr   zaten::crossc           	     ó*  — t          j        ||¦  «        }t          | |dg|g¦  «        }t          | |dg|g¦  «        }t          | |dg|g¦  «        }t          | |dg|g¦  «        }t          | t	          | ||¦  «        t	          | ||¦  «        ¦  «        S )NrÃ  rF  )r   Ú_get_dim_for_crossrØ   ró   rš   )r)  r1  rB  rB   Úroll_x_1Úroll_y_1Úroll_x_2Úroll_y_2s           r  r?   r?     s¢   € õ Ô
,¨U°CÑ
8Ô
8€Cõ
 �A�u˜q˜c C 5Ñ)Ô)€HÝ�A�u˜q˜c C 5Ñ)Ô)€Hõ �A�u˜q˜c C 5Ñ)Ô)€HÝ�A�u˜q˜c C 5Ñ)Ô)€Hõ ˆq•#�a˜ 8Ñ,Ô,­c°!°X¸xÑ.HÔ.HÑIÔIÐIr   zaten::cdistrð  Ú#use_mm_for_euclid_dist_if_necessaryc                óÄ   — t          j        |¦  «        }|€J ‚t          j        | ||dz
  g¦  «        }t          j        | ||dz
  g¦  «        }t          | |||dd¬¦  «        S )NrF  rÃ  g�íµ ÷Æ°>F)ræ  r8  )r   rœ  r¬  r¯   )r)  r@  rA  rH  Úcompute_moder%  Úbroadcasted_x1Úbroadcasted_x2s           r  r,   r,   %  sx   € õ Ô+¨BÑ/Ô/€DØÐÐÐÝ$Ô6°q¸"¸tÀa¹x¸jÑIÔI€NÝ$Ô6°q¸"¸tÀa¹x¸jÑIÔI€NÝØ	ˆ>˜>¨1°%Àðñ ô ð r   z
aten::lerpc                óì  — |                       d||¦  «        }t          | |                       d||                       dt          j        d¦  «        ¬¦  «        ¦  «        |                       d||                       d||¦  «        ¦  «        |                       d||                       d||                       d|                       dt          j        d¦  «        ¬¦  «        |¦  «        ¦  «        ¦  «        ¦  «        S )	NrP  rï  r`  rn  ra  rD  rG  r]  )r%  r  rc  rù   )r)  r>  r,  rE  Údiffs        r  rt   rt   <  sÙ   € ð �4Š4��s˜DÑ!Ô!€DÝØ	Ø	�ŠˆV�V˜QŸTšT *µe´lÀ3Ñ6GÔ6G˜TÑHÔHÑIÔIØ	�ŠˆU�D˜!Ÿ$š$˜u f¨dÑ3Ô3Ñ4Ô4Ø	�ŠØØØ�DŠDØØØ—’�U˜AŸDšD µU´\À#Ñ5FÔ5F˜DÑGÔGÈÑPÔPñô ñ	
ô 	
ñ	ô ð r   zaten::broadcast_tensorsc                óÀ   ‡ ‡— t          j        |¦  «        }t          ‰ |d         ¦  «        Š|D ]}t          ‰ ‰|¦  «        ŠŒˆ ˆfd„|D ¦   «         } ‰ j        dg|¢R Ž S )Nr   c                ó2   •— g | ]}t          ‰|‰¦  «        ‘ŒS r!  )rN   )r�  rô   r)  Út_with_final_shapes     €€r  r­  z%broadcast_tensors.<locals>.<listcomp>[  s&   ø€ ÐGÐGÐG°a�i˜˜1Ð0Ñ1Ô1ÐGÐGÐGr   re  )r   r   r  r   r%  )r)  r>  Úall_tensorsrô   Út_listrá  s   `    @r  r(   r(   Q  s†   øø€ å!Ô.¨tÑ4Ô4€KÝ# A {°1¤~Ñ6Ô6Ðð ð ;ð ;ˆÝ  Ð$6¸Ñ:Ô:ÐÐàGÐGÐGÐGÐG¸;ÐGÑGÔG€FØˆ1Œ4Ð%Ð/¨Ð/Ð/Ð/Ð/r   zaten::is_pinnedc                ó   — d S r  r!  )r)  r>  r¦  s      r  rm   rm   _  s	   € ð ˆ4r   úprim::ConstantSplitc           	     óô   — t          j        ||¦  «        }|€t          j        dd|¦  «        S |g||z  z  }||z  }|r|                     |¦  «         |                      d|||t          |¦  «        ¬¦  «        S )Nrå  r]  r^  r_  )r   r¢  rb  r  r%  rX  )r)  r>  re  rB   rå   rf  rg  s          r  r¶   r¶   e  s�   € åÔ/°°cÑ:Ô:€DØ€|ÝÔ-Ø!Ð#;¸Tñ
ô 
ð 	
ð ˆ\˜T ZÑ/Ñ0€FØ�jÑ €HØð  Ø�Š�hÑÔÐØ�4Š4�˜ v°cÅ3ÀvÁ;Ä;ˆ4ÑOÔOÐOr   úprim::ConstantChunkc                ó–   — t          j        ||¦  «        }|€t          j        dd|¦  «        S ||z   dz
  |z  }t          | |||¦  «        S )Nrç  r]  rF  )r   r¢  rb  r¶   )r)  r>  rc  rB   r‰  re  s         r  rµ   rµ   w  sa   € åÔ3°D¸#Ñ>Ô>€HØÐÝÔ-Ø!Ð#;¸Tñ
ô 
ð 	
ð ˜VÑ# aÑ'¨FÑ2€JÝ˜q $¨
°CÑ8Ô8Ð8r   zprim::shapec                ó.   — |                       d|¦  «        S r-  r/  r—  s     r  rÂ   rÂ   ‚  s   € à�4Š4�˜ÑÔÐr   z	prim::maxc                ó4   — t          j        | d||d¬¦  «        S )Nr`  r[  r–  r˜  rU  s      r  rÀ   rÀ   ‡  s'   € åÔ7Ø	ˆ5�$˜¨Bðñ ô ð r   z	prim::minc           
     óâ   — |s]t          j        |¦  «        r9t          | ||                      dt	          j        dg¦  «        ¬¦  «        ¦  «        }t          | |¦  «        S t          | ||¦  «        S r   )r   r3  rð   r%  rc  rù   r”   rU  s      r  rÁ   rÁ   Ž  sk   € àð ÝÔ*¨4Ñ0Ô0ð 	OÝ˜˜D !§$¢$ z½5¼<ÈÈÑ;LÔ;L $Ñ"MÔ"MÑNÔNˆDÝ�1�d‰|Œ|ÐÝˆq�$˜ÑÔÐr   z
prim::datac                ó   — |S r  r!  r—  s     r  r¸   r¸   —  r±  r   zprim::layoutc                óT   — |                       dt          j        d¦  «        ¬¦  «        S r   r¸  r—  s     r  r¼   r¼   œ  s"   € ð �4Š4�
¥E¤L°¡O¤Oˆ4Ñ4Ô4Ð4r   re  c                ó   — d S r  r!  ©r)  r{  ræ  s      r  r½   r½   £  ó   € àˆ4r   zprim::ListUnpackúlist[_C.Value] | Nonec                óÀ   — t          |¦  «        dk    rJ|d                              ¦   «                              ¦   «         dk    rt          j        |d         ¦  «        S d S )NrF  r   re  )rX  r¤  r³  r   r   rï  s      r  r¾   r¾   ¨  sV   € õ ˆ6�{„{�aÒÐ˜F 1œIŸNšNÑ,Ô,×1Ò1Ñ3Ô3Ð7LÒLÐLõ Ô+¨F°1¬IÑ6Ô6Ð6àˆ4r   zprim::TupleConstructc                ó   — d S r  r!  rï  s      r  rÄ   rÄ   ´  rð  r   zprim::Uninitializedc                ó   — d S r  r!  rï  s      r  rÇ   rÇ   ¹  rð  r   zprim::unchecked_castc                ó   — |S r  r!  r—  s     r  rÆ   rÆ   Â  r±  r   zprim::dtypec                ó¢   — t          j        |¦  «        }|€t          j        j        }|                      dt          j        |¦  «        ¬¦  «        S r_  )r   rÄ  r
   rw  r{  r%  rc  rù   )r)  r>  r~  s      r  rº   rº   Ç  sC   € å!Ô6°tÑ<Ô<€KØÐÝ!Ô/Ô5ˆà�4Š4�
¥E¤L°Ñ$=Ô$=ˆ4Ñ>Ô>Ð>r   úprim::tolistc                óh   — t          j        |d¦  «        }|dk    rt          j        dd|¦  «        S |S )zÂtolist is currently supported only for 1D input tensors.

    dim_val and elem_ty_val represent dimension and type annotations
    that need to match dimension and type of the input tensor.
    r˜  rF  r÷  zdim_val > 1)r   r1  rb  )r)  r1  Údim_valÚelem_ty_valrB   s        r  rÃ   rÃ   Ð  s9   € õ Ô
*¨7°CÑ
8Ô
8€CØ
ˆQ‚w€wÝÔ-¨n¸mÈUÑSÔSÐSØ€Lr   r  ÚNonec                ó  — | j                              ¦   «                              ¦   «         }t          |t          j        ¦  «        rd S t          j        dd|                     ¦   «         › d�| j                              ¦   «         ¦  «        S )Nr  z,output type should be 'DeviceObjType', not 'ú')	Úoriginal_noder  r  r7  r   rl  r   rb  r³  )r)  r{  ræ  Úoutput_types       r  r¹   r¹   à  s~   € à”/×(Ò(Ñ*Ô*×/Ò/Ñ1Ô1€KÝ�+�rÔ/Ñ0Ô0ð ØˆtåÔ)ØØL°{×7GÒ7GÑ7IÔ7IÐLÐLÐLØ	Œ×ÒÑ Ô ñô ð r   z
prim::Loopúlist[_C.Value]c           	     ó
  — | j         }| j        }| j        }| j        }t          j        }t          j        }t          |                     ¦   «         ¦  «        }	t          j
        | dg|¢R |                     ¦   «         t          |	¦  «        dœŽ\  }
}}t          |	|¦  «        D �]\  }}t          |                     ¦   «         ¦  «        D ]Ã\  }}|dk    r@|t          |¦  «        k     r-|                     ||                              ¦   «         ¦  «         |dk    rr|dz   t          |¦  «        k     r\t%          |                     ¦   «         t&          j        ¦  «        s0|                     ||dz                                 ¦   «         ¦  «         ŒÄt*          j                             ||j        |||d¦  «         �Œt*          j                             ||¦  «        }t          j        r!t*          j                             |||¦  «         |S )NÚLoop©ra  Ún_blocksr   rF  F)rþ  ÚenvÚvalues_in_envÚparams_dictr   r×  rÞ  rã  Úblocksr   Úadd_op_with_blocksÚoutputsSizerX  rä  r  r{  r&  r  r7  r   r'  rc  Ú_jit_pass_onnx_blockÚblockÚ%_jit_pass_fixup_onnx_controlflow_nodeÚonnx_shape_inferenceÚ(_jit_pass_onnx_node_shape_type_inference)r)  r{  Úattrsr¤  r  r  r  r×  Úopset_versionÚ
old_blocksÚ_new_op_outputsÚnew_block_contextsÚnew_nodeÚ	old_blockÚnew_block_contextr˜  Úb_inÚfixed_outputss                     r  r¿   r¿   í  s   € àŒ?€DØ
Œ%€CØ”O€MØ”-€Kå"Ô7ÐÝÔ5€Må�t—{’{‘}”}Ñ%Ô%€JÝ4=Ô4PØ	ˆ6ð5Øð5ð 5Ø$(×$4Ò$4Ñ$6Ô$6ÅÀZÁÄð5ð 5ð 5Ñ1€OÐ'¨õ ),¨JÐ8JÑ(KÔ(Kð 
ñ 
Ñ$ˆ	Ð$õ ! ×!1Ò!1Ñ!3Ô!3Ñ4Ô4ð 	3ð 	3‰GˆAˆtØ�AŠvˆv˜!�c &™kœkš/˜/Ø—’˜V AœYŸ^š^Ñ-Ô-Ñ.Ô.Ð.ð
 �A’�Ø˜‘U�c &™kœkÒ)Ð)Ý" 4§9¢9¡;¤;µ´Ñ@Ô@ð *ð —’˜V A¨¡Eœ]×/Ò/Ñ1Ô1Ñ2Ô2Ð2øÝŒ×%Ò%ØØÔ#Ø ØØØñ	
ô 	
ð 	
ñ 	
õ ”H×BÒBØ�-ñô €Mõ Ô#ð 
ÝŒ×9Ò9Ø�k =ñ	
ô 	
ð 	
ð Ðr   zprim::Ifc           	     ó¤  — | j         }| j        }| j        }| j        }| j        }t
          j        }t
          j        }	|d                              ¦   «          	                    ¦   «         dk    }
|
�rzt          j        |d                              ¦   «         d¦  «                             ¦   «         }t          |t          ¦  «        rt          |¦  «        nt!          |¦  «        }|rdnd}t          |                     ¦   «         ¦  «        |         }t$          j                             |||||d¦  «        }t          |                     ¦   «         ¦  «        }t          |                     ¦   «         ¦  «        }g }t-          t/          |¦  «        ¦  «        D ]T}||         |vr%t1          j        d||         › d�||         ¦  «        ‚|||                  }|                     |¦  «         ŒU|S t7          |                     ¦   «         ¦  «        }t9          j        | dg|¢R |                     ¦   «         t/          |¦  «        d	œŽ\  }}}t?          ||¦  «        D ].\  }}t$          j                             ||j        |||d
¦  «         Œ/t$          j                              ||	¦  «        }t
          j!        r!t$          j         "                    |||	¦  «         |S )Nr   rk  rf  rF  TzThe sub block ATen output z is not in env.ÚIfr  F)#rþ  r  r  r  r  r   r×  rÞ  r¤  r³  r   rj  r½  r7  r8  r£  r  r  rc  r   r  ra  r)  rX  r   rm  r  rã  r   r	  r
  rä  r  r  r  )r)  r{  r  r*  r  r  r  r  r×  r  Ú	static_ifÚ
input_flagrÇ  Ú	block_idxÚ	current_bÚif_output_listÚcurrent_b_listÚfinal_b_listr'  Úonnx_br  r  r  r  r  r  r  s                              r  r»   r»   "  sØ  € à	Œ€AØŒG€EØ
Œ%€CØ”O€MØ”-€Kå"Ô7ÐÝÔ5€Mà�q”	—’Ñ Ô ×%Ò%Ñ'Ô'Ð+;Ò;€IØñ Lõ4 %Ô.¨v°a¬y¯~ª~Ñ/?Ô/?ÀÑIÔI×PÒPÑRÔRˆ
å)¨*µdÑ;Ô;ÐQ�C�
‰OŒOˆOÅÀjÑAQÔAQð 	ð %Ð+�A�A¨!ˆ	Ý˜Ÿš™œÑ$Ô$ YÔ/ˆ	ÝŒh×+Ò+ØØØ ØØØñ
ô 
ˆõ ˜aŸiši™kœkÑ*Ô*ˆÝ˜i×/Ò/Ñ1Ô1Ñ2Ô2ˆàˆÝ�˜^Ñ,Ô,Ñ-Ô-ð 	(ð 	(ˆCØ˜cÔ"¨#Ð-Ð-ÝÔ/ØU°ÀÔ1DÐUÐUÐUØ" 3Ô'ñô ð ð ˜¨Ô,Ô-ˆFØ×Ò Ñ'Ô'Ð'Ð'ØÐå˜1Ÿ8š8™:œ:Ñ&Ô&ˆ
Ý8AÔ8TØˆtð9
Øð9
ð 9
Ø&'§m¢m¡o¤oÅÀJÁÄð9
ð 9
ð 9
Ñ5ˆÐ+¨Xõ -0°
Ð<NÑ,OÔ,Oð 	ð 	Ñ(ˆIÐ(ÝŒH×)Ò)ØØ!Ô'Ø$ØØØñô ð ð õ œ×FÒFØ�mñ
ô 
ˆõ Ô'ð 	ÝŒH×=Ò=Ø˜+ }ñô ð ð Ðr   r$  c           	     ó4  ‡ — ‰ j         }|                     ¦   «         rd S t          |                     ¦   «                              ¦   «         t
          j        ¦  «        rd S |                     d¦  «        dk    r*‰                      dt          j
        |d¦  «        ¬¦  «        S |                     d¦  «        dk    r*‰                      dt          j
        |d¦  «        ¬¦  «        S |                     ¦   «                              ¦   «                              t
          j                             ¦   «         ¦  «        sU|                     ¦   «                              ¦   «                              t
          j                             ¦   «         ¦  «        r<‰                      dt          j        t          j
        |d¦  «        ¦  «        ¬¦  «        S |                     ¦   «                              ¦   «                              t
          j                             ¦   «         ¦  «        r/ˆ fd„t          j
        |d¦  «        D ¦   «         } ‰ j        dg|¢R Ž S t%          j        d	|                     d¦  «        › d
t(          j        › d�|                     ¦   «         ¦  «        ‚)Nrf  rô   r`  ra  rh  ©Úvalue_sc                ó>   •— g | ]}‰                      d |¬¦  «        ‘ŒS )r`  r%  r/  )r�  rh  r)  s     €r  r­  z!prim_constant.<locals>.<listcomp>“  s9   ø€ ð 
ð 
ð 
àð �DŠD� QˆDÑ'Ô'ð
ð 
ð 
r   re  z"Unsupported prim::Constant kind: 'z'. Please send a bug report at ú.)rþ  rx  r7  r  r  r   rl  rm  r%  r   rj  r  r  r  ÚofFloatsrc  rù   Ú	ofStringsr   rm  r   ÚPYTORCH_GITHUB_ISSUES_URL)r)  r{  r  r¤  Ústr_constantss   `    r  r·   r·   }  sW  ø€ àŒ?€Dà‡‚ÑÔð Øˆtõ �$—+’+‘-”-×$Ò$Ñ&Ô&­Ô(8Ñ9Ô9ð ØˆtØ‡{‚{�7ÑÔ˜sÒ"Ð"Ø�tŠt�J­Ô(AÀ$ÈÑ(PÔ(PˆtÑQÔQÐQØ‡{‚{�7ÑÔ˜sÒ"Ð"Ø�tŠt�J­Ô(AÀ$ÈÑ(PÔ(PˆtÑQÔQÐQØ‡{‚{�}„}×ÒÑÔ×'Ò'Ý
Œ×ÒÑÔñô ð 
à	�Š‰Œ×	Ò	Ñ	Ô	×	)Ò	)­"¬+×*>Ò*>Ñ*@Ô*@Ñ	AÔ	Að
ð �tŠtØ¥¤­_Ô-FÀtÈWÑ-UÔ-UÑ VÔ Vð ñ 
ô 
ð 	
ð ‡{‚{�}„}×ÒÑÔ×'Ò'­¬×(=Ò(=Ñ(?Ô(?Ñ@Ô@ð ;ð
ð 
ð 
ð 
å$Ô.¨t°WÑ=Ô=ð
ñ 
ô 
ˆð ˆqŒtÐ)Ð:¨MÐ:Ð:Ð:Ð:å
Ô
#ð	O¨T¯[ª[¸Ñ-AÔ-Að 	Oð 	OÝ'1Ô'Kð	Oð 	Oð 	Oà�Š‰Œñô ð r   ú
prim::typeÚdevice_valuec                ó>  — |                      ¦   «                              ¦   «         dk    r^t          j        |                      ¦   «                              ¦   «         ¦  «        }|�$|                      dt          |¦  «        ¬¦  «        S t          j        dd|¦  «        S )Nr  r`  r%  r-  z,Device type cannot be statically determined.)	r¤  r³  r   Úget_device_from_valuer1  r%  r  r   rb  )r)  r.  rZ  ræ  r¦  s        r  rÅ   rÅ      s�   € à×ÒÑÔ×ÒÑ!Ô! ^Ò3Ð3ÝÔ0°×1BÒ1BÑ1DÔ1D×1JÒ1JÑ1LÔ1LÑMÔMˆØÐØ—4’4˜
­C°©K¬K�4Ñ8Ô8Ð8åÔ)ØØ6Øñô ð r   zonnx::Placeholderc                ó~   — | j         }| j        }| j        }| j        }t          j                             ||||¦  «        S r  )rþ  r  r  r  rc  r   Ú'_jit_onnx_convert_pattern_from_subblock)r)  r{  r  r¤  r  r  r  s          r  r­   r­   ®  sA   € àŒ?€DØŒG€EØ
Œ%€CØ”O€MåŒ8×;Ò;Øˆt�S˜-ñô ð r   zaten::resolve_conjzaten::resolve_negc                ó   — |S r  r!  r0  s     r  r  r  º  s	   € ð €Lr   zaten::_conjzaten::conj_physicalc                ót   — t          j        |¦  «        rt          j        d|¦  «        S t          | |¦  «        S )Nz aten::_conj, aten::conj_physical)r   Úis_complex_valuer  r  r0  s     r  r  r  Å  sD   € õ Ô'¨Ñ.Ô.ð 
åÔ0Ø.Øñ
ô 
ð 	
õ " ! UÑ+Ô+Ð+r   zaten::logitc                ó‚  — |                       dt          j        d¦  «        ¬¦  «        }t          j        |¦  «        s½|                       d|t
          j                             |¦  «                             ¦   «         ¬¦  «        }|                       d||¦  «        }|                       d||¦  «        }|                       d|||¦  «        }|                       d	||¦  «        }|                       d|||¦  «        }n|}|                       d||¦  «        }	|                       d
||	¦  «        }
|                       d|
¦  «        S )Nr`  r]  ra  rq  rr  rP  rí  rî  rï  rp  rQ  )	r%  rc  rù   r   rK  r
   rw  rx  r|  )r)  r>  ræ  r‹  Úone_sub_epsÚself_less_equal_one_sub_epsÚtemporary_selfÚtemporary_self_less_epsÚzró   rC   s              r  r†   r†   Ø  s(  € à
�$Š$ˆz¥5¤<°Ñ#4Ô#4ˆ$Ñ
5Ô
5€CåÔ# CÑ(Ô(ð Ø�dŠdØ�C�kÔ7×BÒBÀ4ÑHÔH×RÒRÑTÔTð ñ 
ô 
ˆð —d’d˜5 # sÑ+Ô+ˆØ&'§d¢d¨9°kÀ4Ñ&HÔ&HÐ#ØŸš˜gÐ'BÀDÈ+ÑVÔVˆà"#§$¢$ v¨~¸sÑ"CÔ"CÐØ�DŠD�Ð1°3¸ÑGÔGˆˆàˆà
�$Š$ˆu�c˜1Ñ
Ô
€CØ
�$Š$ˆu�a˜Ñ
Ô
€CØ�4Š4��sÑÔÐr   )r  r  )r)  r+  r  )r]  )T)r  r  r  r  r  r  r›  )F)r)  r+  r1  r¤  r¥  r‘  r¦  r  )rB   rÀ  )r)  r+  r1  r¤  r®   r¤  )
r)  r+  r1  r¤  r®   r¤  rN  r¤  rf  r¤  )r  r  rB   rÀ  rC  r  )r  r   rd  r   )NNN)r)  r+  r1  r¤  rì  rô  rE  r¤  r²  r¤  ræ  r‘  rd  rí  )r)  r+  r1  r¤  rì  rô  rE  r¤  r²  r¤  ræ  r‘  rþ  r  rd  r¤  )
r)  r+  r   r  rå  r   ræ  r   r¸  r  )FF)NN)FN)NNNFN)NNF)r)  r+  r>  r¤  rá  r‘  râ  r‘  )r³  r  )NNFN)r)  r+  r1  ræ  rB   ræ  r8  r  )r)  r+  r>  ræ  r?  ræ  rB   r@  r8  r  r‚  ræ  )r)  r+  r>  ræ  r?  r‘  rB   r@  r8  r  r‚  ræ  )r)  r+  r>  ræ  r?  ræ  rB   rG  r8  r  r‚  ræ  r¹  )NF)r)  r+  r]  r^  )r  )r)  r+  r>  ræ  rl  r  )TNNNNF)r)  r+  r‚  r¬  )rð  rØ  )r)  r+  rd  rñ  )r)  r+  rd  rû  )r)  r+  rd  r   )r)  r+  r.  r¤  )r)  r+  r1  r¤  )r)  r+  r>  ræ  ræ  ræ  (m  Ú__doc__Ú
__future__r   r%  ra  rð  rÆ  rC  Útypingr   r   r   rc  Útorch._C._onnxr   Ú_onnxrt  Útorch.nn.modules.utilsÚ
torch.onnxr   r	   r
   r   r   Útorch.onnx._globalsr   Útorch.onnx._internalr   r   Útorch.typesr   r  ÚpartialÚonnx_symbolicÚ_onnx_symbolicr"  r  r2  r:  rí  r×   rÖ   r   ró   rÛ   rš   rC   rî  r   rY  rl  rk  rS   rU   rþ   rÎ   r+   rð   r°  r—   r'   r�   r   r    rí   rÚ   r÷   rä   r=   rö   r   r   r    r!   rá   râ   r  Ú_apply_paramsr  r@   r  r  rô   r©   rO   r)   rN   rH   rG   rå   rý   r°   r  r  r  rì   r  rë   r  r   rß   rî   rï   r´   rã   r–   rÐ   rÑ   r-   rT   r¢  rú   rs   r]   rç   rè   r\   ÚnnÚmodulesÚutilsÚ_singleÚ_pairÚ_triplerï  rŽ   r�   r�   r  r  r  r"  r2   r/  rÏ   rÕ   r®   rM  rS  r%   r&   r  r  ri  rK   rŸ   r_   rs  rŠ   r{  rZ   rr   r�  r„  r†  r‚   r„   r…   rƒ   r–  rš  r  r}   r¦  r¼  rÅ  r<   r8   r9   r:   r5   r6   r7   r#   rž   rq   rk   r  rF   rà   ri   rh   rg   rf   r*   rÿ   r>   r¯   r1   r   r~   r€   r   r³   r0   r/   r.   r‘   r’   r”   r•   r   r   r   rM   rE   r  r§   r4   r‡  r‹  Ú
deprecatedr�  r“  r–  r˜  rš  r�  rŸ  r¡  r£  rJ   rI   r¡   rÜ   rù   r   r  r  r¤   r  r¬   r«   r£   rX   rW   r¢   rP   ræ   rd   rc   rb   rø   ra   ré   r   r  rê   r¨   rü   r;   rû   rÔ   rÓ   r±   r²   r€  r†  r‰  r‰   rˆ   rž  r£  rA   r3   r«  r¯  rË   rÊ   rÍ   rÉ   rÌ   rÈ   rÙ   r$   r|   rL   rR   r¦   r¥   rn   rá  rã  r�   r   r   rÞ   rÝ   r�   rl   rý  rÿ  rª   rY   r	  rò   r
  r	  rñ   r‡   r   r{   ru   r‹   rŒ   rj   rx   ry   rw   rv   rV   r›   r"   r“   rÒ   r[   r^   r€  rB   r‰  r‹  ro   rõ   r“  r™  rp   r™   r   r§  rª  rz   r`   rœ   rD   r˜   rQ   re   rØ   r?   r,   rt   r(   rm   r¶   rµ   rÂ   rÀ   rÁ   r¸   r¼   r½   r¾   rÄ   rÇ   rÆ   rº   rÃ   r¹   r¿   r»   r·   rÅ   r­   r  r  r†   r!  r   r  ú<module>rQ     s’T  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø 
€
€
€
Ø €€€Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à €€€Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð VÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ð ð #Ø"Ð"Ð"Ð"Ð"Ð"ð
Cð Cð C€ðL #�Ô" <Ô#=ÀQÐGÑGÔG€ñð ð ð ðð ð ð €Ð(Ñ)Ô)ñ ð  ð  ñ *Ô)ð ð €Ð,Ñ-Ô-ñ$ð $ð $ñ .Ô-ð$ð €�Ñ Ô Ø€Ô Ñ%Ô%ñ;ð ;ð ;ñ &Ô%ñ !Ô ð;ð €Ð"Ñ#Ô#Ø€Ô Ñ%Ô%ñ#ð #ð #ñ &Ô%ñ $Ô#ð#ð
 €�ÑÔñ$ñ $ð $ð $ñ Ôð$ð0 €�ÑÔñ$ñ $ð $ð $ñ Ôð$ð* €�ÑÔñ,ñ ,ð ,ð ,ñ Ôð,ð €�ÑÔñ(ð (ð (ñ Ôð(ð €�ÑÔñ9ð 9ð 9ñ Ôð9ð €�Ñ Ô Ø€Ô˜C  c¨3Ñ/Ô/ñFñ Fð Fð Fñ 0Ô/ñ !Ô ðFð
 €Ô˜C  cÑ*Ô*ñ
ð 
ð 
ñ +Ô*ð
ñð ð ð ñ>'ð 'ð 'ð 'ð0 €Ð$Ñ%Ô%ñ)ð )ð )ñ &Ô%ð)ð
 €Ð Ñ!Ô!ñ(ð (ð (ñ "Ô!ð(ð €Ð#Ñ$Ô$ñ$ð $ð $ñ %Ô$ð$ð6 €Ð"Ñ#Ô#ñ$ð $ð $ñ $Ô#ð$ð €�ÑÔØ€Ô˜C Ñ%Ô%ñ#0ð #0ð #0ñ &Ô%ñ Ôð#0ðL €�ÑÔØ€Ô˜C Ñ%Ô%ñ3ð 3ð 3ñ &Ô%ñ Ôð3ð €�ÑÔñð ð ñ Ôðð €�
ÑÔñAð Að Añ ÔðAð €�ÑÔñ'ð 'ð 'ñ Ôð'ð €�ÑÔñ'ð 'ð 'ñ  Ôð'ð €�ÑÔØ€Ô˜C  c¨3°Ñ4Ô4ñ2ð 2ð 2ñ 5Ô4ñ Ôð2ðj €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð  €�ÑÔñð ð ñ Ôðð €�ÑÔà€Ô ¨KÀCÐHÑHÔHñð ð ñ IÔHñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð €�ÑÔñð ð ñ Ôðð* €�Ñ Ô à€Ô ¨KÀAÐFÑFÔFñ!ð !ð !ñ GÔFñ !Ô ð!ð €�ÑÔñð ð ñ Ôðð  €Ô Ñ%Ô%ñKð Kð Kñ &Ô%ðKð €ØÐ8˜?Ô8¸ÀeÑLÔLÐMðñ ô ð €ØÐ9˜OÔ9¸,ÈÑOÔOÐPðñ ô ð €Øà%ˆÔ%Ø˜&¸%ð	
ñ 	
ô 	
ððñ ô ññ ð ð ñô ñ	ô ñô ðð €�ÑÔØ€Ô˜C  fÑ-Ô-ñDð Dð Dñ .Ô-ñ  ÔðDð €Ð)Ñ*Ô*ñHð Hð Hñ +Ô*ðHð €Ð'Ñ(Ô(ñFð Fð Fñ )Ô(ðFð €�	ÑÔñ2ð 2ð 2ñ Ôð2ð €�Ñ Ô Ø€Ô Ñ%Ô%ñ1ð 1ð 1ñ &Ô%ñ !Ô ð1ð €�ÑÔØ€Ô Ñ%Ô%ñ&ð &ð &ñ &Ô%ñ  Ôð&ð& €Ð$Ñ%Ô%Ø€Ô Ñ%Ô%ñ&ð &ð &ñ &Ô%ñ &Ô%ð&ð$ €Ð!Ñ"Ô"Ø€Ô  dÑ+Ô+ñ'ð 'ð 'ñ ,Ô+ñ #Ô"ð'ð" €Ð!Ñ"Ô"Ø€Ô Ñ%Ô%Ø€Ô˜C  c¨3°Ñ4Ô4ñ+ð +ð +ñ 5Ô4ñ &Ô%ñ #Ô"ð+ð0 €Ð%Ñ&Ô&Ø€Ô Ñ%Ô%Ø€Ô˜C  c¨3°°S¸#¸sÀCÑHÔHñPð Pð Pñ IÔHñ &Ô%ñ 'Ô&ðPð( €�ÑÔØ€Ô °eÐ<Ñ<Ô<ñ6ñ 6ð 6ð 6ñ =Ô<ñ Ôð6ð €Ð!Ñ"Ô"Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ñ
ð 
ð 
ñ +Ô*ñ &Ô%ñ #Ô"ð
ð" €�Ñ Ô Ø€Ô˜C Ñ&Ô&ñ0ð 0ð 0ñ 'Ô&ñ !Ô ð0ð €�ÑÔØ€Ô Ñ%Ô%ñ"ð "ð "ñ &Ô%ñ Ôð"ð €�Ñ Ô ñ#ð #ð #ñ !Ô ð#ð
 €Ð$Ñ%Ô%Ø€Ô˜C  c¨3Ñ/Ô/ñMñ Mð Mð Mñ 0Ô/ñ &Ô%ðMð$ €�ÑÔØ€Ô˜C  c¨3Ñ/Ô/ñMñ Mð Mð Mñ 0Ô/ñ ÔðMð2 €Ð$Ñ%Ô%àHLñ>ñ >ð >ð >ñ &Ô%ð>ð €Ð(Ñ)Ô)Ø€Ô˜C  s¨CÑ0Ô0ñRñ Rð Rð Rñ 1Ô0ñ *Ô)ðRð €Ð/Ñ0Ô0à@DñAñ Að Að Añ 1Ô0ðAð €�ÑÔØ€Ô˜C  cÑ*Ô*ññ ð ð ñ +Ô*ñ  Ôðð €�ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ñ7ð 7ð 7ñ +Ô*ñ &Ô%ñ  Ôð7ð( €�ÑÔñ#ð #ð #ñ  Ôð#ð €�Ñ Ô ñ;Jñ ;Jð ;Jð ;Jñ !Ô ð;Jð| €�ÑÔñ'ð 'ð 'ñ Ôð'ð, €�ÑÔñ6ð 6ð 6ñ Ôð6ð €�ÑÔñEð Eð Eñ ÔðEð €�ÑÔØ€Ô Ñ%Ô%ñð ð ñ &Ô%ñ Ôðð €�ÑÔØ€Ô Ñ%Ô%ñ!ð !ð !ñ &Ô%ñ Ôð!ð €�ÑÔñð ð ñ Ôðð €�ÑÔñ ð  ð  ñ Ôð ð €�ÑÔñ9ð 9ð 9ñ Ôð9ð
 €Ð!Ñ"Ô"Ø€Ô˜C  cÑ*Ô*ñð ð ñ +Ô*ñ #Ô"ðð €Ð"Ñ#Ô#Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ð
 ñ	<ñ <ð <ð <ñ +Ô*ñ &Ô%ñ $Ô#ð<ð €�ÑÔØ€Ô˜C Ñ%Ô%ñ7ð 7ð 7ñ &Ô%ñ Ôð7ð €�Ñ Ô Ø€Ô˜C  fÑ-Ô-ñ;ñ ;ð ;ð ;ñ .Ô-ñ !Ô ð;ð| €Ð Ñ!Ô!ñ"ð "ð "ñ "Ô!ð"ð €Ð-Ñ.Ô.ð2ð 2ñ /Ô.ð2ðj €Øà%ˆÔ%Ø˜%œ(Ô*Ô0Ô8¸!ÈEð	
ñ 	
ô 	
ð 	ˆ�ÑÔð	ðñ ô ð €Øà%ˆÔ%Ø˜%œ(Ô*Ô0Ô6¸È%ð	
ñ 	
ô 	
ð 	ˆ�ÑÔð	ðñ ô ð €Øà%ˆÔ%Ø˜%œ(Ô*Ô0Ô8¸!ÈEð	
ñ 	
ô 	
ð 	ˆ�ÑÔð	ðñ ô ð7ð 7ñô ñô ñô ð67ðt J˜.˜.Ð)HÑIÔIØ€IØ!ØŒÔÔÔ&Ø	Øð	ñ ô ñô Ð ð J˜.˜.Ð)HÑIÔIØ€IØ!ØŒÔÔÔ$Ø	Øð	ñ ô ñô Ð ð J˜.˜.Ð)HÑIÔIØ€IØ!ØŒÔÔÔ&Ø	Øð	ñ ô ñô Ð ð €Øà%ˆÔ% l°E´HÔ4DÔ4JÔ4RÑSÔSØˆ�ÑÔððñ ô ð €Øà%ˆÔ% l°E´HÔ4DÔ4JÔ4PÑQÔQØˆ�ÑÔððñ ô ð €Øà%ˆÔ% l°E´HÔ4DÔ4JÔ4RÑSÔSØˆ�ÑÔððñ ô ð4ð 4ñô ñô ñô ð*4ðn €Øà%ˆÔ%Ø! =°%´(Ô2BÔ2HÔ2Pñ	
ô 	
ð 	ˆÐ%Ñ&Ô&ð	ðñ ô ð €Øà%ˆÔ%Ø! =°%´(Ô2BÔ2HÔ2Nñ	
ô 	
ð 	ˆÐ%Ñ&Ô&ð	ðñ ô ð €Øà%ˆÔ%Ø! =°%´(Ô2BÔ2HÔ2Pñ	
ô 	
ð 	ˆÐ%Ñ&Ô&ð	ðñ ô ð €Øà%ˆÔ%Ø!ØØŒHÔÔ"Ô*Ø#ñ		
ô 	
ð 	ˆÐ%Ñ&Ô&ððñ ô ð €Øà%ˆÔ%Ø!ØØŒHÔÔ"Ô(Ø#ñ		
ô 	
ð 	ˆÐ%Ñ&Ô&ððñ ô ð €Øà%ˆÔ%Ø!ØØŒHÔÔ"Ô*Ø#ñ		
ô 	
ð 	ˆÐ%Ñ&Ô&ððñ ô ñ3ð 3ð 3ñô ñô ñô ñô ñô ñô ð~3ñlð ð ð ð"ð ð ð" €Ð'Ñ(Ô(ñð ð ñ )Ô(ðñ$&ð &ð &ð &ðR €Ð(Ñ)Ô)Ø€Ð(Ñ)Ô)Ø€Ð(Ñ)Ô)ñð ð ñ *Ô)ñ *Ô)ñ *Ô)ðð €Ð)Ñ*Ô*Ø€Ð)Ñ*Ô*Ø€Ñ)Ñ*Ô*ññ ð ñ +Ô*ñ +Ô*ñ +Ô*ðð €‘ÑÔñTñ Tð Tñ ÔðTð( €Ùà%ˆÔ%Ñ&:¸A¹yÑIÔIØˆÑ$Ñ%Ô%ððñ ô ð €Ùà%ˆÔ%Ñ&:¹A¹yÑIÔIØˆÑ$Ñ%Ô%ððñ ô ð €Ùà%ˆÔ%Ñ&:¹A¹yÑIÔIØˆÑ$Ñ%Ô%ððñ ô ð €Ùà%ˆÔ%Ñ&9¸1¹hÑGÔGØˆÑ#Ñ$Ô$ððñ ô ð €Ùà%ˆÔ%Ñ&;¹QÁÑIÔIØˆÑ%Ñ&Ô&ððñ ô ð €Ù à%ˆÔ%Ñ&<¹aÁÑJÔJØˆÑ&Ñ'Ô'ððñ ô ññ ð ñô ñô ñô ñô ñô ñô ðTð$ €Ñ%Ñ&Ô&ñ8ñ 8ð 8ñ 'Ô&ð8ð  €Ñ#Ñ$Ô$ññ ð ñ %Ô$ðð €Ñ"Ñ#Ô#ñ#ð #ñ $Ô#ð#ñ 	ð 	ð 	ññ ð ð ð €‘ÑÔññ ð ñ  Ôðð €‘
ÑÔØ€Ô  dÑ+Ô+ñ&ñ &ð &ñ ,Ô+ñ Ôð&ð2 €‘
ÑÔØ€Ô  dÑ+Ô+Øññ ð ñ Ôñ ,Ô+ñ Ôðð €‘
ÑÔØ€Ô  dÑ+Ô+ñ%ñ %ð %ñ ,Ô+ñ Ôð%ñ)ñ )ð )ð )ð €‘
ÑÔØ€Ô  dÑ+Ô+ñ%ñ %ð %ñ ,Ô+ñ Ôð%ñ&ñ &ð &ð &ð €‘
ÑÔØ€Ô  dÑ+Ô+Øñ%ñ %ð %ñ Ôñ ,Ô+ñ Ôð%ð €‘
ÑÔØ€Ô  dÑ+Ô+Øñ%ñ %ð %ñ Ôñ ,Ô+ñ Ôð%ð €‘ÑÔñ%ñ %ð %ñ  Ôð%ð  €‘ÑÔñ$ñ $ð $ñ Ôð$ð  €‘ÑÔñ%ñ %ð %ñ  Ôð%ð  €Ñ#Ñ$Ô$ØÐ™fÑ%Ô%ñ%ñ %ð %ñ &Ô%ñ %Ô$ð%ð €Ñ"Ñ#Ô#ØÐ™fÑ%Ô%ñ$ñ $ð $ñ &Ô%ñ $Ô#ð$ð €Ñ#Ñ$Ô$ØÐ™fÑ%Ô%ñ%ñ %ð %ñ &Ô%ñ %Ô$ð%ð €Ñ#Ñ$Ô$ñSñ Sð Sñ %Ô$ðSð €Ñ!Ñ"Ô"ññ ð ñ #Ô"ðð8 €Ñ!Ñ"Ô"ññ ð ñ #Ô"ðð8 €‘ÑÔØ€Ô˜C  c¨3Ñ/Ô/ñ	1ñ 	1ñ 	1ð 	1ñ 0Ô/ñ Ôð	1ð €Ñ#Ñ$Ô$Ø€Ô˜C  fÑ-Ô-ññ ñ ð ñ .Ô-ñ %Ô$ðð> €Ñ$Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ñ	&ñ 	&ð 	&ñ +Ô*ñ &Ô%ð	&ð €Ñ$Ñ%Ô%Ø€ÔØˆˆc�4˜˜t S¨$°°S¸#¸sÀCñô ð" ñ@ñ @ñ @ð @ñô ñ &Ô%ð@ðF €Ñ)Ñ*Ô*Ø€ÔØØØØØØØñô ñ4ñ 4ð 4ñô ñ +Ô*ð4ðn €Ñ#Ñ$Ô$Ø€Ô˜C  c¨4°°t¸SÀ$ÈÑLÔLññ ð ñ MÔLñ %Ô$ðð< €‘ÑÔØ€Ô˜C  c¨4°°d¸CÑ@Ô@ñ 
ñ  
ð  
ñ AÔ@ñ  Ôð 
ðF €‘ÑÔØ€Ô˜C  c¨4°°d¸CÑ@Ô@ñ 
ñ  
ð  
ñ AÔ@ñ  Ôð 
ðF €‘ÑÔØ€Ô˜C  c¨4°°d¸CÑ@Ô@ñ 
ñ  
ð  
ñ AÔ@ñ  Ôð 
ðF €Ñ(Ñ)Ô)Ø€Ô˜C  c¨4°°t¸SÀ$ÑGÔGññ ð ñ HÔGñ *Ô)ðð: €Ñ(Ñ)Ô)Ø€Ô˜C  c¨4°°t¸SÀ$ÑGÔGññ ð ñ HÔGñ *Ô)ðð: €Ñ(Ñ)Ô)Ø€Ô˜C  c¨4°°t¸SÀ$ÑGÔGññ ð ñ HÔGñ *Ô)ðð: €Ñ"Ñ#Ô#Ø€Ô˜C  c¨3°°S¸#¸sÀCÑHÔHñ4ñ 4ð 4ñ IÔHñ $Ô#ð4ðn €Ñ)Ñ*Ô*Ø€Ô  e¨U°EÑ:Ô:Ø€Ô˜C  s¨C°Ñ5Ô5ñI*ñ I*ð I*ñ 6Ô5ñ ;Ô:ñ +Ô*ðI*ðX €Ñ"Ñ#Ô#Ø€Ô  e¨U°EÑ:Ô:Ø€Ô˜C  s¨C°°cÑ:Ô:ñ
ñ 
ð 
ñ ;Ô:ñ ;Ô:ñ $Ô#ð
ð €Ñ%Ñ&Ô&Ø€Ô˜C  c¨3°°S¸#¸sÀCÑHÔHñ\Pñ \Pð \Pñ IÔHñ 'Ô&ð\Pð~ €‘ÑÔØ€Ô˜C  c¨3Ñ/Ô/ñ
ñ 
ð 
ñ 0Ô/ñ  Ôð
ðD €‘ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  c¨3Ñ/Ô/ñ
Fñ 
Fð 
Fñ 0Ô/ñ &Ô%ñ Ôð
Fð €‘ÑÔØ€Ô Ñ%Ô%ññ ð ñ &Ô%ñ Ôðð €Ñ$Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ñ?ñ ?ð ?ñ +Ô*ñ &Ô%ð?ð €Ñ!Ñ"Ô"ñFñ Fð Fñ #Ô"ðFð €Ñ"Ñ#Ô#ñAñ Að Añ $Ô#ðAð €Ñ"Ñ#Ô#ñ9ñ 9ð 9ñ $Ô#ð9ð €Ñ!Ñ"Ô"Ø€Ô˜C  c¨3Ñ/Ô/àHMñ Tñ  Tñ  Tð  Tñ 0Ô/ñ #Ô"ð TðF €‘Ñ Ô ññ ð ñ !Ô ðð( €Ñ)Ñ*Ô*Ø€Ô˜C  c¨3Ñ/Ô/ñ#ñ #ð #ñ 0Ô/ñ +Ô*ð#ð  €Ñ)Ñ*Ô*ñ$ñ $ð $ñ +Ô*ð$ð" €‘ÑÔññ ð ñ Ôðð €‘ÑÔññ ð ñ Ôðð €‘ÑÔññ ð ñ Ôðð €‘ÑÔñYñ Yð Yñ ÔðYð €‘ÑÔñVñ Vð Vñ ÔðVð
 €‘ÑÔññ ð ñ Ôðð €‘ÑÔñ>ñ >ð >ñ Ôð>ð* €Ñ!Ñ"Ô"Ø€Ô˜C Ñ%Ô%ñ

ñ 

ð 

ñ &Ô%ñ #Ô"ð

ð €Ñ!Ñ"Ô"Ø€Ô˜C Ñ%Ô%ñ

ñ 

ð 

ñ &Ô%ñ #Ô"ð

ð €‘ÑÔñCñ Cñ Cð Cñ	 ÔðCð €‘Ñ Ô Ø€Ô  dÑ+Ô+ñ)ñ )ð )ñ ,Ô+ñ !Ô ð)ð €‘ÑÔñCñ Cñ Cð Cñ ÔðCð €‘Ñ Ô Ø€Ô  dÑ+Ô+ñ)ñ )ð )ñ ,Ô+ñ !Ô ð)ð €‘ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  sÑ+Ô+ñCñ Cð Cñ ,Ô+ñ &Ô%ñ ÔðCð €‘ÑÔØ€Ô Ñ%Ô%Ø€Ô˜C  sÑ+Ô+ñCñ Cð Cñ ,Ô+ñ &Ô%ñ ÔðCð €‘Ñ Ô Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ññ ð ñ +Ô*ñ &Ô%ñ !Ô ðð €‘ÑÔññ ð ñ Ôðð €Ñ Ñ!Ô!Ø€‘Ñ Ô Ø€Ô˜C  cÑ*Ô*ññ ð ñ +Ô*ñ !Ô ñ "Ô!ðð €ÙØ+ˆoÔ+Ñ,BÑCÔCÐDðñ ô ð €Ù"Ø+ˆoÔ+Ñ,JÑKÔKÐLðñ ô ð €ÙØ+ˆoÔ+Ñ,DÑEÔEÐFðñ ô ð €Ù!Ø+ˆoÔ+Ñ,IÑJÔJÐKðñ ô ð €ÙØ+ˆoÔ+Ñ,AÑBÔBÐCðñ ô ð €ÙØ+ˆoÔ+Ñ,CÑDÔDÐEðñ ô ññ ð ñ	ô ñ	ô ñ	ô ñ	ô ñ	ô ñ	ô ð0ð €‘ÑÔØ€Ô˜C  d¨C°Ñ5Ô5ññ ñ ð ñ 6Ô5ñ Ôðð  €Ñ Ñ!Ô!Ø€Ô˜C  c¨3Ñ/Ô/ñ	5ñ 	5ð 	5ñ 0Ô/ñ "Ô!ð	5ð €‘Ñ Ô Ø€Ô˜C  cÑ*Ô*ñ?ñ ?ð ?ñ +Ô*ñ !Ô ð?ð €Ñ Ñ!Ô!Ø€Ô˜C  c¨3Ñ/Ô/ñFñ Fð Fñ 0Ô/ñ "Ô!ðFð €Ñ"Ñ#Ô#Ø€ÔÙ	ÙÙ>ñô ñ
Gñ Gð Gñô ñ $Ô#ðGð €Ñ"Ñ#Ô#Ø€ÔÙ	ÙÙ>ñô ñ
Fñ Fð Fñô ñ $Ô#ðFð €Ñ#Ñ$Ô$Ø€ÔÙ	ÙÙ>ñô ñ
Gñ Gð Gñô ñ %Ô$ðGð €Ñ!Ñ"Ô"Ø€ÔÙ	ÙÙ>ñô ñ
Gñ Gð Gñô ñ #Ô"ðGð €Ñ"Ñ#Ô#Ø€ÔÙ	ÙÙ>ñô ñ
Gñ Gð Gñô ñ $Ô#ðGð €Ñ"Ñ#Ô#Ø€ÔÙ	ÙÙ>ñô ñ
Iñ Ið Iñô ñ $Ô#ðIð €Ñ#Ñ$Ô$Ø€ÔÙ	ÙÙ>ñô ñ
Gñ Gð Gñô ñ %Ô$ðGð €Ñ$Ñ%Ô%Ø€ÔÙ	ÙÙ>ñô ñ
Hñ Hð Hñô ñ &Ô%ðHð €Ñ"Ñ#Ô#Ø€ÔÙ	ÙÙ>ñô ñ
Fñ Fð Fñô ñ $Ô#ðFð €‘ÑÔØ€Ô˜C  c¨3°°SÑ9Ô9ð Øñ	>ñ 	>ñ 	>ð 	>ñ :Ô9ñ Ôð	>ð €Ñ"Ñ#Ô#Ø€Ô˜C  c¨3°°SÑ9Ô9ð ØØØØñ	Cñ 	Cñ 	Cð 	Cñ :Ô9ñ $Ô#ð	Cð €Ñ!Ñ"Ô"àNSñ>ñ >ñ >ð >ñ #Ô"ð>ð €Ñ%Ñ&Ô&ññ ð ñ 'Ô&ðð €‘ÑÔàLQñQñ Qñ Qð Qñ  ÔðQð6 €Ñ!Ñ"Ô"ñ*ñ *ñ *ð *ñ #Ô"ð*ð €‘ÑÔØ€Ô˜C  c¨3°Ñ4Ô4ññ ñ ð ñ 5Ô4ñ Ôðð  €Ñ"Ñ#Ô#Ø€Ô˜C  c¨3°°SÑ9Ô9ð ØØØØññ ñ ð ñ :Ô9ñ $Ô#ðð. €Ñ!Ñ"Ô"àNSñ>ñ >ñ >ð >ñ #Ô"ð>ð €‘ÑÔñ+ñ +ð +ñ Ôð+ð
 €‘ÑÔØ€Ô˜C  c¨3°Ñ4Ô4ññ ñ ð ñ 5Ô4ñ Ôðð €Ñ!Ñ"Ô"Ø€Ô˜C  c¨3°°SÑ9Ô9ð ØØØØññ ñ ð ñ :Ô9ñ #Ô"ðð. €Ñ Ñ!Ô!àNSñ=ñ =ñ =ð =ñ "Ô!ð=ð €‘ÑÔàOTñ
ñ 
ñ 
ð 
ñ Ôð
ð0 €Ñ!Ñ"Ô"ð
 ØØØØñ
ñ 
ñ 
ð 
ñ #Ô"ð
ð> €Ñ Ñ!Ô!ð ñHñ Hñ Hð Hñ "Ô!ðHð  €‘ÑÔñVñ Vð Vñ ÔðVð. €‘ÑÔñEXñ EXð EXñ ÔðEXðP €Ñ Ñ!Ô!Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ññ ð ñ +Ô*ñ &Ô%ñ "Ô!ðð €Ñ!Ñ"Ô"Ø€Ô Ñ%Ô%Ø€Ô˜CÑ Ô ñ!ñ !ð !ñ !Ô ñ &Ô%ñ #Ô"ð!ð
 €Ñ#Ñ$Ô$à€Ô ¨KÀAÐFÑFÔFØ€Ô˜CÑ Ô ñ4ñ 4ð 4ñ !Ô ñ GÔFñ %Ô$ð4ð €Ñ"Ñ#Ô#Ø€Ô˜CÑ Ô ñ,ñ ,ð ,ñ !Ô ñ $Ô#ð,ð €Ñ"Ñ#Ô#Ø€Ô˜C Ñ%Ô%ññ ð ñ &Ô%ñ $Ô#ðð( €Ñ"Ñ#Ô#Ø€Ô˜C Ñ%Ô%ñ"ñ "ð "ñ &Ô%ñ $Ô#ð"ð> €‘ÑÔññ ð ñ Ôðð €Ñ!Ñ"Ô"Ø€Ô˜C Ñ%Ô%ñDñ Dð Dñ &Ô%ñ #Ô"ðDð2 €‘ÑÔà€Ô˜C  c¨6Ñ2Ô2ñCñ Cñ Cð Cñ 3Ô2ñ ÔðCð& €‘ÑÔñ2ñ 2ð 2ñ Ôð2ð €‘ÑÔà€Ô˜C  c¨3°°VÑ<Ô<ñ<ñ <ñ <ð <ñ =Ô<ñ Ôð<ð €Ñ,Ñ-Ô-ñQñ Qð Qñ .Ô-ðQð
 €‘
ÑÔñGQñ GQð GQñ ÔðGQðT €‘ÑÔñ'ñ 'ð 'ñ  Ôð'ð €Ñ)Ñ*Ô*àDHñd5ñ d5ñ d5ð d5ñ +Ô*ðd5ðN €Ñ%Ñ&Ô&Ø€Ô˜C Ñ%Ô%ñC
ñ C
ð C
ñ &Ô%ñ 'Ô&ðC
ðL €Ñ'Ñ(Ô(Ø€Ô˜C Ñ%Ô%ñ@
ñ @
ð @
ñ &Ô%ñ )Ô(ð@
ð\ Øñ_+ñ _+ñ _+ð _+ð _+ðD €Ô˜C  c¨3°°S¸#¸sÀCÑHÔHññ ð ñ IÔHñð> €Ô˜C  c¨3°°S¸#¸sÀCÑHÔHññ ð ñ IÔHñð> €‘ÑÔñ$ñ $ð $ñ Ôñ$ð €Ñ!Ñ"Ô"ñ7ñ 7ð 7ñ #Ô"ñ7ð4 €ÙÐ8˜?Ô8¹Ñ?Ô?ÀÀÉÁÄÐPðñ ô ð €ÙØ+ˆoÔ+©JÑ7Ô7¸¸ÁÑ9LÔ9LÐMðñ ô ð €ÙØ+ˆoÔ+©JÑ7Ô7¸¸ÁÑ9LÔ9LÐMðñ ô ñ?ñ ?ð ?ñ	ô ñ	ô ñô ñ?ðD €Ñ#Ñ$Ô$Ø€Ô˜C Ñ%Ô%ñ0ñ 0ð 0ñ &Ô%ñ %Ô$ñ0ð €‘ÑÔññ ð ñ  Ôñð
 €Ñ"Ñ#Ô#Ø€Ô˜C Ñ%Ô%ññ ð ñ &Ô%ñ $Ô#ñð €Ñ-Ñ.Ô.Ø€Ô˜C  cÑ*Ô*ñ?ñ ?ð ?ñ +Ô*ñ /Ô.ñ?ð. €Ñ,Ñ-Ô-Ø€Ô˜C  c¨3°Ñ4Ô4ññ ð ñ 5Ô4ñ .Ô-ñð" €‘Ñ Ô ñ'ñ 'ð 'ñ !Ô ñ'ðT €Ñ$Ñ%Ô%ññ ð ñ &Ô%ñð8 €‘ÑÔññ ð ñ Ôñð2 €‘ÑÔññ ð ñ Ôñð2 €Ñ"Ñ#Ô#ð
 ØØØñKñ Kñ Kð Kñ $Ô#ñKð& €Ñ!Ñ"Ô"ð
 ØØØññ ñ ð ñ #Ô"ñð& €‘ÑÔØ€Ô˜C  c¨3°Ñ7Ô7ñ#ñ #ð #ñ 8Ô7ñ Ôñ#ð €Ñ!Ñ"Ô"ñ8ñ 8ñ 8ð 8ñ #Ô"ñ8ð< €Ñ#Ñ$Ô$Ø€Ô˜CÑ Ô ññ ð ñ !Ô ñ %Ô$ñð
 €‘ÑÔØ€Ô˜CÑ Ô ññ ð ñ !Ô ñ Ôñð €‘Ñ Ô Ø€Ô  e¨UÑ3Ô3Ø€Ô˜C  cÑ*Ô*ñNñ Nð Nñ +Ô*ñ 4Ô3ñ !Ô ñNð4 €‘Ñ Ô Ø€Ô˜CÑ Ô ñ(ñ (ð (ñ !Ô ñ !Ô ñ(ð
 €Ñ%Ñ&Ô&ñ>ñ >ñ >ð >ñ 'Ô&ñ>ð €‘ÑÔØ€Ô˜CÑ Ô ññ ð ñ !Ô ñ Ôñð
 €‘ÑÔñYñ Yð Yñ ÔñYð& €‘ÑÔñ=ñ =ð =ñ Ôñ=ð €‘ÑÔØ€Ô˜C  c¨3Ñ/Ô/ññ ð ñ 0Ô/ñ  Ôñð €‘ÑÔØ€Ô˜C  cÑ*Ô*ñSñ Sð Sñ +Ô*ñ  ÔñSð €‘ÑÔØ€Ô˜C  cÑ*Ô*ñSñ Sð Sñ +Ô*ñ  ÔñSð €‘Ñ Ô Ø€Ô˜C  c¨3Ñ/Ô/ñRñ Rð Rñ 0Ô/ñ !Ô ñRð  €Ñ#Ñ$Ô$Ø€Ô˜C  c¨3Ñ/Ô/ñ ñ  ð  ñ 0Ô/ñ %Ô$ñ ð €‘ÑÔñSñ Sð Sñ ÔñSð
 €Ñ)Ñ*Ô*ñ;ñ ;ð ;ñ +Ô*ñ;ð €‘ÑÔññ ð ñ Ôñð €Ñ Ñ!Ô!Øñ!ñ !ð !ñ Ôñ "Ô!ñ!ð €‘Ñ Ô ñ@ñ @ð @ñ !Ô ñ@ð €‘ÑÔØ€Ô˜C  c¨3Ñ/Ô/ñQñ Qñ Qð Qñ 0Ô/ñ  ÔñQð" €Ô˜C  s¨CÑ0Ô0ñPñ Pð Pñ 1Ô0ñPð €‘ÑÔññ ð ñ Ôñð
 €‘ÑÔññ ð ñ Ôñð
 €Ñ Ñ!Ô!ñ*ñ *ð *ñ "Ô!ñ*ð €Ñ Ñ!Ô!ñ#ñ #ð #ñ "Ô!ñ#ð
 €Ñ!Ñ"Ô"Ø€Ô˜C  sÑ+Ô+ñJñ Jð Jñ ,Ô+ñ #Ô"ñJð €‘ÑÔñIYñ IYð IYñ  ÔñIYðX €Ñ Ñ!Ô!ñ	5ñ 	5ð 	5ñ "Ô!ñ	5ð €‘ÑÔññ ð ñ Ôñð
 €Ñ#Ñ$Ô$ñVñ Vð Vñ %Ô$ñVð €Ñ$Ñ%Ô%ñ-ñ -ð -ñ &Ô%ñ-ð €‘ÑÔñ`Iñ `Ið `Iñ Ôñ`IðF €Ñ#Ñ$Ô$Ø€Ô˜C  d¨C°Ñ5Ô5ñAñ Að Añ 6Ô5ñ %Ô$ñAðB €Ñ*Ñ+Ô+Ø€Ô˜C  d¨C°Ñ5Ô5ñYñ Yð Yñ 6Ô5ñ ,Ô+ñYð €Ñ*Ñ+Ô+Ø€Ô˜C  d¨C°Ñ5Ô5ñ8ñ 8ð 8ñ 6Ô5ñ ,Ô+ñ8ðv €Ñ$Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ñ'ñ 'ñ 'ð 'ñ +Ô*ñ &Ô%ñ'ð €Ñ&Ñ'Ô'Ø€Ô˜C  sÑ+Ô+ñ ñ  ñ  ð  ñ ,Ô+ñ (Ô'ñ ð €Ñ#Ñ$Ô$Ø€Ô˜C  c¨3Ñ/Ô/àPTññ ñ ð ñ 0Ô/ñ %Ô$ñð. €‘Ñ Ô ñ ñ  ð  ñ !Ô ñ ð  €Ñ Ñ!Ô!Ø€Ô˜C Ñ%Ô%ñ-ñ -ñ -ð -ñ &Ô%ñ "Ô!ñ-ð> €Ñ!Ñ"Ô"ñ#ñ #ð #ñ #Ô"ñ#ð €‘ÑÔØ€Ô˜C Ñ%Ô%ñ
ñ 
ñ 
ð 
ñ &Ô%ñ Ôñ
ð4 €Ñ"Ñ#Ô#Ø€Ô  e¨U°EÑ:Ô:Ø€Ô˜C  c¨3°°SÑ9Ô9ñ7ñ 7ð 7ñ :Ô9ñ ;Ô:ñ $Ô#ñ7ðt €Ñ$Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ññ ð ñ +Ô*ñ &Ô%ñð. €‘ÑÔññ ð ñ Ôñð €Ñ#Ñ$Ô$ññ ð ñ %Ô$ñð& €Ñ"Ñ#Ô#ñKñ Kð Kñ $Ô#ñKð €‘ÑÔññ ð ñ Ôñð €‘ÑÔññ ð ñ Ôñññ ð ñ ññ ð ñ ð €‘ÑÔØ€Ô˜C  c¨3Ñ/Ô/ñ
ñ 
ð 
ñ 0Ô/ñ  Ôñ
ð$ €Ñ Ñ!Ô!Ø€Ô˜C  cÑ*Ô*ñ
ñ 
ð 
ñ +Ô*ñ "Ô!ñ
ð €Ñ"Ñ#Ô#Ø€Ô Ñ%Ô%Ø€Ô˜C  d¨CÑ0Ô0ñ),ñ ),ñ ),ð ),ñ 1Ô0ñ &Ô%ñ $Ô#ñ),ðX €Ñ&Ñ'Ô'ñ8ñ 8ð 8ñ (Ô'ñ8ð €Ñ&Ñ'Ô'ñEñ Eð Eñ (Ô'ñEð €‘ÑÔññ ð ñ  Ôñð €Ñ#Ñ$Ô$Ø€Ô˜C  c¨3°°S¸#Ñ>Ô>ð ØØØØØñ#ñ #ñ #ð #ñ ?Ô>ñ %Ô$ñ#ðL €‘
ÑÔñ ñ  ð  ñ Ôñ ð €‘ÑÔñ"ñ "ð "ñ Ôñ"ð €‘Ñ Ô Ø€Ô˜C  cÑ*Ô*ñ0ñ 0ð 0ñ +Ô*ñ !Ô ñ0ð@ €‘ÑÔØ€Ô˜C Ñ%Ô%ñ2ñ 2ð 2ñ &Ô%ñ Ôñ2ð €Ñ!Ñ"Ô"ñBHñ BHñ BHð BHñ #Ô"ñBHðJ €‘ÑÔØ€Ô˜C  tÑ,Ô,ññ ð ñ -Ô,ñ Ôñð& €‘ÑÔØ€Ô˜C  cÑ*Ô*ñJñ Jñ Jð Jñ +Ô*ñ ÔñJð" €‘ÑÔð
 
Ø6ññ ñ ð ñ Ôñð, €‘ÑÔññ ð ñ Ôñð( €Ñ)Ñ*Ô*ñ
0ñ 
0ð 
0ñ +Ô*ñ
0ð €Ñ!Ñ"Ô"ññ ñ ð ñ #Ô"ñð
 €Ñ%Ñ&Ô&ñ
Pñ 
Pð 
Pñ 'Ô&ñ
Pð" €Ñ%Ñ&Ô&ñ9ñ 9ð 9ñ 'Ô&ñ9ð €‘ÑÔññ ð ñ Ôñð €‘ÑÔññ ð ñ Ôñð €‘ÑÔññ ñ ð ñ Ôñð €‘ÑÔññ ð ñ Ôñð €‘ÑÔñ5ñ 5ð 5ñ  Ôñ5ð €Ñ%Ñ&Ô&ññ ð ñ 'Ô&ñð €Ñ"Ñ#Ô#ññ ð ñ $Ô#ñð €Ñ&Ñ'Ô'ññ ð ñ (Ô'ñð €Ñ%Ñ&Ô&ññ ð ñ 'Ô&ñð €Ñ&Ñ'Ô'ññ ð ñ (Ô'ñð €‘ÑÔñ?ñ ?ð ?ñ Ôñ?ð €‘ÑÔñ	ñ 	ð 	ñ  Ôñ	ð €‘ÑÔñ	ñ 	ð 	ñ  Ôñ	ð €‘ÑÔñ1ñ 1ð 1ñ Ôñ1ðh €‘
ÑÔñWñ Wð Wñ ÔñWðt €Ñ Ñ!Ô!ññ ð ñ "Ô!ñðD €‘ÑÔñ
ñ 
ð 
ñ Ôñ
ð €Ñ#Ñ$Ô$ññ ð ñ %Ô$ñð €Ñ$Ñ%Ô%Ø€Ñ#Ñ$Ô$ññ ð ñ %Ô$ñ &Ô%ñð €‘ÑÔØ€Ñ%Ñ&Ô&ñ,ñ ,ð ,ñ 'Ô&ñ Ôñ,ð" €‘ÑÔññ ð ñ Ôñð ð r   