| Dec 12                          
            2023 | 
            
              SELL
             
                Open market or private sale
             | 
              $1,138,145              
              $82.63 p/Share              
           | 
              13,774
           |  | 
 
      
      
        | Dec 07                          
            2023 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              4,134
           |  | 
 
      
      
        | Dec 06                          
            2022 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              8,365
           |  | 
 
      
      
        | Dec 01                          
            2021 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              50,000
           |  | 
 
      
      
        | Nov 17                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $190,185              
              $55.48 p/Share              
           | 
              3,428
           |  | 
 
      
      
        | Nov 16                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $324,728              
              $55.02 p/Share              
           | 
              5,902
           |  | 
 
      
      
        | Oct 02                          
            2021 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $718,423              
              $46.53 p/Share              
           | 
              15,440
           |  | 
 
      
      
        | Aug 03                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $44,166              
              $55.07 p/Share              
           | 
              802
           |  | 
 
      
      
        | Aug 02                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $5,517              
              $55.17 p/Share              
           | 
              100
           |  | 
 
      
      
        | Jul 30                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $36,012              
              $54.98 p/Share              
           | 
              655
           |  | 
 
      
      
        | Jun 08                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $277,000              
              $55.4 p/Share              
           | 
              5,000
           |  | 
 
      
      
        | Jun 07                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $518,582              
              $55.18 p/Share              
           | 
              9,398
           |  | 
 
      
      
        | Jun 03                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $5,625              
              $55.15 p/Share              
           | 
              102
           |  | 
 
      
      
        | Jun 02                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $247,545              
              $55.01 p/Share              
           | 
              4,500
           |  | 
 
      
      
        | Jun 01                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $330,540              
              $55.09 p/Share              
           | 
              6,000
           |  | 
 
      
      
        | May 26                          
            2021 | 
            
              SELL
             
                Payment of exercise price or tax liability
             | 
              $794,748              
              $51.47 p/Share              
           | 
              15,441
           |  | 
 
      
      
        | Mar 10                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $506,148              
              $52.38 p/Share              
           | 
              9,663
           |  | 
 
      
      
        | Mar 09                          
            2021 | 
            
              SELL
             
                Open market or private sale
             | 
              $150,162              
              $52.93 p/Share              
           | 
              2,837
           |  | 
 
      
      
        | Oct 05                          
            2020 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              380
           |  | 
 
      
      
        | Oct 02                          
            2020 | 
            
              BUY
             
                Grant, award, or other acquisition
             | 
              -                 
           | 
              100,000
           |  |