nfTlWNl rn Ѻq$³*L ZR]_-H#GP~ wz9SͰK#:.[C#֒Hnn!V5孱4Fϟh^|}3 稅^iI4 H Ϝf&oAY\QN#]> -$j#^j Ѻq$³*L ZR]_-H#G  ǭbΐZ Ѻq$³*L ZR]_-H#GP~ wz9SͰKKTJ~ "}Ksu:bsM*y_~?(ggm2De+ kxt( jUIÏD d"kOׄoae_{ E@p3 {UTv[ْX׷3.њuc4ZXnMÞ*LƵ0+NuzAbsS@oHeOőӭyډmY' َ u4"KOk]N_us ꍴ?>P <4)~s#|&-\ X{UtIsdq4[z.ڿCϽhð*wg"(ZsBBqݘ5~Mtd;˚eдlMC}).Up;' AL(ÆU =&&l$SXNo_\SRtF_ao-4,laah$!`]MZvob|cy^AA>ͣ[ aKu&!pkۡhs ꍴ?>P <4)~s#|&-\ X{UtIPad$аeneѿhU)MiujҕK ӿZ5v ;k6 Wh]#ʦ/ iʡH1\{mt0qQf4d_֞J&#%!A{񘛴#Ef?%r :2wJ|~|u`'v4_J:Y!0(8sCv'MO\#:Q̦K,ʵPn0G(UqUxP%L?szsцPm DŽ7&pr l1lTi)6Lirb̭HNwLH8*q";\KIJp)b|,gTeAq*Z`L=+ivI23Jš[UQ:hl|G$g`5jS냬NjEW2HV,)I|;\ .p)b|,gTeAqh0}1ʖ D4(@~k$2”q ' EǖXvL-DOW ]{vBշm[Z-XQkc] "%O?FI7l4-'v4_J:Y!0'% GZR,rJ =KiSeČZ7VGÄӛR|)Nnƥ~++((dpw]cš[!_lsty,RTB/k+"֠vڼY?މD/K*c %ɷ 1;MkO%3d'Dû; _.hWj$S,N =<$^ZnDXɋ&NZ1kвK1ЛK% ¢˶ܙ>ӏ(P5Bԍ_NMHgyrs+ PK0(_DB, ѯ}@Qvg:t-r$c˓;W-QZ3OWvUWDVW9׉u `y33?'dy >b~3ڢ83ܕɭFDj1p bu]LF[+>vśEolD%{q3b &}u.\1>W؞HE@F(R=r9 Ȥthwj?楆1>AR%v,(UH&j5%X=3WrzW+$rsY9 u<\;fR})2bÈ<`{wu;dALnv35tD{bN8S+D9YI psUq>:kcg&9 QkT}.n+6hï!!p4<6y[0zQ#]nZ߇ kVڒ7Bg~-2ړ%N?H3b>4NթLzh:%g _#fK$p)b|,gTeAq"ɜ7뙺&mw fN0 ,Z:|,pUieva(ht\eר:O$b #Y!8wp3 Cx0R;Yqdf.`m2 c9g'~7DJ )z#ೋ"u&yt?߽foL@z++w麺XZDq Um|1u&l{vC9[=!fQP)p}'vLSooO5nOEQ`ŕO#eА}a0k/JO`$R-nd0)mjI&G6g03Uk2J6dJWjPfUJxn9 HBJĞ%Z%Kتn-%ԡ;~fb&U09;eiePnΤZn?97%\q(帧4:MPpLL<21}E06 N:ϾD ɇՒ:p  .o?2cIn1;c5җcq:[oz}SX@|,7?wb Ƚ$*+Sd0Ђ~tqW-*\Q_Ռ>[riyF3^^g oBc\f}7>F-,"H4M߬gSQevLG].>ЈlH{ي:DPAl~+)Q->operand ); $conditional->setConditions([$this->expression]); $conditional->setStyle($this->getStyle()); $conditional->setStopIfTrue($this->getStopIfTrue()); return $conditional; } public static function fromConditional(Conditional $conditional, string $cellRange = 'A1'): WizardInterface { if (!in_array($conditional->getConditionType(), self::OPERATORS, true)) { throw new Exception('Conditional is not a Text Value CF Rule conditional'); } $wizard = new self($cellRange); $wizard->operator = (string) array_search($conditional->getConditionType(), self::OPERATORS, true); $wizard->style = $conditional->getStyle(); $wizard->stopIfTrue = $conditional->getStopIfTrue(); // Best-guess to try and identify if the text is a string literal, a cell reference or a formula? $wizard->operandValueType = Wizard::VALUE_TYPE_LITERAL; $condition = $conditional->getText(); if (preg_match('/^' . Calculation::CALCULATION_REGEXP_CELLREF_RELATIVE . '$/i', $condition)) { $wizard->operandValueType = Wizard::VALUE_TYPE_CELL; $condition = self::reverseAdjustCellRef($condition, $cellRange); } elseif ( preg_match('/\(\)/', $condition) || preg_match('/' . Calculation::CALCULATION_REGEXP_CELLREF_RELATIVE . '/i', $condition) ) { $wizard->operandValueType = Wizard::VALUE_TYPE_FORMULA; } $wizard->operand = $condition; return $wizard; } /** * @param string $methodName * @param mixed[] $arguments */ public function __call($methodName, $arguments): self { if (!isset(self::MAGIC_OPERATIONS[$methodName])) { throw new Exception('Invalid Operation for Text Value CF Rule Wizard'); } $this->operator(self::MAGIC_OPERATIONS[$methodName]); //$this->operand(...$arguments); if (count($arguments) < 2) { $this->operand($arguments[0]); } else { $this->operand($arguments[0], $arguments[1]); } return $this; } }