<?xml version="1.0"?>
<informationTable xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sec.gov/edgar/document/thirteenf/informationtable">
  <infoTable>
    <nameOfIssuer>3M CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>88579Y101</cusip>
    <value>5974647</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41139</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29080</Sole>
      <Shared>0</Shared>
      <None>12059</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBOTT LABORATORIES</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>002824100</cusip>
    <value>15401</value>
    <shrsOrPrnAmt>
      <sshPrnamt>150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBOTT LABORATORIES</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>002824100</cusip>
    <value>20651948</value>
    <shrsOrPrnAmt>
      <sshPrnamt>201149</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>156263</Sole>
      <Shared>0</Shared>
      <None>44886</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBVIE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>32624</value>
    <shrsOrPrnAmt>
      <sshPrnamt>150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ABBVIE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00287Y109</cusip>
    <value>31867006</value>
    <shrsOrPrnAmt>
      <sshPrnamt>146522</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>108891</Sole>
      <Shared>0</Shared>
      <None>37631</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACCENTURE PLC IRELAND</nameOfIssuer>
    <titleOfClass>SHS CLASS A</titleOfClass>
    <cusip>G1151C101</cusip>
    <value>958909</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4836</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>712</Sole>
      <Shared>0</Shared>
      <None>4124</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ACCENTURE PLC IRELAND</nameOfIssuer>
    <titleOfClass>SHS CLASS A</titleOfClass>
    <cusip>G1151C101</cusip>
    <value>36998205</value>
    <shrsOrPrnAmt>
      <sshPrnamt>186586</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>141183</Sole>
      <Shared>0</Shared>
      <None>45404</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ADVANCED MICRO DEVICES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>007903107</cusip>
    <value>1326160</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6519</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>960</Sole>
      <Shared>0</Shared>
      <None>5559</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AGILENT TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00846U101</cusip>
    <value>22796</value>
    <shrsOrPrnAmt>
      <sshPrnamt>200</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AGILENT TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00846U101</cusip>
    <value>16337055</value>
    <shrsOrPrnAmt>
      <sshPrnamt>143333</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>138964</Sole>
      <Shared>0</Shared>
      <None>4369</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AKAMAI TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00971T101</cusip>
    <value>7050182</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61386</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>41265</Sole>
      <Shared>0</Shared>
      <None>20121</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALBEMARLE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>012653101</cusip>
    <value>20531948</value>
    <shrsOrPrnAmt>
      <sshPrnamt>114365</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>96450</Sole>
      <Shared>0</Shared>
      <None>17915</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALIBABA GROUP HLDG LTD</nameOfIssuer>
    <titleOfClass>SPONSORED ADS</titleOfClass>
    <cusip>01609W102</cusip>
    <value>533832</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4255</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4255</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALLEGION PLC</nameOfIssuer>
    <titleOfClass>ORD SHS</titleOfClass>
    <cusip>G0176J109</cusip>
    <value>6883695</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47379</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>47146</Sole>
      <Shared>0</Shared>
      <None>233</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALLISON TRANSMISSION HLDGS I</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>01973R101</cusip>
    <value>1070163</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9142</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1781</Sole>
      <Shared>0</Shared>
      <None>7361</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALLISON TRANSMISSION HLDGS I</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>01973R101</cusip>
    <value>37445202</value>
    <shrsOrPrnAmt>
      <sshPrnamt>319880</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>213711</Sole>
      <Shared>0</Shared>
      <None>106170</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALLSTATE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>020002101</cusip>
    <value>652499</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3147</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3147</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHABET INC</nameOfIssuer>
    <titleOfClass>CAP STK CL A</titleOfClass>
    <cusip>02079K305</cusip>
    <value>2303356</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8010</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1490</Sole>
      <Shared>0</Shared>
      <None>6520</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHABET INC</nameOfIssuer>
    <titleOfClass>CAP STK CL A</titleOfClass>
    <cusip>02079K305</cusip>
    <value>109757419</value>
    <shrsOrPrnAmt>
      <sshPrnamt>381685</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>294170</Sole>
      <Shared>0</Shared>
      <None>87515</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALPHABET INC</nameOfIssuer>
    <titleOfClass>CAP STK CL C</titleOfClass>
    <cusip>02079K107</cusip>
    <value>38309547</value>
    <shrsOrPrnAmt>
      <sshPrnamt>133548</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>106474</Sole>
      <Shared>0</Shared>
      <None>27074</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ALTRIA GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>02209S103</cusip>
    <value>4795971</value>
    <shrsOrPrnAmt>
      <sshPrnamt>72677</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>53827</Sole>
      <Shared>0</Shared>
      <None>18850</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMAZON COM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023135106</cusip>
    <value>81225</value>
    <shrsOrPrnAmt>
      <sshPrnamt>390</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>390</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMAZON COM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023135106</cusip>
    <value>37240664</value>
    <shrsOrPrnAmt>
      <sshPrnamt>178810</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>140409</Sole>
      <Shared>0</Shared>
      <None>38401</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMENTUM HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023939101</cusip>
    <value>2764</value>
    <shrsOrPrnAmt>
      <sshPrnamt>106</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>106</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMENTUM HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023939101</cusip>
    <value>498337</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19108</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14311</Sole>
      <Shared>0</Shared>
      <None>4797</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMEREN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>023608102</cusip>
    <value>302280</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2750</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2750</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN CENTY ETF TR</nameOfIssuer>
    <titleOfClass>CALIF MUN BD ETF</titleOfClass>
    <cusip>025072117</cusip>
    <value>274015</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>5500</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN ELEC PWR CO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025537101</cusip>
    <value>380132</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2900</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1644</Sole>
      <Shared>0</Shared>
      <None>1256</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN EXPRESS CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025816109</cusip>
    <value>1350573</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4465</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>890</Sole>
      <Shared>0</Shared>
      <None>3575</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERICAN EXPRESS CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>025816109</cusip>
    <value>35119143</value>
    <shrsOrPrnAmt>
      <sshPrnamt>116104</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>83417</Sole>
      <Shared>0</Shared>
      <None>32687</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMERIPRISE FINL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03076C106</cusip>
    <value>219089</value>
    <shrsOrPrnAmt>
      <sshPrnamt>493</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>456</Sole>
      <Shared>0</Shared>
      <None>37</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMETEK INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>031100100</cusip>
    <value>321540</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5</Sole>
      <Shared>0</Shared>
      <None>1495</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMGEN INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>031162100</cusip>
    <value>105555</value>
    <shrsOrPrnAmt>
      <sshPrnamt>300</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>300</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMGEN INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>031162100</cusip>
    <value>12979465</value>
    <shrsOrPrnAmt>
      <sshPrnamt>36889</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28844</Sole>
      <Shared>0</Shared>
      <None>8045</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AMPLIFY ETF TR</nameOfIssuer>
    <titleOfClass>CWP ENHANCED DIV</titleOfClass>
    <cusip>032108409</cusip>
    <value>390195</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8700</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>8700</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AON PLC</nameOfIssuer>
    <titleOfClass>SHS CL A</titleOfClass>
    <cusip>G0403H108</cusip>
    <value>1063560</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3295</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>560</Sole>
      <Shared>0</Shared>
      <None>2735</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AON PLC</nameOfIssuer>
    <titleOfClass>SHS CL A</titleOfClass>
    <cusip>G0403H108</cusip>
    <value>7676031</value>
    <shrsOrPrnAmt>
      <sshPrnamt>23781</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12212</Sole>
      <Shared>0</Shared>
      <None>11569</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APA CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>03743Q108</cusip>
    <value>718509</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16930</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13530</Sole>
      <Shared>0</Shared>
      <None>3400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>037833100</cusip>
    <value>110540</value>
    <shrsOrPrnAmt>
      <sshPrnamt>436</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>436</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>037833100</cusip>
    <value>166811268</value>
    <shrsOrPrnAmt>
      <sshPrnamt>657281</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>524637</Sole>
      <Shared>0</Shared>
      <None>132644</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>APPLIED MATLS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>038222105</cusip>
    <value>404679</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1184</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>446</Sole>
      <Shared>0</Shared>
      <None>738</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARISTA NETWORKS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>040413205</cusip>
    <value>398421</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3245</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1345</Sole>
      <Shared>0</Shared>
      <None>1900</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ARISTA NETWORKS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>040413205</cusip>
    <value>62768053</value>
    <shrsOrPrnAmt>
      <sshPrnamt>511224</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>367472</Sole>
      <Shared>0</Shared>
      <None>143752</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASML HLDG NV</nameOfIssuer>
    <titleOfClass>N Y REGISTRY SHS</titleOfClass>
    <cusip>N07059210</cusip>
    <value>264932</value>
    <shrsOrPrnAmt>
      <sshPrnamt>201</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>140</Sole>
      <Shared>0</Shared>
      <None>61</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ASTRAZENECA PLC</nameOfIssuer>
    <titleOfClass>ORD</titleOfClass>
    <cusip>G0593M107</cusip>
    <value>203925</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1034</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>663</Sole>
      <Shared>0</Shared>
      <None>371</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AT&amp;T INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>00206R102</cusip>
    <value>5179498</value>
    <shrsOrPrnAmt>
      <sshPrnamt>178665</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>156569</Sole>
      <Shared>0</Shared>
      <None>22096</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ATMUS FILTRATION TECHNOLOGIE</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>04956D107</cusip>
    <value>217713</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3835</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1298</Sole>
      <Shared>0</Shared>
      <None>2537</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>AUTOMATIC DATA PROCESSING IN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>053015103</cusip>
    <value>9508011</value>
    <shrsOrPrnAmt>
      <sshPrnamt>46796</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29926</Sole>
      <Shared>0</Shared>
      <None>16870</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANK AMERICA CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>060505104</cusip>
    <value>1844870</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37843</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25728</Sole>
      <Shared>0</Shared>
      <None>12116</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BANK NEW YORK MELLON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>064058100</cusip>
    <value>8376583</value>
    <shrsOrPrnAmt>
      <sshPrnamt>70611</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>51148</Sole>
      <Shared>0</Shared>
      <None>19463</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BECTON DICKINSON &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>075887109</cusip>
    <value>867595</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5518</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2698</Sole>
      <Shared>0</Shared>
      <None>2820</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BELLRING BRANDS INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>07831C103</cusip>
    <value>545998</value>
    <shrsOrPrnAmt>
      <sshPrnamt>33934</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23792</Sole>
      <Shared>0</Shared>
      <None>10142</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BERKSHIRE HATHAWAY INC DEL</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>084670108</cusip>
    <value>10772100</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>14</Sole>
      <Shared>0</Shared>
      <None>1</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BERKSHIRE HATHAWAY INC DEL</nameOfIssuer>
    <titleOfClass>CL B NEW</titleOfClass>
    <cusip>084670702</cusip>
    <value>953608</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1990</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>390</Sole>
      <Shared>0</Shared>
      <None>1600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BERKSHIRE HATHAWAY INC DEL</nameOfIssuer>
    <titleOfClass>CL B NEW</titleOfClass>
    <cusip>084670702</cusip>
    <value>77877192</value>
    <shrsOrPrnAmt>
      <sshPrnamt>162515</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>123005</Sole>
      <Shared>0</Shared>
      <None>39510</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BLACKSTONE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09260D107</cusip>
    <value>559886</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4869</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3600</Sole>
      <Shared>0</Shared>
      <None>1269</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOEING CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>097023105</cusip>
    <value>7894584</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39665</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>33119</Sole>
      <Shared>0</Shared>
      <None>6546</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOOKING HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09857L108</cusip>
    <value>1629394</value>
    <shrsOrPrnAmt>
      <sshPrnamt>387</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>45</Sole>
      <Shared>0</Shared>
      <None>342</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BOOKING HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>09857L108</cusip>
    <value>20551065</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4881</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3311</Sole>
      <Shared>0</Shared>
      <None>1570</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BP PLC</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>055622104</cusip>
    <value>7585800</value>
    <shrsOrPrnAmt>
      <sshPrnamt>161400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>103526</Sole>
      <Shared>0</Shared>
      <None>57874</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRANCHOUT FOOD INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>105230106</cusip>
    <value>99000</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>30000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRIDGER AEROSPACE GRP HLDGS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>96812F102</cusip>
    <value>30753</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15532</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>15532</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRISTOL-MYERS SQUIBB CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>110122108</cusip>
    <value>848069</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13983</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>13983</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BRISTOL-MYERS SQUIBB CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>110122108</cusip>
    <value>17435782</value>
    <shrsOrPrnAmt>
      <sshPrnamt>287482</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>245546</Sole>
      <Shared>0</Shared>
      <None>41936</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROADCOM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>11135F101</cusip>
    <value>8415157</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27189</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>22070</Sole>
      <Shared>0</Shared>
      <None>5118</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROOKFIELD ASSET MANAGMT LTD</nameOfIssuer>
    <titleOfClass>CL A LMT VTG SHS</titleOfClass>
    <cusip>113004105</cusip>
    <value>241364</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5430</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>5430</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>BROOKFIELD CORP</nameOfIssuer>
    <titleOfClass>CL A LTD VT SH</titleOfClass>
    <cusip>11271J107</cusip>
    <value>1389416</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34332</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>34332</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CAPITAL GROUP DIVIDEND VALUE</nameOfIssuer>
    <titleOfClass>SHS CREATION UNI</titleOfClass>
    <cusip>14020W106</cusip>
    <value>238193</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5599</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>5599</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CAPITAL GROUP GROWTH ETF</nameOfIssuer>
    <titleOfClass>SHS CREATION UNI</titleOfClass>
    <cusip>14020G101</cusip>
    <value>242047</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6023</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>6023</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CAPITAL ONE FINL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14040H105</cusip>
    <value>441663</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2421</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1177</Sole>
      <Shared>0</Shared>
      <None>1244</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARDINAL HEALTH INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14149Y108</cusip>
    <value>250825</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1187</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>125</Sole>
      <Shared>0</Shared>
      <None>1062</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARMAX INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>143130102</cusip>
    <value>1184614</value>
    <shrsOrPrnAmt>
      <sshPrnamt>28490</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5630</Sole>
      <Shared>0</Shared>
      <None>22860</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARMAX INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>143130102</cusip>
    <value>12290799</value>
    <shrsOrPrnAmt>
      <sshPrnamt>295594</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>159307</Sole>
      <Shared>0</Shared>
      <None>136287</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CARRIER GLOBAL CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>14448C104</cusip>
    <value>4931496</value>
    <shrsOrPrnAmt>
      <sshPrnamt>87578</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>78479</Sole>
      <Shared>0</Shared>
      <None>9099</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CASEYS GEN STORES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>147528103</cusip>
    <value>4621183</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6349</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4394</Sole>
      <Shared>0</Shared>
      <None>1955</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CATERPILLAR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>149123101</cusip>
    <value>26779788</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29479</Sole>
      <Shared>0</Shared>
      <None>8321</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHEVRON CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>166764100</cusip>
    <value>194707</value>
    <shrsOrPrnAmt>
      <sshPrnamt>941</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>941</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CHEVRON CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>166764100</cusip>
    <value>64249331</value>
    <shrsOrPrnAmt>
      <sshPrnamt>310533</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>175742</Sole>
      <Shared>0</Shared>
      <None>134791</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CINTAS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>172908105</cusip>
    <value>354179</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2094</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1494</Sole>
      <Shared>0</Shared>
      <None>600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CISCO SYS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>17275R102</cusip>
    <value>27804731</value>
    <shrsOrPrnAmt>
      <sshPrnamt>358355</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>285766</Sole>
      <Shared>0</Shared>
      <None>72589</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CLOROX CO DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>189054109</cusip>
    <value>1078374</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10406</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6463</Sole>
      <Shared>0</Shared>
      <None>3943</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CME GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>12572Q105</cusip>
    <value>478467</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1620</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17</Sole>
      <Shared>0</Shared>
      <None>1603</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COCA COLA CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>191216100</cusip>
    <value>1095120</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2500</Sole>
      <Shared>0</Shared>
      <None>11900</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COCA COLA CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>191216100</cusip>
    <value>7929115</value>
    <shrsOrPrnAmt>
      <sshPrnamt>104262</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>73550</Sole>
      <Shared>0</Shared>
      <None>30712</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COLGATE PALMOLIVE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>194162103</cusip>
    <value>11855091</value>
    <shrsOrPrnAmt>
      <sshPrnamt>139095</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>114749</Sole>
      <Shared>0</Shared>
      <None>24346</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COMCAST CORP NEW</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>20030N101</cusip>
    <value>509960</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17762</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7625</Sole>
      <Shared>0</Shared>
      <None>10137</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CONAGRA BRANDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>205887102</cusip>
    <value>972645</value>
    <shrsOrPrnAmt>
      <sshPrnamt>61873</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>48307</Sole>
      <Shared>0</Shared>
      <None>13566</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CONOCOPHILLIPS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>20825C104</cusip>
    <value>11823470</value>
    <shrsOrPrnAmt>
      <sshPrnamt>89572</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>70527</Sole>
      <Shared>0</Shared>
      <None>19045</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CONSOLIDATED EDISON INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>209115104</cusip>
    <value>2269793</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20055</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16555</Sole>
      <Shared>0</Shared>
      <None>3500</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CONSTELLATION ENERGY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>21037T109</cusip>
    <value>440936</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1579</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1306</Sole>
      <Shared>0</Shared>
      <None>273</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORNING INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>219350105</cusip>
    <value>54388</value>
    <shrsOrPrnAmt>
      <sshPrnamt>400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORNING INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>219350105</cusip>
    <value>316946</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2331</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>2331</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORPAY INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>219948106</cusip>
    <value>1433126</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4925</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>850</Sole>
      <Shared>0</Shared>
      <None>4075</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORPAY INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>219948106</cusip>
    <value>12580371</value>
    <shrsOrPrnAmt>
      <sshPrnamt>43233</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>26668</Sole>
      <Shared>0</Shared>
      <None>16565</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORTEVA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>22052L104</cusip>
    <value>1405072</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16785</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3785</Sole>
      <Shared>0</Shared>
      <None>13000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CORTEVA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>22052L104</cusip>
    <value>40578729</value>
    <shrsOrPrnAmt>
      <sshPrnamt>484754</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>344201</Sole>
      <Shared>0</Shared>
      <None>140553</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>COSTCO WHOLESALE CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>22160K105</cusip>
    <value>97446465</value>
    <shrsOrPrnAmt>
      <sshPrnamt>97796</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>75633</Sole>
      <Shared>0</Shared>
      <None>22163</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CROWDSTRIKE HLDGS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>22788C105</cusip>
    <value>246739</value>
    <shrsOrPrnAmt>
      <sshPrnamt>632</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>411</Sole>
      <Shared>0</Shared>
      <None>221</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CSX CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>126408103</cusip>
    <value>1525787</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37169</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24687</Sole>
      <Shared>0</Shared>
      <None>12482</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CUMMINS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>231021106</cusip>
    <value>9922703</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18443</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6772</Sole>
      <Shared>0</Shared>
      <None>11671</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CVB FINL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>126600105</cusip>
    <value>858977</value>
    <shrsOrPrnAmt>
      <sshPrnamt>44300</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>44300</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>CVS HEALTH CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>126650100</cusip>
    <value>205333</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2859</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1525</Sole>
      <Shared>0</Shared>
      <None>1334</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DEERE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>244199105</cusip>
    <value>3396626</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6030</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5214</Sole>
      <Shared>0</Shared>
      <None>816</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DIMENSIONAL ETF TRUST</nameOfIssuer>
    <titleOfClass>US EQUITY MARKET</titleOfClass>
    <cusip>25434V401</cusip>
    <value>293709</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4142</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4142</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DIMENSIONAL ETF TRUST</nameOfIssuer>
    <titleOfClass>US CORE EQUITY 2</titleOfClass>
    <cusip>25434V708</cusip>
    <value>718405</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18487</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18487</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DIMENSIONAL ETF TRUST</nameOfIssuer>
    <titleOfClass>WORLD EX US CORE</titleOfClass>
    <cusip>25434V880</cusip>
    <value>459444</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13525</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13525</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DISNEY WALT CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>254687106</cusip>
    <value>351305</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3645</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>3645</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DISNEY WALT CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>254687106</cusip>
    <value>12213138</value>
    <shrsOrPrnAmt>
      <sshPrnamt>126719</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>113684</Sole>
      <Shared>0</Shared>
      <None>13035</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DOUBLELINE ETF TRUST</nameOfIssuer>
    <titleOfClass>OPPORTUNISTIC CO</titleOfClass>
    <cusip>25861R105</cusip>
    <value>393966</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8600</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DOW HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>260557103</cusip>
    <value>1609189</value>
    <shrsOrPrnAmt>
      <sshPrnamt>38636</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>28569</Sole>
      <Shared>0</Shared>
      <None>10067</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DTE ENERGY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>233331107</cusip>
    <value>233952</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1600</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DUKE ENERGY CORP NEW</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>26441C204</cusip>
    <value>429239</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3278</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>590</Sole>
      <Shared>0</Shared>
      <None>2688</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DUPONT DE NEMOURS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>26614N102</cusip>
    <value>9266885</value>
    <shrsOrPrnAmt>
      <sshPrnamt>202334</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>149502</Sole>
      <Shared>0</Shared>
      <None>52832</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DXC TECHNOLOGY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23355L106</cusip>
    <value>214</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>17</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>DXC TECHNOLOGY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>23355L106</cusip>
    <value>1268891</value>
    <shrsOrPrnAmt>
      <sshPrnamt>100946</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>100946</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EATON CORP PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G29183103</cusip>
    <value>2866725</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8015</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7420</Sole>
      <Shared>0</Shared>
      <None>595</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EBAY INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>278642103</cusip>
    <value>436896</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>4800</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EBAY INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>278642103</cusip>
    <value>13419534</value>
    <shrsOrPrnAmt>
      <sshPrnamt>147435</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>107405</Sole>
      <Shared>0</Shared>
      <None>40030</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ECOLAB INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>278865100</cusip>
    <value>2004461</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7535</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4145</Sole>
      <Shared>0</Shared>
      <None>3390</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EDGEWELL PERSONAL CARE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>28035Q102</cusip>
    <value>3006315</value>
    <shrsOrPrnAmt>
      <sshPrnamt>140877</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>138277</Sole>
      <Shared>0</Shared>
      <None>2600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EDISON INTL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>281020107</cusip>
    <value>394440</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5390</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5040</Sole>
      <Shared>0</Shared>
      <None>350</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EDWARDS LIFESCIENCES CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>28176E108</cusip>
    <value>20056196</value>
    <shrsOrPrnAmt>
      <sshPrnamt>250452</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>225080</Sole>
      <Shared>0</Shared>
      <None>25372</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELECTRONIC ARTS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>285512109</cusip>
    <value>623842</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3060</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3060</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ELI LILLY &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>532457108</cusip>
    <value>3142247</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3416</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1095</Sole>
      <Shared>0</Shared>
      <None>2321</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EMERSON ELEC CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>291011104</cusip>
    <value>32271494</value>
    <shrsOrPrnAmt>
      <sshPrnamt>246310</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>181206</Sole>
      <Shared>0</Shared>
      <None>65104</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENBRIDGE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29250N105</cusip>
    <value>388563</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7177</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5165</Sole>
      <Shared>0</Shared>
      <None>2012</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENERGIZER HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29272W109</cusip>
    <value>3333359</value>
    <shrsOrPrnAmt>
      <sshPrnamt>203006</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>200406</Sole>
      <Shared>0</Shared>
      <None>2600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENERGY TRANSFER L P</nameOfIssuer>
    <titleOfClass>COM UT LTD PTN</titleOfClass>
    <cusip>29273V100</cusip>
    <value>255976</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13263</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12679</Sole>
      <Shared>0</Shared>
      <None>584</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENTEGRIS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29362U104</cusip>
    <value>1298199</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11073</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2365</Sole>
      <Shared>0</Shared>
      <None>8708</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENTEGRIS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>29362U104</cusip>
    <value>21119533</value>
    <shrsOrPrnAmt>
      <sshPrnamt>180139</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>118722</Sole>
      <Shared>0</Shared>
      <None>61417</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ENTERPRISE PRODS PARTNERS L</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>293792107</cusip>
    <value>624284</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16498</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15878</Sole>
      <Shared>0</Shared>
      <None>620</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EQUITY RESIDENTIAL</nameOfIssuer>
    <titleOfClass>SH BEN INT</titleOfClass>
    <cusip>29476L107</cusip>
    <value>309709</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5236</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3000</Sole>
      <Shared>0</Shared>
      <None>2236</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ESSEX PPTY TR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>297178105</cusip>
    <value>1654796</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6838</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5404</Sole>
      <Shared>0</Shared>
      <None>1434</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EVERSOURCE ENERGY</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30040W108</cusip>
    <value>294440</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4250</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1400</Sole>
      <Shared>0</Shared>
      <None>2850</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXELON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30161N101</cusip>
    <value>229218</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4676</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4292</Sole>
      <Shared>0</Shared>
      <None>384</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXPEDITORS INTL WASH INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>302130109</cusip>
    <value>1596298</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11145</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2095</Sole>
      <Shared>0</Shared>
      <None>9050</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXPEDITORS INTL WASH INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>302130109</cusip>
    <value>9712067</value>
    <shrsOrPrnAmt>
      <sshPrnamt>67807</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>41925</Sole>
      <Shared>0</Shared>
      <None>25882</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXTRA SPACE STORAGE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30225T102</cusip>
    <value>200236</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1527</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1527</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXXON MOBIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30231G102</cusip>
    <value>33932</value>
    <shrsOrPrnAmt>
      <sshPrnamt>200</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>EXXON MOBIL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>30231G102</cusip>
    <value>49025073</value>
    <shrsOrPrnAmt>
      <sshPrnamt>288961</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>212993</Sole>
      <Shared>0</Shared>
      <None>75968</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FASTENAL CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>311900104</cusip>
    <value>97440</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>2100</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FASTENAL CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>311900104</cusip>
    <value>36141981</value>
    <shrsOrPrnAmt>
      <sshPrnamt>778922</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>619169</Sole>
      <Shared>0</Shared>
      <None>159753</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FEDEX CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>31428X106</cusip>
    <value>575231</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1615</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1051</Sole>
      <Shared>0</Shared>
      <None>564</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FERGUSON ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK NEW</titleOfClass>
    <cusip>31488V107</cusip>
    <value>1646816</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7060</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1215</Sole>
      <Shared>0</Shared>
      <None>5845</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FERGUSON ENTERPRISES INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK NEW</titleOfClass>
    <cusip>31488V107</cusip>
    <value>15879300</value>
    <shrsOrPrnAmt>
      <sshPrnamt>68076</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>36303</Sole>
      <Shared>0</Shared>
      <None>31773</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCH TRADED FD III</nameOfIssuer>
    <titleOfClass>CALIF MUN INCM</titleOfClass>
    <cusip>33739P863</cusip>
    <value>554657</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11345</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>11345</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCHANGE TRADED FD</nameOfIssuer>
    <titleOfClass>RISNG DIVD ACHIV</titleOfClass>
    <cusip>33738R506</cusip>
    <value>273325</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4003</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1000</Sole>
      <Shared>0</Shared>
      <None>3003</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FIRST TR EXCHANGE-TRADED FD</nameOfIssuer>
    <titleOfClass>FST LOW OPPT EFT</titleOfClass>
    <cusip>33739Q200</cusip>
    <value>14535626</value>
    <shrsOrPrnAmt>
      <sshPrnamt>291821</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>210059</Sole>
      <Shared>0</Shared>
      <None>81762</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FLAHERTY &amp; CRUMRINE PFD INCO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>33848E106</cusip>
    <value>266680</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29500</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FORD MTR CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>345370860</cusip>
    <value>153546</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13306</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1613</Sole>
      <Shared>0</Shared>
      <None>11693</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>FREEPORT MCMORAN INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>35671D857</cusip>
    <value>293900</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3000</Sole>
      <Shared>0</Shared>
      <None>2000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GALLAGHER ARTHUR J &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>363576109</cusip>
    <value>604042</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2789</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>530</Sole>
      <Shared>0</Shared>
      <None>2259</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GE AEROSPACE</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>369604301</cusip>
    <value>7831802</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27599</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17294</Sole>
      <Shared>0</Shared>
      <None>10305</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GE HEALTHCARE TECHNOLOGIES I</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>36266G107</cusip>
    <value>212757</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2989</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1536</Sole>
      <Shared>0</Shared>
      <None>1453</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GE VERNOVA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>36828A101</cusip>
    <value>5018701</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5749</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3239</Sole>
      <Shared>0</Shared>
      <None>2510</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENERAC HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>368736104</cusip>
    <value>2794196</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14305</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9495</Sole>
      <Shared>0</Shared>
      <None>4810</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENERAL MILLS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>370334104</cusip>
    <value>3354899</value>
    <shrsOrPrnAmt>
      <sshPrnamt>90137</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>62061</Sole>
      <Shared>0</Shared>
      <None>28076</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENERAL MTRS CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>37045V100</cusip>
    <value>259931</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3489</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20</Sole>
      <Shared>0</Shared>
      <None>3469</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GENUINE PARTS CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>372460105</cusip>
    <value>423000</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GILEAD SCIENCES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>375558103</cusip>
    <value>1660306</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11913</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10524</Sole>
      <Shared>0</Shared>
      <None>1389</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>GLOBAL X SILVER</titleOfClass>
    <cusip>37954Y848</cusip>
    <value>225869</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2507</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>428</Sole>
      <Shared>0</Shared>
      <None>2079</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>LITHIUM BTRY ETF</titleOfClass>
    <cusip>37954Y855</cusip>
    <value>212641</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2860</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2860</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GLOBAL X FDS</nameOfIssuer>
    <titleOfClass>S&amp;P 500 CATHOLIC</titleOfClass>
    <cusip>37954Y889</cusip>
    <value>2712274</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34706</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>34706</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>GOLDMAN SACHS GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>38141G104</cusip>
    <value>11193977</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13232</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9725</Sole>
      <Shared>0</Shared>
      <None>3507</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HEWLETT PACKARD ENTERPRISE C</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>42824C109</cusip>
    <value>4762</value>
    <shrsOrPrnAmt>
      <sshPrnamt>200</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HEWLETT PACKARD ENTERPRISE C</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>42824C109</cusip>
    <value>14132616</value>
    <shrsOrPrnAmt>
      <sshPrnamt>593558</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>589107</Sole>
      <Shared>0</Shared>
      <None>4451</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HOME DEPOT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>437076102</cusip>
    <value>49334</value>
    <shrsOrPrnAmt>
      <sshPrnamt>150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HOME DEPOT INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>437076102</cusip>
    <value>12643179</value>
    <shrsOrPrnAmt>
      <sshPrnamt>38442</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20212</Sole>
      <Shared>0</Shared>
      <None>18230</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HONEYWELL INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>438516106</cusip>
    <value>11545612</value>
    <shrsOrPrnAmt>
      <sshPrnamt>51080</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>50217</Sole>
      <Shared>0</Shared>
      <None>863</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40434L105</cusip>
    <value>3842</value>
    <shrsOrPrnAmt>
      <sshPrnamt>200</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>HP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>40434L105</cusip>
    <value>13742930</value>
    <shrsOrPrnAmt>
      <sshPrnamt>715405</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>708079</Sole>
      <Shared>0</Shared>
      <None>7326</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ILLINOIS TOOL WKS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>452308109</cusip>
    <value>8203039</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31515</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24067</Sole>
      <Shared>0</Shared>
      <None>7448</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INGERSOLL RAND INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>45687V106</cusip>
    <value>608912</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7600</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5235</Sole>
      <Shared>0</Shared>
      <None>2365</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTEL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>458140100</cusip>
    <value>811727</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18394</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>18394</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTEL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>458140100</cusip>
    <value>16775005</value>
    <shrsOrPrnAmt>
      <sshPrnamt>380127</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>319927</Sole>
      <Shared>0</Shared>
      <None>60200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTERNATIONAL BUSINESS MACHS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>459200101</cusip>
    <value>12120</value>
    <shrsOrPrnAmt>
      <sshPrnamt>50</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>50</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTERNATIONAL BUSINESS MACHS</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>459200101</cusip>
    <value>7993134</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32976</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>26455</Sole>
      <Shared>0</Shared>
      <None>6522</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTERNATIONAL FLAVORS&amp;FRAGRA</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>459506101</cusip>
    <value>9439376</value>
    <shrsOrPrnAmt>
      <sshPrnamt>130109</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>104764</Sole>
      <Shared>0</Shared>
      <None>25345</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTUIT</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>461202103</cusip>
    <value>1037712</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>2400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTUIT</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>461202103</cusip>
    <value>23500285</value>
    <shrsOrPrnAmt>
      <sshPrnamt>54351</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>38114</Sole>
      <Shared>0</Shared>
      <None>16237</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INTUITIVE SURGICAL INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>46120E602</cusip>
    <value>367870</value>
    <shrsOrPrnAmt>
      <sshPrnamt>798</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>494</Sole>
      <Shared>0</Shared>
      <None>304</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCH TRADED FD TR II</nameOfIssuer>
    <titleOfClass>CALIF AMT MUN</titleOfClass>
    <cusip>46138E206</cusip>
    <value>263764</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11050</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>11050</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO EXCHANGE TRADED FD T</nameOfIssuer>
    <titleOfClass>S&amp;P500 EQL WGT</titleOfClass>
    <cusip>46137V357</cusip>
    <value>1245473</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6490</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>992</Sole>
      <Shared>0</Shared>
      <None>5498</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>INVESCO QQQ TR</nameOfIssuer>
    <titleOfClass>UNIT SER 1</titleOfClass>
    <cusip>46090E103</cusip>
    <value>1117772</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1937</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>417</Sole>
      <Shared>0</Shared>
      <None>1519</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES BITCOIN TRUST ETF</nameOfIssuer>
    <titleOfClass>SHS BEN INT</titleOfClass>
    <cusip>46438F101</cusip>
    <value>284884</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7415</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2332</Sole>
      <Shared>0</Shared>
      <None>5083</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES SILVER TR</nameOfIssuer>
    <titleOfClass>ISHARES</titleOfClass>
    <cusip>46428Q109</cusip>
    <value>1218411</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17881</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6370</Sole>
      <Shared>0</Shared>
      <None>11511</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P TTL STK</titleOfClass>
    <cusip>464287150</cusip>
    <value>1303380</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9151</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>9151</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>US HOME CONS ETF</titleOfClass>
    <cusip>464288752</cusip>
    <value>763065</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8427</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4710</Sole>
      <Shared>0</Shared>
      <None>3717</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>NATIONAL MUN ETF</titleOfClass>
    <cusip>464288414</cusip>
    <value>270364</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2547</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>2547</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MSCI EMG MKT ETF</titleOfClass>
    <cusip>464287234</cusip>
    <value>2334069</value>
    <shrsOrPrnAmt>
      <sshPrnamt>41100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>39800</Sole>
      <Shared>0</Shared>
      <None>1300</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>SELECT DIVID ETF</titleOfClass>
    <cusip>464287168</cusip>
    <value>353300</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2333</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1008</Sole>
      <Shared>0</Shared>
      <None>1325</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>MSCI EAFE ETF</titleOfClass>
    <cusip>464287465</cusip>
    <value>715362</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7365</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7115</Sole>
      <Shared>0</Shared>
      <None>250</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P MCP ETF</titleOfClass>
    <cusip>464287507</cusip>
    <value>2181106</value>
    <shrsOrPrnAmt>
      <sshPrnamt>32298</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31398</Sole>
      <Shared>0</Shared>
      <None>900</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>S&amp;P MC 400VL ETF</titleOfClass>
    <cusip>464287705</cusip>
    <value>578098</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4363</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>224</Sole>
      <Shared>0</Shared>
      <None>4139</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P SCP ETF</titleOfClass>
    <cusip>464287804</cusip>
    <value>10642831</value>
    <shrsOrPrnAmt>
      <sshPrnamt>85615</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>52935</Sole>
      <Shared>0</Shared>
      <None>32680</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE S&amp;P500 ETF</titleOfClass>
    <cusip>464287200</cusip>
    <value>3970864</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6079</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4481</Sole>
      <Shared>0</Shared>
      <None>1598</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>RUSSELL 2000 ETF</titleOfClass>
    <cusip>464287655</cusip>
    <value>517824</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2088</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1656</Sole>
      <Shared>0</Shared>
      <None>432</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>GLOBAL ENERG ETF</titleOfClass>
    <cusip>464287341</cusip>
    <value>268751</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4665</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4500</Sole>
      <Shared>0</Shared>
      <None>165</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>GLOBAL TECH ETF</titleOfClass>
    <cusip>464287291</cusip>
    <value>237429</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2375</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2320</Sole>
      <Shared>0</Shared>
      <None>55</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>US CONSUM DISCRE</titleOfClass>
    <cusip>464287580</cusip>
    <value>387680</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>US HLTHCARE ETF</titleOfClass>
    <cusip>464287762</cusip>
    <value>348081</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5000</Sole>
      <Shared>0</Shared>
      <None>647</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>U.S. TECH ETF</titleOfClass>
    <cusip>464287721</cusip>
    <value>3634387</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20033</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20000</Sole>
      <Shared>0</Shared>
      <None>33</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>EXPND TEC SC ETF</titleOfClass>
    <cusip>464287549</cusip>
    <value>1599885</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13500</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13200</Sole>
      <Shared>0</Shared>
      <None>300</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CALIF MUN BD ETF</titleOfClass>
    <cusip>464288356</cusip>
    <value>526524</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9260</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>9260</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE HIGH DV ETF</titleOfClass>
    <cusip>46429B663</cusip>
    <value>1428182</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10523</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10523</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ISHARES TR</nameOfIssuer>
    <titleOfClass>CORE MSCI EAFE</titleOfClass>
    <cusip>46432F842</cusip>
    <value>248595</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2746</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1923</Sole>
      <Shared>0</Shared>
      <None>823</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JABIL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>466313103</cusip>
    <value>212504</value>
    <shrsOrPrnAmt>
      <sshPrnamt>800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5</Sole>
      <Shared>0</Shared>
      <None>795</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JACOBS SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46982L108</cusip>
    <value>12728</value>
    <shrsOrPrnAmt>
      <sshPrnamt>100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>100</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JACOBS SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46982L108</cusip>
    <value>6796625</value>
    <shrsOrPrnAmt>
      <sshPrnamt>53399</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>40255</Sole>
      <Shared>0</Shared>
      <None>13144</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JOHNSON &amp; JOHNSON</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>478160104</cusip>
    <value>51624670</value>
    <shrsOrPrnAmt>
      <sshPrnamt>211196</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>163968</Sole>
      <Shared>0</Shared>
      <None>47228</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JOHNSON CONTROLS INTERNATION</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G51502105</cusip>
    <value>805343</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2000</Sole>
      <Shared>0</Shared>
      <None>4150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JOHNSON CONTROLS INTERNATION</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G51502105</cusip>
    <value>35896334</value>
    <shrsOrPrnAmt>
      <sshPrnamt>274122</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>178001</Sole>
      <Shared>0</Shared>
      <None>96121</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>JPMORGAN CHASE &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>46625H100</cusip>
    <value>52344232</value>
    <shrsOrPrnAmt>
      <sshPrnamt>177945</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>134270</Sole>
      <Shared>0</Shared>
      <None>43675</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KEYSIGHT TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>49338L103</cusip>
    <value>28237</value>
    <shrsOrPrnAmt>
      <sshPrnamt>100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>100</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KEYSIGHT TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>49338L103</cusip>
    <value>22646639</value>
    <shrsOrPrnAmt>
      <sshPrnamt>80202</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>79221</Sole>
      <Shared>0</Shared>
      <None>981</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KIMBERLY-CLARK CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>494368103</cusip>
    <value>670949</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6955</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6830</Sole>
      <Shared>0</Shared>
      <None>125</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KLA CORP</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>482480100</cusip>
    <value>240003</value>
    <shrsOrPrnAmt>
      <sshPrnamt>163</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>127</Sole>
      <Shared>0</Shared>
      <None>36</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KRAFT HEINZ CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>500754106</cusip>
    <value>440822</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19601</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>17052</Sole>
      <Shared>0</Shared>
      <None>2549</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KROGER CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>501044101</cusip>
    <value>256365</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3543</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1719</Sole>
      <Shared>0</Shared>
      <None>1824</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KYNDRYL HLDGS INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>50155Q100</cusip>
    <value>299267</value>
    <shrsOrPrnAmt>
      <sshPrnamt>22810</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>22810</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>KYNDRYL HLDGS INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>50155Q100</cusip>
    <value>11756</value>
    <shrsOrPrnAmt>
      <sshPrnamt>896</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>680</Sole>
      <Shared>0</Shared>
      <None>216</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>L3HARRIS TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>502431109</cusip>
    <value>449300</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1302</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1022</Sole>
      <Shared>0</Shared>
      <None>280</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LABCORP HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>504922105</cusip>
    <value>1694244</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6350</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1235</Sole>
      <Shared>0</Shared>
      <None>5115</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LABCORP HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>504922105</cusip>
    <value>25845108</value>
    <shrsOrPrnAmt>
      <sshPrnamt>96867</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>55981</Sole>
      <Shared>0</Shared>
      <None>40886</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LAM RESEARCH CORP</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>512807306</cusip>
    <value>3533936</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16540</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1090</Sole>
      <Shared>0</Shared>
      <None>15450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LINDE PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G54950103</cusip>
    <value>505675</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1020</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>860</Sole>
      <Shared>0</Shared>
      <None>160</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LOCKHEED MARTIN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>539830109</cusip>
    <value>7176527</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11874</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11605</Sole>
      <Shared>0</Shared>
      <None>269</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LOWES COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>548661107</cusip>
    <value>149240</value>
    <shrsOrPrnAmt>
      <sshPrnamt>632</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>632</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>LOWES COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>548661107</cusip>
    <value>45505059</value>
    <shrsOrPrnAmt>
      <sshPrnamt>192590</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>149146</Sole>
      <Shared>0</Shared>
      <None>43444</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MANULIFE FINL CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>56501R106</cusip>
    <value>552900</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16054</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4659</Sole>
      <Shared>0</Shared>
      <None>11395</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MARRIOTT INTL INC NEW</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>571903202</cusip>
    <value>555038</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1697</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1697</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MARSH &amp; MCLENNAN COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>571748102</cusip>
    <value>1250401</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7209</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2330</Sole>
      <Shared>0</Shared>
      <None>4879</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MASTERCARD INCORPORATED</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>57636Q104</cusip>
    <value>469023</value>
    <shrsOrPrnAmt>
      <sshPrnamt>939</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>520</Sole>
      <Shared>0</Shared>
      <None>419</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCCORMICK &amp; CO INC</nameOfIssuer>
    <titleOfClass>COM NON VTG</titleOfClass>
    <cusip>579780206</cusip>
    <value>453960</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCDONALDS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>580135101</cusip>
    <value>24174179</value>
    <shrsOrPrnAmt>
      <sshPrnamt>77783</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61245</Sole>
      <Shared>0</Shared>
      <None>16538</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCKESSON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58155Q103</cusip>
    <value>1047086</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1210</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>290</Sole>
      <Shared>0</Shared>
      <None>920</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MCKESSON CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58155Q103</cusip>
    <value>30662688</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35433</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27211</Sole>
      <Shared>0</Shared>
      <None>8222</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MEDTRONIC PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G5960L103</cusip>
    <value>12998</value>
    <shrsOrPrnAmt>
      <sshPrnamt>150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>150</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MEDTRONIC PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G5960L103</cusip>
    <value>231875</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2676</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2240</Sole>
      <Shared>0</Shared>
      <None>436</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MERCK &amp; CO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>58933Y105</cusip>
    <value>9156484</value>
    <shrsOrPrnAmt>
      <sshPrnamt>76120</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>63939</Sole>
      <Shared>0</Shared>
      <None>12181</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>META PLATFORMS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>30303M102</cusip>
    <value>17898753</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31284</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20337</Sole>
      <Shared>0</Shared>
      <None>10947</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>METLIFE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>59156R108</cusip>
    <value>260320</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3681</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2469</Sole>
      <Shared>0</Shared>
      <None>1212</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MICRON TECHNOLOGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>595112103</cusip>
    <value>404814</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1198</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>65</Sole>
      <Shared>0</Shared>
      <None>1133</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MICROSOFT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>594918104</cusip>
    <value>1374144</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3712</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>623</Sole>
      <Shared>0</Shared>
      <None>3089</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MICROSOFT CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>594918104</cusip>
    <value>109784878</value>
    <shrsOrPrnAmt>
      <sshPrnamt>296580</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>219685</Sole>
      <Shared>0</Shared>
      <None>76894</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MINERALS TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>603158106</cusip>
    <value>304743</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4297</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2947</Sole>
      <Shared>0</Shared>
      <None>1350</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MONDELEZ INTL INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>609207105</cusip>
    <value>568959</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9871</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3871</Sole>
      <Shared>0</Shared>
      <None>6000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MONDELEZ INTL INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>609207105</cusip>
    <value>19355587</value>
    <shrsOrPrnAmt>
      <sshPrnamt>335801</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>232682</Sole>
      <Shared>0</Shared>
      <None>103119</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MONSTER BEVERAGE CORP NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>61174X109</cusip>
    <value>347808</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4800</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MOODYS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>615369105</cusip>
    <value>379538</value>
    <shrsOrPrnAmt>
      <sshPrnamt>870</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>527</Sole>
      <Shared>0</Shared>
      <None>343</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>MOTOROLA SOLUTIONS INC</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>620076307</cusip>
    <value>299439</value>
    <shrsOrPrnAmt>
      <sshPrnamt>690</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>690</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NETAPP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>64110D104</cusip>
    <value>529868</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5175</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4920</Sole>
      <Shared>0</Shared>
      <None>255</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NETFLIX INC.</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>64110L106</cusip>
    <value>740643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7703</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6607</Sole>
      <Shared>0</Shared>
      <None>1096</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEWMARKET CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>651587107</cusip>
    <value>4486650</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NEXTERA ENERGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>65339F101</cusip>
    <value>3263803</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35140</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>26498</Sole>
      <Shared>0</Shared>
      <None>8642</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NIKE INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>654106103</cusip>
    <value>13469</value>
    <shrsOrPrnAmt>
      <sshPrnamt>255</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>255</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NIKE INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>654106103</cusip>
    <value>9000407</value>
    <shrsOrPrnAmt>
      <sshPrnamt>170398</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>110177</Sole>
      <Shared>0</Shared>
      <None>60221</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NORFOLK SOUTHN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>655844108</cusip>
    <value>1853446</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6458</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5085</Sole>
      <Shared>0</Shared>
      <None>1373</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NORTHROP GRUMMAN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>666807102</cusip>
    <value>12827476</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18802</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18743</Sole>
      <Shared>0</Shared>
      <None>59</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NOVARTIS AG</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>66987V109</cusip>
    <value>959270</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6280</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>6280</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NOVARTIS AG</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>66987V109</cusip>
    <value>10122898</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66271</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>54212</Sole>
      <Shared>0</Shared>
      <None>12059</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NOVO-NORDISK A S</nameOfIssuer>
    <titleOfClass>ADR</titleOfClass>
    <cusip>670100205</cusip>
    <value>11934232</value>
    <shrsOrPrnAmt>
      <sshPrnamt>324741</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>262491</Sole>
      <Shared>0</Shared>
      <None>62250</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUCOR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>670346105</cusip>
    <value>3238265</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16254</Sole>
      <Shared>0</Shared>
      <None>2896</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NUVEEN PFD &amp; INCOME OPPORTUN</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67073B106</cusip>
    <value>142898</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18952</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18952</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NVIDIA CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67066G104</cusip>
    <value>4709</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>NVIDIA CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>67066G104</cusip>
    <value>11330708</value>
    <shrsOrPrnAmt>
      <sshPrnamt>64970</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13299</Sole>
      <Shared>0</Shared>
      <None>51671</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OCCIDENTAL PETE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>674599105</cusip>
    <value>496015</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7631</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>7631</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OCCIDENTAL PETE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>674599105</cusip>
    <value>4681170</value>
    <shrsOrPrnAmt>
      <sshPrnamt>72018</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>50498</Sole>
      <Shared>0</Shared>
      <None>21520</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ONEOK INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>682680103</cusip>
    <value>3602222</value>
    <shrsOrPrnAmt>
      <sshPrnamt>39852</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>31159</Sole>
      <Shared>0</Shared>
      <None>8693</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ORACLE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>68389X105</cusip>
    <value>35623163</value>
    <shrsOrPrnAmt>
      <sshPrnamt>242153</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>189447</Sole>
      <Shared>0</Shared>
      <None>52706</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>OTIS WORLDWIDE CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>68902V107</cusip>
    <value>7013663</value>
    <shrsOrPrnAmt>
      <sshPrnamt>90992</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>83224</Sole>
      <Shared>0</Shared>
      <None>7768</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PACCAR INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>693718108</cusip>
    <value>386117</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3343</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3199</Sole>
      <Shared>0</Shared>
      <None>144</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PARKER-HANNIFIN CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>701094104</cusip>
    <value>23779365</value>
    <shrsOrPrnAmt>
      <sshPrnamt>26562</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4825</Sole>
      <Shared>0</Shared>
      <None>21737</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PAYCHEX INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>704326107</cusip>
    <value>887945</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9639</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4644</Sole>
      <Shared>0</Shared>
      <None>4995</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PAYPAL HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>70450Y103</cusip>
    <value>19946</value>
    <shrsOrPrnAmt>
      <sshPrnamt>441</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>441</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PAYPAL HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>70450Y103</cusip>
    <value>7514152</value>
    <shrsOrPrnAmt>
      <sshPrnamt>166132</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>133536</Sole>
      <Shared>0</Shared>
      <None>32596</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PEPSICO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>713448108</cusip>
    <value>746634</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4808</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>4808</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PEPSICO INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>713448108</cusip>
    <value>23096643</value>
    <shrsOrPrnAmt>
      <sshPrnamt>148732</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>105353</Sole>
      <Shared>0</Shared>
      <None>43379</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PFIZER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>717081103</cusip>
    <value>572158</value>
    <shrsOrPrnAmt>
      <sshPrnamt>20376</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>20376</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PFIZER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>717081103</cusip>
    <value>13167259</value>
    <shrsOrPrnAmt>
      <sshPrnamt>468919</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>409110</Sole>
      <Shared>0</Shared>
      <None>59809</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PHILIP MORRIS INTL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>718172109</cusip>
    <value>15648064</value>
    <shrsOrPrnAmt>
      <sshPrnamt>94642</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>72884</Sole>
      <Shared>0</Shared>
      <None>21758</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PHILLIPS 66</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>718546104</cusip>
    <value>3142969</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17252</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11790</Sole>
      <Shared>0</Shared>
      <None>5462</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PIMCO ETF TR</nameOfIssuer>
    <titleOfClass>ENHAN SHRT MA AC</titleOfClass>
    <cusip>72201R833</cusip>
    <value>355515</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3535</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3494</Sole>
      <Shared>0</Shared>
      <None>41</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PLAINS ALL AMERN PIPELINE L</nameOfIssuer>
    <titleOfClass>UNIT LTD PARTN</titleOfClass>
    <cusip>726503105</cusip>
    <value>330104</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14783</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13983</Sole>
      <Shared>0</Shared>
      <None>800</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>POST HLDGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>737446104</cusip>
    <value>3122592</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31586</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23586</Sole>
      <Shared>0</Shared>
      <None>8000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PPG INDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>693506107</cusip>
    <value>238556</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2232</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>950</Sole>
      <Shared>0</Shared>
      <None>1282</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PRICE T ROWE GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74144T108</cusip>
    <value>249958</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2773</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>173</Sole>
      <Shared>0</Shared>
      <None>2600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROCTER &amp; GAMBLE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>742718109</cusip>
    <value>28888</value>
    <shrsOrPrnAmt>
      <sshPrnamt>200</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PROCTER &amp; GAMBLE CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>742718109</cusip>
    <value>20980353</value>
    <shrsOrPrnAmt>
      <sshPrnamt>145253</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>113162</Sole>
      <Shared>0</Shared>
      <None>32091</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>PUBLIC STORAGE OPER CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>74460D109</cusip>
    <value>7020668</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25918</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>25156</Sole>
      <Shared>0</Shared>
      <None>762</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>QNITY ELECTRONICS INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>74743L100</cusip>
    <value>84689</value>
    <shrsOrPrnAmt>
      <sshPrnamt>734</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>734</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>QNITY ELECTRONICS INC</nameOfIssuer>
    <titleOfClass>COMMON STOCK</titleOfClass>
    <cusip>74743L100</cusip>
    <value>9212990</value>
    <shrsOrPrnAmt>
      <sshPrnamt>79849</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>55156</Sole>
      <Shared>0</Shared>
      <None>24693</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>QUALCOMM INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>747525103</cusip>
    <value>19918394</value>
    <shrsOrPrnAmt>
      <sshPrnamt>154670</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>103858</Sole>
      <Shared>0</Shared>
      <None>50812</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>REALTY INCOME CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>756109104</cusip>
    <value>753212</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12311</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>11788</Sole>
      <Shared>0</Shared>
      <None>523</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RELIANCE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>759509102</cusip>
    <value>607840</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>2000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>REPUBLIC SVCS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>760759100</cusip>
    <value>275308</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1257</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1246</Sole>
      <Shared>0</Shared>
      <None>11</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RIO TINTO PLC</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>767204100</cusip>
    <value>293864</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3150</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1150</Sole>
      <Shared>0</Shared>
      <None>2000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ROCKWELL AUTOMATION INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>773903109</cusip>
    <value>439269</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1224</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1224</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ROSS STORES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>778296103</cusip>
    <value>253024</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1168</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>568</Sole>
      <Shared>0</Shared>
      <None>600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RTX CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>75513E101</cusip>
    <value>1418771</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7355</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1505</Sole>
      <Shared>0</Shared>
      <None>5850</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>RTX CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>75513E101</cusip>
    <value>38557766</value>
    <shrsOrPrnAmt>
      <sshPrnamt>199885</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>154740</Sole>
      <Shared>0</Shared>
      <None>45145</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>S&amp;P GLOBAL INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>78409V104</cusip>
    <value>2530348</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5949</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3025</Sole>
      <Shared>0</Shared>
      <None>2924</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB CHARLES CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>808513105</cusip>
    <value>1802724</value>
    <shrsOrPrnAmt>
      <sshPrnamt>19182</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>18818</Sole>
      <Shared>0</Shared>
      <None>364</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US MID-CAP ETF</titleOfClass>
    <cusip>808524508</cusip>
    <value>293514</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9480</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6833</Sole>
      <Shared>0</Shared>
      <None>2648</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>INTL EQTY ETF</titleOfClass>
    <cusip>808524805</cusip>
    <value>274797</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11103</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2921</Sole>
      <Shared>0</Shared>
      <None>8182</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SCHWAB STRATEGIC TR</nameOfIssuer>
    <titleOfClass>US LCAP GR ETF</titleOfClass>
    <cusip>808524300</cusip>
    <value>737513</value>
    <shrsOrPrnAmt>
      <sshPrnamt>25318</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16120</Sole>
      <Shared>0</Shared>
      <None>9198</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SEAGATE TECHNOLOGY HLDNGS PL</nameOfIssuer>
    <titleOfClass>ORD SHS</titleOfClass>
    <cusip>G7997R103</cusip>
    <value>253469</value>
    <shrsOrPrnAmt>
      <sshPrnamt>647</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>647</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET ENE</titleOfClass>
    <cusip>81369Y506</cusip>
    <value>308844</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5042</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3662</Sole>
      <Shared>0</Shared>
      <None>1380</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET TEC</titleOfClass>
    <cusip>81369Y803</cusip>
    <value>8805422</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66256</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>65730</Sole>
      <Shared>0</Shared>
      <None>526</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SELECT SECTOR SPDR TR</nameOfIssuer>
    <titleOfClass>STATE STREET UTI</titleOfClass>
    <cusip>81369Y886</cusip>
    <value>414478</value>
    <shrsOrPrnAmt>
      <sshPrnamt>9032</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>9000</Sole>
      <Shared>0</Shared>
      <None>32</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SEMPRA</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>816851109</cusip>
    <value>1314127</value>
    <shrsOrPrnAmt>
      <sshPrnamt>13524</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6030</Sole>
      <Shared>0</Shared>
      <None>7494</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SHELL PLC</nameOfIssuer>
    <titleOfClass>SPON ADS</titleOfClass>
    <cusip>780259305</cusip>
    <value>1054248</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11336</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8400</Sole>
      <Shared>0</Shared>
      <None>2936</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SLB LIMITED</nameOfIssuer>
    <titleOfClass>COM STK</titleOfClass>
    <cusip>806857108</cusip>
    <value>1599925</value>
    <shrsOrPrnAmt>
      <sshPrnamt>31133</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6681</Sole>
      <Shared>0</Shared>
      <None>24452</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SLB LIMITED</nameOfIssuer>
    <titleOfClass>COM STK</titleOfClass>
    <cusip>806857108</cusip>
    <value>26981083</value>
    <shrsOrPrnAmt>
      <sshPrnamt>525026</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>350547</Sole>
      <Shared>0</Shared>
      <None>174479</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOLSTICE ADVANCED MATLS INC</nameOfIssuer>
    <titleOfClass>COM SHS</titleOfClass>
    <cusip>83443Q103</cusip>
    <value>974924</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12801</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12719</Sole>
      <Shared>0</Shared>
      <None>82</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOUTHERN CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>842587107</cusip>
    <value>1047339</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10851</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6684</Sole>
      <Shared>0</Shared>
      <None>4167</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SOUTHWEST AIRLS CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>844741108</cusip>
    <value>625691</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16654</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>15119</Sole>
      <Shared>0</Shared>
      <None>1535</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR GOLD TR</nameOfIssuer>
    <titleOfClass>GOLD SHS</titleOfClass>
    <cusip>78463V107</cusip>
    <value>1080028</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2510</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2510</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR GOLD TR</nameOfIssuer>
    <titleOfClass>GOLD SHS</titleOfClass>
    <cusip>78463V107</cusip>
    <value>28399570</value>
    <shrsOrPrnAmt>
      <sshPrnamt>66001</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>44843</Sole>
      <Shared>0</Shared>
      <None>21158</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78464A763</cusip>
    <value>284291</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1948</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>900</Sole>
      <Shared>0</Shared>
      <None>1048</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78468R663</cusip>
    <value>389287</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4248</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1124</Sole>
      <Shared>0</Shared>
      <None>3124</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPDR SERIES TRUST</nameOfIssuer>
    <titleOfClass>STATE STREET SPD</titleOfClass>
    <cusip>78468R853</cusip>
    <value>339448</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7025</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6668</Sole>
      <Shared>0</Shared>
      <None>357</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPROTT ASSET MANAGEMENT LP</nameOfIssuer>
    <titleOfClass>PHYSICAL SILVER</titleOfClass>
    <cusip>85207K107</cusip>
    <value>212803</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8725</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6975</Sole>
      <Shared>0</Shared>
      <None>1750</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPROTT ASSET MANAGEMENT LP</nameOfIssuer>
    <titleOfClass>PHYSICAL GOLD TR</titleOfClass>
    <cusip>85207H104</cusip>
    <value>2219784</value>
    <shrsOrPrnAmt>
      <sshPrnamt>62635</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>61360</Sole>
      <Shared>0</Shared>
      <None>1275</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SPROTT ETF TRUST</nameOfIssuer>
    <titleOfClass>GOLD MINERS ETF</titleOfClass>
    <cusip>85210B102</cusip>
    <value>221436</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2933</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>315</Sole>
      <Shared>0</Shared>
      <None>2618</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SSGA ACTIVE ETF TR</nameOfIssuer>
    <titleOfClass>STATE STREET DOU</titleOfClass>
    <cusip>78467V848</cusip>
    <value>304928</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7675</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1900</Sole>
      <Shared>0</Shared>
      <None>5775</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STARBUCKS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>855244109</cusip>
    <value>94070</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1050</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>1050</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STARBUCKS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>855244109</cusip>
    <value>13030455</value>
    <shrsOrPrnAmt>
      <sshPrnamt>145445</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>102467</Sole>
      <Shared>0</Shared>
      <None>42978</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STATE STR SPDR DOW JONES IND</nameOfIssuer>
    <titleOfClass>UT SER 1</titleOfClass>
    <cusip>78467X109</cusip>
    <value>464217</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1002</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>400</Sole>
      <Shared>0</Shared>
      <None>602</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STATE STR SPDR S&amp;P 500 ETF T</nameOfIssuer>
    <titleOfClass>TR UNIT</titleOfClass>
    <cusip>78462F103</cusip>
    <value>15857668</value>
    <shrsOrPrnAmt>
      <sshPrnamt>24384</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19635</Sole>
      <Shared>0</Shared>
      <None>4748</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STATE STR SPDR S&amp;P MIDCAP 40</nameOfIssuer>
    <titleOfClass>UTSER1 S&amp;PDCRP</titleOfClass>
    <cusip>78467Y107</cusip>
    <value>1153341</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1870</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1214</Sole>
      <Shared>0</Shared>
      <None>656</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>STRYKER CORPORATION</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>863667101</cusip>
    <value>25877852</value>
    <shrsOrPrnAmt>
      <sshPrnamt>78754</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>65071</Sole>
      <Shared>0</Shared>
      <None>13684</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SYSCO CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>871829107</cusip>
    <value>1354842</value>
    <shrsOrPrnAmt>
      <sshPrnamt>18994</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3315</Sole>
      <Shared>0</Shared>
      <None>15679</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>SYSCO CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>871829107</cusip>
    <value>18135367</value>
    <shrsOrPrnAmt>
      <sshPrnamt>254246</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>154451</Sole>
      <Shared>0</Shared>
      <None>99795</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TAIWAN SEMICONDUCTOR MANUFAC</nameOfIssuer>
    <titleOfClass>SPONSORED ADS</titleOfClass>
    <cusip>874039100</cusip>
    <value>1889816</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5592</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1219</Sole>
      <Shared>0</Shared>
      <None>4373</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TAPESTRY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>876030107</cusip>
    <value>4097976</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29041</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>24366</Sole>
      <Shared>0</Shared>
      <None>4675</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TARGET CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87612E106</cusip>
    <value>12120</value>
    <shrsOrPrnAmt>
      <sshPrnamt>100</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>100</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TARGET CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>87612E106</cusip>
    <value>4527944</value>
    <shrsOrPrnAmt>
      <sshPrnamt>37359</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>29036</Sole>
      <Shared>0</Shared>
      <None>8323</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TESLA INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>88160R101</cusip>
    <value>4514324</value>
    <shrsOrPrnAmt>
      <sshPrnamt>12143</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>8819</Sole>
      <Shared>0</Shared>
      <None>3324</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TEXAS INSTRS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>882508104</cusip>
    <value>6620282</value>
    <shrsOrPrnAmt>
      <sshPrnamt>34101</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>23328</Sole>
      <Shared>0</Shared>
      <None>10773</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>THE CIGNA GROUP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>125523100</cusip>
    <value>226204</value>
    <shrsOrPrnAmt>
      <sshPrnamt>848</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>508</Sole>
      <Shared>0</Shared>
      <None>340</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>THERMO FISHER SCIENTIFIC INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>883556102</cusip>
    <value>235443</value>
    <shrsOrPrnAmt>
      <sshPrnamt>479</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>344</Sole>
      <Shared>0</Shared>
      <None>135</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TJX COS INC NEW</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>872540109</cusip>
    <value>4850728</value>
    <shrsOrPrnAmt>
      <sshPrnamt>30374</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>19621</Sole>
      <Shared>0</Shared>
      <None>10753</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TOLL BROTHERS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>889478103</cusip>
    <value>250968</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1839</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>600</Sole>
      <Shared>0</Shared>
      <None>1239</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRACTOR SUPPLY CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>892356106</cusip>
    <value>28306017</value>
    <shrsOrPrnAmt>
      <sshPrnamt>624857</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>519720</Sole>
      <Shared>0</Shared>
      <None>105137</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRANE TECHNOLOGIES PLC</nameOfIssuer>
    <titleOfClass>SHS</titleOfClass>
    <cusip>G8994E103</cusip>
    <value>3028866</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7268</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4794</Sole>
      <Shared>0</Shared>
      <None>2474</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TREDEGAR CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>894650100</cusip>
    <value>127200</value>
    <shrsOrPrnAmt>
      <sshPrnamt>16000</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16000</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>TRIMBLE INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>896239100</cusip>
    <value>280359</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4298</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3200</Sole>
      <Shared>0</Shared>
      <None>1098</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UBER TECHNOLOGIES INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>90353T100</cusip>
    <value>206266</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2868</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2353</Sole>
      <Shared>0</Shared>
      <None>515</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNILEVER PLC</nameOfIssuer>
    <titleOfClass>SPON ADR NEW</titleOfClass>
    <cusip>904767803</cusip>
    <value>385972</value>
    <shrsOrPrnAmt>
      <sshPrnamt>6775</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3213</Sole>
      <Shared>0</Shared>
      <None>3562</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNION PAC CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>907818108</cusip>
    <value>1225716</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5052</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>782</Sole>
      <Shared>0</Shared>
      <None>4270</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNION PAC CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>907818108</cusip>
    <value>15537510</value>
    <shrsOrPrnAmt>
      <sshPrnamt>64041</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>46707</Sole>
      <Shared>0</Shared>
      <None>17334</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED PARCEL SVCS INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>911312106</cusip>
    <value>1046147</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10634</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2163</Sole>
      <Shared>0</Shared>
      <None>8471</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED PARCEL SVCS INC</nameOfIssuer>
    <titleOfClass>CL B</titleOfClass>
    <cusip>911312106</cusip>
    <value>94167339</value>
    <shrsOrPrnAmt>
      <sshPrnamt>957180</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>609457</Sole>
      <Shared>0</Shared>
      <None>347723</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITED RENTALS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>911363109</cusip>
    <value>496149</value>
    <shrsOrPrnAmt>
      <sshPrnamt>681</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>602</Sole>
      <Shared>0</Shared>
      <None>79</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITEDHEALTH GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91324P102</cusip>
    <value>1569422</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5800</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>885</Sole>
      <Shared>0</Shared>
      <None>4915</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>UNITEDHEALTH GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91324P102</cusip>
    <value>28561282</value>
    <shrsOrPrnAmt>
      <sshPrnamt>105552</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>77390</Sole>
      <Shared>0</Shared>
      <None>28162</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>US BANCORP</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>902973304</cusip>
    <value>305403</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5872</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4872</Sole>
      <Shared>0</Shared>
      <None>1000</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VALERO ENERGY CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>91913Y100</cusip>
    <value>382974</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1550</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1319</Sole>
      <Shared>0</Shared>
      <None>231</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANECK ETF TRUST</nameOfIssuer>
    <titleOfClass>GOLD MINERS ETF</titleOfClass>
    <cusip>92189F106</cusip>
    <value>2493299</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27169</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>12043</Sole>
      <Shared>0</Shared>
      <None>15126</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD ADMIRAL FDS INC</nameOfIssuer>
    <titleOfClass>500 GRTH IDX F</titleOfClass>
    <cusip>921932505</cusip>
    <value>238091</value>
    <shrsOrPrnAmt>
      <sshPrnamt>584</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>335</Sole>
      <Shared>0</Shared>
      <None>249</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD BD INDEX FDS</nameOfIssuer>
    <titleOfClass>INTERMED TERM</titleOfClass>
    <cusip>921937819</cusip>
    <value>214715</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2782</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>100</Sole>
      <Shared>0</Shared>
      <None>2682</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>SML CP GRW ETF</titleOfClass>
    <cusip>922908595</cusip>
    <value>275048</value>
    <shrsOrPrnAmt>
      <sshPrnamt>910</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>514</Sole>
      <Shared>0</Shared>
      <None>396</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>SMALL CP ETF</titleOfClass>
    <cusip>922908751</cusip>
    <value>1473824</value>
    <shrsOrPrnAmt>
      <sshPrnamt>5627</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5565</Sole>
      <Shared>0</Shared>
      <None>62</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>MID CAP ETF</titleOfClass>
    <cusip>922908629</cusip>
    <value>356769</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1242</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>314</Sole>
      <Shared>0</Shared>
      <None>928</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>REAL ESTATE ETF</titleOfClass>
    <cusip>922908553</cusip>
    <value>670231</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7556</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7556</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>TOTAL STK MKT</titleOfClass>
    <cusip>922908769</cusip>
    <value>4706283</value>
    <shrsOrPrnAmt>
      <sshPrnamt>14670</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>13576</Sole>
      <Shared>0</Shared>
      <None>1094</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INDEX FDS</nameOfIssuer>
    <titleOfClass>S&amp;P 500 ETF SHS</titleOfClass>
    <cusip>922908363</cusip>
    <value>10304320</value>
    <shrsOrPrnAmt>
      <sshPrnamt>17244</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>16424</Sole>
      <Shared>0</Shared>
      <None>820</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INSTL INDEX FD</nameOfIssuer>
    <titleOfClass>0-3 MO TREAS BIL</titleOfClass>
    <cusip>922040845</cusip>
    <value>786760</value>
    <shrsOrPrnAmt>
      <sshPrnamt>10400</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10400</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>FTSE EMR MKT ETF</titleOfClass>
    <cusip>922042858</cusip>
    <value>610819</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11301</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>7986</Sole>
      <Shared>0</Shared>
      <None>3315</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD INTL EQUITY INDEX F</nameOfIssuer>
    <titleOfClass>ALLWRLD EX US</titleOfClass>
    <cusip>922042775</cusip>
    <value>583903</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7775</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>6375</Sole>
      <Shared>0</Shared>
      <None>1400</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>SHORT TERM TREAS</titleOfClass>
    <cusip>92206C102</cusip>
    <value>646047</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11036</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>59</Sole>
      <Shared>0</Shared>
      <None>10977</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SCOTTSDALE FDS</nameOfIssuer>
    <titleOfClass>SHRT TRM CORP BD</titleOfClass>
    <cusip>92206C409</cusip>
    <value>2822945</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35612</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10327</Sole>
      <Shared>0</Shared>
      <None>25285</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD SPECIALIZED FUNDS</nameOfIssuer>
    <titleOfClass>DIV APP ETF</titleOfClass>
    <cusip>921908844</cusip>
    <value>430335</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2001</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1448</Sole>
      <Shared>0</Shared>
      <None>553</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD TAX-MANAGED FDS</nameOfIssuer>
    <titleOfClass>VAN FTSE DEV MKT</titleOfClass>
    <cusip>921943858</cusip>
    <value>2275481</value>
    <shrsOrPrnAmt>
      <sshPrnamt>35510</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>27370</Sole>
      <Shared>0</Shared>
      <None>8140</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD WHITEHALL FDS</nameOfIssuer>
    <titleOfClass>HIGH DIV YLD</titleOfClass>
    <cusip>921946406</cusip>
    <value>273541</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1847</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1125</Sole>
      <Shared>0</Shared>
      <None>722</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VANGUARD WORLD FD</nameOfIssuer>
    <titleOfClass>INF TECH ETF</titleOfClass>
    <cusip>92204A702</cusip>
    <value>2317128</value>
    <shrsOrPrnAmt>
      <sshPrnamt>3321</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3125</Sole>
      <Shared>0</Shared>
      <None>196</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VERISK ANALYTICS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92345Y106</cusip>
    <value>494109</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2604</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>947</Sole>
      <Shared>0</Shared>
      <None>1657</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VERIZON COMMUNICATIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92343V104</cusip>
    <value>434832</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8662</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>8662</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VERIZON COMMUNICATIONS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92343V104</cusip>
    <value>5132082</value>
    <shrsOrPrnAmt>
      <sshPrnamt>102233</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>86616</Sole>
      <Shared>0</Shared>
      <None>15617</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VISA INC</nameOfIssuer>
    <titleOfClass>COM CL A</titleOfClass>
    <cusip>92826C839</cusip>
    <value>1284871</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4251</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>2652</Sole>
      <Shared>0</Shared>
      <None>1599</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VODAFONE GROUP PLC</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>92857W308</cusip>
    <value>706</value>
    <shrsOrPrnAmt>
      <sshPrnamt>47</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>47</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>VODAFONE GROUP PLC</nameOfIssuer>
    <titleOfClass>SPONSORED ADR</titleOfClass>
    <cusip>92857W308</cusip>
    <value>436211</value>
    <shrsOrPrnAmt>
      <sshPrnamt>29042</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>10395</Sole>
      <Shared>0</Shared>
      <None>18647</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WALMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>931142103</cusip>
    <value>55926</value>
    <shrsOrPrnAmt>
      <sshPrnamt>450</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>450</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WALMART INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>931142103</cusip>
    <value>18021037</value>
    <shrsOrPrnAmt>
      <sshPrnamt>145004</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>115035</Sole>
      <Shared>0</Shared>
      <None>29969</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WARNER BROS DISCOVERY INC</nameOfIssuer>
    <titleOfClass>COM SER A</titleOfClass>
    <cusip>934423104</cusip>
    <value>412394</value>
    <shrsOrPrnAmt>
      <sshPrnamt>15018</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>5395</Sole>
      <Shared>0</Shared>
      <None>9623</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WASTE MGMT INC DEL</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>94106L109</cusip>
    <value>290455</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1264</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1154</Sole>
      <Shared>0</Shared>
      <None>110</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WATERS CORP</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>941848103</cusip>
    <value>220968</value>
    <shrsOrPrnAmt>
      <sshPrnamt>742</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>362</Sole>
      <Shared>0</Shared>
      <None>380</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WEC ENERGY GROUP INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>92939U106</cusip>
    <value>874527</value>
    <shrsOrPrnAmt>
      <sshPrnamt>7554</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>280</Sole>
      <Shared>0</Shared>
      <None>7274</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WELLS FARGO &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>949746101</cusip>
    <value>675013</value>
    <shrsOrPrnAmt>
      <sshPrnamt>8479</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>0</Sole>
      <Shared>0</Shared>
      <None>8479</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WELLS FARGO &amp; CO</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>949746101</cusip>
    <value>34161803</value>
    <shrsOrPrnAmt>
      <sshPrnamt>429114</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>374596</Sole>
      <Shared>0</Shared>
      <None>54518</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WELLTOWER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95040Q104</cusip>
    <value>330769</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1673</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1673</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WESTERN ASSET INVESTMENT GRA</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>95766T100</cusip>
    <value>330810</value>
    <shrsOrPrnAmt>
      <sshPrnamt>27351</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>20151</Sole>
      <Shared>0</Shared>
      <None>7200</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WEYERHAEUSER CO</nameOfIssuer>
    <titleOfClass>COM NEW</titleOfClass>
    <cusip>962166104</cusip>
    <value>3007822</value>
    <shrsOrPrnAmt>
      <sshPrnamt>123120</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>123120</Sole>
      <Shared>0</Shared>
      <None>0</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WILLIAMS COS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>969457100</cusip>
    <value>343085</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4714</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>4164</Sole>
      <Shared>0</Shared>
      <None>550</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>WW GRAINGER INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>384802104</cusip>
    <value>1224980</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1123</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>502</Sole>
      <Shared>0</Shared>
      <None>621</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>XCEL ENERGY INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98389B100</cusip>
    <value>222114</value>
    <shrsOrPrnAmt>
      <sshPrnamt>2796</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1400</Sole>
      <Shared>0</Shared>
      <None>1396</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>YUM BRANDS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>988498101</cusip>
    <value>235060</value>
    <shrsOrPrnAmt>
      <sshPrnamt>1512</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1335</Sole>
      <Shared>0</Shared>
      <None>177</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ZIMMER BIOMET HOLDINGS INC</nameOfIssuer>
    <titleOfClass>COM</titleOfClass>
    <cusip>98956P102</cusip>
    <value>398933</value>
    <shrsOrPrnAmt>
      <sshPrnamt>4412</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>3812</Sole>
      <Shared>0</Shared>
      <None>600</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ZOETIS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>98978V103</cusip>
    <value>1365326</value>
    <shrsOrPrnAmt>
      <sshPrnamt>11550</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>OTR</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>1800</Sole>
      <Shared>0</Shared>
      <None>9750</None>
    </votingAuthority>
  </infoTable>
  <infoTable>
    <nameOfIssuer>ZOETIS INC</nameOfIssuer>
    <titleOfClass>CL A</titleOfClass>
    <cusip>98978V103</cusip>
    <value>16147663</value>
    <shrsOrPrnAmt>
      <sshPrnamt>136601</sshPrnamt>
      <sshPrnamtType>SH</sshPrnamtType>
    </shrsOrPrnAmt>
    <investmentDiscretion>SOLE</investmentDiscretion>
    <otherManager>0</otherManager>
    <votingAuthority>
      <Sole>94595</Sole>
      <Shared>0</Shared>
      <None>42006</None>
    </votingAuthority>
  </infoTable>
</informationTable>
