// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package salsa

import 

// Core208 applies the Salsa20/8 core function to the 64-byte array in and puts
// the result into the 64-byte array out. The input and output may be the same array.
func ( *[64]byte,  *[64]byte) {
	 := uint32([0]) | uint32([1])<<8 | uint32([2])<<16 | uint32([3])<<24
	 := uint32([4]) | uint32([5])<<8 | uint32([6])<<16 | uint32([7])<<24
	 := uint32([8]) | uint32([9])<<8 | uint32([10])<<16 | uint32([11])<<24
	 := uint32([12]) | uint32([13])<<8 | uint32([14])<<16 | uint32([15])<<24
	 := uint32([16]) | uint32([17])<<8 | uint32([18])<<16 | uint32([19])<<24
	 := uint32([20]) | uint32([21])<<8 | uint32([22])<<16 | uint32([23])<<24
	 := uint32([24]) | uint32([25])<<8 | uint32([26])<<16 | uint32([27])<<24
	 := uint32([28]) | uint32([29])<<8 | uint32([30])<<16 | uint32([31])<<24
	 := uint32([32]) | uint32([33])<<8 | uint32([34])<<16 | uint32([35])<<24
	 := uint32([36]) | uint32([37])<<8 | uint32([38])<<16 | uint32([39])<<24
	 := uint32([40]) | uint32([41])<<8 | uint32([42])<<16 | uint32([43])<<24
	 := uint32([44]) | uint32([45])<<8 | uint32([46])<<16 | uint32([47])<<24
	 := uint32([48]) | uint32([49])<<8 | uint32([50])<<16 | uint32([51])<<24
	 := uint32([52]) | uint32([53])<<8 | uint32([54])<<16 | uint32([55])<<24
	 := uint32([56]) | uint32([57])<<8 | uint32([58])<<16 | uint32([59])<<24
	 := uint32([60]) | uint32([61])<<8 | uint32([62])<<16 | uint32([63])<<24

	, , , , , , , ,  := , , , , , , , , 
	, , , , , ,  := , , , , , , 

	for  := 0;  < 8;  += 2 {
		 :=  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)

		 =  + 
		 ^= bits.RotateLeft32(, 7)
		 =  + 
		 ^= bits.RotateLeft32(, 9)
		 =  + 
		 ^= bits.RotateLeft32(, 13)
		 =  + 
		 ^= bits.RotateLeft32(, 18)
	}
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 
	 += 

	[0] = byte()
	[1] = byte( >> 8)
	[2] = byte( >> 16)
	[3] = byte( >> 24)

	[4] = byte()
	[5] = byte( >> 8)
	[6] = byte( >> 16)
	[7] = byte( >> 24)

	[8] = byte()
	[9] = byte( >> 8)
	[10] = byte( >> 16)
	[11] = byte( >> 24)

	[12] = byte()
	[13] = byte( >> 8)
	[14] = byte( >> 16)
	[15] = byte( >> 24)

	[16] = byte()
	[17] = byte( >> 8)
	[18] = byte( >> 16)
	[19] = byte( >> 24)

	[20] = byte()
	[21] = byte( >> 8)
	[22] = byte( >> 16)
	[23] = byte( >> 24)

	[24] = byte()
	[25] = byte( >> 8)
	[26] = byte( >> 16)
	[27] = byte( >> 24)

	[28] = byte()
	[29] = byte( >> 8)
	[30] = byte( >> 16)
	[31] = byte( >> 24)

	[32] = byte()
	[33] = byte( >> 8)
	[34] = byte( >> 16)
	[35] = byte( >> 24)

	[36] = byte()
	[37] = byte( >> 8)
	[38] = byte( >> 16)
	[39] = byte( >> 24)

	[40] = byte()
	[41] = byte( >> 8)
	[42] = byte( >> 16)
	[43] = byte( >> 24)

	[44] = byte()
	[45] = byte( >> 8)
	[46] = byte( >> 16)
	[47] = byte( >> 24)

	[48] = byte()
	[49] = byte( >> 8)
	[50] = byte( >> 16)
	[51] = byte( >> 24)

	[52] = byte()
	[53] = byte( >> 8)
	[54] = byte( >> 16)
	[55] = byte( >> 24)

	[56] = byte()
	[57] = byte( >> 8)
	[58] = byte( >> 16)
	[59] = byte( >> 24)

	[60] = byte()
	[61] = byte( >> 8)
	[62] = byte( >> 16)
	[63] = byte( >> 24)
}