text: Confounder gadgets. Our approach works as follows. Given a query xi, we prepend a confounder gadget ci, which is a 
  short sequence of adversarially chosen tokens. The modified query is ˆxi = ci∥xi where ∥ denotes string concatenation. 
  Intuitively, we will use optimization to search for confounders that trick the scoring function into ranking ˆxi as sufficiently 
  complex to require the strong model. 
  
  In the white-box, query-specific setting, we can choose ci as a function of xi and the known parameters ω = (S, θ, τ ). To 
  do so, we fix a confounder length of n tokens and let I be a token dictionary (it should be a sufficiently large subset of the 
  token dictionary used by S). Then we set the gadget to initially be n tokens all fixed to the same value from I. The exact 
  choice of the initialization token is not important; in our implementation, we used the first token in the dictionary (‘!’). 
  Denote this initial confounder as c(0) 
  i = [c(0)  i,1 , c(0)  i,2 , . . . , c(0) 
  i,n]. 